Custom Splash Screen for Raspberry Pi (Raspbian)

I found this solution for creating a custom splash screen for the Pi.

Custom Splash Screen for Raspberry Pi (Raspbian) – EDV-Huber.com.

I’m cutting-and-pasting here just in case it disappears on it’s home site.


This is a quick and dirty solution for an unanimated custom splash screen during boot.

First of all, you need to install fbi:

apt-get install fbi

Copy your custom splash image to /etc/ and name it “splash.png”.

Next, create an init.d script called “asplashscreen” in “/etc/init.d/”.

I chose “asplashscreen” with an “a” at the beginning to be sure it starts first.

#! /bin/sh
### BEGIN INIT INFO
# Provides:          asplashscreen
# Required-Start:
# Required-Stop:
# Should-Start:      
# Default-Start:     S
# Default-Stop:
# Short-Description: Show custom splashscreen
# Description:       Show custom splashscreen
### END INIT INFO

do_start () {

    /usr/bin/fbi -T 1 -noverbose -a /etc/splash.png    
    exit 0
}

case "$1" in
  start|"")
    do_start
    ;;
  restart|reload|force-reload)
    echo "Error: argument '$1' not supported" >&2
    exit 3
    ;;
  stop)
    # No-op
    ;;
  status)
    exit 0
    ;;
  *)
    echo "Usage: asplashscreen [start|stop]" >&2
    exit 3
    ;;
esac

Then make that script executable and install it for init mode rcS:

chmod a+x /etc/init.d/asplashscreen
insserv /etc/init.d/asplashscreen

Reboot and watch your custom splash screen:

reboot

17 comments for “Custom Splash Screen for Raspberry Pi (Raspbian)

  1. Aaron
    1 February 2013 at 1:22 am

    I get a terminal cursor (little black rectangle) in top left corner over “screenley” which is a sort of automated digital signage software for pi. It simply runs a fullscreen uzbl browser. I love this method to hide boot code with a cool logo, any ideas why this would interfere ?

    • 1 February 2013 at 8:19 am

      Sorry, I don’t know why that would interfere. All I would say is that I’ve seen very rare periods where the splash screen doesn’t clear when it’s supposed to, so I suppose that could be the problem.

    • giocu
      16 February 2013 at 2:22 pm

      Hi,
      I have the same problem. I get the little black rectangle when I automatically run startx at boot time. Furthermore I get the same problem when I run, in the same manner, a python code that uses pygame graphics features. Is this a fbi known bug? Have you got a solution?

      • 16 February 2013 at 6:00 pm

        Sorry – yeah, I get the same problem but I haven’t a clue how to fix it 🙁

        • Patrick Steiner
          17 July 2015 at 11:14 am

          Add this to your init script:

          echo 0 > /sys/class/graphics/fbcon/cursor_blink

  2. 2 February 2013 at 12:15 pm

    thanks i will try it with my raspbarry
    thanks

  3. 21 February 2013 at 5:23 pm

    Any solution to this black rectangle yet?

    • 21 February 2013 at 5:41 pm

      Nope. Sorry. I’m always trying to find a solution, though!

  4. 21 February 2013 at 5:45 pm

    I found that if I CTRL + ALT + Backspace, then startx to restart the xserver, the rectangle goes away, but will be present on next boot.

  5. 5 March 2013 at 11:56 am

    Hi there, thanks for providing this post. Would you please help me out on the following. If I do all of the above it doesn’t work. At boot it gives me the following error:
    /etc/init.d/asplashscreen: 16: /etc/init.d/asplashscreen: /usr/bin/fbi: not found.
    however, I am sure that they are there because once booted up I can see the FBI executable and the asplashscreen script and the latter once is made executable with the following commands:
    insserv /etc/init.d/asplashscreen
    chmod a+x /etc/init.d/asplashscreen.

    Any thoughts?
    Thanks in advance.

    • 6 March 2013 at 6:33 am

      There are two possibilities here… It’s _either_ the OS reporting that fbi doesn’t exist _or_ it’s fbi reporting that the graphic file does not exist. Just make sure that the splash file actually exists in /etc and that it’s spelt right!

      To cope with fbi not existing… First off, try:

      apt-get install fbi

      again.and make sure it’s definitely installed. The next thing is to check the permissions of fbi. Do:

      sudo chmod a+x /usr/bin/fbi

      just to make sure.
      Then try booting again.

  6. 21 June 2013 at 12:39 pm

    Hi,
    How to change to raspberry pi logo to my custom logo and after booting is complete i want to add some text..how to this..please tell me what changes iam done?please tell me..

    Thanks&Regards,

    K.Arungopal

    • 21 June 2013 at 1:24 pm

      Customisation of the little boot logo and anything else like this has to be changed in the Kernel which then has to be recompiled. Do a search for this kind of thing either on Google or on the Raspberry Pi Foundation forum.

  7. Nutterbloke
    30 July 2013 at 8:07 pm

    To rid yourself of the annoying little black rectangle do the following, its only a work around but it does work.
    Create a script, mine starts my kiosk as well so is called /home/user/screen.sh
    this script should look like:

    #!/bin/bash
    startx –help
    while true; do chromium –kiosk –incognito –enable-plugins http://your web address here.html;sleep 180s;done

    The 2nd line is my kiosk – you probably wont need it but I put it there anyway.

    Then add the following line

    @/home/pi/screen.sh

    to the file:

    /etc/xdg/lxsession/LXDE/autostart

    Reboot and watch the splash screen followed by a brief black flash and then your screenly, kiosk, or whatever your running without the black rectangle.

  8. Daniel
    7 September 2013 at 1:45 pm

    I have now tried to make a custom splash screen, but I get this message:

    insserv: warning: current start runlevel(s) (empty) of script `asplashscreen’ overrides LSB defaults (S).

    insserv: warning: current stop runlevel(s) (S) of script `asplashscreen’ overrides LSB defaults (empty).

    Anyone got any idea whats wrong?

  9. mansoor
    5 March 2014 at 5:21 am

    hello.. this is not workiing for .. every time i run and aactivate it i get a warning like [insserv;warning; script ‘mathkernal’ missing LSB tags and overrides].. how can i resolve this error .. pleas help me.. thank you..

  10. rootauthoritah
    28 February 2017 at 2:42 am

    to replace the Screenly©™ boot time splash screen: replace splashscreen.jpg in /etc with your own 1920×1080 jpg asset

    Screenly©™ web interface @ http://dev-ip:8080/settings lists a splashscreen that can be disabled but I have never seen it because I disable before observing what it is, possibly refers to screenly_ose_logo_large.png in /home/pi/screenly/static/img

    happy trails

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.