Customizing Boot Up Screen on Raspberry Pi

This is a steps to customize Raspberry Pi’s boot up screen, specifically to change the splash image and remove unwanted images and texts. By default, Raspbian Jessie Desktop displays below during boot up before starting desktop GUI.

(1) Rainbow image
(2) Raspberry Pi Logo (image of four raspberries in the top left corner)
(3) Boot message log
(4) Blinking cursor for boot message logs (at the top left corner)
(5) Splash Image (“Welcome to pixel”)
(6) One-line text under splash image

By following the steps below, we’ll remove (1)-(4) and (6), then replace the default splash image with whatever you want to display at (5).

 

Assumption:
You should have your own splash image somewhere. In the steps below, assuming that the file name of the splash image is “my_splash.png” and it’s located home directory. (i.e. “~/my_splash.png”)

 

Here are the steps:

Remove Rainbow Screen
Open “/boot/config.txt” as root.

sudo nano /boot/config.txt

Then add below line at the end of the file.

disable_splash=1

 

Remove text message under splash image:
Open “/usr/share/plymouth/themes/pix/pix.script” as root.

sudo nano /usr/share/plymouth/themes/pix/pix.script

Then, remove (or comment out) four lines below:

message_sprite = Sprite();
message_sprite.SetPosition(screen_width * 0.1, screen_height * 0.9, 10000);
       my_image = Image.Text(text, 1, 1, 1);
       message_sprite.SetImage(my_image);

Note : This is a quick and dirty method I found. It works, but there might be better way.

 

Remove Boot Messages
Open “/boot/cmdline.txt” as root.

sudo nano /boot/cmdline.txt

Then, replace “console=tty1” with “console=tty3”. This redirects boot messages to tty3.

 

Remove other things
Still in “/boot/cmdline.txt”, add below at the end of the line

splash quiet plymouth.ignore-serial-consoles logo.nologo vt.global_cursor_default=0

Here are brief explanations.
‘splash’ : enables splash image
‘quiet’ : disable boot message texts
‘plymouth.ignore-serial-consoles’ : not sure about this but seems it’s required when use Plymouth.
‘logo.nologo’ : removes Raspberry Pi logo in top left corner.
‘vt.global_cursor_default=0’ : removes blinking cursor.

Note : The first three should be there by default, but make sure if those exist.

 

Replace Splash Image
Now, everything unwanted images and texts are gone. Let’s replace the default splash image (/usr/share/plymouth/themes/pix/splash.png) with your own splash image.

sudo cp ~/my_splash.png /usr/share/plymouth/themes/pix/splash.png

Note : As described in above assumption, “my_splash.png” should be your new splash image.

 

Verify the costumed boot up screen
Check the boot up screen by simply rebooting.

sudo reboot

 

Reference:
Guide: A custom splash screen on the Raspberry Pi, for Raspbian Jessie
https://yingtongli.me/blog/2016/12/21/splash.html

Custom boot up screen
http://www.raspberry-projects.com/pi/pi-operating-systems/raspbian/custom-boot-up-screen

 

 

Sponsor Link

