10.1 Manuelles Konfigurieren des X Window-Systems

Standardmäßig ist das X Window System mit der unter Abschnitt 2.2, Einrichten von Grafikkarte und Monitor, (↑ Start ) beschriebenen SaX2-Schnittstelle konfiguriert. Alternativ kann es manuell konfiguriert werden, indem Sie die Konfigurationsdateien bearbeiten.

ACHTUNG: Fehlerhafte X-Konfigurationen können Ihre Hardware beschädigen

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 openSUSE ü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.

Das Kommando sax2 erstellt die Datei/etc/X11/xorg.conf. Dabei handelt es sich um die primäre Konfigurationsdatei des X Window System. Hier finden Sie alle Einstellungen, die Grafikkarte, Maus und Monitor betreffen.

WICHTIG: Verwenden von X -configure

Verwenden Sie X -configure zur Konfiguration Ihres X-Setups, wenn vorherige Versuche mit SaX2 von openSUSE nicht erfolgreich waren. Wenn Ihr Setup ausschließlich proprietäre Binärtreiber umfasst, funktioniert X -configure nicht.

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 folgende Konvention gilt für alle Abschnitte:

Section "designation"
  entry 1
  entry 2
  entry n
EndSection 

Die verfügbaren Abschnittstypen finden Sie in Tabelle 10-1.

Tabelle 10-1 Abschnitte in /etc/X11/xorg.conf

Typ

Bedeutung

Dateien

Die Pfade für die Schriften und die RGB-Farbtabelle.

ServerFlags

Allgemeine Schalter für das Serververhalten.

Modul

Eine Liste mit Modulen, die der Server laden sollte

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. Normalerweise ist dem Computer ein InputDevice-Abschnitt pro Gerät angefügt.

Monitor

Der verwendete Monitor. Wichtige Elemente dieses Abschnitts sind die Kennung (Identifier), auf die später in der Definition von Screen eingegangen wird, die Aktualisierungsrate (VertRefresh) 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.

Modi

Die Modeline-Parameter für die spezifischen Bildschirmauflösungen. Diese Parameter 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 den HOWTO-Dateien unter /usr/share/doc/howto/en/html/XFree86-Video-Timings-HOWTO (im Paket howtoenh). Zur manuellen Berechnung von VESA-Modi können Sie das Tool cvt verwenden. Verwenden Sie z. B. zur Berechnung einer Modeline für einen 1680x1050@60Hz-Monitor das Kommando cvt 1680 1050 60.

Gerät

Eine spezifische Grafikkarte. Sie wird mit ihrem beschreibenden Namen angeführt. Die in diesem Abschnitt verfügbaren Optionen hängen stark vom verwendeten Treiber ab. Wenn Sie beispielsweise den i810-Treiber verwenden, erhalten Sie weitere Informationen auf der man-Seite man 4 i810.

Screen

Verbindet einen Monitor und ein Device, damit alle erforderlichen Einstellungen für X.Org gewährleistet sind. Geben Sie im Unterabschnitt Display die Größe des virtuellen Bildschirms (Virtual), den ViewPort und die für diesen Bildschirm verwendeten Modi (Modes) an.

Beachten Sie, dass einige Treiber es erfordern, dass alle verwendeten Konfigurationen an einer Stelle im Abschnitt Display vorhanden sein müssen. Wenn Sie beispielsweise an einem Laptop einen externen Monitor verwenden möchten, der größer als das interne LCD-Display ist, kann es erforderlich sein, eine höhere Auflösung als die vom internen LCD-Display ünterstützte an das Ende der Zeile Modes anzufügen.

ServerLayout

Das Layout einer Einzel- oder Multihead-Konfiguration. In diesem Abschnitt werden Kombinationen aus Eingabegeräten (InputDevice) und Anzeigegeräten (Screen) festgelegt.

DRI

Bietet Informationen für die Direct Rendering Infrastructure (DRI).

Monitor, Device und Screen werden im Folgenden genauer erläutert. Weitere Informationen zu den anderen Abschnitten finden Sie auf den man-Seiten 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. Der Abschnitt ServerLayout legt fest, welche dieser Abschnitte verwendet werden.

10.1.1 Abschnitt Screen

Der Abschnitt Screen kombiniert einen Monitor mit einem Device-Abschnitt und legt fest, welche Auflösung und Farbtiefe verwendet werden sollen. Der Abschnitt Screen kann beispielsweise wie in Beispiel 10-1 aussehen.

