Archiv/XServer Modelines

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. ⚓︎ Einen Editor öffnen

  2. ⚓︎ Ein Terminal öffnen

Inhaltsverzeichnis
  1. Aufbau
  2. Erstellung
  3. Verwendung
  4. Links

./x11.png Der X-Server unterstützt automatisch nur die standardisierten Modi. In gewissen Fällen ist es aber notwendig, eine bestimmte Auflösung oder Bildwiederholrate bei einem Monitor zu erzwingen. Zum Beispiel, wenn man die bei HDTV-Geräten häufig verwendete Auflösung von 1360x768 Pixeln verwenden möchte. Damit der XServer den Monitor mit dem für ihn unbekannten Modus richtig "ansprechen" kann, erstellt man Modelines. Diese geben an, mit welcher Frequenz und Auflösung ein Monitor betrieben werden kann. Die erzeugten Modelines müssen dann in die XServer-Konfigurationsdatei /etc/X11/xorg.conf eingetragen werden.

Achtung!

Das Eintragen und Verwenden von Frequenzen geschieht auf eigene Gefahr und sollte äußerst gewissenhaft durchgeführt werden. Angegebene Vorgehensweisen, Beispiele und Beispielwerte sind ohne Gewähr. Falsche Einträge können Monitore dauerhaft zerstören.

Aufbau

Eine Modeline besteht aus fünf Abschnitten, wovon die ersten vier zwingend vorgeschrieben sind. Beispiel:

ModeLine "1280x960@96" 165.88 1280 1336 1616 1728 960 962 974 1000

Erstellung

Möglichkeit 1: Mit Modelinegenerator

Für die Erstellung einer Modeline benötigt man einen Modeline-Generator 🇬🇧 (ältere Variante 🇬🇧) und die Monitor-Angaben für die Bandbreite (in Mhz), maximale vertikale Frequenz (in Hz) und maximale horizontale Frequenz (in Mhz). Diese Angaben befinden sich normalerweise im Handbuch des Monitors oder auf der Webseite des Herstellers.

Als einfache Alternative kann man auch den Befehl cvt, für Röhrenmonitore auch das ältere gtf nutzen [2]. Zum Beispiel erstellt

cvt 1024 768 60 

die Modeline

# 1024x768 59.92 Hz (CVT 0.79M3) hsync: 47.82 kHz; pclk: 63.50 MHz
Modeline "1024x768_60.00"   63.50  1024 1072 1176 1328  768 771 775 798 -hsync +vsync

bei einer Auflösung von 1024x768 und 60 Hz.

Möglichkeit 2: Ohne Modelinegenerator

Falls die genauen Monitordaten unbekannt sind oder die generierte Modeline nicht funktioniert, kann man einen Blick in die Datei /var/log/Xorg.0.log werfen. Wenn man dort nach dem Begriff Supported additional Video Mode sucht, bekommt man die gewünschten exakten Daten. Bei einem Samsung LE-40R51B und einer i810-Grafikkarte sieht dies beispielsweise so aus:

(II) I810(0): Supported additional Video Mode:
(II) I810(0): clock: 85.5 MHz   Image Size:  885 x 498 mm
(II) I810(0): h_active: 1360  h_sync: 1424  h_sync_end 1536 h_blank_end 1792 h_border: 0
(II) I810(0): v_active: 768  v_sync: 771  v_sync_end 777 v_blanking: 795 v_border: 0
(II) I810(0): Supported additional Video Mode:
(II) I810(0): clock: 65.0 MHz   Image Size:  885 x 498 mm
(II) I810(0): h_active: 1024  h_sync: 1048  h_sync_end 1184 h_blank_end 1344 h_border: 0
(II) I810(0): v_active: 768  v_sync: 771  v_sync_end 777 v_blanking: 806 v_border: 0

Demzufolge können zwei Modelines definiert werden. Eine mit der Auflösung von 1360x768 Pixeln und eine mit 1024x768 Pixeln. Nachdem die zweite standardmäßig ohne extra Modeline funktioniert, hier nur mal die erste:

ModeLine "1360x768@60" 85.5 1360 1424 1536 1792 768 771 777 795 -HSync +VSync

Nochmal dasselbe mit den Bezeichnungen aus der Logdatei:

ModeLine "Bezeichnung" clock h_active h_sync h_sync_end h_blank_end v_active v_sync v_sync_end v_blanking OPTIONEN

Wie man sieht, kann man die Daten praktisch 1:1 übernehmen und braucht keinen weiteren Modelinegenerator verwenden.

Hinweis:

Aus diesen Daten lässt sich auch die Wiederholfrequenz berechnen, die in der Modelinebezeichnung nach dem @ stehen sollte. Dazu muss der Pixelclock durch das Produkt aus h_blank_end und v_blanking dividiert werden. In diesem Beispiel also: 85,5 * 10^6 Hz / (1792*795) = 60Hz

Möglichkeit 3: moninfo.exe (Windows)

Falls man den Monitor auch unter Windows betreibt, lohnt sich der Versuch, die Modeline mit Hilfe des Programms Monitor Asset Manager 🇬🇧 (moninfo.exe) auszulesen. Das Programm ist von EnTech Taiwan und kann für den privaten Gebrauch frei eingesetzt werden. Im Ausgabefenster wird die Modeline direkt angezeigt. Eventuell muss ein Komma durch einen Punkt ersetzt werden.

Verwendung

Diese Modeline muss nun in die Konfigurationsdatei eingefügt werden. Dafür benötigt man einen Editor [1] mit Root-Rechten und öffnet die Datei /etc/X11/xorg.conf. In der Sektion "Monitor" trägt man die Modeline einfach ein, was dann in etwa so aussieht:

Section "Monitor"
        Identifier      "SyncMaster"
        Option          "DPMS"
        HorizSync       30-96
        VertRefresh     50-160
        ModeLine        "1280x960@96" 165.88 1280 1336 1616 1728 960 962 974 1000
EndSection

Zusätzlich muss man noch angeben, dass dieser Modus auch verwendet wird. Dafür gibt es in der Sektion "Screen" einen Unterabschnitt Display. Bei der gewünschten Farbtiefe fügt man den Modus ("Modes") einfach hinzu. Darüber hinaus sollte man eine Zeile einfügen, in der man die virtuelle Auflösung "(Virtual)" einstellt, mit der Auflösung, die man für den größten Bildschirm (wichtig für Mehrmonitorbetrieb) einstellen möchte. Dies könnte dann so aussehen:

Section "Screen"
        Identifier      "Default Screen"
        Device          "ATI Technologies, Inc. Radeon X700 Pro (RV410)"
        Monitor         "SyncMaster"
        DefaultDepth    24
        SubSection "Display"
                Depth           24
                Modes           "1280x960@96" "1024x768" "800x600"
                Virtual              1920 1080
        EndSubSection
EndSection

Zum Schluss muss man die Änderungen nur speichern und den XServer neu starten, in dem man sich abmeldet oder

drückt.

Achtung!

Ein Neustart des XServers beendet die grafische Oberfläche und damit auch alle dort laufenden Programme.

Sollte man die Modeline nicht an die erste Stelle in der Modes-Liste eingefügt haben, muss man noch die gewünschte Auflösung auswählen. Dies geschieht in Ubuntu/GNOME unter "System → Einstellungen → Bildschirmauflösung" und in Kubuntu/KDE unter "Systemsettings → Display".