FreeBSD handboek
Terug | Hoofdstuk 6. Het X Window systeem | Volgende

# 6.4. X11 instellen

Geschreven door Christopher Shumway.

## 6.4.1. Voorbereiding

Voordat er wordt begonnen met het instellen van X11 is de volgende informatie van de te installeren machine nodig:

- Monitor specificaties

- Chipset van de videokaart

- Geheugen van de videokaart

De specificaties van de monitor worden door X11 gebruikt om de resolutie en ververssnelheid te bepalen. Deze specificaties kunnen normaal gesproken verkregen worden uit de bij de monitor geleverde documentatie of van de website van de leverancier. Er zijn twee nummerreeksen nodig: de horizontale scansnelheid (scan rate) en de verticale synchronisatiesnelheid (vertical synchronization).

De chipset van de videokaart bepaalt welk stuurprogramma X11 gebruikt om de grafische hardware aan te spreken. Bij de meeste chipsets kan dit automatisch bepaald worden, maar het is altijd handig om dit te weten voor het geval de automatische detectie niet correct werkt.

Het geheugen op de videokaart bepaalt de resolutie en kleurdiepte waarmee het systeem kan werken. Dit is belangrijk omdat de gebruiker zo de grenzen van zijn systeem kent.

## 6.4.2. X11 instellen

Xorg gebruikt HAL om toetsenborden en muizen automatisch te detecteren. De ports `sysutils/hal` en `devel/dbus` worden als afhankelijkheden van `x11/xorg` geïnstalleerd, maar moeten met de volgende regels in het bestand `/etc/rc.conf` worden aangezet:

    hald_enable="YES"
    dbus_enable="YES"

Deze diensten dienen gestart te worden (ofwel handmatig of door opnieuw op te starten) voordat er verder wordt gegaan met de configuratie of gebruik van Xorg.

Xorg werkt vaak zonder enige verdere configuratie door het volgende op de prompt te typen:

    % startx

De automatische configuratie kan met sommige hardware mislukken, of het kan dingen anders instellen dan gewenst is. In deze gevallen is handmatige configuratie nodig.

> Opmerking: Bureaubladomgevingen als GNOME, KDE, of Xfce hebben gereedschappen waarmee de gebruiker eenvoudig de schermparameters zoals de resolutie kan instellen. Dus als de standaardconfiguratie niet acceptabel is en u van plan bent om een bureaubladomgeving te installeren kunt u gewoon doorgaan met de installatie van de bureaubladomgeving en het juiste scherminstelgereedschap gebruiken.

Het instellen van X11 bestaat uit meerdere stappen. De eerste stap is het bouwen van een instellingenbestand. Dit kan als de supergebruiker met:

    # Xorg -configure

Dit genereert een kaal X11-instellingenbestand in de map `/root` met de naam `xorg.conf.new`. Feitelijk wordt bepaald waar de map staat door hoe er superuser rechten zijn verkregen. `$HOME` is anders bij gebruik van su(1) of bij direct aanmelden. Het X11 programma probeert dan de grafische hardware te detecteren en schrijft een instellingenbestand dat de juiste stuurprogramma's laadt voor de gevonden hardware van het systeem.

De volgende stap is het testen van de bestaande instellingen om te controleren of Xorg met de grafische kaart van het doelsysteem kan werken. Typ:

    # Xorg -config xorg.conf.new -retro

Als er een zwart/grijs rooster en een X muis cursor verschijnen was de instelling succesvol. Om de test te stoppen dient naar de virtuele console waarmee de test werd gestart overgeschakeld te worden door op Ctrl+Alt+F`n` (F1 voor de eerste virtuele console) en Ctrl+C te drukken.

> Opmerking: De toetsencombinatie Ctrl+Alt+Backspace kan ook gebruikt worden om uit Xorg te breken. Om het aan te zetten, kunt u òfwel het volgende commando uitvoeren vanaf elke X-terminal-emulator:

>     % setxkbmap -option terminate:ctrl_alt_bksp

