Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

command line to start ES screensaver



  • Pi Model or other hardware: (3B+)
    Power Supply used: (adjustable 5a)
    RetroPie Version Used (4.4):
    Built From: (Pre made SD Image on RetroPie website)
    USB Devices connected: keyboard
    Controller used: keyboard

    Hey guys, i am still searching for a solution and need your help!

    I want the build in ES screensaver to start immediately after boot into ES an not to wait for 1 minute.
    My idea is to add a command line into the autostart.sh to start the screensaver after ES started. I think this should be possible because it is possible to start the screensver with the "select" button.... Unfortunatly i dont know the code and cant find it...

    could someone help me?



  • @berndschroed what you're saying for is not really going to be doable the way you're envisioning, because you won't be able to start the screensaver earlier. The screensaver is controlled through ES, so unless there'd be a way to communicate with the ES process and tell it do do that (which there isn't), you'll have to work around it.

    You can, however, play a video earlier over ES. If you time it right it can then finish before the screensaver one starts.

    What exactly are you trying to accomplish? Maybe that'd help.

    If you install htop on the pi and run it when the screensaver is on you'll be able to see the exact command line used for the video player, if using omx player. I don't know it by heart but I recall it needs to be on layer 10000 or above, because that's the layer SDL uses to render ES on.

    But if you're going down that route you could probably just use a splash start video to achieve the effect you're going for, and that's already built into RetroPie.

    Edit: ah, I see. You could try to simulate a "select" button press event and see if it gets registered in ES. That's certainly worth a shot.



  • hey pift

    thank you for your ideas and help!

    My main goal is to use my Pi as a digital picture frame 90% the time. And that is the reason why i dont want to see any ES dashboard unless i do some input (bluetooth controler will be added later).

    I killed all booting messages and added a booting image, but when ES is started i have to wait for 1min until the screensaver starts. Every idea that will hide the dahsboard or let the screensaver start immediately is fine for me ;-)

    I am new in in the Pi world and i am a german, so it is a little bit difficult for me to understand everything....

    so first i am going to find out (google) how to add events...

    edit:
    I tried to use a video but that does not work because the minute waiting time starts after the video fineshed....



  • @berndschroed If that's what you're trying to accomplish, there's probably a better way to go about it - maybe you can just launch something before ES that just cycles through pictures, and only if you exit it will it launch ES?

    Just a thought. Otherwise I think the use case might be a bit hard to accomplish - kind of like the saying "if your only tool is a hammer, all your problems look like nails" :)

    I'd try looking for things like that.

    https://www.instructables.com/id/Easy-Raspberry-Pi-Based-ScreensaverSlideshow-for-E/

    Then I'd see how to set up RetroPie to start Kodi prior to ES and use the same approach to run whatever you settle on.



  • thank you pjft but i already implementet background music (used this: https://retropie.org.uk/forum/topic/9133/quick-and-easy-guide-for-adding-music-to-emulatonstation-on-retropie-noob-friendly) and want to switch back to "picture frame mode" without rebooting or something similar.

    it is so frustrating for me because in my opinion everything is already implementet in Retropie but i cant make it work like i wish

    edit:
    i checked the the retropie screensaver script ( i hope so) from here: https://github.com/RetroPie/EmulationStation/pull/207/files

    and as far as i understand i just have to use this code: void SystemScreenSaver::startScreenSaver()

    related to the background music script, this code should work in the autostart.sh

    could this possible work? (i have no access to the pi for several days and cant test it)


  • Global Moderator

    @berndschroed said in command line to start ES screensaver:

    and as far as i understand i just have to use this code: void SystemScreenSaver::startScreenSaver()
    related to the background music script, this code should work in the autostart.sh

    No, that's not how source code works. That code is compiled into Emulationstation and it's not a script that can be called from outside. If you'd like this to be invoked at every start, then add the code at the end of the start-up sequence in Emulationstation and then re-compile it.



  • hey mitu, thank you!

    could you explain me how to or give me a link to read how to do re-compiling?



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.