6.4. X11 konfigurieren

Beigetragen von Christopher Shumway.

6.4.1. Vorarbeiten

Bevor Sie X11 konfigurieren, benötigen Sie folgende Informationen:

Aus den Spezifikationen des Monitors ermittelt X11 die Auflösung und die Wiederholrate für den Betrieb des X-Servers. Die Spezifikationen entnehmen Sie der Dokumentation des Monitors oder der Webseite des Herstellers. Sie benötigen die horizontale und die vertikale Synchronisationsfrequenz.

Der Chipsatz der Grafikkarte bestimmt den Treiber, den X11 verwendet. Die meisten Chipsätze werden automatisch erkannt, Sie brauchen die Information jedoch, wenn die Erkennung fehlschlägt.

Die Speichergröße der Grafikkarte bestimmt die maximal mögliche Auflösung und Farbtiefe.

6.4.2. X11 konfigurieren

Xorg verwendet HAL, um Tastaturen und Mäuse automatisch zu erkennen. Die Ports sysutils/hal und devel/dbus werden als Abhängigkeiten von x11/xorg installiert, müssen aber durch die folgenden Einträge in /etc/rc.conf aktiviert werden:

hald_enable="YES"
dbus_enable="YES"

Diese Dienste sollten (entweder manuell oder durch einen Neustart) gestartet werden, bevor mit der weiteren Konfiguration oder Verwendung von Xorg begonnen wird.

Xorg kann oft schon ohne weitere Konfigurationsschritte laufen, indem am Prompt folgendes eingegeben wird:

% startx

Die automatische Konfiguration kann mit bestimmter Hardware fehlschlagen oder gewisse Dinge nicht so einrichten, wie gewünscht. In diesen Fällen ist eine manuelle Konfiguration notwendig.

Anmerkung: Grafische Oberflächen wie GNOME, KDE oder Xfce besitzen eigene Werkzeuge, die es dem Benutzer erlauben, auf einfache Art und Weise die Bildschirmparameter wie die Auflösung zu ändern. Falls die Standardkonfiguration für Sie nicht akzeptabel ist und die Installation einer grafischen Oberfläche geplant ist, fahren Sie damit fort und benutzen Sie dann das entsprechende Werkzeug für die Bildschirmeinstellungen.

Die X11 Konfiguration spielt sich in mehreren Schritten ab. Dazu erstellen Sie als erstes eine Vorgabe für die Konfigurationsdatei. Setzen Sie dazu als root den folgenden Befehl ab:

# Xorg -configure

Die Vorgabe-Konfiguration wird dann unter dem Namen xorg.conf.new im Verzeichnis /root gespeichert (das verwendete Verzeichnis wird durch die Umgebungsvariable $HOME bestimmt und hängt davon ab, wie Sie zu root gewechselt sind). X11 hat in diesem Schritt versucht, die Grafik-Hardware des Systems zu erkennen und eine Konfigurationsdatei ausgeschrieben, die zur Hardware passende Treiber lädt.

Im nächsten Schritt wird geprüft, ob Xorg die Grafik-Hardware des Systems verwenden kann. Setzen Sie dazu den folgenden Befehl ab:

# Xorg -config xorg.conf.new -retro

Wenn jetzt ein graues Raster und der X-Mauszeiger erscheinen, war die Konfiguration erfolgreich. Beenden Sie den Test, indem Sie auf die virtuelle Konsole wechseln, die Sie verwendet haben, um den Test zu starten, durch gleichzeitiges drücken von Ctrl+Alt+Fn (F1 für die erste virtuelle Konsole) und drücken anschliessend Ctrl+C.

Anmerkung: Die Tastenkombination Ctrl+Alt+Backspace kann verwendet werden, um Xorg zu beenden. Um diese zu aktivieren, fügen geben Sie entweder den folgenden Befehl von einem X-Terminalemulator ein:

% setxkbmap -option terminate:ctrl_alt_bksp

oder erstellen Sie eine Tastaturkonfigurationsdatei für hald, x11-input.fdi genannt, und legen Sie diese im Verzeichnis /usr/local/etc/hal/fdi/policy ab. Diese Datei sollte die folgenden Zeilen enthalten:

<?xml version="1.0" encoding="iso-8859-1"?>
<deviceinfo version="0.2">
   <device>
     <match key="info.capabilities" contains="input.keyboard">
           <merge key="input.x11_XkbOptions" type="string">terminate:ctrl_alt_bksp</merge>
     </match>
   </device>
</deviceinfo>

Sie müssen anschliessend ihren Computer neu starten, um hald zu zwingen, diese Datei einzulesen.

