5.4. X11 instellen

Geschreven door Christopher Shumway.

5.4.1. Voorbereiding

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

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.

5.4.2. X11 instellen

Sinds versie 7.3 kan Xorg vaak zonder enig instellingenbestand werken door eenvoudig op de prompt te typen:

% startx

Beginnend met versie 7.4 kan Xorg HAL gebruiken 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 van Xorg.

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 in Xorg tot en met versie 7.3:

# Xorg -config xorg.conf.new

Beginnend met Xorg 7.4 en hoger produceert deze test een zwart scherm wat het moeilijk kan maken om vast te stellen of X11 juist werkt. Het oudere gedrag is nog steeds beschikbaar door de optie retro te gebruiken:

# 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+Fn ( F1 voor de eerste virtuele console) en Ctrl+C te drukken.

Opmerking: Tot en met versie 7.3 van Xorg kon de toetsencombinatie Ctrl+Alt+Backspace gebruikt worden om uit Xorg te breken. Om het in versie 7.4 en hoger 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. Verder worden beginnend met versie 7.4 de secties InputDevice in xorg.conf genegeerd ten voorkeur van de automatisch verbonden 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 (b.v. omschakelen van toetsenbordindeling).

Opmerking: Zoals al eerder is uitgelegd zal sinds versie 7.4 de daemon hald 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).

5.4.3. Bijzondere instellingen

5.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.

5.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 (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, et. al.) 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.

Deze en andere documenten kunnen worden gedownload van ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Lees voor vragen over FreeBSD de documentatie alvorens contact te zoeken <questions@FreeBSD.org>.
Vragen over deze documentatie kunnen per e-mail naar <doc@FreeBSD.org>.