14.2. Optimisation de la configuration X

X.Org est une implémentation Open Source du système X Window. Elle a été développée par X.Org Foundation, qui est également responsable du développement de nouvelles technologies et normes pour le système X Window.

La configuration peut être optimisée manuellement pour tirer le meilleur parti de l'équipement disponible, comme la souris, la carte graphique, le moniteur et le clavier. Nous présentons ici quelques aspects de la procédure d'optimisation. Pour plus d'informations sur la configuration du système X Window, reportez-vous aux différents fichiers du répertoire /usr/share/doc/packages/Xorg ou la page de manuel man xorg.conf.

[Warning]Avertissement

Soyez prudent lorsque vous configurez votre système X Window. Ne démarrez jamais le système X Window avant d'avoir terminé la configuration. Un système mal configuré peut endommager votre équipement de manière irréversible (en particulier les moniteurs à fréquence fixe). Les auteurs de ce manuel et SUSE Linux déclinent toute responsabilité concernant les dommages éventuels. Ce texte a été établi avec le plus grand soin ; toutefois, nous ne pouvons pas garantir que toutes les méthodes présentées ici sont correctes et qu'elles ne présentent pas de risque pour votre équipement.

Les programmes SaX2 et xorgconfig créent le fichier xorg.conf, placé par défaut dans le répertoire /etc/X11. Il s'agit du fichier de configuration primaire du système X Window. Vous y trouverez les différents paramètres se rapportant à la carte graphique, à la souris et au moniteur.

Les sections suivantes décrivent la structure du fichier de configuration /etc/X11/xorg.conf. Il est composé de plusieurs sections qui se rapportent chacune à un aspect donné de la configuration. Chaque section est introduite par le mot-clé Section <désignation> et se termine par EndSection. Ces sections ont le format suivant :

 
Section désignation 
  entrée1 
  entrée2 
  entréeN 
EndSection 
 

Les types de sections disponibles sont présentés dans le Tableau 14.1, « Sections dans /etc/X11/xorg.conf ».

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

Type

Signification

Fichiers

Cette section décrit les chemins utilisés pour les polices et la table de couleurs RVB.

ServerFlags

Les paramètres généraux sont définis ici.

InputDevice

Les périphériques d'entrée, comme les claviers et les équipements spéciaux (pavés tactiles, joysticks, etc.), sont configurés dans cette section. Ici, les paramètres importants sont Driver (Pilote), ainsi que les options qui permettent de définir le protocole (Protocol) et le périphérique (Device).

Moniteur

Cette section décrit le moniteur utilisé. Les éléments de cette section sont le nom, auquel la définition Screen (écran) fait ensuite référence, la bande passante (Bandwidth) et les limites de fréquence de synchronisation (HorizSync et VertRefresh). Les valeurs sont indiquées en MHz, en kHz ou en Hz. En principe, le serveur refuse les valeurs modeline qui ne correspondent pas à la fréquence du moniteur. Cela évite d'indiquer par mégarde au moniteur des fréquences trop élevées.

Modes

Les paramètres modeline représentatifs de chaque résolution d'écran sont stockés ici. Ces paramètres peuvent être calculés par SaX2 sur la base des valeurs indiquées par l'utilisateur et n'ont en principe pas besoin d'être modifiés Vous pouvez toutefois intervenir manuellement, notamment si vous souhaitez vous connecter à un moniteur à fréquence fixe. Vous trouverez des informations plus détaillées sur la signification des différentes valeurs numériques dans les fichiers HOWTO (Guide pratique) /usr/share/doc/howto/en/html/XFree86-Video-Timings-HOWTO.

Périphérique

Cette section définit une carte graphique spécifique. Elle est référencée à l'aide de son nom descriptif.

Screen

Cette section associe un moniteur (Monitor) et un périphérique (Device) pour former tous les paramètres nécessaires pour X.Org. La sous-section Display permet de spécifier la taille de l'écran virtuel (Virtual), la fenêtre d'affichage (ViewPort) et les modes utilisés avec cet écran.

ServerLayout

Cette section définit la structure d'une configuration single ou multihead. Cette section lie également les périphériques d'entrée (InputDevice) et ceux d'affichage (Screen).

Les sections Monitor, Device et Screen sont décrites en détail ci-après. Vous trouverez des informations sur les autres sections dans les pages de manuel associées à X.Org et à xorg.conf.

Il peut y avoir plusieurs sections Monitor et Device dans le fichier xorg.conf. Vous pouvez même y trouver plusieurs sections Screen. La section ServerLayout qui suit détermine les éléments utilisés.

14.2.1. Section Screen

La section screen associe un moniteur à une section device et détermine la résolution et la profondeur de couleur à utiliser. Une section Screen peut se présenter comme dans l'Exemple 14.1, « Section Screen du fichier /etc/X11/xorg.conf ».

Exemple 14.1. 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]) attribue à cette section un nom spécifique qui permet de la référencer de façon unique dans la section ServerLayout qui suit. Les lignes Device et Monitor spécifient la carte graphique et le moniteur qui appartiennent à cette définition. Il s'agit simplement de liens vers les sections Device et Monitor, avec leurs noms ou leurs identificateurs propres. Ces sections sont décrites plus loin.

Le paramètre DefaultDepth permet de sélectionner la profondeur de couleurs que le serveur doit utiliser, sauf s'il est démarré avec une profondeur de couleurs spécifique. À chaque profondeur de couleurs correspond une sous-section Display. Le mot-clé Depth fixe la profondeur de couleurs valide pour cette sous-section. Les valeurs admises pour Depth sont 8, 15, 16 et 24. Certains modules serveur X n'admettent pas forcément toutes ces valeurs.