Die folgende Zeile muss ebenfalls zu xorg.conf.new hinzugefügt werden, entweder in den Abschnitt ServerLayout oder ServerFlags:

Option  "DontZap"       "off"

Wenn die Maus nicht funktioniert, prüfen Sie, ob die Maus konfiguriert wurde. Die Mauskonfiguration wird in Abschnitt 2.10.10 im FreeBSD-Installationskapitel beschrieben. In neueren Xorg-Versionen werden die InputDevice-Abschnitte in xorg.conf ignoriert, um stattdessen die automatisch erkannten Geräte zu verwenden. Um das alte Verhalten wiederherzustellen, fügen Sie die folgende Zeile zum ServerLayout- oder dem ServerFlags-Abschnitt dieser Datei hinzu:

Option "AutoAddDevices" "false"

Eingabegeräte können dann wie in den vorherigen Versionen konfiguriert werden, zusammen mit anderen benötigen Optionen (z.B. wechseln des Tastaturlayouts).

Anmerkung: Wie zuvor erwähnt, wird standardmässig der hald-Dienst automatisch Ihre Tastatur erkennen. Es kann passieren, dass ihr Tastaturlayout oder das Modell nicht korrekt erkannt wird. Grafische Oberflächen wie GNOME, KDE oder Xfce stellen Werkzeuge für die Konfiguration der Tastatur bereit. Es ist allerdings auch möglich, die Tastatureigenschaften direkt zu setzen, entweder mit Hilfe von setxkbmap(1) oder mit einer Konfigurationsregel von hald.

Wenn Sie zum Beispiel eine PC 102-Tasten Tastatur mit französischem Layout verwenden möchten, mössen Sie eine Tastaturkonfigurationsdatei für hald, genannt x11-input.fdi, im Verzeichnis /usr/local/etc/hal/fdi/policy ablegen. Diese Datei sollte die folgenden Zeilen enthalten:

<?xml version="1.0" encoding="iso-8859-1"?>
<deviceinfo version="0.2">
   <device>
     <match key="info.capabilities" contains="input.keyboard">
           <merge key="input.x11_options.XkbModel" type="string">pc102</merge>
           <merge key="input.x11_options.XkbLayout" type="string">fr</merge>
     </match>
   </device>
</deviceinfo>

Wenn diese Datei bereits existiert, kopieren Sie nur die Zeilen in diese Datei, welche die Tastaturkonfiguration betreffen.

Sie mössen Ihren Computer neu starten, um hald zu zwingen, diese Datei einzulesen.

Es ist möglich, die gleiche Konfiguration von einem X-Terminal oder einem Skript über den folgenden Befehl heraus zu tätigen:

% setxkbmap -model pc102 -layout fr

Die Datei /usr/local/share/X11/xkb/rules/base.lst listet die verschiedenen Tastatur- und Layoutoptionen auf, die Ihnen zur Verfügung stehen.

Als Nächstes passen Sie xorg.conf.new an. Öffnen Sie die Datei in einem Editor, wie emacs(1) oder ee(1) und fügen Sie die Synchronisationsfrequenzen des Monitors ein. Die Frequenzen werden im Abschnitt "Monitor" eingetragen:

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        HorizSync    30-107
        VertRefresh  48-120
EndSection

Unter Umständen fehlen die Schlüsselwörter HorizSync und VertRefresh, die Sie dann nachtragen müssen. Geben Sie, wie im Beispiel gezeigt, die horizontale Synchronisationsfrequenz hinter HorizSync und die vertikale Synchronisationsfrequenz hinter VertRefresh an.

X unterstützt die Energiesparfunktionen (DPMS, Energy Star) Ihres Monitors. Mit xset(1) können Sie Zeitschranken für die DPMS-Modi “standby”, “suspend”, “off” vorgeben, oder diese zwingend aktivieren. Die DPMS-Funktionen können Sie mit der nachstehenden Zeile im "Monitor"-Abschnitt aktivieren:

Option       "DPMS"

Die gewünschte Auflösung und Farbtiefe stellen Sie im Abschnitt "Screen" ein:

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth 24
        SubSection "Display"
                Viewport  0 0
                Depth     24
                Modes     "1024x768"
        EndSubSection
EndSection

Mit DefaultDepth wird die Farbtiefe des X-Servers vorgegeben. Mit der Option -depth von Xorg(1) lässt sich die vorgegebene Farbtiefe überschreiben. Modes gibt die Auflösung für die angegebene Farbtiefe an. Die Farbtiefe im Beispiel beträgt 24 Bits pro Pixel, die zugehörige Auflösung ist 1024x768 Pixel. Beachten Sie, dass in der Voreinstellung nur Standard-VESA-Modi der Grafikkarte angegeben werden können.

