Raspberry Pi 4

For information, Recalbox IS NOT compatible with Raspberry Pi 4 yet.
Pour information, Recalbox N'EST PAS encore compatible avec le Raspberry Pi 4.

The Recalbox Team.

Startup Splash Screen/Video Glitched and Corrupted



  • I have a Odroid XU4 and have just installed Recalbox on the SD card but every time I start it it has this really weird flickering effect and glitch. I hope someone knows more about this than me and can help fix it.
    Thanks
    PS here is a video of whats happening https://www.youtube.com/watch?v=zTSuKfh5aII (epilepsy warning)
    this also hapens on all videos and pictures not just this one.


  • Theme designer
    Themer

    @acropolis40 Hi, at this time this bug is not fix yet, it's related to Odroid XU4. Could be fix in a further release.
    Meawhile, don't worry and have a good game :)



  • @acropolis40 known problem, and it's a GPU driver problem, hardly any chance to be fixed before a loooooooooooooooooong time



  • Well that sucks I really like the Recalbox OS and this issue is the only thing that is stopping me from sticking with it . But I was trying to find a work around so I deleted everything out of the splash screen folder but when the system booted up this time it still displayed the corrupted image so is there another splash screen folder located somewhere else I hope if I delete this it should only display a black screen.
    On further note the Batocera OS that I believe is baced of Recalbox does not have this issue so maybe the devs can talk to those guys about borrowing some of there driver's I could be mistaken though.
    Thanks



  • @acropolis40 we'll never ever talk with batocera. Never in my life



  • @substring did they steal your OS



  • @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? 😕


  • Staff
    Team
    Moderator
    Translator

    @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, using ffplay 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 the S31emulationstation script that display version logo (that is useless as the S02splash 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 with fbv (via showlogo.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.



Want to support us ?

241
Online

55693
Users

18205
Topics

137052
Posts

Looks like your connection to Recalbox Forum was lost, please wait while we try to reconnect.