When a Raspberry Pi boots in Raspberry Pi OS, we see a splash screen, an image that tells us that the operating system is loading. But why settle for the default? If we are planning to embed a Raspberry Pi in an art installation, interactive advertisement or information board, then a custom splash screen is a cool and simple way to add a little class to your project. Or you could just change the image to amuse yourself and your friends. Replacing the Raspberry Pi splash screen is exceptionally easy.
We don’t need to install any extra software on our Raspberry Pi, and the software to create the images and videos is available free of charge on the Internet. In this tutorial we shall create two custom splash assets: a boot splash image and then a video which plays while our Raspberry Pi boots. The inspiration for this tutorial comes from the RetroPie retro emulator which has custom boot splashes as part of its theme manager.
How to Replace the Raspberry Pi Splash Screen Image
1. In your favorite image editor create a splash screen and save it as splash.png. We chose a 1920 x 1080 resolution as it scales well with 16:9 resolutions.
2. Copy the image to a USB flash drive and insert the drive into the Raspberry Pi.
3. Copy splash.png from the USB flash drive to your home directory /home/pi/
4. Open a Terminal and change directory to the location of the original splash screen for your Pi.
$ cd /usr/share/plymouth/themes/pix/
5. Backup the original splash.png file to a file called splash.png.bk.
$ sudo mv splash.png splash.png.bk
6. Copy your splash.png to the current directory. This will copy the freshly created splash image ready for use.
$ sudo cp /home/pi/splash.png ./
7. Reboot your Raspberry Pi.
Once your Raspberry Pi reboots you will see the familiar rainbow screen, and then a few seconds later you will see your custom splash screen.
How to Create a Raspberry Pi Splash Screen Video
A picture is worth a thousand words and it can really sell your project, so a video must be an order of magnitude more effective. The process to add a video is also just two lines of code, and a video file. For best results why not have a boot splash image and a video, by doing this we keep all of the console logs hidden from prying eyes, and it keeps our boot process on brand.
1. Create a video using a video editor. We chose to use DaVinci Resolve because it is free and exceptionally powerful but any editor is fine. Your video should be 1920 x 1080 and be output as an mov file using the H264 codec.
2. Copy the file to a USB flash drive, we called the file TH-intro.mov.
3. Insert the USB flash drive into your Raspberry Pi and copy your video to the home directory /home/pi/
4. Open a Terminal and open the rc.local file for editing.
$ sudo nano /etc/rc.local
5. Scroll to the line before exit 0 and enter two lines of code. The first is a comment, to explain what we are doing, the second uses the command line video player omxplayer to play the video in the home directory. The added & is an instruction to run the command in the background. Remember to change TH-intro.mov to match the name of your video.
#Run video on boot
omxplayer /home/pi/TH-intro.mov &
6. Press CTRL + X, then press Y and ENTER to save and exit the editor.
7. Reboot the Raspberry Pi.
The Raspberry Pi will reboot and we will see the boot process happen, our custom splash screen will appear and then, after a few seconds, the video will play while the system finishes the boot process.