Sichern Sie die Konfigurationsdatei und testen Sie die Konfiguration wie oben beschrieben.

Anmerkung: Bei der Fehlersuche sind Ihnen die Protokolle des X11-Servers behilflich. In den Protokollen wird die gefundene Graphik-Hardware protokolliert. Die Protokolle von Xorg heißen /var/log/Xorg.0.log. Die Dateinamen enthalten eine laufende Nummer, der Name variiert daher von Xorg.0.log zu Xorg.8.log.

Wenn alles funktioniert hat, installieren Sie die Datei an einen Ort, an dem Xorg(1) sie findet. Normalerweise wird die Konfigurationsdatei unter /etc/X11/xorg.conf oder /usr/local/etc/X11/xorg.conf gespeichert:

# cp xorg.conf.new /etc/X11/xorg.conf

Damit ist die X11-Konfiguration beendet und Xorg kann nun mithilfe von startx(1) gestartet werden. Alternativ können Sie X11 auch mit xdm(1) starten.

6.4.3. Spezielle Konfigurationen

6.4.3.1. Konfiguration des Intel® i810 Graphics Chipsets

Der Intel® i810-Chipset benötigt den Treiber agpgart, die AGP-Schnittstelle von X11. Weitere Informationen finden sich in agp(4).

Ab jetzt kann die Hardware wie jede andere Grafikkarte auch konfiguriert werden. Der Treiber agp(4) kann nicht nachträglich mit kldload(8) in einen laufenden Kernel geladen werden. Er muss entweder fest im Kernel eingebunden sein oder beim Systemstart über /boot/loader.conf geladen werden.

6.4.3.2. Einen Widescreen-Monitor einsetzen

Dieser Abschnitt geht über die normalen Konfigurationsarbeiten hinaus und setzt einiges an Vorwissen voraus. Selbst wenn die Standardwerkzeuge zur X-Konfiguration bei diesen Geräten nicht zum Erfolg führen, sollten sich in den Logdateien genug Informationen finden, mit denen Sie letztlich doch einen funktionierenden X-Server konfigurieren können. Alles, was Sie dazu noch benötigen, ist ein Texteditor.

Aktuelle Widescreen-Formate (wie WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, und andere mehr) unterstützen Seitenverhältnisse wie 16:10 oder 10:9, die unter X Probleme verursachen können. Bei einem Seitenverhältnis von 16:10 sind beispielsweise folgende Auflösungen möglich:

  • 2560x1600

  • 1920x1200

  • 1680x1050

  • 1440x900

  • 1280x800

Diese Konfiguration könnte so einfach sein wie das zusätzliche Anlegen eines Eintrags einer dieser Auflösungen als ein möglicher Mode in Section "Screen":

Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
DefaultDepth 24
SubSection "Display"
	Viewport  0 0
	Depth     24
	Modes     "1680x1050"
EndSubSection
EndSection

Xorg ist normalerweise intelligent genug, um die Informationen zu den erlaubten Auflösungen über I2C/DDC zu beziehen, und weiß daher, welche Auflösungen und Frequenzen Ihr Widescreen-Monitor unterstützt.

Wenn diese ModeLines in den Treiberdateien nicht vorhanden sind, kann es sein, dass Sie Xorg beim Finden der korrekten Werte unterstützen müssen. Dazu extrahieren Sie die benötigten Informationen aus der Datei /var/log/Xorg.0.log und erzeugen daraus eine funktionierende ModeLine. Dazu suchen Sie in dieser Datei nach Zeilen ähnlich den folgenden:

(II) MGA(0): Supported additional Video Mode:
(II) MGA(0): clock: 146.2 MHz   Image Size:  433 x 271 mm
(II) MGA(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
(II) MGA(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
(II) MGA(0): Ranges: V min: 48  V max: 85 Hz, H min: 30  H max: 94 kHz, PixClock max 170 MHz

Diese Informationen werden auch als EDID-Informationen bezeichnet. Um daraus eine funktionierende ModeLine zu erzeugen, müssen Sie lediglich die Zahlen in die korrekte Reihenfolge bringen:

ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>

Die korrekte ModeLine in Section "Monitor" würde für dieses Beispiel folgendermaßen aussehen:

Section "Monitor"
Identifier      "Monitor1"
VendorName      "Bigname"
ModelName       "BestModel"
ModeLine        "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
Option          "DPMS"
EndSection

Nachdem diese Äderungen durchgeführt sind, sollte X auch auf Ihrem neuen Widescreen-Monitor starten.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <[email protected]>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <[email protected]>.