<p class="spip">Même s’il semble long et obscur, le fichier de configuration de Xorg (et donc de Xfree) est relativement simple à comprendre. Je detaille ici les rudiments pour comprendre la structure, ainsi que quelques options utiles.</p>

<p class="spip">Même si je prend l’exemple de Xorg, tout ce qui suit est également applicable sous Xfree.</p>

<p class="spip">Le fichier de configuration est normalement : /etc/X11/xorg.conf (XF86Config pour les retrogrades).</p>

<h1>Les sections</h1>
<p class="spip">Lorsqu’on regarde le fichier de configuration, il est rapide de constater que le fichier est constitué de sections.</p>

<p class="spip">Voici les principales (ce descriptif n’est évidement pas exhaustif) :</p>

<li> ServerLayout : décrivant les périphériques d’entrée et de sortie utilisés.
<br /><li> InputDevice : décrivant les périphériques d’entrée (comme la souris, le clavier ...)
<br /><li> Monitor : décrivant les moniteurs.
<br /><li> Device : décrivant les cartes graphiques.
<br /><li> Screen : décrivant les écrans.
<p class="spip">Dans chacune de ces sections, nous avons un champ "identifiant" qui correspond au nom du périphérique.
Voici comment sont configurés les périphériques les plus répendus :</p>

<h2>La souris</h2>
<p class="spip">La souris est un périphérique de type "InputDevice". Voici un exemple de section souris :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>Section "InputDevice"<br />
        Identifier  "Mouse0"<br />
        Driver      "mouse"<br />
        Option      "Protocol" "auto"<br />
        Option      "Device" "/dev/psaux"<br />
EndSection</code></div>
<p class="spip">Nous avons donc une souris (puisque le pilote est "mouse") que l’on nomme "Mouse0" qui utilise le fichier spécial /dev/psaux (souris PS/2).
Pour une souris USB nous aurions eu "/dev/input/mice" ou "/dev/ttyUSB0".
Pour une souris série, nous aurions eu "/dev/ttyS0".</p>

<p class="spip">Si nous avons une molette sur la souris, voici les configurations additionnelles :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>        Option      "ZAxisMapping" "4 5"<br />
        Option      "Emulate3Buttons" "no"</code></div>
<h2>Le clavier</h2>
<p class="spip">Le clavier est également de type "InputDevice". Voici un exemple de section clavier :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>Section "InputDevice"<br />
        Identifier  "Keyboard0"<br />
        Driver      "kbd"<br />
        Option      "XkbLayout" "fr"<br />
        Option      "XkbModel" "pc105"<br />
EndSection</code></div>
<p class="spip">Nous avons donc un clavier (puisque le driver est "kbd") 105 touches (l’option pc105) que l’on nomme "Keyboard0" avec le mappage français.</p>

<h2>Le moniteur</h2>
<p class="spip">Le moniteur est de type "Monitor". Voici un exemple de section moniteur :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>Section "Monitor"<br />
        Identifier   "Monitor0"<br />
        VendorName   "Monitor Vendor"<br />
        ModelName    "Monitor Model"<br />
EndSection</code></div>
<p class="spip">Il n’y a rien de particulier à cette section. Il est possible de définir les fréquences horizontales et verticales de la façon suivante :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>       HorizSync    30.0 - 80.0<br />
       VertRefresh  60.0 - 75.0</code></div>
<h2>La carte graphique</h2>
<p class="spip">La carte graphique est de type "Device". Voici un exemple de section :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>Section "Device"<br />
        Identifier  "Card0"<br />
        Driver      "sis"<br />
        VendorName  "Silicon Integrated Systems [SiS]"<br />
        BoardName   "86C326 5598/6326"<br />
        BusID       "PCI:1:0:0"<br />
EndSection</code></div>
<p class="spip">Driver correspond au pilote utilisé pour la carte. Ce pilote est spécifique.</p>

<p class="spip">Le BusID correspond à l’adresse physique de la carte.</p>

<p class="spip">Cette section est vraiment spécifique à chaque modèle de carte graphique. Il est difficile de la décrire précisement.</p>

<h2>L’écran</h2>
<p class="spip">L’écran est de type "Screen". Voici un exemple de section écran :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>Section "Screen"<br />
        Identifier "Screen0"<br />
        Device     "Card0"<br />
        Monitor    "Monitor0"<br />
        SubSection "Display"<br />
                Viewport   0 0<br />
                Depth     16<br />
        EndSubSection<br />
EndSection</code></div>
<p class="spip">Ici, nous pouvons voir que Screen0 (notre écran) est associé au moniteur Monitor0 et la carte graphique Card0 défini au dessus.</p>

<p class="spip">Une sous-section de type "Display" nous permet de configurer les différents type de profondeurs de couleurs (ici nous n’avons que 16bits).</p>

<p class="spip">Il est possible de forcer la profondeur par défaut en ajoutant dans la section Screen (et non dans la sous-section Display) :</p>

<p class="spip"><code class='spip_code' dir='ltr'>DefaultDepth    16</code></p>

<p class="spip">Il est également possible de définir la résolution. Cette résolution concerne une profondeur de couleurs particulière. Il est donc nécessaire de mettre l’option suivante dans la sous-section Display correspondante :</p>

<p class="spip"><code class='spip_code' dir='ltr'>                Modes     "1024x768"</code></p>

<h2>ServerLayout</h2>
<p class="spip">Après avoir défini les sections, il va être nécessaire de les activer. Pour cela nous allons utiliser la section ServerLayout.</p>

<p class="spip">Voici, par exemple, comment activer l’écran, la souris et le clavier définis au dessus :</p>

<div style='text-align: left;' class='spip_code' dir='ltr'><code>Section "ServerLayout"<br />
        Identifier     "X.org Configured"<br />
        Screen      0  "Screen0" 0 0<br />
        InputDevice    "Mouse0" "CorePointer"<br />
        InputDevice    "Keyboard0" "CoreKeyboard"<br />
EndSection</code></div>
<p class="spip">Il est possible de mettre plusieurs souris, plusieurs claviers ou encore plusieurs écrans.</p>

<h1>Les outils de configuration Xorg</h1>
<li> L’outil, fournit avec xorg, le plus simple est l’option -configure de X :
<p class="spip"><code class='spip_code' dir='ltr'>X -configure</code></p>

<p class="spip">Puis voir le résultat en faisant :</p>

<p class="spip"><code class='spip_code' dir='ltr'> X -config /root/xorg.conf.new</code></p>

<p class="spip">Après avoir fait les inévitables modifications (type de claviers ...) il faut le copier en /etc/X11/xorg.conf.</p>

<li> xorgconfig et xorgsetup sont des outils qui permettent de configurer X de façon interactive.