Pi und VGA-Monitore

Wie in einem früheren Beitrag beschreiben, hat sich beim Wechsel von Buster nach Bullseye beim Display-Management etwas geändert. Da ich die Pi’s eigentlich alle headless betreibe, habe ich für Notfälle noch einen alten VGA-Monitor, den dann an die Pi’s über einen HDMI-VGA-Adapter anschließe. Nach den Problemen mit dem Pi, die ich per try and error gelöst habe, habe ich mich jetzt mal drangesetzt und das ganze etwas systematisch aufgearbeitet. Dabei bin ich auf zwei sehr interessante Programme gestoßen, die ich hier näher dokumentieren will:

  1. vcgencmd
  2. tvservice

1. vcgencmd

Auf dieses Kommandozeilen-Programm bin ich schon beim digitalen Schaukasten gestoßen. Es ist sehr praktisch, um Monitore ein- und auszuschalten. Hier seien die zwei Befehle dafür dokumentiert:

vcgencmd display_power 0 # Monitor aus

vcgencmd display_power 1 # Monitor an

2. tvservice

Dieses Kommandozeilen-Programm ist nicht sonderlich intuitiv aber extrem hilfreich, wenn man einen VGA-Monitor am Pi betreiben will. Es gibt dabei zwei Modi CEA und DMT. Ich zietiere hier mal die Beschreibung der beiden Modi, die ich gefunden habe:

CEA-Modi sind für das Fernsehen vorgesehen. Sie umfassen zahlreiche Interlaced- und Progressive-Modi, in der Regel mit 25/50 / 100Hz (PAL) oder 30/60 / 120Hz (NTSC) 
und TV-Auflösungen von 288/480/576/720/1080 Zeilen scannen. DMT-Modi sind für Computermonitore vorgesehen, daher gibt es keinen der Interlaced-Modi, die 
Auflösungen betragen 640/720/800/1024/1280 und die Bildraten sind kompatibel mit den Computermonitoren, etwa 60/70/75/80 / 85 / 120Hz.

Quelle: https://qastack.com.de/raspberrypi/7332/what-is-the-difference-between-cea-and-dmt

Manche Monitore beherrschen beide Modi. Aber wie finde ich heraus, welche mein Monitor beherrscht und wie ich sie einsetzen kann. Hierbei ist tvservice sehr hilfreich.

tvservice -l # Liste aller angeschlossenen Monitore
tvservice -o # Schaltet Monitor ab
tvservice -m CEA bzw tvservice -m DMT # Es wird angezeigt welche Auflösungen in den verschiedenen Modi unterstützt werden
tvservice -e „CEA <Nr>“ bzw tvservice -e „DMT <Nr>“ # Stellt die gewünschte Auflösung ein und schaltet Monitor ein
tvservice -s # Gibt die momentane Einstellung an
tvservice -p # Schaltet den Monitor mit den Voreinstellungen ein.

Jedoch bleibt nach dem ‚Einschalten‘ der Monitor grau, was mich zunächst fast zur Verzweiflung gebracht hat.  Man muss danach, wenn die GUI eingeschaltet werden soll,

chvt 6
chvt 7

eingeben. Abgekürzt lautet dann der Befehl zum Einschalten tvservice -e „CEA 4“ && chvt 6 && chvt 7