Startup Splash Screen/Video Glitched and Corrupted
-
@acropolis40 long story, no need to brag about it
-
@substring Ok then thanks for the response guess i'l just have to try to find a work around.
-
I am having this same issue. As a temporary measure, I just removed the startup video while I wait for a fix.
-
@haphzrd Same but i'm still getting the same issue if its not a problem could you tell me exactly what files you deleted.
Thanks -
@acropolis40 @HapHzrd I setted
system.splash.length=-1
in recalbox.conf
That disabled video (against description) and no flicker at startup. -
Any news from devs on this? I did try to make the duration that ES would play the video for longer but that didn't help. What you can do is replace the start up video with an mp4 that's just sound. Then you get a nice start up tune without fear of having a seizure and it's better than having nout at all.
-
Shouldn’t this be given some kind of priority so no one has an epileptic seizure?
-
@solo-ripper have you tried with the latest beta?
-
@paradadf There’s a beta for the XU4? I thought it was only for the pi b+. Thanks.
-
I looked into that.
At startup, on odroid, the
S02splash
script starts the splash mp4 video, in background process, usingffplay
for x seconds (set to 20 by default. see recalbox.conf, system.splash.length parameter).
Meantime the video is running, others startup scripts are running including theS31emulationstation
script that display version logo (that is useless as theS02splash
script do it after the splash video...) and start emulationstation without to wait the splash mp4 video finish. Making flickering effects.
Said simpler,ffplay
output is in conflict withfbv
(viashowlogo.sh
) and emulationstation boot logo as it's displayed in the same time.Waiting a real fix you can do either of the following trick to display splash video properly:
A simple trick is to not run the splash video in background so the other startup scripts will not run untill the video is finished. Boot process will be longer as nothing else will append the time the video is running.
Open a ssh session on your recalbox then run :
mount -o remount rw, /
cd /etc/init.d
nano S02splash
Edit the file as shown bellow
do_ffmpeg_start () { if ! `which ffplay >/dev/null` || [[ ! -f $video ]] ; then return fi ffplay_opts="-hide_banner -autoexit" ffplay_srt="subtitles=/recalbox/system/resources/splash/recalboxintro.srt:force_style='FontName=/usr/share/fonts/dejavu/DejaVuSans-BoldOblique.ttf,Fontsize=10'" ffplay $ffplay_opts -vf "$ffplay_srt" "$video" >/dev/null 2>&1 & PID=$! count=0 if [[ $videolength -gt -1 ]]; then while [[ ! -f "/tmp/emulationstation.ready" && ! -e "/var/run/kodi.msg" && $count -lt $(($videolength*10)) ]]; do sleep 0.1 ((count++)) done fi do_ffmpeg_stop $PID show_logo & # <-- edit here by adding the "&" }
...
case "$1" in start) if [[ `cat /recalbox/recalbox.arch` == "rpi"* ]] ; then ( do_omx_start ; show_logo ) & else ( wait_for_fb ; do_ffmpeg_start ) #& # <-- edit here by removing or commenting the "&" fi ;; stop) ;; restart|reload) ;; *) esac
Save and close it with
STRG + X
You can customize the length of the splash video by editing your/recalbox/share/system/recalbox.conf
file,system.splash.length
parameter. 12 seconds is a good choice.--
Another way is to modify
S31emulationstation
script to wait ffplay finished (or killed) before to start emulationstation. So the others sartup scripts will not wait video completion.
Open an ssh session on your recalbox then run :
mount -o remount rw, /
cd /etc/init.d
nano S31emulationstation
Edit the file as shown bellow
case "$1" in start) enabled="`$systemsetting -command load -key system.es.atstartup`" videoMode="`$systemsetting -command load -key system.es.videomode`" if [ "$enabled" != "0" ];then while [ "$(pidof ffplay)" ]; do #<-- eddit here by adding this sleep 0.1 #<-- eddit here by adding this done #<-- eddit here by adding this /recalbox/scripts/showlogo.sh & # In case the logo has been removed, let's put it back again echo $videoMode | grep -qE "(CEA|DMT) [0-9]{1,2} (HDMI|DVI)" [ $? = "0" ] && tvservice -e "$videoMode" settings_lang="`$systemsetting -command load -key system.language`" recallog "starting emulationstation with lang = $settings_lang" HOME=/recalbox/share/system LANG="${settings_lang}.UTF-8" SDL_VIDEO_GL_DRIVER=/usr/lib/libGLESv2.so SDL_VIDEO_EGL_DRIVER=/usr/lib/libGLESv2.so SDL_NOMOUSE=1 start-stop-daemon -S -q -m -p /var/run/emulationstation.pid --exec /usr/bin/emulationstation & fi ;;
Save and close it with
STRG + X
--
In both case, you can still customize the length of the splash video by editing your
/recalbox/share/system/recalbox.conf
file,system.splash.length
parameter.
12 seconds is a good choice.