35.2. Optimierung der X-Konfiguration

X.Org ist eine Open-Source-Implementierung des X Window-Systems. Es wird von der X.Org Foundation weiterentwickelt, die auch für die Entwicklung neuer Technologien und Standards für das X Window-System verantwortlich ist.

Die Konfiguration kann manuell angepasst werden, um eine bestmögliche Nutzung der verfügbaren Hardware wie Maus, Grafikkarte, Monitor und Tastatur zu gewährleisten. Einige Aspekte dieser Optimierung werden im Folgenden erläutert. Detaillierte Informationen zur Konfiguration des X Window-Systems finden Sie in den verschiedenen Dateien im Verzeichnis /usr/share/doc/packages/Xorg und erhalten Sie durch Eingabe von man xorg.conf.

[Warning]Warnung

Seien Sie sehr vorsichtig, wenn Sie die Konfiguration des X Window-Systems ändern. Starten Sie auf keinen Fall das X Window-System, bevor die Konfiguration abgeschlossen ist. Ein falsch konfiguriertes System kann Ihre Hardware irreparabel beschädigen (dies gilt insbesondere für Monitore mit fester Frequenz). Die Autoren dieses Buchs und die Entwickler von SUSE Linux übernehmen keine Haftung für mögliche Schäden. Die folgenden Informationen basieren auf sorgfältiger Recherche. Es kann jedoch nicht garantiert werden, dass alle hier aufgeführten Methoden fehlerfrei sind und keinen Schaden an Ihrer Hardware verursachen können.

Die Programme SaX2 und xorgconfig erstellen die Datei xorg.conf standardmäßig unter /etc/X11. Hierbei handelt es sich um die primäre Konfigurationsdatei für das X Window-System. Hier finden Sie alle Einstellungen, die Grafikkarte, Maus und Monitor betreffen.

In den folgenden Abschnitten wird die Struktur der Konfigurationsdatei /etc/X11/xorg.conf beschrieben. Sie ist in mehrere Abschnitte gegliedert, die jeweils für bestimmte Aspekte der Konfiguration verantwortlich sind. Jeder Abschnitt beginnt mit dem Schlüsselwort Section <Bezeichnung> und endet mit EndSection. Die Abschnitte haben folgende Form:

Section designation 
  entry 1 
  entry 2 
  entry n
EndSection 

Die verfügbaren Abschnittstypen finden Sie in Tabelle 35.1, „Abschnitte in /etc/X11/xorg.conf“.

Tabelle 35.1. Abschnitte in /etc/X11/xorg.conf

Typ

Bedeutung

Files

In diesem Abschnitt werden die Pfade definiert, die für Schriften und die RGB-Farbtabelle verwendet werden.

ServerFlags

Hier werden allgemeine Parameter festgelegt.

InputDevice

Eingabegeräte wie Tastaturen und spezielle Eingabegeräte (Touchpads, Joysticks usw.) werden in diesem Abschnitt konfiguriert. Wichtige Parameter in diesem Abschnitt sind Driver und die Optionen für Protocol und Device.

Monitor

Beschreibt den verwendeten Monitor. Die einzelnen Elemente dieses Abschnitts sind der Name, auf den später in der Definition von Screen verwiesen wird, die Bandbreite (bandwidth) und die Grenzwerte für die Synchronisierungsfrequenz (HorizSync und VertRefresh). Die Einstellungen sind in MHz, kHz und Hz angegeben. Normalerweise akzeptiert der Server nur Modeline-Werte, die den Spezifikationen des Monitors entsprechen. Dies verhindert, dass der Monitor versehentlich mit zu hohen Frequenzen angesteuert wird.

Modes

Hier werden Modeline-Parameter für die einzelnen Bildschirmauflösungen gespeichert. Diese Paramter können von SaX2 auf Grundlage der vom Benutzer vorgegebenen Werte berechnet werden und müssen in der Regel nicht geändert werden. Nehmen Sie hier beispielsweise dann Änderungen vor, wenn Sie einen Monitor mit fester Frequenz anschließen möchten. Details zur Bedeutung der einzelnen Zahlenwerte finden Sie in der HOWTO-Datei /usr/share/doc/howto/en/XFree86-Video-Timings-HOWTO.gz.

Device

In diesem Abschnitt wird eine bestimmte Grafikkarte definiert. Sie wird mit ihrem beschreibenden Namen angeführt.

Screen

Hier wird eine Verbindung zwischen einem Monitor und einer Grafikkarte (Device) hergestellt, um alle erforderlichen Einstellungen für X.Org bereitzustellen. Im Unterabschnitt Display können Sie die Größe des virtuellen Bildschirms (Virtual), den ViewPort und die Modes für diesen Bildschirm festlegen.

