Customising Splash Screen on Your Raspberry Pi

Customising Splash Screen on Your Raspberry Pi

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


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


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 :


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

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.


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


8 thoughts on “Customising Splash Screen on Your Raspberry Pi


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

June 22, 2022 at 10:46am
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
Description=Splash screen



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

ExecStart=/usr/bin/fbi -d /dev/fb0 —noverbose -a /home/pi/image001.png


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

June 22, 2022 at 10:46am

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

June 22, 2022 at 10:46am

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…

June 22, 2022 at 10:46am
Tam SB

Hi Jeff, yes it’ll work with buster…

July 17, 2021 at 07:56am

Leave a comment

Your email address will not be published. Required fields are marked *

Please note, comments must be approved before they are published