linux icon indicating copy to clipboard operation
linux copied to clipboard

Slightly awkward interaction between splash-screen and boot-to-console

Open lurch opened this issue 3 months ago • 4 comments

Describe the bug

If you enable the fullscreen splash-image using https://github.com/raspberrypi/rpi-splash-screen-support and then use Control Centre to enable "Boot: To CLI", then when the console appears, you have no flashing cursor, which makes editing command-lines rather awkward! (As a workaround, the cursor can be manually enabled by running printf "\033[?25h" thanks stackoverflow )

This seems to be because configure-splash adds vt.global_cursor_default=0 to cmdline.txt in order to prevent the cursor being drawn over the top of the splash screen. If I remove that parameter from cmdline.txt then I get the cursor drawn over the top of the splash-screen (which is ugly) but I do then get the flashing cursor at the console prompt. Would it be possible for the code that displays the splash-screen to also do the equivalent of printf "\033[?25h" when the splash-screen stops being displayed?

Steps to reproduce the behaviour

  1. Flash RPi OS Trixie to an SD card (and boot it up)
  2. Install ImageMagick : sudo apt install imagemagick
  3. 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
  4. Install rpi-splash-screen-support : sudo apt install rpi-splash-screen-support
  5. Configure the splash image : sudo configure-splash fisherman.tga
  6. Reboot your Pi : sudo reboot
  7. You'll get a nice full-sceen splashscreen before the desktop appears
  8. Launch Control Centre from the main Preferences menu and navigate to the System tab
  9. Select Boot: To CLI and reboot your Pi again
  10. You'll get a nice full-sceen splashscreen before the console appears
  11. But there'll be no visible cursor
  12. (As mentioned above, the cursor can be manually enabled with printf "\033[?25h")

Device (s)

Raspberry Pi 5

System

https://pastebin.com/xRdkCerp

Logs

No response

Additional context

No response

lurch avatar Oct 13 '25 11:10 lurch

Tried the above, copying the commands provided.

Non working on Pi5 8GB DUT first (HDMI display) Working after having installed 'sudo rpi-update pulls/7088'

Tested with different logo pictures -> all working.

Replicated the steps on a CM4 + 5in DSI display -> Non working at all. Will do another test on fresh Trixie installation for confirming this.

aBUGSworstnightmare-rpi avatar Oct 15 '25 11:10 aBUGSworstnightmare-rpi

Replicated the steps on a CM4 + 5in DSI display -> Non working at all. Will do another test on fresh Trixie installation for confirming this.

It won't. That initial framebuffer is generated by the firmware, and the firmware has no drivers for the V2 DSI screens.

It also won't work on DSI/DPI/VEC at all for Pi5 as they are all driven by the kernel RP1 drivers.

6by9 avatar Oct 15 '25 11:10 6by9

hence plymouth logo remains the only option when using DSI/DPI/VEC connected displays? Do I interpret that correctly that it should work on older platforms - whichever was able to print the rpi-logos (i.e. CM4 + DPI)?

aBUGSworstnightmare-rpi avatar Oct 15 '25 11:10 aBUGSworstnightmare-rpi

Yes, Pi0-4 with the 7" DSI display (or clones) or DPI configured in config.txt should be able to display this early splashscreen. CM1-4 will need the DSI screen enabled via dt-blob.bin.

6by9 avatar Oct 15 '25 11:10 6by9