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

Help testing: Random Video Screensaver on Main Branch



  • Hi all,

    The time has (almost) come. I just submitted a PR to add a random video screensaver to the main ES branch, and need your help testing it. This is based very much on the great work by @fieldofcows , which I ended up building upon, but the majority of the credit goes out to him.

    What's included:

    • Adding random video screensaver option (by @fieldofcows, I just squashed the commits). Videos change after 35s. ES will try to load a random video that the gamelist references, and will retry up to 200 times (i.e. 200 consecutive random videos) in case it can't find a particular video file. If after 200 tries none of the random paths from the gamelist pointed to any valid file, it will default to the black screensaver.
    • Added option to control the random video screensaver: if enabled, you can launch the game that's being shown at the time (press start or X during the screensaver), skip to another video before the 35s are elapsed by pushing "right" on your joystick, and launch the screensaver by pressing "Select" on the system view. If disabled, it works as normal.
    • You can also choose to show the current game name on the screensaver by enabling an option on the menu. It's not ON by default because in some screen resolutions and frequencies (particularly 60Hz), with overscan turned on, the video card will fail to render things.
      Screensaver is rendered via OMXPlayer on the Pi, regardless of the users using OMX Player or VLC for the gamelist view. It makes no sense otherwise, and VLC performs somewhat sub-optimally rendering the video at full screen. On the PC it's done via VLC.
    • Fully rebased (i.e. based on) the 2.2.0 release (so, yesterday's one at the time of writing).

    This is pretty much the equivalent to a rebased OMX build I have been using and running for a few months now, as well as a few others in the forums. Testing is definitely appreciated and welcome, but it should be solid on the Pi.

    What would be really helpful is for people to test it on Windows and on other systems (Linux), just to make sure that the screensaver works well with VLC at the moment, in particular the performance and the video game name as well, as I don't have a system to test that on and while I briefly tested it on the Pi, the performance isn't there so I can't tell whether it's working as intended or not.

    To install the build, probably the best way these days is to use @meleu 's script, and enter https://github.com/pjft/EmulationStation.gitas the repository, and RetroPie-ScreenSaver-Mergeas the branch.

    I may also provide a binary later if it'd help, though only for the Pi 3, so that's sub-optimal. :/

    Note 1: The "random video" screensaver only works with videos. If you have no videos, or it has trouble finding random games for which you have videos for, it will default to the "black" screensaver.
    Note 2: currently the video zoom in transition using "slide" is broken. It is not related with this commit, and will be dealt separately.
    Note 3: if, after enabling the video game name on screensaver the screen loses signal when rendering the screensaver, that's unfortunately a known OMX/SDL layer limitation. The workaround is to either disable that option, or add disable_overscan=1to your /boot/config.txt file.

    Thanks in advance for your time, and hopefully you'll join us in helping us to get this to the main branch with your testing.



  • I am in. Testing now



  • Is there a way I can compile this onto a USB from Scratch?



  • @itsnitro Hm.

    On the Pi, you mean?

    Sure. I imagine, off the top of my head, the following would work on the Pi's terminal, after exiting ES:

    mkdir ES-pjft
    cd ES-pjft
    git clone https://github.com/pjft/EmulationStation.git
    git checkout RetroPie-ScreenSaver-Merge
    git submodule update --init
    cmake .
    make
    ./emulationstation
    

    @Hex thank you! Curious to see how this fares on your Linux build, as well as on the Pi 1/0 :) I'm particularly curious to know if the screensaver using VLC on Linux performs well, as I don't know if it's HW accelerated there. If not, I can change a few things there to make it work with better performance, at the expense of video quality.



  • @pjft No, not on the pi, for windows.



  • @itsnitro OH.

    Well, if you do have the required development environment there, I'd imagine... err... hmm.

    This post might help, but reading through it it's quite daunting, so if you can't do it hopefully someone will eventually build it and be able to share it. :l

    If you do manage to build it, though, do share it with the rest!



  • @pjft is there a way to trigger screensaver or just wait patiently



  • On linux Audio starts. Video is a blank screen. and normal video snap is in incorrect position (probably only for testing)



  • @Hex you need to choose the random video screensaver option on the menu. If you then enable screensaver controls, you can trigger it by pressing select on the system view.



  • @Hex ok. It looks like I'll need to adjust VLC as a screensaver then as it might not be hardware accelerated. That's a shame as the text will look crappy :/ but it is what it is. Thanks for testing that.

    What do you mean the video snap is out of place - can you share a screenshot? That would help - I may have certainly unknowingly reverted some code, since this was put together earlier in the year.

    I take it it wasn't happening on the public 2.2.0 release?

    Thank you very much!



  • @pjft said in Help testing: Random Video Screensaver on Main Branch:

    @Hex ok. It looks like I'll need to adjust VLC as a screensaver then as it might not be hardware accelerated. That's a shame as the text will look crappy :/ but it is what it is. Thanks for testing that.

    What do you mean the video snap is out of place - can you share a screenshot? That would help - I may have certainly unknowingly reverted some code, since this was put together earlier in the year.

    I take it it wasn't happening on the public 2.2.0 release?

    Thank you very much!

    You will have to read the setting to determine which player is being used for videos and switch accordingly.

    Imgur



  • @Hex oh my, that is messed up. Will look into that - likely some merge problem.

    Thanks.



  • I works well in Retropie ES master branch so you can look at diffs and figure out



  • @Hex yeah, must have messed up something simple on the merge. Thanks!

    It's past midnight here, will look into it tomorrow or during the weekend.



  • @pjft just an fyi - you do not use .git in @meleu script. for the repository enter:

    https://github.com/pjft/EmulationStation

    Branch Enter:

    RetroPie-ScreenSaver-Merge



  • @TMNTturtlguy said in Help testing: Random Video Screensaver on Main Branch:

    @pjft just an fyi - you do not use .git in @meleu script.

    Hey bro, the script should be smart enough to deal with the trailing .git. I tested here and it works fine with that. Are you having problems?



  • @meleu yes I am. I went to add a new repository and typed it in with .git and it said that it was not a proper link to the branch and would not add it to the list. I then typed it in without the .git and it added it to my list. I went to the list, selected it and it started to download/compile.



  • @pjft - Tested on retropie and as expected it appears to be working 100% the way it should be. Nice work!



  • @TMNTturtlguy said in Help testing: Random Video Screensaver on Main Branch:

    @meleu yes I am. I went to add a new repository and typed it in with .git and it said that it was not a proper link to the branch and would not add it to the list.

    You are right! Sorry for looking like I'm doubting you. :-)

    In my tests I edited es-repos.txt files directly... My bad.

    Anyway, the script can deal with trailing .git now. Could you update and test it again, please? (remember: you can update using the script itself).

    Thanks bro!



  • @meleu I am not on my pi now, but i will update and get back to you! Thanks for taking a second look into it. Really nice utility you build for us.



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.