ServerLayout

In diesem Abschnitt wird das Layout einer Single- oder Multihead-Konfiguration beschrieben. In diesem Abschnitt werden Kombinationen aus Eingabegeräten (InputDevice) und Anzeigegeräten (Screen) festgelegt.

Monitor, Device und Screen werden im Folgenden noch genauer erläutert. Weitere Informationen zu den anderen Abschnitten finden Sie auf den Manualpages von X.Org und xorg.conf.

Die Datei xorg.conf kann mehrere unterschiedliche Abschnitte vom Typ Monitor und Device enthalten. Manchmal gibt es sogar mehrere Abschnitte vom Typ Screen. In diesem Fall gibt der darauf folgende Abschnitt ServerLayout an, welcher dieser Abschnitte genutzt wird.

35.2.1. Abschnitt "Screen"

Sehen Sie sich zunächst den Abschnitt "Screen" näher an, in dem ein Monitor mit einem device-Abschnitt kombiniert wird und der festlegt, welche Auflösung und Farbtiefe verwendet werden sollen. Der Abschnitt "Screen" kann beispielsweise wie in Beispiel 35.1, „Abschnitt "Screen" der Datei /etc/X11/xorg.conf“ aussehen.

Beispiel 35.1. Abschnitt "Screen" 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

In der Zeile Identifier (hier Screen[0]) wird für diesen Abschnitt ein Name vergeben, der als eindeutige Referenz im darauf folgenden Abschnitt ServerLayout verwendet werden kann. Die Zeilen Device und Monitor geben die Grafikkarte und den Monitor an, die zu dieser Definition gehören. Hierbei handelt es sich nur um Verbindungen zu den Abschnitten Device und Monitor mit ihren entsprechenden Namen bzw. Kennungen (identifiers). Diese Abschnitte werden weiter unten detailliert beschrieben.

Wählen Sie mit der Einstellung DefaultDepth die Farbtiefe aus, die der Server verwenden soll, wenn er nicht mit einer bestimmten Farbtiefe gestartet wird. Für jede Farbtiefe gibt es einen Unterabschnitt Display. Das Schlüsselwort Depth weist die für diesen Unterabschnitt gültige Farbtiefe zu. Mögliche Werte für Depth sind 8, 15, 16 und 24. Nicht alle X-Server-Module unterstützen diese Werte.

Unterhalb der Farbtiefe wird eine Liste der Auflösungen im Abschnitt Modes festgelegt. Diese Liste wird vom X-Server von links nach rechts gelesen. Zu jeder Auflösung sucht der X-Server eine passende Modeline im Abschnitt Modes. Die Modeline ist von den Fähigkeiten des Monitors und der Grafikkarte abhängig. Die Einstellungen unter Monitor bestimmen die Modeline.

Die erste passende Auflösung ist der Standardmodus (Default mode). Mit Strg-Alt-+ (auf dem Ziffernblock) können Sie zur nächsten Auflösung rechts in der Liste wechseln. Mit Strg-Alt- (auf dem Ziffernblock) können Sie nach links wechseln. So lässt sich die Auflösung ändern, während X ausgeführt wird.

Die letzte Zeile des Unterabschnitts Display mit Depth 16 bezieht sich auf die Größe des virtuellen Bildschirms. Die maximal mögliche Größe eines virtuellen Bildschirms ist von der Menge des Arbeitsspeichers auf der Grafikkarte und der gewünschten Farbtiefe abhängig, nicht jedoch von der maximalen Auflösung des Monitors. Da moderne Grafikkarten über viel Grafikspeicher verfügen, können Sie sehr große virtuelle Desktops erstellen. Gegebenenfalls ist es aber nicht mehr möglich, 3-D-Funktionen zu nutzen, wenn ein virtueller Desktop den größten Teil des Grafikspeichers belegt. Wenn die Grafikkarte beispielsweise über 16 MB RAM verfügt, kann der virtuelle Bildschirm bei einer Farbtiefe von 8 Bit bis zu 4096 x 4096 Pixel groß sein. Insbesondere bei beschleunigten Grafikkarten ist es nicht empfehlenswert, den gesamten Arbeitsspeicher für den virtuellen Bildschirm zu verwenden, weil dieser Speicher auf der Karte auch für diverse Schrift- und Grafik-Caches genutzt wird.

35.2.2. Abschnitt "Device"