> òf een instellingenbestand voor het toetsenbord genaamd `x11-input.fdi` voor hald aanmaken en het in de map `/usr/local/etc/hal/fdi/policy` opslaan. Dit bestand dient het volgende te bevatten:

>     <?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.XkbOptions" type="string">terminate:ctrl_alt_bksp</merge>
>         </match>
>       </device>
>     </deviceinfo>

> U moet uw machine opnieuw opstarten om hald te forceren om dit bestand te lezen.

> De volgende regel dient ook aan de sectie `ServerLayout` of `ServerFlags` van `xorg.conf.new` te worden toegevoegd:

>     Option "DontZap"	"off"

Als de muis niet werkt, dan moet deze eerst ingesteld worden. Zie Paragraaf 2.10.10 in het FreeBSD installatiehoofdstuk. In recente versies van Xorg worden de secties `InputDevice` in `xorg.conf` genegeerd ten voorkeur van de automatisch gedetecteerde apparaten. Voeg de volgende regel aan de sectie `ServerLayout` of `ServerFlags` van dit bestand toe om het oude gedrag te herstellen:

    Option "AutoAddDevices" "false"

Invoerapparaten kunnen dan zoals in vorige versies worden geconfigureerd, tezamen met eventuele andere benodigde opties (bijvoorbeeld omschakelen van toetsenbordindeling).

> Opmerking: Zoals al eerder is uitgelegd zal de daemon hald standaard automatisch uw toetsenbord detecteren. Het kan zijn dat de indeling of het model van uw toetsenbord niet juist zijn. Bureaubladomgevingen zoals GNOME, KDE of Xfce bieden gereedschappen om het toetsenbord in te stellen. Het is echter mogelijk om de eigenschappen direct in te stellen met behulp van het gereedschap setxkbmap(1) of met een configuratieregel van hald.

> Als men bijvoorbeeld een PC-toetsenbord met 102 toetsen met een Franse indeling wilt gebruiken, dienen we een instellingenbestand voor het toestenbord voor hald aan te maken genaamd `x11-input.fdi` en het op te slaan in de map `/usr/local/etc/hal/fdi/policy`. Het dient de volgende regels te bevatten:

>     <?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>

> Als dit bestand al bestaat, kunt u de regels betreffende de configuratie van het toetsenbord kopiëren en aan uw bestand toevoegen.

> U dient uw machine opnieuw op te starten om hald te forceren om dit bestand te lezen.

> Het is mogelijk om hetzelfde te bereiken vanaf een X-terminal of een script met dit commando:

>     % setxkbmap -model pc102 -layout fr

> Het bestand `/usr/local/share/X11/xkb/rules/base.lst` noemt de beschikbare toetsenborden, indelingen en opties.

Nu moet `xorg.conf.new` worden aangepast aan de smaak van de gebruiker. Hiervoor moet het bestand in een teksteditor zoals emacs(1) of ee(1) worden geladen. Eerst moeten de frequenties van de monitor toegevoegd worden. Die zijn meestal weergegeven als horizontale en verticale synchronisatiesnelheid. Deze waarden worden toegevoegd aan `xorg.conf.new` in het onderdeel `"Monitor"`:

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

In het instellingenbestand kunnen de sleutelwoorden `HorizSync` en `VertRefresh` missen. Als ze er niet staan, moeten ze toegevoegd worden met de juiste horizontale synchronisatiesnelheid achter het `HorizSync` sleutelwoord en de verticale synchronisatiesnelheid achter het `VertRefresh` sleutelwoord. In het bovenstaande voorbeeld werden de gegevens van de monitor ingevoerd.

X kan DPMS (Energy Star) eigenschappen gebruiken bij monitoren die dit ondersteunen. xset(1) regelt de timeouts en kan de statussen standby, suspend of uit forceren. Om DPMS eigenschappen voor een monitor te activeren, moet de volgende regel toegevoegd worden aan de monitor sectie:

    Option       "DPMS"

Als het instellingenbestand `xorg.conf.new` toch open staat in de editor dan kan ook meteen de gewenste standaardresolutie en kleurdiepte gekozen worden. Dit staat in het onderdeel `"Screen"`:

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

