Customising Splash Screen on Your Raspberry Pi

Customising Splash Screen on Your Raspberry Pi

8 comments

Before opening Raspberry Pi’s desktop GUI by default a rainbow screen displays followed by Raspberry Pi’s logo and command lines scrolling down. But you can disable these and add any image of your choice by following these steps:

Raspberry Pi

REMOVE THE TEXTS AND LOGO

Start from removing all the default screens and also the 4 Raspberry images. Also, disable all the bootup lines.

sudo nano /boot/config.txt

Write this in your terminal and open  /boot/config.txt, add “disable_splash=1” to remove the color test/rainbow screen. Now write

sudo nano /boot/cmdline.txt

At the end of the line add “logo.nologo” for removing the Raspberry logo.

Disable the commands and various bits of the kernel by adding “consoleblank=0 loglevel=1 quiet” next to “logo.nologo”. Make sure everything is in one line. After that press ctrl+X, Y for save and Enter to return to the command line.

Now remove the login prompt by running

sudo systemctl disable getty@tty3

ADDING NEW SPLASH SCREEN

Now place the desired picture as your new splash screen. To make the image readable install fbi, the image reader and the framebuffer. For installation write 

sudo apt install fbi

It will take a few seconds to install. After this we have to create a file by

sudo nano /file/systemd/system/splashscreen.service

In the file add the following things :

splash

[Unit]
Description=Splash screen
DefaultDependencies=no
After=local-fs.target
[Service] ExecStart=/usr/bin/fbi -d /dev/fb0 --noverbose -a /home/pi/image001.png StandardInput=tty StandardOutput=tty
[Install] WantedBy=sysinit.target

The “-d/dev/fb0” instruction tells the fbi which image to display. 

“--noverbose” will suppress the fbi ‘status bar’ at the bottom.

If the selected image is in the proper measurements then no editing is required if not then “-a” will act as editor.

“ /home/pi/image.png” is the name of the image. You can update your image name here.

Through "StandardInput" and "StandardOutput" the fbi get access to tty. 

The "DefaultDependencies" will override the systemd’s default behaviour.

The fbi will be loaded in the boot process when ‘WantedBy’ is accessed, not before the file system (and hence image) are ready, through the “After” option.

REBOOT YOUR PI

Enable your service by running 

sudo apt-get update
sudo systemctl enable splashscreen

Now reboot the Raspberry Pi and verify your image by

sudo reboot

SB Components

Your New Raspberry Pi Splash Screen

Through the following steps, we can disable the default screens and can add our desired image photo/animation/video as your splash or bootup screen.

Hope you enjoyed this article...

Check out our new Raspberry Pi 4 Clear cases


Micro:bit programming with blocks

Why Everyone has to Learn Linux?

8 comments

Bulent

I have done the steps and it has run.
However, I had to change,
“sudo nano /file/systemd/system/splashscreen.service”
as
“sudo nano /etc/systemd/system/splashscreen.service”
for the version that I used

Matthew Barnes

Here’s an improved version that works for both fake and full KMS drivers on Raspberry Pi. The method shown here broke when I switched to the full KMS driver because it apparently takes longer for the framebuffer device to appear during boot. But it can be fixed by triggering the service with a path unit:

```
$ cat /etc/systemd/system/splashscreen.path
[Unit]
Description=Splash screen

[Path]
PathExists=/dev/fb0

[Install]
WantedBy=sysinit.target
```

Then update the service file like so:
```
$ cat /etc/systemd/system/splashscreen.service
[Unit]
Description=Splash screen for Raspberry Pi

[Service]
ExecStart=/usr/bin/fbi -d /dev/fb0 —noverbose -a /home/pi/image001.png
StandardInput=tty
StandardOutput=tty

[Install]
WantedBy=sysinit.target
```

(Note: StandardOutput=tty is not strictly necessary, but I left it here for consistency.)

Joey

I get a open /dev/fb0: No such file or directory

Johnny

Well this really sucks.. sure, you get a screen but then the screen stays on beneath the prompt and does not go away unless you clear the screen…

Tam SB

Hi Jeff, yes it’ll work with buster…

Leave a comment

Please note, comments need to be approved before they are published.