@mitu said in Turning the screen off (again) and screensaver problems.:
How did you run the blanking command ?
I run a script called "idle-screenoff.sh", sheduler runs it on boot.
In that script, I first run a joystick fix (to filter out ghost inputs) and then detect both joystick movements.
If there are no movements: "setterm -term linux -blank force -powersave powerdown"
if there are movements: "setterm -term linux -blank poke"
I also made a USB arduino device that controls the arcade cabinet light, and the light (and buttons) get dimmer when screen is off.
Same script also makes everything even dimmer between 7PM and 6AM.
The script worked in Buster, and it works in CMD when ES is not running.
Retropie disables screen blanking because it functions as a terminal 'screensaver' and - just like in a desktop env - ignores the gamepad as an input and can kick in anytime.
So, my solution might be to simply to disable the RetroPie disabling of screen blanking?
You can leverage EmulationStation's scripting support and trigger a script when the screensaver starts/stops. Since vcgencmd is not available, on KMS/DRM (console) you can use kmsblank to blank the display. Do note that kmsblank runs (and keeps the screen blank) until a key is pressed, so you need to stop it manually when the screen saver is stopped in ES through another event script.
When I run the command over ssh - It works when ES is not running, but when ES is running, I get the response:
Failed to set DPMS: -13
I suspect I have to somehow disable the "screen blank disabling"