Animated Screensavers
-
@Malixx Much appreciated, keep up the fantastic work! :)
-
is this method still work for the newest retropie?
i am trying to get this to work, spend hours with no luck.
i have an mp4 file in RetroPie/ScreenSaver folder and
edit
opt/retropie/configs/all/emulationstation/gamelists/retropie/gamelist.xml
with
<game><path /><video>~/RetroPie/ScreenSavers/ScreenSaver.mp4</video></game>
no luck
also try to edit
opt/retropie/configs/all/emulationstation/gamelists/fba/gamelist.xml
add <game><path /><video>~/RetroPie/ScreenSavers/ScreenSaver.mp4</video></game>
no luck.
screen saver behavior set to random video.
i am running retropie on a laptop that run ubuntu.
any help will be great. -
Yeah Ive done the post above me method. No luck. Anyone else have issues or any ideas to what i might be doing wrong?
-
I have this working to a degree, using @lycros 's code just above with the code appended to my megadrive gamelist.xml.
But the behaviour is weird. At 31 seconds the screensaver takes about 5 seconds to appear, then I saw the Tetris one play normally for the full duration. But then after that it took another 10 seconds of black screen before the next appeared, and when it did it only played for about 5 seconds before cutting out. And then this behaviour repeats.
I changed the screensaver settings duration to 30 seconds after seeing you mention similar issues above, but then nothing works at all (black screen only).
Any ideas?
Thanks for your great work!
-
@skykid Ensure it's using OMX player, and go to Other Settings and turn on OMX HW acceleration.
-
@Malixx thanks for the great work - I can't imaging how long it took!
I spent a bunch of time on this and finally got it working. I initially tried to follow the instructions by @cyperghost but as he noted in his update this doesn't seem to work.
It seems we can no longer trick retropie into using videos that aren't associated with an actual game - I tried creating a text file but ended up with an error complaining about the text file not being a valid rom.
I ended up creating fake entries for each of the videos since I didn't want to associate them with my roms - this left me with a bunch of ugly games in my list
but I was able to fix that using the "hidden" flag and Kiosk mode.Update: Welp that didn't work - when the roms are hidden (either by filter or kiosk) retropie doesn't use their videos - I just gave up and added them all to the end of the atari 2600 list since it's not used often
Here's a quick script that will do just that - create fake entries for all the screensaver videos - thought someone else might get some use out of it :)
Quick rundown
- Create ~/RetroPie/screensavers
- Copy all the video files there
- Create the script below
- Update the variables to match your environment
- Run the script to create all the fake entries
- Disable screensaver control (to avoid launch attempts)
Set to Kiosk mode or set the default filter to not show hidden- Enjoy @Malixx 's artwork!
#!/bin/bash #============================================================= # Title : populate-screensaver-gamelist.sh # # Description : Create fake game entries to load screensaver # videos without associated rom videos # # Author : QuixoticDev # # Version : v1.0 - 05/10/2020 # #============================================================= # Screensaver path - where all the videos are stored screensaverPath="/home/pi/RetroPie/screensavers" # A donor rom to copy around # I chose an atari rom to reduce size requirements donorRom="/home/pi/RetroPie/roms/atari2600/X-Man (USA).zip" # Parent path to the donor rom romPath="/home/pi/RetroPie/roms/atari2600" # Gamelist associated with the rom # I keep my gamelist and media in the same path as the rom, this # isn't default so you'll probably need to change this gameList="/home/pi/RetroPie/roms/atari2600/gamelist.xml" # Get an array of all our screensavers readarray -t videoArr <<< "$(ls -A1 $screensaverPath)" # Loop through them and create dummy rom and gamelist entry for i in ${!videoArr[@]}; do # Create fake rom if [ ${#i} -lt 2 ]; then num="0${i}"; else num=${i}; fi newRom="${romPath}/video-placeholder-${num}.zip" cp "${donorRom}" "${newRom}" # Build xml entries echo -e "\t<game>" >> "${gameList}" echo -e "\t\t<path>./$(basename -a ${newRom})</path>" >> "${gameList}" echo -e "\t\t<name>__$(basename -a -s .zip $newRom)</name>" >> "${gameList}" # echo -e "\t\t<hidden>true</hidden>" >> "${gameList}" echo -e "\t\t<video>${screensaverPath}/${videos[$i]}</video>" >> "${gameList}" echo -e "\t</game>" >> "${gameList}" done # Fix gamelist xml closing tag sed -i '/<\/gameList>/d' "${gameList}" echo '</gameList>' >> "${gameList}"
The end result looks like this in the gamelist specified
<game> <path>./video-placeholder-01.zip</path> <name>__video-placeholder-01</name> <video>~/RetroPie/screensavers/Advance Wars.mp4</video> </game> <game> <path>./video-placeholder-02.zip</path> <name>__video-placeholder-02</name> <video>~/RetroPie/screensavers/Bomberman.mp4</video> </game> all the rest...
-
@QuixoticDev Hey thanks so much for this. Gonna give it ago later. Makes sense what you've done. i was thinking my issues was due to it not being a "proper" game entry as well..
-
@MrJordaaany let me know if you run into any issues.
One bug that I haven't been able to track down is when browsing one of the roms that has a
<video>
tag, OMX player attempts to load it but then the screen jostles around and boom, a black screen which doesn't go away until I navigate away from the rom.This is one of the reasons I didn't map the videos to their actual rom, I didn't want to see that behavior when I was browsing - with this setup I just need to avoid the last section of the Atari2600, not a huge deal.
Fails:
- OMX Player (HW Acceleration): On
- Screensaver use OMX: On
- Theme: Pixel
Works:
- OMX Player (HW Acceleration): Off
- Screensaver use OMX: On
- Theme: Pixel
It works but without OMX the playback painfully slow when browsing, screensaver functionality is unaffected as that's still set to use OMX.
One last thing - I recommend picking a donorRom that's fun or playable - in case someone turns on the screensaver controls, in which case pressing start will launch the fake entry. Just my luck the one rom I pick (X-man) turns out to be early video game smut, who knew!?
-
These screensavers are amazing. Thank you.
-
@Malixx Have I mentioned how awesome these are?
Have you thought about creating a tutorial about how you make these? I could certainly be under estimating how easy these are to create, but I would love to try and create a couple. Provided they aren't terrible (quite possible), I'd share them with the group.
-
is it possible to have these as console screen savers. like when I click "a" it sends me to the console instead
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.