EmulationStation Crashes After Launching A Game or Config Menu On Debian / Ubuntu
-
Hi, I'm having a really strange issue happening that I've tried everything to resolve to no avail. I'm trying to retrofit an old GPD Win (a gaming handheld PC with a Intel Atom x7-Z8750) and turn it into a portable retro emulator box. Due to its pretty weak CPU and no dedicated GPU, I decided to use Lubuntu 24.04.1 LTS as the underlying OS to use as little resources as possible. After installing it and going through the RetroPie on Debian page in the docs, initially everything worked flawlessly. However that didn't last long.
Randomly a short while later, when I tried to boot up games via EmulationStation, it would fade to black and sit there. After a lot of testing, trying to get it to work, I just figured a clean install was needed since I did begin to tinker a bit with a couple of optional packages. However after a clean install, the problem prevailed. Even after completely wiping the drive, installing another gaming front end OS to try, then deciding that didn't work and switching back to Lubuntu, I still have the issue. When enabling the debug flag, the last message it spits out before it hangs is "Attempting to launch game..." and it doesn't matter which terminal I launch it from. QTerminal (which is default on Lubuntu), gnome-terminal, and kitty were all extensively tried with no luck.
I'm not sure what troubleshooting steps would be best to try next, so any help would be greatly appreciated. Here's the relevant information from the support thread
RetroPie Version: 4.8.8 (18c2b43)
Built From: On top of existing OS, via the setup script
USB Devices connected: None
Controller used: Built-in XINPUT compatible controller
Guide used: https://retropie.org.uk/docs/Debian/#installation -
We had a few similar reports in this topic, does it seems familiar ? Unfortunately I cannot replicate the issue myself. Did you install RetroPie first and then updated to 24.0.1 or the other way around ?
If you runt the RetroPie setup script outside of EmulationStation, from a terminal, does it work without crashing ?
-
@mitu 24.0.1 came first in all cases, since before I decided to try RetroPie, the PC was still running Windows. The RetroPie setup script works perfectly when executed via a terminal.
I did see that thread but wasn't able to find any solution there. However one thing I just noticed is that their setup actually makes it a bit further in the process than mine, based on their logs getting past "Attempting to launch game..."
-
You said that it worked ok first. Did any updates happen to be installed before the 'crashing' started to occur ?
If you run a
pstree
after launching a game, can you see which is the last proces spawned from EmulationStation - is it stuck onruncommand
or during the execution of an emulator ? -
@mitu No updates after installing RetroPie far as I'm aware (the Lubuntu installer had an option to install updates immediately after install, which I had checked).
As for the pstree command, I think this is the relevant information, let me know if it isn't.
|-systemd-+-(sd-pam) | |-dbus-daemon | |-gnome-terminal--+-emulationstatio---emulationstatio---emulationstatio---6*[{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---7*[{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 | | `-6*[{xdg-document-po}] | `-xdg-permission----3*[{xdg-permission-}]
-
@gare said in EmulationStation Crashes After Launching A Game or Config Menu On Debian / Ubuntu:
No updates after installing RetroPie far as I'm aware
OK, so it's something else.
From the process listing, I see that ES itself is stuck, it's not even getting to run the launch command. Do you have any script set-up for thegame-start
event ? They're executed before the main command. -
@mitu I don't think so. I didn't really do too much with RetroPie when it was working beyond installing a couple of optional packages, but that was on my first install which has since been wiped. Right now it should still be stock with everything the basic installer installs
-
@gare said in EmulationStation Crashes After Launching A Game or Config Menu On Debian / Ubuntu:
@mitu I don't think so.
OK, that would be a no then. There are no scripts installed by default, so you'd have create one yourself, which obviously didn't happen. I'll try to test this configuration.
In the mean time, can you test one more thing - startingxterm
and running EmulationStation manually from there, instead of using the shortcut installed by RetroPie. Launch a game / RetroPie-Setup from this session and see if there's a difference. -
@mitu Installed xterm and tried launching it through it both with and without debug flag and it still crashes at that point (with "Attempting to launch game..." being the last printout w/ debug)
-
In the title it's reported "Ubuntu". LUbuntu can it be considered the same os ? what are the real differences ?
Yesterday a new kernel as been released and from update and apparently phyton got some updates too.
after the latest updates I can no longer recreate that same crash where i posted the screenshots on the other thread.
previusly when starting a game and the runcommand window appears if i kept pressing buttons on my arcade joystick that crash would appear. Now i can press button all i want but it seems like everything is being ignored.
From Ubuntu CTRL+T open gnome-terminal..... can execute "emulationstation" but if from ES i try to open retropie setup script or also the "simply" esthemes it's not works and it's crash after some seconds and bring on screen es.
Ah... from gnome-terminal if i open the retropie setup script by sudo joy2key works whitout any issue.
Just for curios @mitu On which system are you unable to replicate the listed problems?
Have you made a clean install from scratch (like a clean installation) or update from previous os ?From gnome-terminal i have also tryed to run emulationstation as sudo:
diabolik@NUC-Ubuntu:~$ sudo emulationstation emulationstation should not be run as root. If you used 'sudo emulationstation' please run without sudo. diabolik@NUC-Ubuntu:~$
lol.
-
i don't have idea it's usefull.... my pstree output after i open retropie setup script from es (before crash... the crash append at first key pressed):
diabolik@NUC-Ubuntu:~$ pstree systemd─┬─ModemManager───3*[{ModemManager}] ├─NetworkManager───3*[{NetworkManager}] ├─accounts-daemon───3*[{accounts-daemon}] ├─avahi-daemon───avahi-daemon ├─bluetoothd ├─canonical-livep───9*[{canonical-livep}] ├─colord───3*[{colord}] ├─cron ├─cups-browsed───3*[{cups-browsed}] ├─cupsd───dbus ├─dbus-daemon ├─fwupd───5*[{fwupd}] ├─gdm3─┬─gdm-session-wor─┬─gdm-wayland-ses─┬─gnome-session-b───3*[{gnome-session-b}] │ │ │ └─3*[{gdm-wayland-ses}] │ │ └─3*[{gdm-session-wor}] │ └─3*[{gdm3}] ├─gnome-remote-de───3*[{gnome-remote-de}] ├─2*[kerneloops] ├─nmbd ├─polkitd───3*[{polkitd}] ├─power-profiles-───3*[{power-profiles-}] ├─rsyslogd───3*[{rsyslogd}] ├─rtkit-daemon───2*[{rtkit-daemon}] ├─smbd─┬─smbd-cleanupd │ └─smbd-notifyd ├─snapd───11*[{snapd}] ├─switcheroo-cont───3*[{switcheroo-cont}] ├─systemd─┬─(sd-pam) │ ├─at-spi2-registr───3*[{at-spi2-registr}] │ ├─dbus-daemon │ ├─dconf-service───3*[{dconf-service}] │ ├─evolution-addre───6*[{evolution-addre}] │ ├─evolution-calen───9*[{evolution-calen}] │ ├─evolution-sourc───4*[{evolution-sourc}] │ ├─flatpak-session───3*[{flatpak-session}] │ ├─gcr-ssh-agent───2*[{gcr-ssh-agent}] │ ├─2*[gjs───7*[{gjs}]] │ ├─gnome-keyring-d───4*[{gnome-keyring-d}] │ ├─gnome-session-b─┬─at-spi-bus-laun─┬─dbus-daemon │ │ │ └─4*[{at-spi-bus-laun}] │ │ ├─evolution-alarm───7*[{evolution-alarm}] │ │ ├─gnome-software───8*[{gnome-software}] │ │ ├─gsd-disk-utilit───3*[{gsd-disk-utilit}] │ │ ├─update-notifier───4*[{update-notifier}] │ │ └─4*[{gnome-session-b}] │ ├─gnome-session-c───{gnome-session-c} │ ├─gnome-shell─┬─Xwayland───4*[{Xwayland}] │ │ ├─firefox─┬─4*[Isolated Web Co───21*[{Isolated Web Co}]] │ │ │ ├─2*[Isolated Web Co───20*[{Isolated Web Co}]] │ │ │ ├─Isolated Web Co───19*[{Isolated Web Co}] │ │ │ ├─Privileged Cont───20*[{Privileged Cont}] │ │ │ ├─Socket Process───5*[{Socket Process}] │ │ │ ├─Utility Process───4*[{Utility Process}] │ │ │ ├─2*[Web Content───15*[{Web Content}]] │ │ │ ├─Web Content───16*[{Web Content}] │ │ │ ├─WebExtensions───19*[{WebExtensions}] │ │ │ └─95*[{firefox}] │ │ ├─gjs───9*[{gjs}] │ │ ├─mutter-x11-fram───9*[{mutter-x11-fram}] │ │ └─20*[{gnome-shell}] │ ├─gnome-shell-cal───6*[{gnome-shell-cal}] │ ├─gnome-terminal───gnome-terminal.───4*[{gnome-terminal.}] │ ├─gnome-terminal───gnome-terminal.───5*[{gnome-terminal.}] │ ├─gnome-terminal-─┬─bash───emulationstatio───emulationstatio───emulationstatio─┬─sh───sudo───sudo───bash───bash───dialog │ │ │ └─{emulationstatio} │ │ ├─bash───pstree │ │ └─7*[{gnome-terminal-}] │ ├─goa-daemon───4*[{goa-daemon}] │ ├─goa-identity-se───3*[{goa-identity-se}] │ ├─gsd-a11y-settin───4*[{gsd-a11y-settin}] │ ├─gsd-color───4*[{gsd-color}] │ ├─gsd-datetime───4*[{gsd-datetime}] │ ├─gsd-housekeepin───4*[{gsd-housekeepin}] │ ├─gsd-keyboard───4*[{gsd-keyboard}] │ ├─gsd-media-keys───5*[{gsd-media-keys}] │ ├─gsd-power───4*[{gsd-power}] │ ├─gsd-print-notif───3*[{gsd-print-notif}] │ ├─gsd-printer───3*[{gsd-printer}] │ ├─gsd-rfkill───3*[{gsd-rfkill}] │ ├─gsd-screensaver───3*[{gsd-screensaver}] │ ├─gsd-sharing───4*[{gsd-sharing}] │ ├─gsd-smartcard───4*[{gsd-smartcard}] │ ├─gsd-sound───4*[{gsd-sound}] │ ├─gsd-wacom───4*[{gsd-wacom}] │ ├─gsd-xsettings───6*[{gsd-xsettings}] │ ├─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-dnssd───3*[{gvfsd-dnssd}] │ │ ├─gvfsd-network───4*[{gvfsd-network}] │ │ ├─gvfsd-smb-brows───4*[{gvfsd-smb-brows}] │ │ ├─gvfsd-trash───4*[{gvfsd-trash}] │ │ └─3*[{gvfsd}] │ ├─gvfsd-metadata───3*[{gvfsd-metadata}] │ ├─ibus-daemon─┬─ibus-engine-sim───3*[{ibus-engine-sim}] │ │ ├─ibus-extension-───4*[{ibus-extension-}] │ │ ├─ibus-memconf───3*[{ibus-memconf}] │ │ └─3*[{ibus-daemon}] │ ├─ibus-portal───4*[{ibus-portal}] │ ├─ibus-x11───3*[{ibus-x11}] │ ├─obexd │ ├─p11-kit-server │ ├─2*[pipewire───2*[{pipewire}]] │ ├─pipewire-pulse───2*[{pipewire-pulse}] │ ├─python3 │ ├─snap───8*[{snap}] │ ├─snapd-desktop-i───snapd-desktop-i───4*[{snapd-desktop-i}] │ ├─tracker-miner-f───8*[{tracker-miner-f}] │ ├─wireplumber───5*[{wireplumber}] │ ├─xdg-desktop-por─┬─wenativehost───{wenativehost} │ │ └─6*[{xdg-desktop-por}] │ ├─xdg-desktop-por───4*[{xdg-desktop-por}] │ ├─xdg-document-po─┬─fusermount3 │ │ └─7*[{xdg-document-po}] │ └─xdg-permission-───3*[{xdg-permission-}] ├─systemd-journal ├─systemd-logind ├─systemd-oomd ├─systemd-resolve ├─systemd-timesyn───{systemd-timesyn} ├─systemd-udevd ├─thermald───4*[{thermald}] ├─udisksd───5*[{udisksd}] ├─unattended-upgr───{unattended-upgr} ├─upowerd───3*[{upowerd}] └─wpa_supplicant diabolik@NUC-Ubuntu:~$
in my opinion it's the joy2key that creates the mess....
-
@DjDiabolik your issue seems different than the one reported by @gare.
-
@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.
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.