I am using a Raspberry Pi 3, and I set it up with the Adafruit 3.2 resistive TFT screen. I am using the fbcp setup so that frambuffer0 is being copied onto the screen. I would like a custom image on the screen during boot and for it to stay on screen until the main program starts. But right now the image goes up, but then it is replaced by boot messages and the terminal once the fbcp is started.

Since the frame buffer copying acts like HDMI, is there a way to disable terminal and boot message output to the HMDI/fb0 so that the only terminal is over SSH? That way the only display would be images I loaded using fbi, or my Qt app once it loads?

Edit: I found this question/answer that sounds similar, but requires a kernel recompile. In my case, I don't mind a few blips of text/black for now, so it seems like it should be possible by just making a custom splash screen on all framebuffers and then running fbi as the first command on boot.

  • Do NOT do: fbcon=map:2 Sure it removed any console messages at the start, but it also removed ALL of my access to CLI. I can no longer get to the prompt with F4 nor can I even get into the settings script from the menu. I can mount the disk on my Mac after using homebrew to get ext4, but I can NOT edit the file to remove it, so adding this command basically nuked my system. – William Lewis May 24 at 18:47
  • @WilliamLewis That sounds like the expected behavior to me. Once you remove the console from the TFT the only access you should expect is via SSH or a serial console. This is a rather old answer though, so as others have suggested you might want to look for a more recent tutorial. – CrustyAuklet Jun 8 at 18:11

I manage to remove boot messages by modifying /boot/cmdline.txt, adding


This command allocate console to an unavailable framebuffer. You can get more info about this command here and use "con2fbmap" to reallocate console/frambuffer on-demand.

In order to display a mirrored splash screen, very quickly, i choose to loaded fbcp, plymouth and display driver through initramfs.

To get some implementation tips for all of this (too long for an answer here, sorry) please take a look at this page : http://technico.top/index.php/2015/12/13/earliest-splashscreen-bootsplash-screen-mirroring-for-raspberry/

Not really easy, but this way you will avoid the kernel recompilation :)

Easier Splash Screen (not as fast but continuous) based on this link:

make two files in /etc/systemd/system/ called splashscreen0.service and splashscreen1.service with the same contents, except the line starting with ExecStart change fb# to fb0 and fb1 respectivley.

Description=Splash screen

ExecStart=/usr/bin/fbi -d /dev/fb# --noverbose -a /opt/splash.png


This will display the image on BOTH fb0 and fb1, so that when the switch happens it will not show (I see a barely visible flicker when it happens).

Once this is done run systemctl enable splashscreen0 and systemctl enable splashscreen1 as root, and restart. The image will now stay on the TFT screen permanently, except when an app is run. :)

| improve this answer | |
  • Awesome! fbcon is the trick. The terminal was overriding my fbi systemd service, but now it does not and my image stays up permanently. I can launch my app via ssh (and I presume by script later ) and it shows. The nice image even comes back once I kill the app! thanks! Would it be best to edit your answer to say how I used the systemd service for the actual splashcreen? I saw that link you shared about wyland before but it seemed overly complicated since I care more about continuity than speed. – CrustyAuklet May 29 '17 at 22:16
  • Feel free to edit anything :) I'm happy that you could avoid initramfs stuff :P – Technico.top May 29 '17 at 22:42
  • I did what the above post and it worked for images said however I want to know how I can get a splash video to play within those 2 files created in the previous post. – user10796324 Apr 15 '19 at 9:08
  • Every thing here is quite old. You may want to look for a recent tutorial :) – Technico.top Apr 18 '19 at 8:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.