11.2. Optimisation de la configuration X

Avec X.Org, vous disposez d'une implémentation Open Source du système X window. Celle-ci est développée par la fondation "X.Org Foundatation" qui est également responsable du développement de nouvelles technologies et standards du système X window.

Afin de pouvoir utiliser au mieux le matériel à votre disposition, souris, carte graphique, écran et clavier compris, vous pouvez optimiser la configuration manuellement. Nous présentons ici quelques aspects de l'optimisation. Vous trouverez des informations détaillées sur la configuration du système X window dans différents fichiers du répertoire /usr/share/doc/packages/Xorg ainsi, bien sûr, que dans la page de manuel man xorg.conf.

[Warning]Avertissement

La configuration du système X window doit être réalisée avec un soin tout particulier ! Il ne faut en aucun cas démarrer le système X window avant d'avoir terminé la configuration. Un système mal configuré peut conduire à des dommages irréparables du matériel (les moniteurs à fréquence fixe sont à ce titre particulièrement menacés). Les auteurs de ce livre et la société SUSE LINUX AG déclinent toute responsabilité pour les dommages pouvant éventuellement survenir. Ce texte a été établi avec le plus grand soin. Nous ne pouvons cependant pas garantir que toutes les méthodes présentées ici sont correctes et ne causeront aucun dommage à votre matériel.

Par défaut, les programmes SaX2 et xf86config génèrent le fichier xorg.conf dans le répertoire /etc/X11. Ceci est le fichier de configuration primaire pour le système X window. C'est ici que se trouvent les données relatives à la souris, à l'écran et à la carte graphique.

La structure du fichier de configuration /etc/X11/xorg.conf vous est présentée ici. Ce fichier est partagé en sections introduites chacune par le mot-clé Section <description de la section> et terminées par EndSection. Vous trouverez dans la suite une présentation sommaire des sections les plus importantes.

xorg.conf est composé de plusieurs sections qui traitent chacune d'un aspect de la configuration. Une section se présente toujours sous la forme :

Section description de la section
déclaration 1
déclaration 2
déclaration n
EndSection

Les types de sections disponibles sont répertoriés dans Tableau 11.2, « Sections dans /etc/X11/xorg.conf ».

Tableau 11.2. Sections dans /etc/X11/xorg.conf

Type

Signification

Fichiers

Cette section décrit les chemins utilisés pour les jeux de caractères et la palette chromatique RGB.

ServerFlags

Les commutateurs généraux sont renseignés ici.

InputDevice

Les périphériques d'entrée tels que les claviers et les souris aussi bien que les périphériques d'entrée spéciaux (tablettes graphiques, manettes de jeu, etc.) sont configurés dans cette section. Les identificateurs importants sont ici Driver et les options qui déterminent le protocole (Protocol) et le périphérique (Device).

Monitor

Décrit l'écran utilisé. Les éléments de cette section sont constitués d'un nom, auquel il est ensuite fait référence lors de la définition de l'affichage (Screen) ainsi que la description de la bande passante (Bandwidth) et des fréquences de synchronisation autorisées (HorizSync et VertRefresh). Les valeurs peuvent être indiquées en MHz, en kHz ou en Hz. Le serveur refuse en principe tout modeline ne correspondant pas aux spécifications de l'écran. Cela permet d'éviter d'envoyer par mégarde à l'écran des fréquences trop élevées.

Modes

C'est ici que sont fixés les paramètres représentatifs de chaque résolution d'écran. Ces paramètres peuvent être calculés par SaX2 sur la base des valeurs indiquées par l'utilisateur et, en règle générale, n'ont pas à être modifiés. Vous pouvez toutefois intervenir manuellement sur ces valeurs, par exemple si vous souhaitez intégrer un écran à fréquence fixe. Vous pouvez obtenir plus de précisions sur la signification des différentes valeurs des paramètres dans le fichier HOWTO /usr/share/doc/howto/en/XFree86-Video-Timings-HOWTO.gz.

Device

Cette section définit une carte graphique donnée. Celle-ci est référencée par la description.