Beispiel 10-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

Section legt den Typ des Abschnitts fest, in diesem Fall Screen.

DefaultDepth bestimmt die Farbtiefe, die standardmäßig verwendet werden soll, wenn keine andere Farbtiefe explizit angegeben wird.

Für jede Farbtiefe werden verschiedene Display-Unterabschnitte angegeben.

Depth bestimmt die Farbtiefe, die mit diesem Satz von Display-Einstellungen benutzt werden soll. Mögliche Werte sind 8, 15, 16, 24 und 32, obwohl möglicherweise nicht alle davon durch alle X-Server-Module oder -Auflösungen unterstützt werden.

Der Abschnitt Modes enthält eine Liste der möglichen Bildschirmauflösungen. 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 StrgAlt++++ (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 zur vorherigen Auflösung 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. Wenn Sie diese Zeile auslassen, entspricht die virtuelle Auflösung der physikalischen Auflösung. 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 der Kartenspeicher auch für diverse Schrift- und Grafik-Caches genutzt wird.

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.

10.1.2 Abschnitt Device

Im Abschnitt Device wird eine bestimmte Grafikkarte beschrieben. xorg.conf kann beliebig viele Grafikkarteneinträge enthalten. Jedoch muss der Name der Grafikkarten eindeutig sein. Hierfür wird das Schlüsselwort Identifier verwendet. Wenn mehrere Grafikkarten installiert sind, werden die Abschnitte einfach der Reihe nach nummeriert. Die erste wird als Device[0], die zweite als Device[1] usw. eingetragen. Die folgende Datei zeigt einen Auszug aus dem Abschnitt Device eines Computers mit einer Matrox Millennium PCI-Grafikkarte (wie von SaX2 konfiguriert):

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

Der Wert unter BusID steht für den PCI- oder AGP-Steckplatz, in dem die Grafikkarte installiert ist. Er entspricht der ID, die bei Eingabe des Befehls lspci angezeigt wird. Der X-Server benötigt Informationen im Dezimalformat, lspci zeigt die Informationen jedoch im Hexadezimalformat an. Der Wert von BusID wird von SaX2 automatisch erkannt.

Der Wert von Driver wird automatisch von SaX2 eingestellt und gibt den Treiber an, der für Ihre Grafikkarte verwendet wird. 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. In einer Standardinstallation ist dies das Verzeichnis /usr/lib/xorg/modules/drivers oder das Verzeichnis /usr/lib64/xorg/modules/drivers für 64-Bit-Betriebssysteme. _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. Je nach Treibermodul können verschiedene Optionen verfügbar sein. Diese finden Sie in den Beschreibungsdateien der Treibermodule im Verzeichnis /usr/share/doc/ paket_name . Allgemeingültige Optionen finden Sie außerdem auf den entsprechenden man-Seiten (man xorg.conf, man 4 <Treibermodul> und man 4 chips).

Wenn die Grafikkarte über mehrere Videoanschlüsse verfügt, können die verschiedenen an der Karte angeschlossenen Geräte in SaX2 als eine Ansicht konfiguriert werden.

10.1.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. Jeder Monitor-Abschnitt verweist, sofern verfügbar, auf einen Modes-Abschnitt mit der Zeile UseModes. Wenn für den Abschnitt Monitor kein Modes-Abschnitt zur Verfügung steht, berechnet der X-Server aus den allgemeinen Synchronisierungswerten passende Werte. 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. Standard-VESA-Modi können auch mit dem Dienstprogramm cvt generiert werden. Weitere Informationen über cvt erhalten Sie auf der man-Seite man cvt.

ACHTUNG: Die Modelines sollten Sie nur ändern, wenn Sie sich sehr gut mit den Bildschirmfunktionen und der Grafikkarte auskennen, da der Bildschirm durch eine falsche Änderung dieser Zeilen ernsthaft Schaden nehmen kann.

Falls Sie Ihre eigenen Monitorbeschreibungen entwickeln möchten, sollten Sie sich eingehend mit der Dokumentation unter /usr/share/X11/doc vertraut machen. Installieren Sie das Paket xorg-x11-doc, um PDFs und HTML-Seiten zu finden.

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 den meisten Kombinationen aus Grafikkarte und Monitor.