Ubuntu 12.04 Precise Pangolin
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
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.
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.
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
Der erste Abschnitt umfasst nur den Identifier (in Anführungszeichen). Dies ist die eindeutige Bezeichnung für die spätere Verwendung der Modeline.
Der zweite Abschnitt ist für die DotClock, die die Taktrate für die Pixel in Mhz angibt (hier 165.88).
Im dritten Teil folgen vier Zahlen, welche die horizontalen Bildschirmwerte, beginnend mit der Auflösung (im Beispiel 1280), angeben.
Im vorletzten Teil stehen die gleichen vier Werte für die vertikale Richtung (in obigen Beispiel 960).
Der fünfte Abschnitt ist optional und gibt eine Liste von zusätzlichen Optionen an.
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.
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.
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
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.
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
ab Ubuntu 9.04: Alt + Druck + K
bis Ubuntu 8.10: Strg + Alt + ⌫
drückt.
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".
Hinzufügen einer Auflösung über cvt und xrandr - Blogbeitrag 06/2011
XServer Übersichtsartikel
Diese Revision wurde am 7. Oktober 2016 15:18 von verdooft erstellt.