Screen

Cette section lie un Monitor (écran) et un Device (carte graphique) pour former toutes les déclarations nécessaires pour X.Org. La sous-section Display permet de renseigner la taille de l'écran virtuel (Virtual), le ViewPort et les Modes utilisés avec cet écran.

ServerLayout

Cette section détermine la structure d'une configuration single ou multihead. Les périphériques d'entrée InputDevice et les périphériques d'affichage Screen sont liés dans cette section.

Les sections Monitor, Device et Screen sont abordées en détails. Vous trouverez plus d'information sur les autres sections dans la page de manuel de X.Org et dans la page de manuel de xorg.conf.

Dans xorg.conf, il peut exister plusieurs sections Monitor et Device. Plusieurs sections Screen sont également possibles ; c'est de la section suivante, ServerLayout, que va dépendre le choix de la section Screen utilisée.

11.2.1. Section Screen

La section Screen doit d'abord être considérée avec attention. Celle-ci comporte une section Monitor et une section Device et définit quelles résolutions doivent être mises à disposition avec quelle profondeur de couleurs. Une section Screen peut se présenter par exemple comme dans Exemple 11.1, « La section Screen du fichier /etc/X11/xorg.conf ».

Exemple 11.1. La section Screen du fichier /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

La ligne Identifier (ici Screen[0]) donne à cette section un identificateur unique. On peut ensuite faire référence à cette section de manière univoque dans la section suivante ServerLayout. Les lignes Device et Monitor spécifient la carte graphique et l'écran qui appartiennent à cette définition. Ce ne sont donc rien de plus que des liens vers les sections de périphérique (Device) et d'écran (Monitor) au moyen des noms aussi appelés identifiers (identificateurs) correspondants. Ces sections sont décrites plus en détail ci-après.

Le paramètre DefaultDepth permet de définir la profondeur de couleurs avec laquelle le serveur démarre si aucune indication particulière ne lui est fournie au démarrage. Chaque profondeur de couleur est suivie d'une sous-section Display. La profondeur de couleurs valable pour la sous-section est fixée par le mot-clé Depth. Les valeurs possibles pour Depth sont 8, 15, 16 et 24. Tous les modules serveur X n'admettent pas forcément chacune de ces valeurs.

Après la profondeur de couleurs, on fixe une liste de résolutions dans la section Modes. Le serveur X parcourt cette liste de gauche à droite. Pour chaque résolution, il cherche une Modeline appropriée dans la section Modes. La modeline dépend de la capacité d'affichage de l'écran et de la carte graphique à la fois. Les paramètres dans la section Monitor détermine la Modeline correspondante.

La première résolution appropriée, dans le sens où on l'entend ici, est celle avec laquelle démarre le serveur X (appelée Default mode). Avec les touches Ctrl-Alt-+ (sur le pavé numérique) on peut se déplacer dans la liste vers la droite, avec Ctrl-Alt-- (sur le pavé numérique) vers la gauche. On peut donc faire varier la profondeur de couleurs de l'écran pendant que X est en marche.

La dernière ligne de la sous-section Display avec Depth 16 se rapporte à la taille de l'écran virtuel. La taille maximale possible de l'écran virtuel dépend de la quantité de mémoire installée sur la carte vidéo et de la profondeur de couleurs souhaitée, et non de la résolution maximale de l'écran. Comme les cartes graphiques modernes offrent une grande quantité de mémoire dédiée, elles permettent de créer des bureaux virtuels de grande taille. Notez que vous ne pourrez peut-être plus utiliser de fonctionnalités 3D si vous remplissez pratiquement toute la mémoire graphique avec le bureau virtuel. Si la carte dispose par exemple de 16 Mo de RAM vidéo, l'écran virtuel peut atteindre une taille de 4096x4096 pixels avec une profondeur de couleur de 8 bits. Il est cependant vivement recommandé, spécialement pour les cartes accélérées, de ne pas utiliser l'intégralité de la mémoire de la carte vidéo pour l'écran virtuel, puisque l'espace–mémoire non utilisé sur la carte vidéo est utilisé pour différents jeux de caractères graphiques.

