Seemingly Random Retroarch Exits/Crashes - Piboy
-
Pi Model or other hardware: 8gb Pi 4, inside ExperimentalPi Piboy Case
Power Supply used: Piboy Battery
RetroPie Version Used (eg 3.6, 3.8.1, 4.1 - do not write latest): 4.7.1
Built From: Retropie Official Raspberry Pi 4 image
USB Devices connected: None
Controller used: Piboy Buttons
Error messages received: VolumeControl::init() - Failed to find mixer element
Verbose log (if relevant):Retroarch Log Some of the Kernel Log
Guide used: N/A
File: N/A
Emulator: Snes9x
Attachment of config files:
How to replicate the problem: Play Earthbound normally, until something happens and retroarch just exitsHello all,
I have recently been having random retroarch exits on the ExperimentalPi Piboy DMG. I'm not sure if it is related to the Piboy, or my configuration, so I am posting a help post here. I have been using this pi 4 at least since August 2020, and I have never seen this behavior until I put my pi4 into the Piboy DMG case, so I assume it is related to that, but I'm not sure. So far, this has only happened in Earthbound.I have a log from the retroarch session, as once this started happening here and there, I decided to turn on retroarch logging. In the retroarch log, it seems like retroarch exited normally. It doesn't say that retroarch crashed or segfaulted or anything like that, but I don't know what retroarch logs normally look like.
I have also attached some of the kernel output. I don't know how helpful that is, but maybe it will show something that could be useful. I couldn't post the whole log as pastebin has a limit.
Is this some kind of hardware issue with the Piboy?
-
The RetroArch's log doesn't show any errors, just a normal exit. I wonder if there isn't an issue with the PiBoy's input driver, the kernel log shows an error and their kernel driver is loaded and logs several CRC errors.
It may be that the input driver presses all buttons at some point, because of a driver error, and this makes RetroArch exit. You should contact the vendor and ask them for guidance - providing the same log.
-
@brandflake11 The PiBoyDMG has a chip in between as well w/ its own firmware. If you've previously set up the Pi4 before putting in the case, there may be some conflicts going on w/ the buttons. May want to back up your existing image, flash the card to the official PiBoy one and start restoring the non-input stuff back to the card. I've had no issues w/ mine, but mine started w/ the PiBoy image and the Pi4 hasn't been out of it (starting to have a nice Pi4 collection... 4 now).
-
I appreciate the help. I don't see how previous controller setups would affect the Piboy Controller configuration. Doesn't retroarch and emulationstation separate hardware config of controllers? Also, I like to setup my own retropie config, so I don't really want to use the Official Piboy image. I would rather use the Official Retropie image.
I found a way to temporarily fix my sudden random closes. I enabled retroarch's "Press exit twice to exit" feature, and it hasn't happened again, but will post if it is still happening.
-
@brandflake11 Glad you got it working. I was just saying since the PiBoy has firmware somewhere it's not just a vanilla Pi4 and there may be something going on in that middleware that's conflicting or expecting something on the retropie side to be set up for it.
-
@theissdev
Oh yeah, no problem or anything. I appreciate your help with it. I suspect I found a bandaid to fix the issue. I need to contact experimentalpi. I don't want to have to use the ExperimentalPi image, as I like the vanilla setup. It seems a lot of people in the piboy community advocate for reflashing their images, but I like being able to figure out what is wrong and fixing it directly. I would rather know the issue, then just cover it up, as it may happen even on the official image, and then I reflashed and did all of that work for nothing. :) -
Really odd that double to exit would be the fix. I've customized my PiBoys beyond the starting experimental pi image a bunch as well. Here's some of the files they already had set up. Maybe that'll provide some insight if compared. Dunno. I mean, they've got the install scripts for all the experimental pi stuff as well (OSD, etc.), so I'd think it should be fine w/ a vanilla retropie w/ their install scripts over that.
/opt/retropie/configs/all/emulationstation/es_input.cfg:
<?xml version="1.0"?> <inputList> <inputAction type="onfinish"> <command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command> </inputAction> <inputConfig type="joystick" deviceName="PiBoy DMG Controller" deviceGUID="15000000010000000100000000010000"> <input name="pageup" type="button" id="7" value="1"/> <input name="up" type="button" id="12" value="1"/> <input name="left" type="button" id="13" value="1"/> <input name="select" type="button" id="8" value="1"/> <input name="leftanalogdown" type="axis" id="1" value="1"/> <input name="leftanalogright" type="axis" id="0" value="1"/> <input name="right" type="button" id="14" value="1"/> <input name="leftanalogleft" type="axis" id="0" value="-1"/> <input name="pagedown" type="button" id="6" value="1"/> <input name="leftanalogup" type="axis" id="1" value="-1"/> <input name="y" type="button" id="4" value="1"/> <input name="x" type="button" id="3" value="1"/> <input name="down" type="button" id="11" value="1"/> <input name="start" type="button" id="9" value="1"/> <input name="b" type="button" id="1" value="1"/> <input name="a" type="button" id="0" value="1"/> </inputConfig> </inputList>
/opt/retropie/configs/all/retroarch/autoconfig/PiBoy DMG Controller.cfg:
input_device = "PiBoy DMG Controller" input_driver = "udev" input_enable_hotkey_btn = "8" input_l_btn = "7" input_load_state_btn = "7" input_up_btn = "12" input_left_btn = "13" input_state_slot_decrease_btn = "13" input_select_btn = "8" input_r2_btn = "2" input_l_y_plus_axis = "+1" input_l_x_plus_axis = "+0" input_right_btn = "14" input_state_slot_increase_btn = "14" input_l2_btn = "5" input_l_x_minus_axis = "-0" input_l3_btn = "10" input_r_btn = "6" input_save_state_btn = "6" input_l_y_minus_axis = "-1" input_y_btn = "4" input_x_btn = "3" input_menu_toggle_btn = "3" input_down_btn = "11" input_start_btn = "9" input_exit_emulator_btn = "9" input_b_btn = "1" input_reset_btn = "1" input_a_btn = "0"
(The autoconfig folder is symlinked from /opt/retropie/configs/all/retroach-joypads.)
There may be something else out there input related, but I can't find anything (other that what's put in the /opt/retropie/configs/all/retroarch.cfg but I doubt anything in there is causing issues).
Edit: be warned these aren't necessarily the vanilla experimental pi values - like I said, i've also tweaked like crazy here and don't remember if i touched these files are just looked at em. =D
-
@theissdev FYI, there's a PiBoy DMG facebook group that experimental pi is pretty responsive in: https://www.facebook.com/groups/piboy/ (although I've got to say, the couple of times I reached out to support via the exPi website, they've been crazy responsive there as well). They seem to be crazy knowledgable about their hardware and retropie.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.