Fullscreen splashscreen image gets overwritten by text when no console parameter in cmdline.txt
Describe the bug
If you enable a fullscreen splashscreen image, and there's neither console=tty1 nor console=serial0,115200 in cmdline.txt, then the splashscreen image gets displayed, but Linux bootup messages get displayed over the top of it, which kind of defeats the point of the splashscreen!
Example shown in the photo below:
Steps to reproduce the behaviour
- Flash RPi OS Trixie to an SD card (and boot it up)
- Install ImageMagick :
sudo apt install imagemagick - Create a suitable TGA image :
convert /usr/share/rpd-wallpaper/fisherman.jpg -colors 224 -depth 8 -type TrueColor -alpha off -compress none -define tga:bits-per-sample=8 -crop 1920x1080+0+100 fisherman.tga - Install rpi-splash-screen-support :
sudo apt install rpi-splash-screen-support - Configure the splash image :
sudo configure-splash fisherman.tga - Reboot your Pi :
sudo reboot - You'll get a nice full-sceen splashscreen before the desktop appears
- Launch Control Centre from the main Preferences menu and navigate to the Interfaces tab
- Turn off the Serial Console option, select Close, and reboot your Pi again
- This time you'll get ugly bootup messages displayed over the top of your beautiful splashscreen image
Device (s)
Raspberry Pi 5
System
https://pastebin.com/zq9LGTek
Logs
No response
Additional context
I've observed the same behaviour on both Bookworm and Trixie, so this definitely seems to be a kernel problem rather than an OS problem.
Step 5 in my reproduction above removes console=tty1 from /boot/firmware/cmdline.txt, and step 9 in my reproduction removes console=serial0,115200 from cmdline.txt. The final contents of cmdline.txt end up being:
root=PARTUUID=9fe6b099-02 rootfstype=ext4 fsck.repair=yes rootwait splash cfg80211.ieee80211_regdom=GB fullscreen_logo=1 fullscreen_logo_name=logo.tga vt.global_cursor_default=0
Does adding "quiet" to cmdline.txt help?
Does adding "quiet" to cmdline.txt help?
I tried that already, and adding "quiet" seems to stop the splashscreen appearing at all! (see also https://github.com/raspberrypi/rpi-splash-screen-support/commit/1b72b4c90b8c15a28e25bc63dafe04cec50f7c11 ~which isn't yet in the apt-version of rpi-splash-screen-support~)
The version of rpi-splash-screen-support in the Trixie repo has now been updated, so I've updated my reproduction-steps accordingly.
Does console=tty2 change anything?
Does
console=tty2change anything?
It changes the behaviour slightly, but not in a useful way - the kernel messages still get written over the top of the splash-screen, but the splash-screen now gets displayed for a shorter time.