Im Abschnitt "Device" wird eine bestimmte Grafikkarte beschrieben. Es kann eine beliebige Anzahl von Grafikkarteneinträgen in xorg.conf vorhanden sein, solange deren Namen sich unterscheiden, d. h. solange ein eindeutiger Name mithilfe des Schlüsselworts Identifier festgelegt ist. Als generelle Regel gilt, dass bei der Installation mehrerer Grafikkarten die Abschnitte einfach der Reihe nach nummeriert werden. Die erste wird als Device[0], die zweite als Device[1] usw. eingetragen. Folgendes ist ein Auszug aus dem Abschnitt Device eines Computers mit einer Matrox Millennium-PCI-Grafikkarte:

Section "Device" 
  BoardName     "MGA2064W" 
  BusID         "0:19:0" 
  Driver        "mga" 
  Identifier    "Device[0]" 
  VendorName    "Matrox" 
  Option        "sw_cursor"
EndSection

Wenn Sie SaX2 für die Konfiguration einsetzen, sollte der Abschnitt "Device" in etwa wie in diesem Beispiel aussehen. Die Einträge unter Driver und BusID sind von der Hardware Ihres Computer abhängig und werden automatisch von SaX2 erkannt. Der Wert unter BusID steht für den PCI- oder AGP-Steckplatz, in dem die Grafikkarte installiert ist. Dieser entspricht der ID, die bei Eingabe des Befehls "lspci" angezeigt wird. Der X-Server benötigt Details im Dezimalformat, lspci zeigt diese jedoch im Hexadezimalformat an.

Über den Parameter Driver geben Sie den Treiber an, der für diese Grafikkarte verwendet werden soll. Wenn es sich um eine Matrox Millennium-Grafikkarte handelt, heißt das Treibermodul mga. Anschließend durchsucht der X-Server den ModulePath, der im Abschnitt Files des Unterverzeichnisses drivers angegeben ist. Bei einer Standardinstallation handelt es sich hierbei um das Verzeichnis /usr/X11R6/lib/modules/drivers. _drv.o wird an den Namen angehängt, sodass beispielsweise im Falle des mga-Treibers die Treiberdatei mga_drv.o geladen wird.

Das Verhalten des X-Servers bzw. des Treibers kann außerdem durch weitere Optionen beeinflusst werden. Ein Beispiel hierfür ist die Option sw_cursor, die im Abschnitt "Device" festgelegt wird. Diese deaktiviert den Hardware-Mauszeiger und stellt den Mauszeiger mithilfe von Software dar. Abhängig vom Treibermodul können verschiedene Optionen verfügbar sein. Diese finden Sie in den Beschreibungsdateien der Treibermodule im Verzeichnis /usr/X11R6/lib/X11/doc. Allgemein gültige Optionen finden Sie außerdem in den entsprechenden Manualpages (man xorg.conf und man X.Org).

35.2.3. Abschnitte "Monitor" und "Modes"

So wie die Abschnitte vom Typ Device jeweils für eine Grafikkarte verwendet werden, beschreiben die Abschnitte Monitor und Modes jeweils einen Monitor. Die Konfigurationsdatei /etc/X11/xorg.conf kann beliebig viele Abschnitte vom Typ Monitor enthalten. Der Abschnitt "ServerLayout" gibt an, welcher Monitor-Abschnitt zu verwenden ist.

Monitordefinitionen sollten nur von erfahrenen Benutzern festgelegt werden. Die Modelines stellen einen bedeutenden Teil der Monitor-Abschnitte dar. Modelines legen die horizontalen und vertikalen Frequenzen für die jeweilige Auflösung fest. Die Monitoreigenschaften, insbesondere die zulässigen Frequenzen, werden im Abschnitt Monitor gespeichert.

[Warning]Warnung

Wenn Sie nicht über fundierte Kenntnisse zu Monitor- und Grafikkartenfunktionen verfügen, sollten Sie an den Modelines keine Änderungen vornehmen, weil dies Ihren Monitor schwer beschädigen kann.

Falls Sie Ihre eigenen Monitorbeschreibungen entwickeln möchten, sollten Sie sich genauestens mit der Dokumentation unter /usr/X11/lib/X11/doc vertraut machen. In diesem Zusammenhang soll besonders auf den Abschnitt zu den Grafikmodi hingewiesen werden. In ihm wird detailliert beschrieben, wie die Hardware funktioniert und wie Modelines zu erstellen sind.

Heutzutage ist es nur sehr selten erforderlich, Modelines manuell festzulegen. Wenn Sie mit einem modernen Multisync-Monitor arbeiten, können die zulässigen Frequenzen und die optimalen Auflösungen in aller Regel vom X-Server direkt per DDC vom Monitor abgerufen werden, wie im SaX2-Konfigurationsabschnitt beschrieben. Ist dies aus irgendeinem Grund nicht möglich, können Sie auf einen der VESA-Modi des X-Servers zurückgreifen. Dies funktioniert in Verbindung mit praktisch allen Kombinationen aus Grafikkarte und Monitor.