EmulationStation Crashes After Launching A Game or Config Menu On Debian / Ubuntu
-
@mitu yeah.... they seem distantly related :)
-
@mitu I decided to try booting a game again and from a cold boot, it was able to get to RetroArch before crashing there. However, subsequent attempts (even after completely shutting down the PC multiple times), ended up crashing at the usual spot in EmulationStation. Not sure if it's useful but when it happened, I ran pstree and here's the output. I'm going to be away for the weekend, so I'll be unable to troubleshoot more until Monday.
|-systemd-+-(sd-pam) | |-dbus-daemon | |-gnome-terminal--+-emulationstatio---emulationstatio---emulationstatio-+-sh---bash---retroarch---5*[{retroarch}] | | | `-{emulationstatio} | | `-5*[{gnome-terminal-}] | |-gvfs-afc-volume---4*[{gvfs-afc-volume}] | |-gvfs-goa-volume---3*[{gvfs-goa-volume}] | |-gvfs-gphoto2-vo---3*[{gvfs-gphoto2-vo}] | |-gvfs-mtp-volume---3*[{gvfs-mtp-volume}] | |-gvfs-udisks2-vo---4*[{gvfs-udisks2-vo}] | |-gvfsd-+-gvfsd-trash---4*[{gvfsd-trash}] | | `-3*[{gvfsd}] | |-gvfsd-fuse---6*[{gvfsd-fuse}] | |-kscreen_backend---2*[{kscreen_backend}] | |-obexd | |-2*[pipewire---2*[{pipewire}]] | |-pipewire-pulse---2*[{pipewire-pulse}] | |-sh---xdg-desktop-por---2*[{xdg-desktop-por}] | |-wireplumber---5*[{wireplumber}] | |-xdg-desktop-por---6*[{xdg-desktop-por}] | |-xdg-desktop-por---4*[{xdg-desktop-por}] | |-xdg-desktop-por---2*[{xdg-desktop-por}] | |-xdg-document-po-+-fusermount3 | | `-7*[{xdg-document-po}] | |-xdg-permission----3*[{xdg-permission-}] | |-xdg-screensaver---sleep | `-xdg-screensaver---xprop
-
@gare said in EmulationStation Crashes After Launching A Game or Config Menu On Debian / Ubuntu:
@mitu I decided to try booting a game again and from a cold boot, it was able to get to RetroArch before crashing there. However, subsequent attempts (even after completely shutting down the PC multiple times), ended up crashing at the usual spot in EmulationStation. Not sure if it's useful but when it happened, I ran pstree and here's the output. I'm going to be away for the weekend, so I'll be unable to troubleshoot more until Monday.
|-systemd-+-(sd-pam) | |-dbus-daemon | |-gnome-terminal--+-emulationstatio---emulationstatio---emulationstatio-+-sh---bash---retroarch---5*[{retroarch}] | | | `-{emulationstatio} | | `-5*[{gnome-terminal-}] | |-gvfs-afc-volume---4*[{gvfs-afc-volume}] | |-gvfs-goa-volume---3*[{gvfs-goa-volume}] | |-gvfs-gphoto2-vo---3*[{gvfs-gphoto2-vo}] | |-gvfs-mtp-volume---3*[{gvfs-mtp-volume}] | |-gvfs-udisks2-vo---4*[{gvfs-udisks2-vo}] | |-gvfsd-+-gvfsd-trash---4*[{gvfsd-trash}] | | `-3*[{gvfsd}] | |-gvfsd-fuse---6*[{gvfsd-fuse}] | |-kscreen_backend---2*[{kscreen_backend}] | |-obexd | |-2*[pipewire---2*[{pipewire}]] | |-pipewire-pulse---2*[{pipewire-pulse}] | |-sh---xdg-desktop-por---2*[{xdg-desktop-por}] | |-wireplumber---5*[{wireplumber}] | |-xdg-desktop-por---6*[{xdg-desktop-por}] | |-xdg-desktop-por---4*[{xdg-desktop-por}] | |-xdg-desktop-por---2*[{xdg-desktop-por}] | |-xdg-document-po-+-fusermount3 | | `-7*[{xdg-document-po}] | |-xdg-permission----3*[{xdg-permission-}] | |-xdg-screensaver---sleep | `-xdg-screensaver---xprop
same kind of thing was happening to me and what it was is a bug with the encoder/driver the fix that worked for me was to ssh over under root, Under the /boot/ directory look for the text file cmdline.txt and open it. At the very end of the text line add a space and type: usbhid.quirks=0x0079:0x0006:0x00000400 after the line should read something like this,
console=serial0,115200 console=tty1 root=PARTUUID=d9b3f436-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait plymouth.enable=0 quiet loglevel=3 logo.nologo consoleblank=0 usbhid.quirks=0x0079:0x0006:0x00000400)
I am not sure if this is the exact same thing but theres a bug with the logitech drivers (what my arcade joystick encoders use) and random disconnects that caused emulationstation to hang or completely crash
-
@fattiusmaximus In my boot folder there isn't a file called cmdline.txt (or any txts). It seems like Lubuntu doesn't use that so I tried adding the line to my GRUB configuration instead, but it didn't change anything.
-
I couldn't reproduce the error with up-to-date Ubuntu installation. Maybe this is specific cu Lubuntu or to an update/configuration, but it's not something that happens generally on Debian/Ubuntu.
You can run the EmulationStation through strace and see where it's getting stuck - waiting for some resource/file/GPU ? Is the GPD having a different video output and starting the emulator uses the other output ? Can't think what could be causing to not work - after initially working. A system update or configuration ?
-
@mitu So I kind of got this fixed. I decided to switch from Lubuntu 24.04.1 LTS to the daily build of Lubuntu 24.10 and once I set that and Retropie up, it's pretty much been working perfectly.
The only issue I'm having now is a couple of packages are failing to install (from the main lr-mame2003 and lr-mupen64plus. lr-ppsspp also failed, but that's the only optional package I tried). They all report that their respective x_libretro.so was not found whenever trying. Here's what reported in the log for the lr-mame2003 for example:
src/common.c:1948:34: note: in expansion of macro ‘ROMREGION_GETTYPE’
1948 | int regiontype = ROMREGION_GETTYPE(region);
| ^~~~~~~~~~~~~~~~~
src/common.c:1973:101: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
1973 | log_cb(RETRO_LOG_DEBUG, LOGPRE "Allocated %X bytes @ %08X\n", romdata.regionlength, (int)romdata.regionbase);
| ^
make: *** [Makefile:901: src/common.o] Error 1
make: *** Waiting for unfinished jobs....
Removing additional swap
Could not successfully build lr-mame2003 - Arcade emu - MAME 0.78 port for libretro (/home/gare/RetroPie-Setup/tmp/build/lr-mame2003/mame2003_libretro.so not found).
/home/gare -
@gare said in EmulationStation Crashes After Launching A Game or Config Menu On Debian / Ubuntu:
Here's what reported in the log for the lr-mame2003 for example:
That's an incomplete log and the error is probably printer earlier on. Which version of
gcc
is in the 24.10 preview ?lr-mupen64plus
is not going to get anymore updates, you should uselr-mupen64plus-next
instead. -
@mitu Apolgies, I'll provide the complete log underneath this post. My gcc version is 14.2.0. I'll try installing lr-mupen64plus-next instead now.
-
@gare Please use pastebin.com for large logs.
-
@mitu Sorry again. I'll edit my post to remove the log. Here's the pastebin version https://pastebin.com/sFDf494m
lr-mupen64plus failed in a similar manner when trying to install
-
Yes, it seems there's a new warning promoted as error in
gcc
14, the error is:.... src/common.c: In function ‘read_wav_sample’: src/common.c:439:46: error: assignment to ‘INT16 *’ {aka ‘short int *’} from incompatible pointer type ‘signed char *’ [-Wincompatible-pointer-types] 439 | flac_file.write_data = result->data; | ^ src/common.c: In function ‘readsample’: ...
As for
lr-mupen64plus
, it's probably best to disable it for anything except a Pi3 and below, since it's an archived project and will not get any updates. Uselr-mupen64plus-next
,which works fine., but seems it's also not compiling due to another error. -
@mitu Is there anything I can do about that? Also here's the lr- mupen64plus log https://pastebin.com/hv4pKMAh . The lr-ppsspp log is too big for Pastebin
-
Use a LTS release so you don't get this kind of errors,
gcc14
is rather 'new' and until projects are patched to fix the new errors they won't be working in RetroPie also. -
@mitu Thank you, switching to gcc-12 seems to have fixed the issue, as lr-mame2003 was able to compile fine. I'll try the others and will report back if I have anymore issues.
-
@mitu not sure if I should make a new thread for this or not but I'm having a new issue where games open Retroarch fine but playing a game for a few minutes, Retroarch will hang, causing the sound to freeze making a single noise until the Terminal is forcibly closed. Doesn't seem to be emulation core specific as I had it happen with different systems. I tried running in debug but since it executes after the runcommand there wasn't any output, and the runcommand log didn't have any additional info
-
@gare You can get RetroArch to run in verbose mode by choosing to launch with verbose logging. Seems like an issue with the audio - perhaps PulseAudio/Pipewire gets stuck ? Does it happen also with standalone emulators (i.e. Mupen64plus or PPSSPP) ?
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.