Retropie setup menu/Runcommand crashing in ES on Ubuntu
-
@mitu directly from my brother house. different hardware... same distro ubuntu 24.04.1 LTS and same crash also after last 'retropie setup' commit and reboot system:
[url=https://ibb.co/yknQxzS][img]https://i.ibb.co/7pJ1034/image.png[/img][/url]Also from terminal:
mrocco86@mrocco86-VM40B:~$ /opt/retropie/admin/joy2key/joy2key_sdl.py kcub1 kcuf1 kcuu1 kcud1 0x0a 0x20 0x1b 0x00 kpp knp -d 2024-10-16 21:17:09,584 DEBUG Debugging enabled, running in foreground 2024-10-16 21:17:09,584 DEBUG Cannot determine input code for "0x00", value ignored 2024-10-16 21:17:09,585 DEBUG Cannot determine input code for "0x00", value ignored 2024-10-16 21:17:09,585 DEBUG Joy map: {'left': 105, 'right': 106, 'up': 103, 'down': 108, 'a': 28, 'b': 57, 'x': 1, 'y': 0, 'pageup': 104, 'pagedown': 109} 2024-10-16 21:17:09,994 DEBUG Using SDL Version 2.30.0, PySDL2 version 0.9.16 2024-10-16 21:17:09,994 DEBUG Creating uinput keyboard devices with events: [(1, 105), (1, 106), (1, 103), (1, 108), (1, 28), (1, 57), (1, 1), (1, 0), (1, 104), (1, 109)] Traceback (most recent call last): File "/opt/retropie/admin/joy2key/joy2key_sdl.py", line 608, in <module> sys.exit(main()) ^^^^^^ File "/opt/retropie/admin/joy2key/joy2key_sdl.py", line 600, in main event_loop(configs, joy_map) File "/opt/retropie/admin/joy2key/joy2key_sdl.py", line 334, in event_loop kbd = uinput.Device(events=keyboard_events, name="Joy2Key Keyboard") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/uinput/__init__.py", line 178, in __init__ self.__uinput_fd = fd or fdopen() ^^^^^^^^ File "/usr/lib/python3/dist-packages/uinput/__init__.py", line 84, in fdopen return _libsuinput.suinput_open() ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/uinput/__init__.py", line 70, in _open_error_handler raise OSError(code, msg) PermissionError: [Errno 13] Failed to open the uinput device: Permission denied mrocco86@mrocco86-VM40B:~$
-
The latest update should fix the permissions error. If you still have an error with permissions, check if the
/dev/uinput
file is writable by theinput
group by runningls -l /dev/uinput
. It should output something like:pi@retropie$ ls -l /dev/uinput crw-rw---- 1 root input 10, 223 Oct 16 16:18 /dev/uinput
Also, please don't re-post the same picture/screenshot, it's enough to mention the actual error in your post.
-
@mitu said in Retropie setup menu/Runcommand crashing in ES on Ubuntu:
Also, please don't re-post the same picture/screenshot, it's enough to mention the actual error in your post.
it's not the same screenshot.... that's same exact issue in a totally different hardware. it was also to verify that the exact same problem was present in a different system than the one I use daily at my home.
So... right now i have installed the recent commit on my pc:
It's need to reboot my PC to apply current the new changes?
Simply because the write permission it's different right now:
diabolik@NUC-Ubuntu:~$ ls -l /dev/uinput crw------- 1 root root 10, 223 ott 17 12:00 /dev/uinput diabolik@NUC-Ubuntu:~$
if that doesn't work how do I fix the permissions on that file?
Now in that folder i have this file:
diabolik@NUC-Ubuntu:/etc/udev/rules.d$ ls 70-snap.canonical-livepatch.rules 70-snap.snapd-desktop-integration.rules 70-snap.snap-store.rules 80-rpi-uinput.rules 99-input.rules 70-snap.firefox.rules 70-snap.snapd.rules 70-snap.thunderbird.rules 80-uinput.rules diabolik@NUC-Ubuntu:/etc/udev/rules.d$
80-uinput.rules it's the file we have created yesterday using echo command.
80-rpi-uinput.rules it's problably created right now from recent commit.The files are essentially identical in content:
diabolik@NUC-Ubuntu:/etc/udev/rules.d$ cat 80-rpi-uinput.rules KERNEL=="uinput", MODE="0660", GROUP="input" diabolik@NUC-Ubuntu:/etc/udev/rules.d$ cat 80-uinput.rules KERNEL=="uinput", GROUP="input", MODE=0660 diabolik@NUC-Ubuntu:/etc/udev/rules.d$
if i can remove one of the two let me know and possibly i can do it simply with the rm command?
-
It's need to reboot my PC to apply current the new changes?
For Ubuntu, it might be needed since
uinput
is not a module, but a kernel built-in and a reboot may be required for theudev
rule to applied.if i can remove one of the two let me know and possibly i can do it simply with the rm command?
You can remove the
80-uinput.rules
file, it's identical to80-rpi-uinput.rules
, which is created by RetroPie-Setup. -
@mitu said in Retropie setup menu/Runcommand crashing in ES on Ubuntu:
It's need to reboot my PC to apply current the new changes?
For Ubuntu, it might be needed since
uinput
is not a module, but a kernel built-in and a reboot may be required for theudev
rule to applied.if i can remove one of the two let me know and possibly i can do it simply with the rm command?
You can remove the
80-uinput.rules
file, it's identical to80-rpi-uinput.rules
, which is created by RetroPie-Setup.ok... now i am watching a movie and i am using pc with kodi...
as soon as I'm done I think I can delete that file with:
sudo rm /etc/udev/rules.d/80-uinput.rulesif I remember it's the file we created yesterday with the command 'echo' exactly?
then I try to restart ubuntu and I rewrite the result of the ls command for uinput in /dev.
thanks in advance for support them.
-
So i have to report this.. after reboot now there's it:
diabolik@NUC-Ubuntu:~$ ls -l /dev/uinput crw-rw---- 1 root input 10, 223 ott 17 16:50 /dev/uinput diabolik@NUC-Ubuntu:~$
and there's other great news.... now joy2key_sdl.py can be run whitout sudo.. look here:
diabolik@NUC-Ubuntu:~$ /opt/retropie/admin/joy2key/joy2key_sdl.py kcub1 kcuf1 kcuu1 kcud1 0x0a 0x20 0x1b 0x00 kpp knp -d 2024-10-17 16:53:33,314 DEBUG Debugging enabled, running in foreground 2024-10-17 16:53:33,314 DEBUG Cannot determine input code for "0x00", value ignored 2024-10-17 16:53:33,314 DEBUG Cannot determine input code for "0x00", value ignored 2024-10-17 16:53:33,314 DEBUG Joy map: {'left': 105, 'right': 106, 'up': 103, 'down': 108, 'a': 28, 'b': 57, 'x': 1, 'y': 0, 'pageup': 104, 'pagedown': 109} 2024-10-17 16:53:36,057 DEBUG Using SDL Version 2.30.0, PySDL2 version 0.9.16 2024-10-17 16:53:36,057 DEBUG Creating uinput keyboard devices with events: [(1, 105), (1, 106), (1, 103), (1, 108), (1, 28), (1, 57), (1, 1), (1, 0), (1, 104), (1, 109)] 2024-10-17 16:53:36,111 DEBUG Joystick #0 DragonRise Inc. Generic USB Joystick added 2024-10-17 16:53:36,111 DEBUG Added configuration for known device DragonRise Inc. Generic USB Joystick, hats: {}, buttons: {6: 'pagedown', 4: 'pageup', 0: 'y', 2: 'x', 1: 'b', 3: 'a'}, axis: {0: [(-1, 'left'), (1, 'right')], 1: [(1, 'down'), (-1, 'up')]} 2024-10-17 16:53:41,665 DEBUG Events to emit: ['right'] 2024-10-17 16:53:41,665 DEBUG Emitting input code 106 ^[[C2024-10-17 16:53:41,918 DEBUG Events to emit: ['left'] 2024-10-17 16:53:41,918 DEBUG Emitting input code 105 ^[[D2024-10-17 16:53:42,020 DEBUG Events to emit: ['up'] 2024-10-17 16:53:42,020 DEBUG Emitting input code 103 ^[[A2024-10-17 16:53:42,172 DEBUG Events to emit: ['right'] 2024-10-17 16:53:42,172 DEBUG Emitting input code 106 ^[[C2024-10-17 16:53:42,223 DEBUG Events to emit: ['down'] 2024-10-17 16:53:42,224 DEBUG Emitting input code 108 ^[[B2024-10-17 16:53:42,325 DEBUG Events to emit: ['left'] 2024-10-17 16:53:42,325 DEBUG Emitting input code 105 ^[[D2024-10-17 16:53:42,426 DEBUG Events to emit: ['up'] 2024-10-17 16:53:42,427 DEBUG Emitting input code 103 ^[[A
But BAD NEWS is.... runcommand menù not work and not reachable when lauch a games from emulationstation.
I have tryed to open a games... press so many button from my arcade stick and i can't open the runcommand menù from that.
The runcommand option menù can accessible only if i press one button on keyboard and after that, strange, i can move from all voices whit arcade stick.
Ah... running "retropie setup script" from emulationstation continue to crash immediatelly after press one button on keyboard or on arcade stick.
-
@DjDiabolik said in Retropie setup menu/Runcommand crashing in ES on Ubuntu:
Ah... running "retropie setup script" from emulationstation continue to crash immediatelly after press one button on keyboard or on arcade stick.
That's a different issue - the one that started this topic. There's a workaround posted by @V0rt3x667 early on.
-
@mitu it's not a big issue on my side because i can run directly retropie setup directly from a terminal as i always did.
at this point it remains only to understand why I can't access the runcommand menu by pressing a button on my arcade stick...
-
@mitu I have a question to ask:
the runcommand window timeout (when a game it's launched), if I'm not mistaken, is 2 seconds.Isn't that too short a time frame for the joy2key to capture pressure from the arcade stick?
Because also if i launch joy2key from terminal.... It takes almost 4 seconds to add the arcade stick configuration when instead I believe the keyboard is available immediately.
-
@DjDiabolik said in Retropie setup menu/Runcommand crashing in ES on Ubuntu:
Because also if i launch joy2key from terminal.... It takes almost 4 seconds to add the arcade stick configuration when instead I believe the keyboard is available immediately.
The keyboard is not processed via
joy2key
, while the joystick is. Looking at the debug log it takes around 2 or 3 sec forjoy2key
to load the configuration:/opt/retropie/admin/joy2key/joy2key_sdl.py kcub1 kcuf1 kcuu1 kcud1 0x0a 0x20 0x1b 0x00 kpp knp -d 2024-10-17 16:53:33,314 DEBUG Debugging enabled, running in foreground [...] 2024-10-17 16:53:36,057 DEBUG Using SDL Version 2.30.0, PySDL2 version 0.9.16 2024-10-17 16:53:36,057 DEBUG Creating uinput keyboard devices with events: [(1, 105), (1, 106), (1, 103), (1, 108), (1, 28), (1, 57), (1, 1), (1, 0), (1, 104), (1, 109)] 2024-10-17 16:53:36,111 DEBUG Joystick #0 DragonRise Inc. Generic USB Joystick added ...
2024-10-16 03:21:20,549 DEBUG Debugging enabled, running in foreground ... 2024-10-16 03:21:23,482 DEBUG Using SDL Version 2.30.0, PySDL2 version 0.9.16
However, the load time should be identical to the one from the previous version, so there's nothing new here. You may want to increase the
runcommand
launch timeout from the configuration if your system is too slow.EDIT: in contrast, the start-up is almost instant on a Pi4, under 1 sec. Something's fishy with Ubuntu's
python-sdl2
combo.python3 ~/src/joy2key_sdl.py kcub1 kcuf1 kcuu1 kcud1 0x0a 0x20 0x1b 0x09 kpp knp -d 2024-10-17 21:05:22,092 DEBUG Debugging enabled, running in foreground 2024-10-17 21:05:22,092 DEBUG Joy map: {'left': 105, 'right': 106, 'up': 103, 'down': 108, 'a': 28, 'b': 57, 'x': 1, 'y': 15, 'pageup': 104, 'pagedown': 109} 2024-10-17 21:05:22,222 DEBUG Using SDL Version 2.30.8, PySDL2 version 0.9.9 2024-10-17 21:05:22,223 DEBUG Creating uinput keyboard devices with events: [(1, 105), (1, 106), (1, 103), (1, 108), (1, 28), (1, 57), (1, 1), (1, 15), (1, 104), (1, 109)] 2024-10-17 21:05:22,224 DEBUG Joystick #0 8BitDo M30 gamepad added 2024-10-17 21:05:22,224 DEBUG Added configuration for known device 8BitDo M30 gamepad, hats: {}, buttons: {9: 'pagedown', 8: 'pageup', 4: 'y', 3: 'x', 1: 'b', 0: 'a'}, axis: {0: [(-1, 'left'), (1, 'right')], 1: [(1, 'down'), (-1, 'up')]}
-
@mitu i don't have idea if this time can be change from here:
- How you can see i have set it to 20 seconds (i can reach this directly from retropie setup script launched from terminal).
- Back to my Ubuntu Desktop and launch retropie from dock icon
- Try to launch a games.
It doesn't look like the 20 second setting is being respected. Maybe a few seconds less.
Anyway, I pressed random buttons on my arcade stick the whole time I waited and nothing happened...... the runcommands option it's not accessible via arcade stick :)Strange.
EDIT after some testing
nothing to do.... i have tryed to change some setting on this screen.- I have try to raise the value... from default 2 to 20... 50...100....200 but apparently this value it's not respect the real delay or the duration of runcommands windows before a games it's started.
This time it's ever about 2 or 3 seconds..... - Instead the option "Launch menù Joystick Control".... if i set to "Disabled" i can't move inside all option menù using joystick.
The only issue it's reach and open this runcommand menù.. apparently it's only work if i press a keyboard buttons...
Another EDIT
and just to confirm... this:
The workaround on retropie.sh it's apparently work..... now runcommand and retropie setup can be run without any crash also from emulationstation as he had suggested @V0rt3x667
I have preserve the original line with a # as comment :)
-
@DjDiabolik said in Retropie setup menu/Runcommand crashing in ES on Ubuntu:
How you can see i have set it to 20 seconds (i can reach this directly from retropie setup script launched from terminal).
Ok, it's the 'splash' image delay and it's not for the
runcommand
menu. I'll see if I can reproduce the slow start on Ubuntu, since I can't on the Pi, and see there's a solution. -
@mitu ah ok... at some point I also thought that that value did not affect the runcommand screen timeout. lol :)
it is not certain then that this delay that is created in loading the profile of my pad is the solution. Mine could only be a hypothesis.
so the runcommand screen, if I understand correctly, does not have a pre-set duration but remains on the screen for the amount of time that retroarch takes to start?
if i can do some tests in some way please suggest. As you may have understood i like to explore and look for alternative and/or temporary solutions.
-
@DjDiabolik said in Retropie setup menu/Runcommand crashing in ES on Ubuntu:
so the runcommand screen, if I understand correctly, does not have a pre-set duration but remains on the screen for the amount of time that retroarch takes to start?
No, there's no waiting, it's a 2 sec timeout (I think here) before either the emulator is launched or the launching image is shown (with the timeout specified in the settings).
I think I've narrowed it down to the SDL2 version included in Ubuntu and the new
input
group that's used to control theuinput
device. Can you run, from a terminal:cd $HOME/RetroPie-Setup sudo ./retropie_packages.sh sdl2
and then re-try to see if
runcommand
menu works like before ? -
@mitu look what's happend when i execute this:
diabolik@NUC-Ubuntu:~/RetroPie-Setup$ sudo ./retropie_packages.sh sdl2 = = = = = = = = = = = = = = = = = = = = = Installing dependencies for 'sdl2' : SDL (Simple DirectMedia Layer) v2.x = = = = = = = = = = = = = = = = = = = = = Did not find needed dependencies: fcitx-libs-dev libegl1-mesa-dev libgles2-mesa-dev devscripts debhelper dh-autoreconf. Trying to install them now. Trovato:1 http://archive.ubuntu.com/ubuntu noble InRelease Scaricamento di:2 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB] Scaricamento di:3 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB] Scaricamento di:4 http://archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB] Scaricamento di:5 http://security.ubuntu.com/ubuntu noble-security/main amd64 Components [7.212 B] Scaricamento di:6 http://security.ubuntu.com/ubuntu noble-security/restricted amd64 Components [208 B] Scaricamento di:7 http://security.ubuntu.com/ubuntu noble-security/universe amd64 Components [51,9 kB] Scaricamento di:8 http://security.ubuntu.com/ubuntu noble-security/multiverse amd64 Components [208 B] Scaricamento di:9 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Components [114 kB] Scaricamento di:10 https://esm.ubuntu.com/apps/ubuntu noble-apps-security InRelease [7.532 B] Scaricamento di:11 http://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Components [212 B] Scaricamento di:12 http://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Components [306 kB] Scaricamento di:13 https://esm.ubuntu.com/apps/ubuntu noble-apps-updates InRelease [7.468 B] Scaricamento di:14 http://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Components [940 B] Scaricamento di:15 http://archive.ubuntu.com/ubuntu noble-backports/main amd64 Components [208 B] Scaricamento di:16 http://archive.ubuntu.com/ubuntu noble-backports/restricted amd64 Components [216 B] Scaricamento di:17 http://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Components [21,2 kB] Scaricamento di:18 http://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Components [212 B] Scaricamento di:19 https://esm.ubuntu.com/infra/ubuntu noble-infra-security InRelease [7.462 B] Scaricamento di:20 https://esm.ubuntu.com/infra/ubuntu noble-infra-updates InRelease [7.461 B] Recuperati 910 kB in 1s (867 kB/s) Lettura elenco dei pacchetti... Fatto Lettura elenco dei pacchetti... Fatto Generazione albero delle dipendenze... Fatto etc etc etc....
It literally started an endless series of installations and even compilations it seems...
If you can understand how it's really do i have paste all text in pastebin service here:
https://pastebin.com/tB82TE1fIt's all installed correctly ? what did he actually install?
I hope I didn't mess up the operating system because I wouldn't want to find myself formatting my mini PC for this thing. -
@DjDiabolik said in Retropie setup menu/Runcommand crashing in ES on Ubuntu:
It's all installed correctly ? what did he actually install?
Yes, it seems the installation is ok. It installs a SDL2 version that's newer than the one included in Ubuntu 24.04.
-
I try to read line by line my pastebin :)
near the end i can read this:
dpkg-deb: generazione del pacchetto "libsdl2-dev" in "../libsdl2-dev_2.30.8+1_amd64.deb". dpkg-deb: generazione del pacchetto "libsdl2-dbg" in "../libsdl2-dbg_2.30.8+1_amd64.deb". dpkg-deb: generazione del pacchetto "libsdl2-2.0-0" in "../libsdl2-2.0-0_2.30.8+1_amd64.deb".
Am I right if I say that above he compiled these 3 .DEB packages and then correctly installed them?
and anyway YES!!!! Now I launched emulationstation and then a game and now when the runcommand window appears.... as soon as I pressed a button on the arcade stick the options window appeared immediately!
And look also here:
diabolik@NUC-Ubuntu:~/RetroPie-Setup$ /opt/retropie/admin/joy2key/joy2key_sdl.py kcub1 kcuf1 kcuu1 kcud1 0x0a 0x20 0x1b 0x00 kpp knp -d 2024-10-20 16:25:31,709 DEBUG Debugging enabled, running in foreground 2024-10-20 16:25:31,709 DEBUG Cannot determine input code for "0x00", value ignored 2024-10-20 16:25:31,709 DEBUG Cannot determine input code for "0x00", value ignored 2024-10-20 16:25:31,710 DEBUG Joy map: {'left': 105, 'right': 106, 'up': 103, 'down': 108, 'a': 28, 'b': 57, 'x': 1, 'y': 0, 'pageup': 104, 'pagedown': 109} 2024-10-20 16:25:31,853 DEBUG Using SDL Version 2.30.8, PySDL2 version 0.9.16 2024-10-20 16:25:31,854 DEBUG Creating uinput keyboard devices with events: [(1, 105), (1, 106), (1, 103), (1, 108), (1, 28), (1, 57), (1, 1), (1, 0), (1, 104), (1, 109)] 2024-10-20 16:25:31,907 DEBUG Joystick #0 DragonRise Inc. Generic USB Joystick added 2024-10-20 16:25:31,907 DEBUG Added configuration for known device DragonRise Inc. Generic USB Joystick, hats: {}, buttons: {6: 'pagedown', 4: 'pageup', 0: 'y', 2: 'x', 1: 'b', 3: 'a'}, axis: {0: [(-1, 'left'), (1, 'right')], 1: [(1, 'down'), (-1, 'up')]}
From right now for load the Joystick profile it's take immediatelly!!! even in the same second it does everything it previously did beyond 3 seconds.
So... we have found a definiteve solution ? On current UBUNTU we only need to install this DEV version of SDL2 ?
is it that now also the old version of joy2key work whitout need to use the phyton input mode ?
-
@DjDiabolik said in Retropie setup menu/Runcommand crashing in ES on Ubuntu:
So... we have found a definiteve solution ? On current UBUNTU we only need to install this DEV version of SDL2 ?
For now it's just a workaround, the solution is for Ubuntu to patch their SDL2 package in order to get rid of this issue.
is it that now also the old version of joy2key work whitout need to use the phyton input mode ?
No, the new version is still present, in fact it's needed because of the Linux kernel changes that triggered the error you have encountered in the beginning.
-
@mitu said in Retropie setup menu/Runcommand crashing in ES on Ubuntu:
For now it's just a workaround, the solution is for Ubuntu to patch their SDL2 package in order to get rid of this issue.
ok... but now that I have installed these compiled sdl2 in dev version how can I be useful to you for other tests?
also in case of any updates of Ubuntu itself can I run into problems?
and will this "dev" version of sdl2 from now on be updated together with the usual updates from the "retropie setup" script in my case ?
-
@DjDiabolik said in Retropie setup menu/Runcommand crashing in ES on Ubuntu:
also in case of any updates of Ubuntu itself can I run into problems?
No.
and will this "dev" version of sdl2 from now on be updated together with the usual updates from the "retropie setup" script in my case ?
No.Yes, it will be updated if RetroPie updates thesdl2
module.EDIT: corrected the update option, I don't know why I said no.
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.