23 Comments

  1. Hi Max, thanks for these instructions. Would you know how this can work with Raspbian Buster?

    1. Hi Wolfgang,
      I just tested with Raspbian Buster and confirmed that it still works. Are you facing any problem?
      One thing I noticed was that the time showing the splash image is very short (less than 1 sec) on Raspberry Pi 4B+.

      1. Hi Max i did everything but it doesn’t seem to work for me. First i copy my file from my mac desktop to raspi.
        scp splash.png pi@[ip]:/home/pi/

        so the image should be in the /home/pi/ directory. Then i copy it over to sudo cp ~/splash.png /usr/share/plymouth/themes/pix/splash.png

        When doing this i don’t get any feed back when it is done.

        screen i booted with out raspberry pi logo and console text but splash screen is not showing up

        I am on
        Raspberry pi 4 with Raspbian Buster only

        1. Make sure image resolution matches the screen. That was the problem in my case anyway thanks

          1. Hi Srikanth, thanks for your feedback!
            As far as I tested, image resolution doesn’t matter. It looks “/usr/share/plymouth/themes/pix/pix.script” converts the resolution to fit the screen size. In your case, maybe the image format issue (which i mentioned in the reply to Wing) was fixed when you changed the image resolution?

        2. Hi Wing,

          When doing this i don’t get any feed back when it is done.

          It’s okay, cp command doesn’t output any message unless it finds an error.

          splash screen is not showing up

          Make sure your splash.png is actually in PNG format. I found that some wallpaper downloaded from the internet has .png file extension but is actually a JPEG file. Actual image format can be checked in here. Or if you are on rpi, you can use file command.


          pi@rpi200213d:~ $ file wallpaper.png
          wallpaper.png: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, comment: "CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 90", baseline, precision 8, 1920x1080, components 3

          1. Hello,

            I am also not able to see my splash image. I already checked with the file command and it is a PNG file:
            splash.png: PNG image data, 1920 x 1080, 8-bit/color RGBA, non-interlaced

            Using the same steps in a Raspberry 1B+ worked just fine. Now with 4B+ it doesn’t show it.

  2. its not working on raspberry 3b+ BUSTER

    i still see logging info on screen and login prompt at the end

    dwc_otg.lpm_enable=0 console=serial0,115200 console=tty3 loglevel=3 root=PARTUUID=739ce287-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet plymouth.ignore-serial-consoles logo.nologo vt.global_cursor_default=0

    if add SPLASH to the line i see also a SPLASH screen

  3. I use 3B+. To remove the scrolling text when bootup, i removed console=tty1 (by default); not using it at all. I found this from raspberrypi.org forum.
    Make sure all commands on one line in cmdline.txt.

    1. I have tried it with pi4 but it didn’t work at all, and my pi can’t find Plymouth themes , I don’t know what wrong with it, it just don’t give any change whatever I do, its really annoy me…..

  4. I have been through the instructions a couple of times. I get a series of black screens, but not my splash screen. Using RP 4 with 4GB RAM

    1. same here..

      tested it with:
      dwc_otg.lpm_enable=0 console=serial0,115200 console=tty3 root=/dev/mmcblk0p7 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait splash plymouth.ignore-serial-consoles logo.nologo vt.global_cursor_default=0 quiet

  5. Hi Max,
    I’m new at Linux and the Raspberry Pi, but I’ve been professionally programming and developing embedded systems since the early 80’s (I was one of those teenage hackers hanging out at Radio Shack long before computers were cool…)
    I just wanted to say a super “Thank You!!!” for the resources you’ve posted here.
    A friend asked me to develop a simple scientific device for his business (at Vere.com, if you ever need laser equipment) and to make it look professional, I used these instructions here to turn off and replace the splash screen, etc. (I’m using the awesome 5″ LCD DSI display from OSOYOO. Highly recommended! Really looks tightly integrated!)
    I love your presentation technique, how clear and step-by-step things are.

    Two things I would add: (Note: I’ve got a Pi 3B+)
    1. With the latest release of the raspberry pi OS, ‘logo.nologo’ : doesn’t seem to turn off the Raspberry Pi logo in top left corner. That or I fat-fingered something.
    2. I right-clicked the top quick access bar and in preferences, set it to opaque, auto-hide, and made it 2 pixels high (make it 1 and there’s a white line.) Now no hint of a toolbar on top!

    Now if only I can figure out how to build a GUI and parse and display serial data on this, I’ll be all set!
    🙂
    Thanks again! Dave S

    1. Same here! I regularly update my system and for a few months, the “logo.nologo” instruction has no effect anymore. Is there any workaround?

  6. This does NOT work for me. I am still using Raspbian Pi 3 or 2. Even though I was able to find the Plymouth folder, there exist no folder called PIX. I only see folders TEXT, LINES, TRIBAR, JOY, etc. Plus, I couldn’t find the script PIX.SCRIPT, even though there were bunch of other scripts.

    I used to come to this very webpage while back for customizing or doing this for my pie and it always worked. I even have this webpage bookmarked. Now, I come here, the webmaster has changed the content for the LATEST RPI OS. 🙁 it sucks… I wish the webmaster left the old content and created new webpage for the latest RPI OS. Oh well… I just have to keep looking on Google… Thank you for this page.

Comments are closed.