HDMI Display Setup Anleitung

Solltet ihr bereits ein HDMI Touchdisplay besitzen, über welches ihr gerne das Dashboard ausgeben lassen wollt, habt ihr hier die Anleitung dazu:

Da unser Betriebssystem “headless” ist (also ohne Desktop Oberfläche), benutzen wir X für die Grafikausgabe und Openbox als Window Manager.

Nach einem Login per SSH auf dem Raspberry installieren wir die benötigten Packages:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox

Und dazu den Chromium Browser:

sudo apt-get install --no-install-recommends chromium-browser

Dann stellen wir in der Raspberry Konfiguration ein, dass wir bei einem Neustart automatisch in die CLI mit dem User Pi booten wollen:

sudo raspi-config

Dort wählen wir
1 System Options → S5 Boot/Auto-Login → B2 Console Autologin

Mit Tab wechseln wir zu “OK” und bestätigen mit Enter, rebooten wollen wir an dieser Stelle noch nicht. Stellen wir später einen schwarzen Rand auf unserem Display fest, stellen wir bei 2 Display Options → D2 Underscan auf “No”.

Als nächstes richten wir die Autostart Datei von Openbox ein:

sudo nano /etc/xdg/openbox/autostart

Dort fügen wir folgendes am Ende der Datei ein (Rechte Maustaste für Einfügen):

# Disable any form of screen saver / screen blanking / power management
xset s off
xset s noblank
# xset -dpms

# Allow quitting the X server with CTRL-ATL-Backspace
setxkbmap -option terminate:ctrl_alt_bksp

# Start Chromium in kiosk mode
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/'Local State'
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/; s/"exit_type":"[^"]\+"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences
chromium-browser --noerrdialogs --incognito --disable-infobars --check-for-update-interval=31536000  --kiosk 'http://127.0.0.1:1880/ui/'

Die Zeile “xset -dpms” ist an dieser Stelle auskommentiert. DPMS steht für Display Power Management Signaling, die genannte Zeile sorgt also dafür, dass euer Bildschirm immer anbleibt, wenn ihr das #-Zeichen wegnehmt. lasst ihr es auskommentiert, wechselt der Bildschirm nach einer gewissen Zeit in den Standby Modus. Um die Zeiten anzupassen, kann man “xset -dpms 60 120” setzen (Nach 60 Sekunden in den Standby und nach 120 Sekunden abschalten. Danke an @daTobi!) Mit STRG+O und Enter speichern wir die Datei, mit STRG+X beenden wir den Nano Editor.

Jetzt müssen wir noch den x-Server in den Autostart bringen, dafür erstellen wir als Benutzer Pi eine Datei im home-Verzeichnis (bzw. bearbeiten diese, sollte sie schon vorhanden sein):

nano /home/pi/.bash_profile

dort schreiben wir:

[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx -- -nocursor

danach können wir mit sudo reboot now den Raspberry neustarten lassen und haben dann unser Dashboard auf dem HDMI-Display.


Sollte das Ganze nicht flüssig laufen, können wir noch etwas nachhelfen mit ein paar kleinen Tricks:

  • In der raspi-config unter 4 Performance Options → P2 GPU Memory können wir der Grafikeinheit mehr Arbeitsspeicher zuweisen. Hier ruhig 256MB zuweisen. Euch wird dann im System insgesamt weniger RAM angezeigt, weil ja ein Teil des Arbeitsspeichers fest reserviert ist.

Im Chromium-Browser selber geben wir chrome://flags in die URL-Leiste ein und suchen dort nach den folgenden beiden Flags:

  • ignore-gpu-blocklist
  • enable-gpu-rasterization

Beide aktivieren wir (Enable).

Um zur URL-Leiste des Browser zu gelangen, müssen wir die “–kiosk” Flag aus der Datei “/etc/xdg/openbox/autostart” löschen. Beim nächsten Neustart wird Chromium weiterhin automatisch gestartet, allerdings nicht im Vollbildformat, dafür aber mit URL-Leiste usw. Zusätzlich können wir die “-nocursor” Flag aus unserer bash_profile Datei entfernen, das sorgt dafür, dass der Mauszeiger angezeigt wird. Beide Dateien speichern und den Raspberry neustarten. nachdem wir alle Einstellungen vorgenommen haben, fügen wir die Flags wieder zu den entsprechenden Dateien hinzu und unser Browser startet nach einem Reboot wieder im Kiosk Modus!

Hinweis:
Der CPU-Temperatur wird durch das dauerhafte Ausführen des Browsers zunehmen, aber alles noch im normalen Bereich. Getestet wurde ohne aktive Kühlung oder Kühlblöcke etc.

Hi, erstmal danke für deine Anleitung allerdings erschein bei der installation mit:
sudo apt-get install --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox

folgende Fehlermeldung:
E: dpkg was interrupted, you must manually run ‘sudo dpkg --configure -a’ to correct the problem.

Ebenso erschein bei der Installation mit sudo apt-get install --no-install-recommends chromium-browser

folgende Fehlermeldung: E: dpkg was interrupted, you must manually run ‘sudo dpkg --configure -a’ to correct the problem.

wie kann man das beheben? Danke für Tipps.

Gruß Tobi

Hey Tobi,

hast du mal versucht die angegebene Lösung auszuführen? Also was passiert, wenn du

sudo dpkg --configure -a

eingibst?

Hi, danke für die Antwort. Das Problem war das mein image defekt war und die Partion zu klein und somit kein Speicherplatz zur Verfügung stand.

Leider habe ich jetzt ein neues Problem. Die Installation hat soweit jetzt funktioniert allerding bekomme ich nach dem Start nur einen schwarzen Bildschirm angezeigt.

Ich habe mein 7 Zoll Display über das Flachbandkabel angeschlossen.

Nach dem ich
sudo apt-get update
sudo apt-get upgrade

durchgeführt habe und anschliesend chromium neu installiert habe war auch dieser Fehler weg.

Das Display powermanagment kann man folgendermaßen einstellen:

Code
xset dpms 60 120
Nach 60 Sekunden in den Standby und nach 120 Sekunden abschalten. Die Zeiten kannst Du anpassen.

Gruß Tobi

@daTobi ich könnte mir vorstellen das im Image der HDMI ausgang aktiviert ist wenn du das Display am Flachbandkabel hast ist das kein HDMI würde ich meinen. Guck mal ob auf dem HDMI 1 das Bild ist wenn du eine Monitor oder Fernseher mit HDMI zu testen hast.

Siehst du die Boot Meldungen auf dem Touch ?

Freut mich, dass es bei dir funktioniert hat!

Code
xset dpms 60 120
Nach 60 Sekunden in den Standby und nach 120 Sekunden abschalten. Die Zeiten kannst Du anpassen.

Alles klar danke, ich passe das oben an!