3.4: HDMI output

Video performance

If video output sucks, it's not a bad idea to run raspi-config and give 128Mb memory to the GPU (under 'advanced settings').

Always-on HDMI

If you want your Pi to continuously show something (like a website in kiosk mode), you'll notice that the screen will automatically turn off after a while of inactivity. You might also experience that nothing shows after turning your monitor off and on again, or when plugging in the HDMI cable after booting the Pi.

To make sure HDMI-output is always on, do the following (found here). It should make sure that a) HDMI output is active even when the monitor is off and b) doesn't turn it off again after a while of inactivity.

Add this line to /boot/config.txt:


Before you close the file, you might also want to enable audio over HDMI in the same file, as described below. When done, reboot.

Note: when the Pi boots to terminal, you'll need to follow the steps below as well to prevent the screen from going blank.

Disable HDMI

For power consumption purposes, you might actually want to disable HDMI output. In that case, execute

/usr/bin/tvservice -o

Add that line to /etc/rc.local to run it automatically on every boot. To re-enable, execute /usr/bin/tvservice -p.

Prevent terminal blanking (source)

When booting into the terminal, the screen will go black after a while. To prevent this, edit /etc/rc.local. Above the exit 0, insert:

setterm -blank 0 -powerdown 0 -powersave off

Prevent screensaver

It sucks if you don't have a mouse or keyboard attached to the Pi, and it shows a screensaver. To disable, use the solution found here and here:

First, install needed packages:

sudo apt-get install x11-xserver-utils

Next, edit /etc/xdg/lxsession/LXDE/autostart and comment out the line that says @xscreensaver -no-splash. Also add the following:

@xset s off
@xset -dpms
@xset s noblank

Fix audio over HDMI (source)

If your monitor or tv has speakers but the sound is not working, make sure the following line exists in /boot/config.txt:


If the file contains hdmi_drive=1 instead, change the 1 to a 2. This makes sure a normal HDMI output (with audio) is used instead of DVI mode (without audio). You'll probably want that if you use your Pi as a home theater box.

Launch website in kiosk mode (fullscreen)

The following explains how to launch a website in kiosk mode. Make sure you have followed the steps above to keep HDMI-output always-on and the screensaver always-off. Since Chrome (or in this case: Chromium) is a rather heavy browser for the Pi, you might want to consider using a more lightweight one that supports kiosk mode, but since I don't know any, here's how to do it using Chromium:

Start by installing Chromium and Unclutter (to hide the mouse cursor):

sudo apt-get install chromium unclutter

Edit /etc/xdg/lxsession/LXDE/autostart and add:

@chromium --kiosk --incognito http://howcoldisit.com

The --incognito is used to make sure it loads freshly on reboot, e.g. in case you have changed JS or CSS files and are unable to Ctrl+F5 the thing for lack of attached keyboard.

Note: this launches for every user that logs in in desktop mode. For a per-user auto-launching application, use this.

Hide the mouse pointer

To hide the mouse pointer when running in kiosk mode, apt-get install unclutter if you haven't done so in the previous step and add the following line into /etc/xdg/lxsession/LXDE/autostart:

@unclutter -idle 0.1 -root

Boot to GUI for new user (source)

In case you want to boot into a different use account, one specifically for the kiosk-mode instead of the default pi user, you should first make sure that booting to desktop is enabled (instead of to the command line or to Scratch) by running raspi-config. Do the following to add a user named 'kiosk':

useradd kiosk
passwd kiosk

Then edit this file:

sudo nano /usr/bin/raspi-config

And search for this line:

do_boot_behaviour() {

Edit the 16th line by replacing pi with the new username:

sed /etc/lightdm/lightdm.conf -i -e "s/^#autologin-user=.*/autologin-user=pi/"

results matching ""

    No results matching ""