11.2.2. Section Device

Une section Device décrit une carte graphique précise. Il peut y avoir un nombre quelconque de sections Device dans xorg.conf, tant que leurs noms, indiqués par le mot-clé Identifier se différencient. En règle générale—si vous avez installé plusieurs cartes graphiques—les sections sont simplement numérotées. La première est désignée par Device[0], la seconde par Device[1], etc. Vous voyez dans le fichier suivant l'extrait d'une section Device pour un ordinateur dans lequel est installée une carte graphique Matrox Millennium PCI :

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

Si vous utilisez SaX2 pour la configuration, la section Device devrait ressembler, à peu de choses près, à ce qui est décrit ci-dessus. En particulier,Driver et BusID dépendent bien sûr du matériel installé sur votre ordinateur et sont définis automatiquement par SaX2. Le BusID détermine l'emplacement PCI ou AGP dans lequel la carte graphique est enfichée. Celui-ci correspond à l'identificateur (ID) fourni par la commande lspci. Notez que le serveur X affiche les données en notation décimale, alors que le programme lspci les affiche en notation hexadécimale.

Avec le paramètre Driver, vous définissez le pilote à utiliser pour la carte graphique. Dans le cas de la carte Matrox Millennium, le module pilote s'appelle mga. Le serveur X recherche ce module dans le sous-répertoire Drivers via le ModulePathdéfini dans la section Files. Dans une installation par défaut, c'est le répertoire /usr/X11R6/lib/modules/drivers. Le nom est simplement suivi de _drv.o ; ainsi, dans le cas du pilote mga, le fichier pilote mga_drv.o est chargé.

Le comportement respectif du serveur X ou du pilote peut être influencé par des options supplémentaires. Dans la section Device, l'option sw_cursor est proposée à titre d'exemple. Cette option désactive le curseur matériel de la souris et représente le pointeur au niveau logiciel. Suivant le module pilote, vous disposez de différentes options que vous trouverez dans les fichiers de description des modules pilote dans le répertoire /usr/X11R6/lib/X11/doc. Vous trouverez également les options valables en général dans les pages de manuel (man xorg.conf et man X.Org).

11.2.3. Section Monitor et Modes

Les sections Monitor et Modes décrivent, comme les sections Device, chacune un écran. Le fichier de configuration /etc/X11/xorg.conf peut comporter autant de sections Monitor que nécessaires. Il est ensuite établi dans la section ServerLayout quelle section Monitor est concernée.

Les définitions d'écran ne doivent être définies que par des utilisateurs expérimentés. Les Modelines constituent une partie importante de la section Monitor. Les fréquences de synchronisation horizontales et verticales pour chaque résolution y sont définies. Les propriétés de l'écran, en particulier les fréquences de balayage autorisées sont renseignées dans la section Monitor.

[Warning]Avertissement

Il est préférable de ne rien changer aux modelines si on ne dispose pas d'une connaissance fondamentale du fonctionnement de l'écran et de la carte graphique, car cela pourrait, dans certains cas, infliger de sérieux dommages à votre écran.

Ceux qui se font suffisamment confiance pour développer leurs propres configurations d'écran doivent se familiariser avec la documentation du répertoire /usr/X11/lib/X11/doc. La section qui traite des modes vidéo est particulièrement intéressante. Elle décrit en détail le fonctionnement du matériel et la création de modelines.

Heureusement, il n'est aujourd'hui quasiment jamais nécessaire d'établir manuellement des modelines. Si vous utilisez un écran multisync moderne, les domaines de fréquences et les résolutions optimales peuvent, en règle générale, être directement lus depuis l'écran via le DDC du serveur X, comme cela est mentionné dans la section de configuration SaX2. Si cela n'est pas possible, vous pouvez aussi utiliser un des modes VESA pré-configurés du serveur X. Cela devrait fonctionner sans problèmes sur presque toutes les combinaisons carte graphique/écran.


SUSE LINUX Guide de l'administrateur 9.2