Après la profondeur de couleurs, vous établissez une liste de résolutions dans la section Modes. Le serveur X consulte cette liste de gauche à droite. Pour chaque résolution, le serveur X recherche une valeur modeline adéquate dans la section Modes. La valeur modeline dépend à la fois des capacités du moniteur et de celles de la carte graphique. Les paramètres de la section Monitor déterminent la valeur modeline résultante.

La première résolution trouvée est le mode par défaut (Default mode). La combinaison de touches Ctrl-Alt-+ (pavé numérique) permet de se déplacer dans la liste des résolutions, de gauche à droite. La combinaison de touches Ctrl-Alt- (pavé numérique) permet de se déplacer vers la gauche. Vous pouvez ainsi changer de résolution pendant que X est en cours d'exécution.

La dernière ligne de la sous-section Display, avec Depth 16, se rapporte à la taille de l'écran virtuel. La taille maximum d'un écran virtuel dépend de la quantité de mémoire installée sur la carte graphique et de la profondeur de couleurs souhaitée ; la résolution maximum du moniteur n'a aucun impact. Comme les cartes graphiques modernes ont une mémoire vidéo grande capacité, elles permettent de créer des bureaux virtuels de grande taille. Toutefois, vous risquez de ne plus pouvoir utiliser les fonctionnalités 3D si vous surchargez la mémoire vidéo avec un bureau virtuel trop étendu. Si la carte dispose de 16 Mo de RAM vidéo, par exemple, l'écran virtuel peut avoir une taille maximum de 4 096 x 4 096 pixels avec une profondeur de couleurs de 8 bits. Il est cependant recommandé, en particulier pour les cartes accélérées, de ne pas consacrer l'intégralité de la mémoire à l'écran virtuel, car cette mémoire intégrée à la carte sert également à plusieurs polices et caches graphiques.

14.2.2. Section Device

Une section Device décrit une carte graphique spécifique. Vous pouvez créer dans le fichier xorg.conf autant d'entrées Device que vous le souhaitez, à condition de différencier leur noms à l'aide du mot-clé Identifier. En principe, si vous avez installé plusieurs cartes graphiques, les sections sont simplement numérotées de façon séquentielle. La première section est appelée Device[0], la deuxième Device[1], etc. Le fichier ci-dessous présente un extrait de la section Device d'un ordinateur équipé d'une carte graphique PCI Matrox Millennium :

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 à l'exemple ci-dessus. Les deux paramètres Driver et BusID, qui dépendent du matériel installé sur l'ordinateur, sont détectés automatiquement par SaX2. Le paramètre BusID détermine l'emplacement PCI ou AGP où la carte graphique est installée. Cette valeur correspond à l'ID affiché par la commande lspci. Le serveur X utilise la notation décimale mais la commande lspci affiche les valeurs au format hexadécimal.

Le paramètre Driver permet de spécifier le pilote à utiliser pour cette carte graphique. Dans le cas d'une carte Matrox Millennium, le module pilote s'appelle mga. Le serveur X examine alors le chemin ModulePath défini dans la section Files jusqu'au sous-répertoire drivers. Dans une installation standard, il s'agit du répertoire /usr/X11R6/lib/modules/drivers. Le suffixe _drv.o est ajouté au nom. Ainsi, pour le pilote mga, le système charge le fichier de pilote mga_drv.o.

Des options supplémentaires permettent d'influencer le comportement du serveur X ou du pilote. L'option sw_cursor, définie dans la section Device, est notamment concernée. Cette option désactive le curseur matériel de la souris et le trace par voie logicielle. Suivant le module de pilote utilisé, diverses options sont disponibles, que vous pouvez consulter dans les fichiers de description des modules de pilote dans le répertoire /usr/X11R6/lib/X11/doc. En principe, les options valides sont également décrites dans les pages de manuel (man xorg.conf et man X.Org).

14.2.3. Sections Monitor et Modes

Comme les sections Device, les sections Monitor et Modes décrivent chacune un moniteur. Le fichier de configuration /etc/X11/xorg.conf peut contenir autant de sections Monitor que vous le souhaitez. La section ServerLayout permet de spécifier ensuite la section Monitor à appliquer.

Les définitions de moniteur ne doivent être configurées que par des utilisateurs confirmés. Les valeurs modeline forment une partie importante des sections Monitor. Les valeurs modeline définissent les fréquences de synchronisation horizontale et verticale associées à chaque résolution. Les propriétés du moniteur, notamment les fréquences admises, sont stockées dans la section Monitor.

[Warning]Avertissement

Il est conseillé de ne pas modifier les valeurs modeline sans connaissance approfondie des fonctions du moniteur et de la carte graphique, car vous risquez d'endommager gravement le moniteur.

Les utilisateurs suffisamment expérimentés pour développer leurs propres configurations de moniteur doivent avoir soigneusement consulté la documentation du répertoire /usr/X11/lib/X11/doc. La section qui traite des modes vidéo offre un intérêt tout particulier. Elle décrit en détail le mode de fonctionnement du matériel et la procédure à suivre pour créer des valeurs modeline.

Actuellement, il est rarement nécessaire de définir manuellement les valeurs modeline. En principe, si vous utilisez un moniteur MultiSync moderne, les fréquences admises et les résolutions optimales sont lues directement par le serveur X via DDC, comme le décrit la section qui présente la configuration de SaX2. Si cela n'est pas possible pour une raison quelconque, utilisez l'un des modes VESA intégrés au serveur X. Cela devrait fonctionner sans problèmes sur presque toutes les combinaisons carte graphique/moniteur.