Het sleutelwoord `DefaultDepth` beschrijft de kleurdiepte die standaard wordt gebruikt. Met de commandoregeloptie `-depth` van Xorg(1) kan dit overschreven worden. Het sleutelwoord `Modes` beschrijft de resolutie waarmee gewerkt wordt bij de opgegeven kleurdiepte. Alleen VESA standaarden die door de grafische kaart van het systeem worden gedefinieerd worden ondersteund. In het voorbeeld hierboven is de standaard kleurdiepte 24 bits per pixel. Bij deze kleurdiepte is de toegestane resolutie 1024 bij 768 pixels.

> Opmerking: Bij het oplossen van problemen zijn de logboekbestanden van X11 vaak een goede hulp. Ze bevatten informatie voor ieder apparaat waar de X11 server verbinding mee maakt. Namen van Xorg logboekbestanden hebben de vorm `/var/log/Xorg.0.log`. De precieze naam van een logboekbestand van variëren van `Xorg.0.log` tot `Xorg.8.log` enzovoort.

Als alles is ingesteld, moet het instellingenbestand op een plaats gezet worden waar Xorg(1) het kan vinden. Dit is meestal `/etc/X11/xorg.conf` of `/usr/local/etc/X11/xorg.conf`:

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

Het instellen van X11 is nu gereed. Xorg gestart worden met startx(1). De X11-server kan ook gestart worden met behulp van xdm(1).

## 6.4.3. Bijzondere instellingen

### 6.4.3.1. Instellen met de Intel® i810 grafische chipset

Instellen met Intel® i810 geïntegreerde chipsets vereist de `agpgart` AGP programmeerinterface voor X11 om de kaart aan te sturen. Zie de agp(4) handleiding voor meer informatie.

Hierdoor wordt het instellen van de hardware net als ieder andere grafische kaart. Bij systemen die zonder agp(4) stuurprogramma gecompileerd zijn slaagt het laden van module met kldload(8) niet. Het stuurprogramma moet in de kernel geladen zijn tijdens het opstarten door te compileren of door `/boot/loader.conf` te gebruiken.

### 6.4.3.2. Een Breedbeeld Flatpanel toevoegen

Deze sectie gaat uit van wat diepere configuratiekennis. Als pogingen om de bovenstaande standaard instelgereedschappen niet tot een werkende configuratie leidden, dan is er genoeg informatie in de logbestanden om de opstelling aan de praat te krijgen. Het gebruik van een tekstverwerker zal nodig zijn.

Huidige breedbeeldformaten (zoals WSXGA, WSXGA+, WUXGA, WXGA en WXGA+) ondersteunen 16:10 en 10:9 formaten of aspectverhoudingen die problematisch kunnen zijn. Voorbeelden van enkele veelvoorkomende schermresoluties voor 16:10 aspectverhoudingen zijn:

- 2560x1600

- 1920x1200

- 1680x1050

- 1440x900

- 1280x800

Op een gegeven moment zal het toevoegen van een van deze resoluties net zo eenvoudig zijn als een mogelijke `Mode` in het `Section "Screen"`:

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

Xorg is slim genoeg om de resolutie-informatie via I2C/DDC-informtie uit het flatpanel te onttrekken zodat het weet wat de monitor aan kan wat betreft frequenties en resoluties.

Als die `ModeLines` niet bestaan in de stuurprogramma's, dient men Xorg een kleine hint te geven. Met behulp van `/var/log/Xorg.0.log` kan men genoeg informatie onttrekken om handmatig een werkende `ModeLine` aan te maken. Kijk naar informatie die op deze lijkt:

    (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

Deze informatie wordt EDID-informatie genoemd. Hiervan een `ModeLine` maken is gewoon een kwestie van de nummers in de juiste volgorde zetten:

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

Dus de `ModeLine` in `Section "Monitor"` zou er voor dit voorbeeld uitzien als:

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

Na het voltooien van deze eenvoudige stappen, zou X moeten starten op uw nieuwe breedbeeldmonitor.

Terug | Begin | Volgende
X11 installeren | Omhoog | Lettertypen gebruiken in X11