Error and GUI terminates back to ES when launching RetroPie-Setup direct on machine (libudev?) - but SSH is ok
-
See here: https://github.com/RetroPie/RetroPie-Setup/blob/master/scriptmodules/helpers.sh#L1037
If you change the
0x20
(space code) to0x1b
(escape code), it seems to restore the behaviour that we're expecting. Not sure why it's like this? -
I am experiencing this same error when I launch games from ES. I was having the problem outlined above with the Setup menu (running this on Ubuntu 18.04), however after updating the setup script it seems to have corrected that part. I still receive the error:
/opt/retropie/supplementary/runcommand/runcommand.sh: line 961: read: read error: 0: Resource temporarily unavailable
Exception AttributeError: "'Context' object has no attribute '_libudev'" in <bound method Context.del of <pyudev.core.Context object at 0x7f45d18b9e90>> ignoredwhen launching games. It seems to display the error and try to load the game but I see no video. Sometimes the games will actually run and I can hear them and the controller will respond, but most of the time it appears to just sit at the black screen until i force close everything. I have tried NES, SNES, PSX, N64(oddly this shows the error on the runcommand screen but the game still plays with video), Atari 2600, and Atari 7800. I noticed the RetroPie-Setup issue a couple days ago, but the error when trying to launch games seems to have started today.
-
-
@mitu Thanks for that suggestion! That seems to have fixed the video not displaying when launching games. I havent messed with any configs for a while now. I wonder why all of a sudden that stopped displaying video. I think I played the same games either yesterday or the day before without issue. Any ideas?
As for the error message when launching... I am still seeing the error message I posted in the other reply when I launch games. The runcommand screen shows and disappears much faster than it used to and the error is at the bottom of that screen. should I open a new topic for that error or is it related this one?
-
@xnickygx said in Error and GUI terminates back to ES when launching RetroPie-Setup direct on machine (libudev?) - but SSH is ok:
@mitu Thanks for that suggestion! That seems to have fixed the video not displaying when launching games. I havent messed with any configs for a while now. I wonder why all of a sudden that stopped displaying video. I think I played the same games either yesterday or the day before without issue. Any ideas?
The default for RetroPie installation was to set
video_threaded
, however in 18.10 and after an update (last summer) to 18.04 Mesa libs, this parameter seems to be necessary to make RetroArch based emulators work. If you installed RetroPie before the change was added, then the default would have remained.The 2nd part is handled in this topic, see @psyke83's replies above about why the error is shown. The warning is harmless and you can ignore it for now - it might be fixed in a subsequent update.
-
@mitu Interesting. I have had RetroPie installed for a few months now and haven't had any issues with the video until today.
In response to the error... perfect. I wont worry about it for now. I guess I just wanted to make sure it wasn't something else since I was seeing it on game launch and not in the RetroPie Setup. thanks again!!
-
This post is deleted! -
It looks like we might need to add a delay to the runcommand invocation as well?
I implemented python-evdev support into the script: https://github.com/RetroPie/RetroPie-Setup/compare/master...psyke83:joy2key_evdev
Tested it on Ubuntu 18.10, confirmed it to work well and eliminate the need for any delays... and then realized afterwards that Raspbian doesn't have this package :/
It's possible to get on Raspbian via installing python-pip and then installing it that way, but python-pip requires 30MB or so of extra packages. A damn shame :(
-
Hi again, just catching up on these, thanks again - it sounds like I've opened a bit of a can of worms by reporting this issue!
Regarding the controllers, I thought that the setup script GUI used to support both action + back, but I just couldn't remember for sure - so i'm glad I mentioned it. Do you still want me to try changing the 0x20 space code to 0x1b escape code for a test? If so, I can do this when I get home from a bit later on (in around 8hrs time) and let you know. Or have you confirmed/fixed it in your code already?
As for the other stuff, do you think the extra 30mb is a major issue for a future RetroPie image? I know it ideally needs to be kept as compact as possible, but I would say even on my Picade machine which is driven by a Pi 2 I wouldn't bat an eyelid that the ISO download is slightly larger than it used to be if I was to update or re-image it. The fact it's under a gig in this day and age is already impressive! But that's just my thoughts, I can see why it needs to be kept super minimal too.
-
@psyke83 said in Error and GUI terminates back to ES when launching RetroPie-Setup direct on machine (libudev?) - but SSH is ok:
It looks like we might need to add a delay to the runcommand invocation as well?
I implemented python-evdev support into the script: https://github.com/RetroPie/RetroPie-Setup/compare/master...psyke83:joy2key_evdev
Tested it on Ubuntu 18.10, confirmed it to work well and eliminate the need for any delays... and then realized afterwards that Raspbian doesn't have this package :/
It's possible to get on Raspbian via installing python-pip and then installing it that way, but python-pip requires 30MB or so of extra packages. A damn shame :(
how about the idea of re-implementing joy2key in C and use libevdev/libudev directly? the binary would be much smaller and elegant than having the python interpreter :)
joy2key doesn't seem to be too complex functionally speaking. In few weeks I will have much more time available and could help with this if interested.
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.