Retropie setup menu/Runcommand crashing in ES on Ubuntu
-
From emulationstation no works.... it's impossibile to open the "runcommand" option and i have tryed to press many times my controller buttons but not working.
The "runcommand" option it's not open also if i click some keyboard buttons.... -
@DjDiabolik Is your user in the
input
group` ? -
@mitu said in Retropie setup menu/Runcommand crashing in ES on Ubuntu:
@DjDiabolik Is your user in the
input
group` ?How do I find out?
-
@DjDiabolik You can run the
id
command and it should print the list of groups. However, it seems it's not enough on Ubuntu to enable write-access. I'll take a look again to see what options are available.
Thanks for testing. -
Run the following command:
echo 'KERNEL=="uinput", GROUP="input", MODE=0660' | sudo tee /etc/udev/rules.d/80-uinput.rules
and then reboot, afterwards see if the thee permission error still shows up when running as user
joy2key_sdl
or ifruncommand
menu works. -
So id output it's this:
diabolik@NUC-Ubuntu:~$ id uid=1000(diabolik) gid=1000(diabolik) gruppi=1000(diabolik),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),107(input),122(lpadmin),135(lxd),136(sambashare) diabolik@NUC-Ubuntu:~$
Before to run the seconds command i have tryed to look on /etc/udev/rules.d
and currently there's no file whit this name:
diabolik@NUC-Ubuntu:/etc/udev/rules.d$ ls 70-snap.canonical-livepatch.rules 70-snap.snapd-desktop-integration.rules 70-snap.snap-store.rules 99-input.rules 70-snap.firefox.rules 70-snap.snapd.rules 70-snap.thunderbird.rules diabolik@NUC-Ubuntu:/etc/udev/rules.d$
The echo commands paste this text and create this file.... it's correct ?
-
apparently it's continue to crash... after reboot:
diabolik@NUC-Ubuntu:~$ id uid=1000(diabolik) gid=1000(diabolik) gruppi=1000(diabolik),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),107(input),122(lpadmin),135(lxd),136(sambashare) diabolik@NUC-Ubuntu:~$ /opt/retropie/admin/joy2key/joy2key_sdl.py kcub1 kcuf1 kcuu1 kcud1 0x0a 0x20 0x1b 0x00 kpp knp -d 2024-10-16 13:43:19,919 DEBUG Debugging enabled, running in foreground 2024-10-16 13:43:19,919 DEBUG Cannot determine input code for "0x00", value ignored 2024-10-16 13:43:19,919 DEBUG Cannot determine input code for "0x00", value ignored 2024-10-16 13:43:19,919 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 13:43:22,642 DEBUG Using SDL Version 2.30.0, PySDL2 version 0.9.16 2024-10-16 13:43:22,643 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 diabolik@NUC-Ubuntu:~$
or also this info can be usefull ??
diabolik@NUC-Ubuntu:~$ cd /etc/udev/rules.d 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-uinput.rules 70-snap.firefox.rules 70-snap.snapd.rules 70-snap.thunderbird.rules 99-input.rules diabolik@NUC-Ubuntu:/etc/udev/rules.d$ cat 80-uinput.rules KERNEL=="uinput", GROUP="input", MODE=0660 diabolik@NUC-Ubuntu:/etc/udev/rules.d$
@mitu in about 30 minutes i need to move from my home to my brothers....
if need i can continue test from here but it's a different hardware.. different username but same os.. also on my brother it's present ubuntu 24.04.1 LTS.
-
anyway... right now "runcommands" option work.... but only if i press button on keyboard.
I can press so many times button on my arcade stick and it's not work.
@mitu -
@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.
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.