I have a battery-powered RPi Zero W that is going to be hooked into a mobile laser projector. This is an experiential setup, so I need to be able to turn it off and on between uses.

My goal here is to have the RPi startup but not display anything through the projector (HDMI) unless I programmatically tell it to. Can anyone point me in the right direction here on how to do this?

Basically, I'd like to remove the boot splash image and any text, and keep it from going to desktop, preferably just keeping the HDMI completely off.

I have a script that I use to turn the display off, but would love to boot this way:

sudo vcgencmd display_power 0

  • Raspbian Stretch. But I'm open to anything if there is a better option for what I want. Commented Feb 26, 2018 at 18:44

1 Answer 1


There is a few things you can try:

  1. Edit /etc/rc.local and add the following lines above exit 0:

    Disable HDMI

    /usr/bin/tvservice -o

this will turn off the display, but only somewhere during the boot sequence

  1. add hdmi_blanking setting to your /boot/config.txt I found the follwing settings here:

    hdmi_blanking=0: HDMI Output will be blank when DPMS is triggered hdmi_blanking=1: HDMI Output will be disabled when DPMS is triggered hdmi_blanking=2: HDMI Output will be disabled on boot and can be enabled using the above listed commands.

But the official documentation does not mention hdmi_blanking=2 only the following 2 settings:

0   HDMI Output will blank instead of being disabled
1   HDMI Output will be disabled rather than just blanking

I think hdmi_blanking=1 should do what you want.

And if that doesn't help you can still try a few other things found in this article:

  • disable_splash=1 in /boot/config.txt

  • Edit /boot/cmdline.txt quiet: disable boot message texts, logo.nologo: removes Raspberry Pi logo in top left corner, vt.global_cursor_default=0: removes blinking cursor

I don't have a TV to try it on my Raspberry Pi.

  • 6
    What worked for me is setting hdmi_blanking=2, whereas hdmi_blanking=1 didn't really work. Thanks! Commented Feb 13, 2019 at 17:06
  • 2
    For me, on a Pi Zero, hdmi_blanking in config.txt made no difference in current drawn - I have no screen connected, so I'm only measuring current. The only thing that worked was the tvservice -o call in /etc/rc.local
    – Rado
    Commented Mar 17, 2021 at 20:42
  • /etc/rc.local has been superseeded by systemd. So you would be better of by writing your own unit file or adding a cronjob like @reboot /usr/bin/tvservice -o Commented Oct 12, 2021 at 14:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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