Skip to content

Instantly share code, notes, and snippets.

@AGWA
Last active June 9, 2024 15:15
Show Gist options
  • Save AGWA/9874925 to your computer and use it in GitHub Desktop.
Save AGWA/9874925 to your computer and use it in GitHub Desktop.
Enable and disable the HDMI port on the Raspberry Pi: `rpi-hdmi on` to turn on, `rpi-hdmi off` to turn off. X is properly reinitialized when re-enabling.
#!/bin/sh
# Enable and disable HDMI output on the Raspberry Pi
is_off ()
{
tvservice -s | grep "TV is off" >/dev/null
}
case $1 in
off)
tvservice -o
;;
on)
if is_off
then
tvservice -p
curr_vt=`fgconsole`
if [ "$curr_vt" = "1" ]
then
chvt 2
chvt 1
else
chvt 1
chvt "$curr_vt"
fi
fi
;;
status)
if is_off
then
echo off
else
echo on
fi
;;
*)
echo "Usage: $0 on|off|status" >&2
exit 2
;;
esac
exit 0
@LFAB3
Copy link

LFAB3 commented Sep 2, 2019

It works on Raspberry Pi 4, but is necessary run it twice for HDMI poweroff.
Thanks!

@manconti
Copy link

@quelleck, your fork worked perfectly on my Raspberry PI with the latest version of Rasbian as of Jan 2020. Thank you!

@jomy-matthews
Copy link

Good script. Is there a similar script to disable the SPI port at night time? I have a youtube subscribers LCD running along with the Dakboard setup and I want them both to turn off at the same time. Will the same code above also work for the SPI port? Thanks in advance.

@JeedHome44
Copy link

hello, my raspberry Pi3B + Recalbox activates my automatic HDMI switch even when the Pi has no power. So this script allows you to completely disable the HDMI port when the Pi is turned off?

@JeedHome44
Copy link

sudo vcgencmd display_power 0

Turns off video output.

sudo vcgencmd display_power 1

Turns on video output.

More easy no?

@JeedHome44
Copy link

don't work...

@macninja
Copy link

I couldn't get it to work so I rewrote it to use cec-hdmi instead.

https://gist.github.com/macninja/6c13596f06206eec162f9dce1fc4313b

I have it working on a Raspberry Pi 4. But only in HDMI port 2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment