Mit X.Org steht eine Open Source Implementierung des X Window Systems zur Verfügung. Diese wird von der X.Org Foundation, die gleichzeitig für die Entwicklung neuer Technologien und Standards des X Window Systems verantwortlich ist, weiterentwickelt.
Um die zur Verfügung stehende Hardware (Maus, Grafikkarte, Monitor, Tastatur)
optimal nutzen zu können, besteht die Möglichkeit, die Konfiguration manuell
zu optimieren. Im Folgenden wird auf einige Aspekte der Optimierung
eingegangen. Detaillierte Informationen zur Konfiguration des X Window System
finden sich in verschiedenen Dateien im Verzeichnis
/usr/share/doc/packages/Xorg sowie natürlich in der
Manualpage man xorg.conf.
![]() | Warnung |
|---|---|
Bei der Konfiguration des X Window Systems sollte besonders sorgsam vorgegangen werden. Auf keinen Fall sollte X gestartet werden, bevor die Konfiguration abgeschlossen wurde. Ein falsch eingestelltes System kann zu irreparablen Schäden an der Hardware führen; besonders gefährdet sind Festfrequenz-Monitore. Die Autoren dieses Buches und die SUSE LINUX lehnen jede Verantwortung für eventuell entstehende Schäden ab. Der vorliegende Text wurde mit größtmöglicher Sorgfalt erstellt. Dennoch kann nicht garantiert werden, dass die hier vorgestellten Methoden korrekt sind und Ihrer Hardware keinen Schaden zufügen. | |
Die Programme SaX2 und
xf86config erstellen die Datei
xorg.conf, standardmäßig in
/etc/X11. Dies ist die primäre Konfigurationsdatei für
das X Window System. Hier finden sich die
gemachten Angaben zu Maus, Monitor und Grafikkarte.
Im Folgenden soll der Aufbau der Konfigurationsdatei
/etc/X11/xorg.conf vorgestellt werden. Diese Datei ist
in Abschnitte (engl. Sections)
aufgeteilt, die jeweils mit dem Schlüsselwort Section
"bezeichner" eingeleitet werden und mit
EndSection beendet werden. Es folgt ein grober
Abriss der wichtigsten Abschnitte.
xorg.conf setzt sich aus mehreren Abschnitten zusammen
(den sog. Sections), die sich mit jeweils einem
Aspekt der Konfiguration beschäftigen. Eine Section hat stets die Form:
Section Abschnittsbezeichnung eintrag 1 eintrag 2 eintrag n EndSection
Die verfügbaren Section-Typen sind in Tabelle 11.2, „Abschnitte (sog. sections) in /etc/X11/xorg.conf“ aufgeführt.
Tabelle 11.2. Abschnitte (sog. sections) in /etc/X11/xorg.conf
Näher betrachtet werden die Sections Monitor,
Device und Screen. In der
Manualpage von X.Org und der Manualpage von
xorg.conf finden sich weitere Informationen zu den
verbleibenden Sections.
In xorg.conf können mehrere
Monitor- und
Device-Abschnitte vorkommen. Auch mehrere
Screen-Abschnitte sind möglich; welcher davon
verwendet wird, hängt dann vom nachfolgenden Abschnitt
ServerLayout ab.
Zunächst soll die Screen-Section näher betrachtet werden. Diese bringt eine Monitor- mit einer Device-Section zusammen und bestimmt, welche Auflösungen mit welcher Farbtiefe bereitgestellt werden sollen. Eine Screen-Section kann beispielsweise wie in Beispiel 11.1, „Die Screen-Section der Datei /etc/X11/xorg.conf“ aussehen.
Beispiel 11.1. Die Screen-Section der Datei /etc/X11/xorg.conf
Section "Screen"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1152x864" "1024x768" "800x600"
Virtual 1152x864
EndSubSection
SubSection "Display"
Depth 24
Modes "1280x1024"
EndSubSection
SubSection "Display"
Depth 32
Modes "640x480"
EndSubSection
SubSection "Display"
Depth 8
Modes "1280x1024"
EndSubSection
Device "Device[0]"
Identifier "Screen[0]"
Monitor "Monitor[0]"
EndSection
Die Zeile Identifier (hier
Screen[0]) gibt diesem Abschnitt eine eindeutige
Bezeichnung, durch die er dann im darauf folgenden Abschnitt
ServerLayout eindeutig referenziert werden kann.
Über die Zeilen Device und
Monitor werden dem Screen
eindeutig die schon weiter oben in der Datei definierte Grafikkarte und der
Monitor zugeordnet. Dies sind nichts weiter als Verweise auf die Device- und
Monitor-Sections mit den entsprechenden Namen bzw.
Identifiern. Auf diese Sections wird weiter unten
noch näher eingegangen.
Mittels der DefaultDepth-Angabe kann
ausgewählt werden, in welcher Farbtiefe der Server startet, wenn er ohne
eine explizite Angabe der Farbtiefe gestartet wird. Es folgt für jede
Farbtiefe eine Display-Subsection. Die Farbtiefe,
für die die Subsection gilt, wird durch das Schlüsselwort
Depth festgelegt. Mögliche Werte für
Depth sind 8, 15, 16 und 24. Nicht alle
X-Server-Module unterstützen jeden dieser Werte.
Nach der Farbtiefe wird mit Modes eine Liste von
Auflösungen festgelegt. Diese Liste wird vom X-Server von links nach rechts
durchlaufen. Für jede Auflösung wird in der Modes-Section in Abhängigkeit
von der Monitor-Section eine passende Modeline
gesucht, die vom Monitor und der Grafikkarte dargestellt werden kann.
Die erste in diesem Sinne passende Auflösung ist die, in der der X-Server
startet (der sog. Default-Mode). Mit den Tasten
Strg-Alt-Grau
+
kann in der Liste nach rechts, mit Strg-Alt-Grau -
nach Links gewandert werden. So kann die Bildschirmauflösung zur Laufzeit
des X Window Systems variiert werden.
Die letzte Zeile der Subsection Display mit
Depth 16 bezieht sich auf die Größe des virtuellen
Bildschirms. Die maximal mögliche Größe des virtuellen Bildschirms hängt vom
Speicherausbau der Videokarte und der gewünschten Farbtiefe ab, nicht aber
von der maximalen Auflösung des Monitors. Da moderne Grafikkarten sehr viel
Grafikspeicher anbieten, können Sie sehr große virtuelle Desktops anlegen.
Beachten Sie dann aber bitte, dass Sie evtl. keine 3D-Funktionalität mehr
nutzen können, wenn Sie praktisch den gesamten Grafikspeicher mit einem
virtuellen Desktop füllen. Hat die Karte zum Beispiel 16 MB Video-RAM,
so kann, bei 8 Bit Farbtiefe, der virtuelle Bildschirm bis zu
4096x4096(!) Pixel groß sein. Speziell bei den beschleunigten Servern
empfiehlt es sich jedoch nachdrücklich, nicht den gesamten Speicher der
Videokarte für den virtuellen Bildschirm zu verwenden, da der nicht
verwendete Speicherbereich auf der Videokarte von diesen Servern für
verschiedene Caches für Zeichensätze und Grafikbereiche verwendet wird.
Eine Device-Section beschreibt eine bestimmte Grafikkarte. Es können
beliebig viele Device-Sections in xorg.conf enthalten
sein, solange sich ihr Name, der mit dem Schlüsselwort
Identifier angegeben wird, unterscheidet. In der
Regel werden – falls Sie mehrere Grafikkarten eingebaut haben –
die Sections einfach durchnummeriert, die erste wird dann mit
Device[0], die zweite mit
Device[1] bezeichnet usw.. In der folgenden Datei
sehen Sie den Ausschnitt aus der Device Section
eines Computers, in dem eine Matrox Millennium PCI Grafikkarte eingebaut
ist:
Section "Device" BoardName "MGA2064W" BusID "0:19:0" Driver "mga" Identifier "Device[0]" VendorName "Matrox" Option "sw_cursor" EndSection
Wenn Sie SaX2 zur Konfiguration verwenden, dann dürfte die Device-Section
ungefähr so wie oben abgebildet aussehen. Insbesondere
Driver und BusID sind
natürlich von der in Ihrem Computer eingebauten Hardware abhängig und werden
von SaX2 automatisch bestimmt. Die BusID
bestimmt den PCI- bzw. AGP-Steckplatz, in den die Grafikkarte eingesteckt
ist. Diese stimmt mit der vom Kommando lspci
ausgegebenen ID überein. Beachten Sie, dass der X-Server die Angaben in
dezimaler, das Programm lspci hingegen in
hexadezimaler Schreibweise ausgibt!
Über den Parameter Driver legen Sie den zu
verwendenden Treiber für diese Grafikkarte fest. Im Falle der Matrox
Millennium heißt das Treibermodul mga. Diese werden
vom X-Server über den im Abschnitt Files
definierten ModulePath im Unterverzeichnis
drivers gesucht. In einer Standardinstallation ist dies
das Verzeichnis /usr/X11R6/lib/modules/drivers. Hierzu
wird an den Namen einfach _drv.o angehängt, im Falle
des mga Treibers wird die Treiberdatei
mga_drv.o geladen.
Über zusätzliche Optionen kann das Verhalten des X-Servers bzw. des Treibers
beeinflusst werden. In der Device Section ist hier exemplarisch die Option
sw_cursor gesetzt worden. Dies deaktiviert den
Hardwaremauscursor und stellt den Mauszeiger in Software dar. Je nach
Treibermodul stehen ihnen verschiedene Optionen zur Verfügung, diese sind in
den Beschreibungsdateien zu den Treibermodulen im Verzeichnis
/usr/X11R6/lib/X11/doc zu finden. Allgemein gültige
Optionen finden Sie auch in den Manualpages
(man xorg.conf und
man X.Org).
Die Monitor-Sections und die Modes-Section beschreiben, analog zu den
Device-Sections, jeweils einen Monitor. Die Konfigurationsdatei
/etc/X11/xorg.conf kann wieder beliebig viele,
unterschiedlich benannte Monitor-Sections enthalten. In der
ServerLayout-Section wird dann festgelegt, welche Monitor-Section
ausschlaggebend ist.
Für die Monitordefinition gilt, noch mehr als für die Beschreibung der Grafikkarte, dass das Erstellen einer Monitor-Section und insbesondere der Modes-Section nur von erfahrenen Benutzern gemacht werden sollte. Der wesentliche Bestandteil der Modes-Section sind die so genannten Modelines, in denen Horizontal- und Vertikal-Timings für die jeweilige Auflösung angegeben werden. In der Monitor-Section werden die Eigenschaften des Monitors, insbesondere die zulässigen Ablenkfrequenzen, festgehalten.
![]() | Warnung |
|---|---|
Ohne ein grundlegendes Verständnis der Funktionsweise von Monitor und Grafikkarte sollte an den Modelines nichts verändert werden, da dies unter Umständen zur Zerstörung des Monitors führen kann. | |
Wer sich zutraut, eigene Monitorbeschreibungen zu entwickeln,
sollte mit der Dokumentation im Verzeichnis
/usr/X11/lib/X11/doc vertraut sein. Besonders zu
erwähnen ist die Datei README.chips, wo die
Funktion der Hardware und
das Erstellen von Modelines detailliert beschrieben wird.
Glücklicherweise ist mittlerweile die manuelle Erstellung von Modelines oder Monitordefinitionen fast nie mehr nötig. Wenn Sie einen modernen Multisync-Monitor verwenden, können die zulässigen Frequenzbereiche und optimalen Auflösungen in der Regel, wie im SaX2 Konfigurationsabschnitt erwähnt, direkt via DDC vom X-Server aus dem Monitor gelesen werden. Sollte dies nicht möglich sein, können Sie auch einen der eingebauten VESA-Modi des X-Servers verwenden. Diese sollten auf praktisch allen Grafikkarten/Monitorkombinationen einwandfrei funktionieren.