Steam/Moonlight - Running games directly from EmulationStation
-
The above rust script works well and I can now load ROMs directly from the EmulationStation/Pegasus-FE front ends! For anyone interested, see here:
The only issue I’ve found with Pegasus-FE and moonlight is that HDMI blanks (i.e the HDMI signal completely cuts off) consistently after 10 mins of streaming. The stream however keeps running fine as audio is present and my controller still functions as normal.
Is there something emulationstation does to keep HDMI from blanking mid-stream in moonlight that I could carry over to Pegasus-FE environment? I don’t experience the same HDMI blanking when launching moonlight from emulationstation.
-
@StonedEdge said in Steam/Moonlight - Running games directly from EmulationStation:
The only issue I’ve found with Pegasus-FE and moonlight is that HDMI blanks (i.e the HDMI signal completely cuts off) consistently after 10 mins of streaming. The stream however keeps running fine as audio is present and my controller still functions as normal.
It's the screensaver.
-
Ah, gotcha! Is there a way to disable that? I assume with xscreensaver?
-
@StonedEdge said in Steam/Moonlight - Running games directly from EmulationStation:
Ah, gotcha! Is there a way to disable that?
Yes, your desktop environment should have some settings to disable the screensaver or monitor blanking. What is your desktop env ?
I assume with xscreensaver?
I doubt it.
-
@mitu I’m using the standard LXDE package with the official RetroPie image, installed from RetroPie-Setup. I tried installing xscreensaver and disabling it that way but unfortunately the screen is still blanking... tvservice -p command brings it back to life so its definitely something to do with the blanking... despite it being disabled, strange...
-
Run
xset -dpms s off s noblank
after starting desktop session and before starting any program.
-
@mitu Hmm, unfortunately this didn't seem to work. I tried adding the below to the moonlight.sh script in the /opt/retropie/supplementary/moonlight directory, but it didn't seem to change anything... EDIT: Nvm, turns out the dpms commands wouldn't work for me unless I enabled it. See here: https://forums.linuxmint.com/viewtopic.php?t=329548
#!/usr/bin/env bash export XDG_DATA_DIRS=/opt/retropie/supplementary/moonlight/share export XDG_CONFIG_DIR=/opt/retropie/configs/all export XDG_CACHE_DIR=/opt/retropie/configs/all xset -dpms s off s noblank /opt/retropie/supplementary/moonlight/bin/moonlight "$@" -audio default
-
After to speaking to the developer it seems that Pegasus-FE doesn’t run in an X11 environment but rather on top of Open GLES/EGL, so perhaps X11 commands don’t work here. Is there a way to pause it somehow using EGLFS that you’re familiar with? Perhaps xset commands have no affect...
-
@StonedEdge said in Steam/Moonlight - Running games directly from EmulationStation:
After to speaking to the developer it seems that Pegasus-FE doesn’t run in an X11 environment but rather on top of Open GLES/EGL, so perhaps X11 commands don’t work here. Is there a way to pause it somehow using EGLFS that you’re familiar with? Perhaps xset commands have no affect...
This is the same display method used by EmulationStation, so there shouldn't be a difference here. Most likely Pegasus is not controlling the display video during a gameplay so I don't think it has any influence on how the display blanking is checked.
-
@mitu Hmm, OK then. Well I'm a bit stumped... tvservice -p brings back the display entirely so it is definitely a HDMI related blanking problem.
-
OK, finally figured it out!
https://stackoverflow.com/questions/25149143/linux-kernel-consoleblank-argument-ignored
Needed to add export QT_QPA_PRESERVE_CONSOLE_STATE=1 to the autostart file. It seems the consoleblank=0 gets overriden by Qt applications. Seems like a bit of an undesirable behaviour but glad it works 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.