10.2. Configuration de XFree86

La configuration de XFree86 commence avant tout par l'installation du serveur X. Un m�me serveur X peut prendre en charge plusieurs cartes graphiques sur une m�me machine, pourvu qu'il dispose des pilotes ad�quats. Inversement, il est possible de lancer plusieurs serveurs X, chacun utilisant sa propre carte graphique, ou partageant la m�me carte si la machine n'a qu'un seul terminal X.

XFree86 fournit un unique serveur X, qui prend en charge tous les types de cartes graphiques � l'aide de pilotes sp�cifiques. Dans une installation normale, ces pilotes sont fournis sous forme de modules de ce serveur. Les pilotes peuvent ainsi �tre charg�s dynamiquement par le serveur X, selon la configuration du syst�me. Cette architecture permet � un m�me serveur X de charger plusieurs pilotes pour plusieurs cartes graphiques, afin de g�rer les configurations disposant de plusieurs �crans connect�s � des cartes graphiques de diff�rents types. Il est donc n�cessaire que les modules prenant en charge vos cartes graphiques soient install�s, ce qui est normalement toujours le cas.

Par convention, le nom du serveur X est toujours X. Comme le nom du fichier programme du serveur X de XFree86 est XFree86 (on s'en serait dout�...), il doit exister un lien symbolique /usr/X11/bin/X qui pointe vers le fichier /usr/X11R6/bin/XFree86. Ce lien est, encore une fois, normalement toujours pr�sent sur les syst�mes correctement configur�s.

Une fois XWindow install�, la suite de la configuration de XFree86 se fait uniquement dans le fichier de configuration XF86Config. Ce fichier est classiquement stock� dans le r�pertoire /etc/X11/. Normalement, vous ne devez pas cr�er ce fichier vous-m�me. Votre distribution doit au moins vous en fournir un par d�faut et, souvent, elle dispose d'un outil de configuration de XFree86 convivial qui fera quasiment tout le travail pour vous. Ce genre d'outil est de plus capable de configurer XFree86 pour les pilotes sp�cifiques fournis avec les distributions (il n'est pas rare que les soci�t�s �ditrices de distributions d�veloppent des serveurs X pour les nouvelles cartes graphiques). Lisez donc votre documentation pour plus de d�tails � ce sujet.

Vous pouvez �galement utiliser les programmes de configuration fournis avec XFree86, qui vous permettront de g�n�rer ce fichier. Il existe trois possibilit�s pour g�n�rer un fichier de configuration XF86Config. La premi�re m�thode est de demander directement au serveur X de d�tecter le mat�riel pr�sent sur votre machine et de g�n�rer le fichier XF86Config correspondant. La deuxi�me m�thode, qui est aussi la plus s�re, est d'utiliser le programme xf86config. Il s'agit d'un outil fonctionnant en mode texte, qui est effroyablement peu pratique � utiliser. Enfin, un autre outil, beaucoup plus convivial, est en cours de d�veloppement. Il s'agit de xf86cfg. Cet outil permet de g�n�rer et de modifier les fichiers xf86cfg de mani�re conviviale, soit en mode texte avec des menus, soit en mode graphique. Lorsque cet outil sera termin�, la configuration de XFree86 sera beaucoup plus ais�e. Encore une fois, je ne saurai que vous recommander d'utiliser l'outil de configuration fourni avec votre distribution.

10.2.1. G�n�ration automatique du fichier XF86Config

Le serveur X de XFree86 est capable de d�tecter le mat�riel install� sur une machine et de g�n�rer un fichier de configuration XF86Config adapt� � ce mat�riel. Pour cela, il suffit simplement de le lancer avec l'option -configure sous le compte root, comme dans l'exemple suivant :

XFree86 -configure

� l'issue de cette commande, le serveur X �crira un fichier XF86Config.new dans le r�pertoire personnel de l'utilisateur root.

Cependant, le fichier de configuration ainsi g�n�r� n'utilisera que les options de configuration les plus s�res et devra souvent �tre r�vis� compl�tement. En pratique, seuls les param�tres de la carte graphique et de la souris seront correctement d�tect�s. Il ne faut donc utiliser cette fonctionnalit� que dans le but d'obtenir un squelette de fichier XF86Config, que l'on personnalisera ensuite. Ce fichier pourra �tre copi� dans le r�pertoire /etc/X11/ sous le nom XF86Config une fois qu'il aura �t� corrig�.

10.2.2. Utilisation de xf86config

Comme il l'a �t� indiqu� plus haut, xf86config est un programme fonctionnant en mode texte exclusivement. Son principe de fonctionnement est tr�s simple : il pose une s�rie de questions sur votre mat�riel, puis il g�n�re un fichier XF86Config g�n�rique pour votre mat�riel. Vous pourrez ensuite partir de ce mod�le pour personnaliser votre configuration et pour pr�ciser les param�tres que xf86config ne prend pas en charge.

Le principal probl�me de xf86config est qu'il ne laisse pas droit � l'erreur. La moindre faute de frappe ou la moindre h�sitation est prise comme une r�ponse valide, et il est impossible de revenir en arri�re. Cela est d'autant plus �nervant que dans ce cas, il ne reste plus qu'une solution, qui est de tout recommencer � partir du d�but. Apr�s trois ou quatre erreurs, on finit par faire extr�mement attention � ce que l'on tape.

Lorsqu'on lance xf86config, il commence par afficher un message indiquant qu'il va cr�er un nouveau fichier de configuration XF86Config que l'on pourra utiliser par la suite comme point de d�part pour param�trer son syst�me XWindow. Il faut valider pour passer ce message et commencer la configuration proprement dite.

La premi�re question que xf86config pose est le type de la souris que vous voulez utiliser. Il existe un grand nombre de types de souris sur le march�, cependant seuls deux types sont r�ellement courants.

Initialement, les souris se connectaient sur le port s�rie des ordinateurs. Ces souris, dites souris s�rielles, �taient relativement r�pandues et sont g�n�ralement r�f�renc�es sous le terme de � compatible Microsoft �. Il faut donc utiliser l'option � Microsoft compatible (2-button protocol) � pour ces souris. Notez que certaines souris s�rielles utilisent un protocole diff�rent pour g�rer un troisi�me bouton. Si vous disposez d'une telle souris, il faut choisir l'option � Mouse Systems (3-button protocol) �.

Plus r�cemment, le port PS/2 est apparu pour les claviers et les souris. Ce port permet de g�rer directement la plupart des souris actuelles, et il est probable que votre souris soit une souris PS/2. L'option � utiliser est cette fois l'option � PS/2 Mouse �. Il faut surtout ne pas confondre les souris PS/2 avec les souris bus (que l'on peut utiliser avec l'option � Bus Mouse �), qui sont des souris relativement peu r�pandues et qui utilisaient des bus sp�ciaux. Les autres options sont r�serv�es � des souris peu r�pandues. Si vous en utiliser une, vous devez choisir l'option correspondante.

Notez que les souris � molette connect�es sur le port PS/2 utilisent un protocole de communication l�g�rement diff�rent de celui que les autres souris PS/2 utilisent. Malheureusement, xf86config ne propose pas d'option pour ces souris, et une intervention manuelle dans le fichier de configuration XF86Config est n�cessaire pour les configurer. La mani�re de proc�der sera d�taill�e dans la Section 10.2.4.

La question suivante demande si vous d�sirez activer la fonctionnalit� d'�mulation d'un troisi�me bouton pour les souris � deux boutons. Cette �mulation permet d'utiliser les nombreux programmes pour XWindow qui n�cessitent d'utiliser une souris � trois boutons. Le clic sur le troisi�me bouton est alors simul� en appuyant sur les deux boutons de la souris simultan�ment. Il est tr�s vivement recommand� de r�pondre par 'y' � cette question si votre souris ne dispose que de deux boutons. En revanche, si elle dispose de plus de trois boutons, ou si elle dispose d'une roulette, il faut r�pondre par la n�gative.

xf86config demande ensuite le port sur lequel votre souris est connect�e. Ce port est g�n�ralement le port /dev/ttyS0 pour les souris s�rielles et /dev/psaux pour les souris PS/2. Les distributions cr�ent souvent un lien symbolique /dev/mouse sur le port effectivement utilis� par la souris, si bien que la r�ponse par d�faut utilise ce port. C'est la r�ponse recommand�e, validez donc pour passer � la question suivante.

Vient ensuite la s�lection du type de clavier. Encore une fois, un certain nombre de mod�les de claviers ont �t� vendus sur le march�. Cependant, seuls quelques-uns sont r�ellement r�pandus. En France, on trouve essentiellement les claviers internationaux 102 touches et 105 touches, auxquels correspondent les r�ponses � Generic 102-key (Intl) PC � et � Generic 105-key (Intl) PC �. Si vous utilisez un clavier Microsoft Natural Keyboard, choisissez l'option � Microsoft Natural �.

Vous devrez ensuite indiquer la disposition de ce clavier. Il faut �videmment choisir l'option � French �. xf86config demande alors de saisir un nom de variante pour le clavier choisi. Comme le clavier fran�ais n'est d�clin� que sous une seule variante, vous pouvez simplement valider pour passer � la suite de la configuration du clavier.

xf86config vous propose alors de modifier des param�tres additionnels du clavier (emplacement des touches modificatrices telles que les touches de majuscule, de contr�le et de jeu de caract�res alternatif, �tat des diodes, etc.). En g�n�ral, cela n'est pas n�cessaire et vous pouvez r�pondre 'n' � cette question.

La partie difficile vient ensuite. xf86config vous le signale avec un message indiquant que les informations de synchronisation horizontale et verticale sont extr�mement importantes pour configurer correctement les modes vid�o. La signification de ces valeurs vous sera d�crite plus loin en d�tail, pour l'instant, contentez-vous de r�cup�rer le manuel de votre moniteur et recherchez ses caract�ristiques pr�cises. Validez ensuite pour passer � la question suivante.

xf86config vous demande alors la plage de fr�quences horizontales que votre moniteur est en mesure d'accepter. Il propose un certain nombre de choix standards, qui correspondent aux diff�rents types de moniteurs existant sur le march�. Cependant, ces valeurs sont les plus mauvaises, car il est fort probable que votre moniteur sache faire mieux que ce que les standards imposent. Vous devez donc soit accepter une des plages de valeurs propos�es, soit saisir la plage correspondant exactement � votre moniteur � l'aide de l'option � Enter your own horizontal sync range �. Si vous choisissez cette derni�re option, vous devrez ensuite saisir la plage de valeurs des fr�quences horizontales de votre moniteur. Ne les inventez pas, cela ne marchera pas. Saisissez les vraies valeurs.

La m�me question est alors pos�e pour la plage de fr�quences verticales. Encore une fois, vous pouvez choisir l'une des plages propos�es selon le type de votre moniteur, ou saisir vous-m�me la plage de fr�quences cit�e dans ses caract�ristiques techniques � l'aide de l'option � Enter your own vertical sync range �. � l'issue de cette question, xf86config vous demande de saisir le nom du moniteur que vous venez ainsi de configurer. Ce nom est arbitraire, il ne sert que pour l'identifier de mani�re lisible par la suite. Entrez, par exemple, le nom du mod�le de l'�cran dont vous disposez.

La question suivante vous demande simplement si vous d�sirez choisir votre carte graphique dans la liste des cartes graphiques support�es par XFree86. Il est recommand� de r�pondre par l'affirmative en tapant 'y'. xf86config affiche alors la liste des cartes g�r�es, qui est assez longue. En fait, elle se pr�sente sur plusieurs pages, et il faut appuyer sur la touche Entr�e pour passer d'une page � la suivante. Si vous avez pass� une page de trop, vous �tes bon pour passer toutes les pages pour revenir � la premi�re, avant d'aller sur la page contenant votre carte graphique. Lorsque vous aurez trouv� votre carte, choisissez l'option correspondante et validez.

Si votre carte n'est pas pr�sente dans la liste, cela ne signifie pas qu'elle n'est pas support�e par XFree86. En effet, chaque pilote est capable de prendre en charge un type de puce �lectronique, et il arrive que plusieurs cartes graphiques soient bas�es sur une �lectronique provenant d'un m�me fabricant. C'est la raison pour laquelle les pilotes de XFree86 portent g�n�ralement le nom des puces utilis�es par les cartes. Par cons�quent, si vous ne trouvez pas votre carte dans la liste, vous pouvez essayer de sp�cifier le pilote correspondant � l'�lectronique de votre carte. Dans le pire des cas, vous pourrez quasiment toujours utiliser le pilote g�n�rique VESA, qui permet de piloter toutes les cartes graphiques compatibles avec les standards VESA 2.0. Cependant, vous ne b�n�ficierez d'aucune acc�l�ration mat�rielle avec ce pilote.

Les questions qui suivent d�pendent fortement de la carte s�lectionn�e. En effet, chaque carte peut avoir besoin d'un certain nombre de param�tres compl�mentaires pour fonctionner. Encore une fois, ces param�tres sont, normalement, indiqu�s dans le mode d'emploi de votre carte graphique ou, au pire, sur les composants de la carte eux-m�mes. Une des questions courantes concerne la quantit� de m�moire vid�o dont cette carte dispose. Pour cette question, les choix les plus courants sont propos�s, mais vous pouvez �galement sp�cifier vous-m�me cette quantit� � l'aide de l'option � Other �. L'unit� est ici le kilo-octet, pensez donc bien � multiplier par 1024 le nombre de m�ga-octet de m�moire vid�o de votre carte graphique avant de saisir la valeur. Lorque la configuration de la carte graphique sera termin�e, xf86config vous demandera de saisir le nom de cette carte. Encore une fois, ce nom est arbitraire, mais vous devriez saisir un nom coh�rent avec votre mod�le.

xf86config vous propose alors de modifier l'ordre d'utilisation des modes graphiques pour chaque profondeur de couleur. Cet ordre doit �tre sp�cifi� en donnant les num�ros des diff�rents modes, les uns apr�s les autres, et en ne les s�parant pas par des espaces. Par exemple, le nombre 432 s�lectionnera les modes 4, 3 et 2, soit les modes 1024x768, 800x600 et 640x480. Notez que l'ordre des num�ros est important, c'est l'ordre dans lequel ces modes seront choisi lorsqu'on basculera de l'un � l'autre. Lorsque vous aurez saisi les modes graphiques � utiliser et leur ordre d'apparition, xf86config vous proposera d'utiliser un �cran virtuel de taille sup�rieure � la r�solution physique du plus grand des modes graphiques choisi. Cela signifie que la r�solution de l'affichage sera sup�rieure � celle de votre �cran, et que XWindow fera d�filer automatiquement l'image affich�e lorsque la souris sortira de la portion d'image visible. Il est en g�n�ral conseill� de r�pondre par la n�gative � cette question, car cela peut �tre facilement d�routant. Cependant, c'est une affaire de go�t, et vous �tes libre d'accepter ce comportement. Notez que quelle que soit la r�ponse que vous donnerez, XWindow utilisera comme r�solution logique la r�solution du plus grand mode que vous avez s�lectionn�. Par cons�quent, ce m�canisme de d�filement sera encore utilis� pour les modes graphiques de r�solution inf�rieure, avec comme taille d'�cran virtuel la taille du mode ayant la r�solution la plus grande. Lorsque vous aurez configur� tous vos modes graphiques, vous pourrez passer � la suite en choisissant l'option � The modes are OK, continue. �.

xf86config vous demande alors le nombre de couleurs � utiliser par d�faut lorsque vous d�marrez en mode graphique. Choisissez bien, car il ne sera pas possible de changer cette valeur une fois que l'environnement graphique sera lanc�. Vous pourrez bien entendu la modifier manuellement, mais il vous faudra relancer le serveur X apr�s cela. La plupart des cartes graphiques modernes supportent les modes graphiques � 16 millions de couleurs, la r�ponse recommand�e est donc � 24 bits (16 million colors) �.

Enfin, la derni�re question est tout simplement si vous d�sirez enregistrer le fichier XF86Config correspondant aux options que vous avez choisies. Il faut bien entendu r�pondre par 'y', ou sinon vous devriez vous demander pourquoi vous �tes en train de lire ceci...

Le fichier XF86Config g�n�r� est g�n�ralement fonctionnel, mais parfaitement am�liorable. Le format de ce fichier sera d�crit en d�tail dans la Section 10.2.4. Si vous l'ouvrez, vous constaterez que xf86config a ajout� un nombre impressionnant de commentaires pour vous aider dans vos exp�rimentations. Bien entendu, vous trouverez �galement des informations compl�mentaires dans la page de manuel XF86Config.

10.2.3. Utilisation de xf86cfg

La mani�re la plus agr�able d'effectuer la configuration de XFree86 est sans nul doute d'utiliser l'utilitaire xf86cfg. Ce programme permet aussi bien de cr�er un fichier de configuration XF86Config initial que de modifier une configuration existante de mani�re graphique. Il dispose �galement d'un mode texte, qui reprend les m�mes questions que xf86config, mais d'une mani�re plus conviviale, � l'aide d'un syst�me de menus.

10.2.3.1. Configuration en mode graphique

Lorsqu'on lance xf86cfg, celui-ci commence par regarder si la variable d'environnement DISPLAY est d�finie ou non. Si elle est d�finie, il tente de se connecter au serveur X g�rant ce display afin de permettre l'�dition du fichier de configuration XF86Config du syst�me. Notez qu'il ne permet pas de modifier le fichier XF86Config utilis� par le serveur X auquel il se connecte si celui-ci utilise un autre fichier que le fichier du syst�me : le serveur X n'est utilis� par xf86cfg que pour son affichage.

Si, en revanche, la variable d'environnement DISPLAY n'est pas d�finie, xf86cfg consid�re que XWindow n'est pas install� sur la machine locale et appelle le serveur X avec l'option -configure afin de g�n�rer un nouveau fichier XF86Config. Il lance ensuite le serveur X d�tect� et utilise ce serveur pour permettre la modification du fichier XF86Config ainsi cr��.

� son d�marrage, il v�rifie que la souris est correctement configur�e. Si tel n'est pas le cas, il propose d'utiliser les touches du curseur du pav� num�rique pour d�placer le pointeur de la souris, ainsi que les touches /, * et - respectivement pour le premier, le deuxi�me et le troisi�me bouton de la souris. Je d�conseille fortement d'essayer d'effectuer la configuration dans ces conditions, car ce n'est r�ellement pas utilisable. Dans ce cas de figure, on cherchera plut�t � utiliser l'interface en mode texte de xf86cfg, que nous pr�senterons dans la section suivante.

L'interface de xf86cfg en mode graphique est tr�s simple. La partie sup�rieure de la fen�tre comprend un menu avec deux entr�es. La premi�re entr�e permet de choisir les diff�rentes parties intervenant dans la configuration. La deuxi�me entr�e (intitul�e � Expert Mode �) donne acc�s quant � elle � un mode de param�trage permettant d'�diter directement les propri�t�s du fichier XF86Config. Ce mode de fonctionnement est r�serv� aux utilisateurs avertis et ne sera pas d�crit ici.

La premi�re entr�e de menu comprend plusieurs options. L'option � Configure Layout � permet d'effectuer la configuration g�n�rale du display. L'option � Configure Screen � permet de configurer la disposition des diff�rents �crans d'un m�me display les uns par rapport aux autres. Elle n'est r�ellement utile que dans le cas des configurations � plusieurs �crans. L'option � Configure Modeline � donne la possibilit� de configurer les diff�rents modes graphiques de chaque configuration. Enfin, l'option � Configure AccessX � permet de sp�cifier les options des diff�rents p�riph�riques d'entr�e. Ces deux options de menus sont r�serv�es aux utilisateurs exp�riment�s et ne seront pas d�crites dans ce document.

L'essentiel de la configuration se fait dans l'�cran affich� lorsque l'option � Configure Layout � est choisie. Cet �cran est constitu� d'une barre d'ic�nes permettant d'ajouter les diff�rents p�riph�riques � la configuration courante : souris, claviers, cartes graphiques et moniteurs. Il n'est possible d'�diter qu'une seule configuration � la fois, la configuration courante peut �tre s�lectionn�e � l'aide du bouton situ� dans la partie inf�rieure gauche de la fen�tre. Le corps de la fen�tre elle-m�me contient une repr�sentation de cette configuration, avec les diff�rents p�riph�riques utilis�s et les relations qui existent entre eux.

En cliquant avec le bouton droit de la souris sur ces �l�ments, vous pouvez faire appara�tre un menu contextuel concernant cet �l�ment. Ce menu peut contenir l'option � configure �, qui donne acc�s � une bo�te de dialogue permettant d'�diter les propri�t�s de l'�l�ment, l'option � option �, qui permet d'ajouter des options g�n�rales � cet �l�ment, les options � enable � et � disable �, qui permettent d'activer ou de d�sactiver l'�l�ment en question dans la configuration, et l'option � remove �, dont le but est de supprimer l'�l�ment concern�.

Une configuration typique comprend au moins une souris, un clavier, une carte graphique et un moniteur. Il est recommand� d'ajouter les �l�ments de la configuration dans cet ordre, afin d'�viter d'avoir � revenir plusieurs fois sur certains de ces �l�ments.

La bo�te de dialogue ouverte par l'option � configure � sur une souris comprend un champ contenant l'identificateur de cette souris, la liste des fichiers sp�ciaux de p�riph�riques pour la s�lection du fichier sp�cial de p�riph�rique auquel la souris est connect�e, la liste des protocoles g�r�s par XFree86 et un bouton permettant d'activer l'�mulation du troisi�me bouton pour les souris � deux boutons. G�n�ralement, les souris sont connect�es soit sur le port s�rie (fichier sp�cial de p�riph�rique /dev/ttyS0 ou /dev/ttyS1), soit sur le port PS/2 (fichier sp�cial de p�riph�rique /dev/psaux). Les principaux protocoles g�r�s par XFree86 sont les suivants :

Microsoft

C'est le protocole utilis� par la plupart des souris connect�es sur le port s�rie. Ce type de souris est de plus en plus rare actuellement, ne choisissez cette option que si vous disposez de ce type de souris ;

IntelliMouse

C'est le protocole utilis� par les souris � molette connect�es sur le port s�rie. N'utilisez pas ce protocole pour les souris � molette connect�es sur le port PS/2, la souris ne fonctionnerait pas.

PS/2

C'est le protocole qui convient pour la majorit� des souris connect�es sur un port PS/2. Notez toutefois que ce n'est pas le cas des souris � molette Logitech et Microsoft ;

IMPS/2

C'est le protocole des souris � molette connect�es sur port PS/2. Malheureusement, ce protocole n'est pas propos� par xf86cfg. Il est donc impossible de configurer une souris de ce type avec cet utilitaire, sauf � passer dans le mode expert. La configuration � utiliser pour ce type de souris sera d�crite dans la Section 10.2.4.

Lorsque vous aurez configur� votre souris, vous pourrez utiliser le bouton � Apply changes � pour prendre en compte les changements si vous avez modifi� les param�tres de la souris courante. D�s lors, vous devriez avoir une souris fonctionnelle, et vous pouvez l'activer avec l'option � enable � du menu contextuel. Lorsque la souris est activ�e, un lien appara�t entre l'unit� centrale de l'ordinateur et cette souris dans la fen�tre de xf86cfg.

La bo�te de dialogue ouverte par l'option � configure � du menu contextuel des claviers comprend, comme la bo�te de dialogue des propri�t�s des souris, un champ permettant de saisir le nom de ce clavier dans la configuration. Vous pouvez �galement choisir le mod�le de clavier et sa disposition en fonction de sa langue. Pour les claviers fran�ais, le mod�le � utiliser est g�n�ralement celui des claviers internationaux 102 ou 105 touches, et la disposition � utiliser est la disposition � French �. Lorsque vous aurez configur� le clavier correctement, vous pourrez appliquer les changements avec le bouton � Apply changes �. Vous pourrez �galement activer le clavier dans la configuration courante � l'aide de l'option � enable � du menu contextuel du clavier. Un lien entre ce clavier et l'unit� centrale doit alors appara�tre dans la fen�tre principale de xf86cfg.

La bo�te de configuration des cartes graphiques contient le champ habituel pour donner un nom � la carte et la liste des cartes graphiques reconnues automatiquement par XFree86. Si votre carte ne se trouve pas dans cette liste, vous devrez choisir le pilote � utiliser. En g�n�ral, les pilotes portent le nom de la puce �lectronique sur laquelle la carte graphique est bas�e. Si aucun pilote n'est adapt� pour votre carte, vous pourrez malgr� tout utiliser un des pilotes g�n�riques vga ou vesa. Enfin, dans le cas o� plusieurs cartes graphiques sont install�es dans l'ordinateur, vous devrez sp�cifier l'adresse de la carte sur le bus PCI/AGP. N'oubliez pas d'activer la carte graphique � l'aide de l'option � enable � du menu contextuel lorsque vous aurez fini la configuration.

La bo�te de dialogue des moniteurs permet de sp�cifier un nom pour le moniteur ainsi que ses plages de fr�quences horizontales et verticales. Vous pouvez aussi s�lectionner la carte graphique � laquelle ce moniteur est connect�e. La liste ne propose que les cartes graphiques que vous avez configur� pr�c�demment. Les moniteurs n'ont pas besoin d'�tre activ�s, car il sont li�s aux cartes graphiques.

Une fois la configuration g�n�rale d�finie, vous pouvez, si elle contient plusieurs �crans, sp�cifier la disposition relative de ces �crans � l'aide de l'option � Configure Screen � du menu principal de xf86cfg. Cette option affiche les diff�rents �crans dans la fen�tre de xf86cfg, et vous pouvez les faire glisser pour les disposer comme vous le d�sirez.

Enfin, l'option de menu principal � Configure Modeline � vous permettra de d�finir de nouveaux modes graphiques et de les ajuster. Cet �cran fournit les m�mes fonctionnalit�s que l'utilitaire xvidtune, que l'on d�crira en d�tail dans la Section 10.2.6. Cet �cran ne sera donc pas trait� plus en d�tail ici.

Lorsque vous quittez xf86cfg, il vous propose d'enregistrer le fichier de configuration /etc/X11/XF86Config correspondant � la configuration que vous venez de d�finir. Vous pouvez sp�cifier un autre nom si vous le d�sirer, afin d'enregistrer ces param�tres dans un autre fichier. xf86cfg demande �galement si vous d�sirez sauvegarder la configuration du clavier, pour le cas o� vous auriez modifi� les param�tres des p�riph�riques d'entr�e.

10.2.3.2. Configuration en mode texte

xf86cfg permet �galement d'effectuer la configuration de XFree86 en mode texte, � l'aide d'une interface bas�e sur un syst�me de menus. Bien que ce mode de fonctionnement soit en mode texte, il permet d'effectuer les m�mes t�ches que xf86config d'une mani�re beaucoup plus conviviale.

Pour lancer xf86cfg en mode texte, il suffit simplement de lui passer l'option -textmode en ligne de commande :

xf86cfg -textmode

Lors de son d�marrage, xf86cfg affiche un �cran d'accueil que vous pouvez passer en validant l'option � Ok �.

xf86cfg affiche ensuite son menu principal, qui comprend des entr�es pour ajouter des souris, claviers, moniteurs et cartes graphiques. Ce menu contient �galement une entr�e � Configure screen �, qui permet d'associer les cartes graphiques aux moniteurs, et une entr�e � Configure layout �, qui permet de configurer le display en sp�cifiant le clavier, la souris et les diff�rents �crans � utiliser.

Le menu de configuration de la souris permet d'ajouter, de supprimer et de modifier des souris. L'ajout d'une souris n�cessite de saisir un identificateur pour la souris, le protocole que cette souris utilise et si le troisi�me bouton doit �tre simul� ou non. xf86cfg demande �galement le fichier sp�cial de p�riph�rique � utiliser pour acc�der � cette souris. Notez que xf86cfg ne permet pas de choisir le protocole IMPS/2 utilis� par les souris � molette connect�es sur le port PS/2, ce type de souris ne peut donc pas �tre configur� avec cet outil.

De la m�me mani�re, le menu de configuration du clavier demande de saisir un identificateur lorsqu'on ajoute un nouveau clavier. Le type de clavier est �galement demand�, ainsi que sa disposition. Pour les claviers fran�ais, il faut utiliser les claviers internationaux 102 ou 105 touches.

La configuration des moniteurs permet de sp�cifier un identificateur pour le moniteur, ainsi que les plages de fr�quences horizontales et verticales. La configuration des cartes graphiques quant � elle permet �galement de sp�cifier un identificateur pour la carte, et de choisir le type de carte dans la liste des cartes prises en charge par XFree86. Si votre carte n'est pas list�e, vous devrez choisir l'option � ** Unlisted card ** � et indiquer le pilote � utiliser pour cette carte. Ce pilote porte g�n�ralement le nom de la puce �lectronique sur laquelle cette carte est con�ue, mais vous pouvez �galement utiliser les pilotes g�n�riques vga et vesa pour les cartes graphiques compatibles avec ces standards. Enfin, xf86cfg vous propose de sp�cifier l'adresse de la carte sur le bus PCI/AGP, pour le cas o� vous auriez plusieurs cartes install�es sur la m�me machine.

Les identifiants donn�s aux moniteurs et aux cartes sont utilis�s dans le menu de configuration des �crans, qui demande quelle carte et quel moniteur sont utilis�s pour chaque �cran. La profondeur de couleur par d�faut est �galement demand�e, ainsi que la liste des modes graphiques g�r�s par cet �cran. Notez que l'interface en mode texte de xf86cfg ne permet pas de d�finir de nouveaux modes graphiques, pour cela, il faut recourir � l'interface en mode graphique ou �diter manuellement le fichier de configuration XF86Config.

Enfin, le menu de configuration g�n�ral permet de d�finir, de modifier et de supprimer les displays. Chaque display doit contenir une r�f�rence � une souris, un clavier et un ou plusieurs �crans. Remarquez encore une fois que l'interface en mode texte de xf86cfg ne permet pas de pr�ciser la disposition relative des �crans les uns par rapport aux autres. Pour cela, vous devrez utiliser l'interface en mode graphique ou �diter manuellement le fichier de configuration de XFree86.

Lorsque vous aurez fini la configuration de XFree86, vous pourrez l'enregistrer � l'aide du menu � Write XF86Config and quit �. Ce menu vous demande le chemin complet sur le fichier de configuration � �crire. Vous pouvez sp�cifier un autre fichier que le fichier de configuration du syst�me si vous d�sirez l'�diter et le modifier manuellement de mani�re ind�pendante.

10.2.4. Description du fichier XF86Config

Les fichiers g�n�r�s par les outils de configuration de XFree86 sont, comme nous l'avons d�j� pr�cis�, des fichiers devant servir de point de d�part pour r�aliser votre configuration. Normalement, ils permettent de d�marrer le serveur X et de travailler dans de bonnes conditions, toutefois, il est possible d'am�liorer sensiblement la qualit� de l'affichage et l'ergonomie du syst�me en mettant un peu la main � la p�te. Cette section entreprend donc de d�crire la structure du fichier de configuration XF86Config et les principales options que l'on peut utiliser. D'autre part, il peut �tre instructif de conna�tre la nature des informations que ce fichier contient, et quelles sont les cons�quences des choix effectu�s dans les utilitaires de configuration.

10.2.4.1. Structure g�n�rale du fichier XF86Config

Le fichier XF86Config est constitu� d'un certain nombre de sections contenant chacune les options pour une partie de l'architecture de XFree86. La configuration de XFree86 est un sujet ardu, aussi seules les principales sections du fichier XF86Config seront d�crites dans ce document. Vous pouvez vous r�f�rer � la page de manuel XF86Config et � la documentation de XFree86 pour plus de d�tails � ce sujet.

Certaines sections peuvent �tre d�finies plusieurs fois, avec diff�rents jeux d'options � chaque fois, afin de permettre la d�finition de plusieurs configurations. Bien entendu, lorsqu'un serveur X tourne, une seule configuration seulement est utilis�e. Cette configuration est sp�cifi�e soit directement en ligne de commande lors du lancement du serveur X, soit en indiquant une configuration par d�faut dans le fichier de configuration.

D'autres sections sont globales, et contiennent les options de configuration g�n�rales du serveur X. Ces options concernent typiquement l'environnement dans lequel il est suppos� fonctionner, et les options qui ne d�pendent pas de la configuration utilis�e.

La premi�re section globale est la section � Files �, qui porte relativement mal son nom, car au lieu de fichiers, elle indique les chemins vers les diff�rentes ressources que le serveur X peut utiliser. Ces ressources comprennent les polices de caract�res, l'emplacement des modules compl�mentaires et l'emplacement des fichiers de d�finitions de couleurs.

La deuxi�me section globale est la section � ServerFlags �. Cette section contient les options g�n�rales � utiliser par d�faut pour tous les serveurs X. Elles permettent d'activer ou de d�sactiver certaines fonctionnalit�s ou extensions non standards. Ces options fournissent des valeurs par d�faut, elles peuvent �tre modifi�es pour chaque serveur X de mani�re ind�pendante si n�cessaire.

La troisi�me section globale est la section � Module �. Cette section contient les commandes de chargement des diff�rents modules du serveur X, lorsque ce serveur est compil� sous forme modulaire. Chaque module g�re une certaine partie des fonctionnalit�s, et celles-ci peuvent donc �tre activ�es ou d�sactiv�es au niveau de cette section.

Viennent ensuite les sections de configuration des displays. Ces sections d�crivent chacune un des aspects du display, et peuvent appara�tre en de multiples exemplaires.

Le premier type de section de configuration des displays regroupe toutes les sections qui d�finissent les p�riph�riques d'entr�e de donn�es (clavier, souris, table de digitalisation, etc.). Ces sections sont toutes nomm�es � InputDevice �.

Le deuxi�me type de section de configuration contient la d�finition des adaptateurs graphiques. Ces sections permettent de donner les renseignements n�cessaires pour la configuration des diff�rentes cartes graphiques install�es sur le syst�me. Elles sont toutes nomm�es � Device �.

Viennent ensuite les sections � Monitor � qui, comme leur nom l'indique, permettent de d�finir les caract�ristiques physiques des diff�rents moniteurs utilisables. Encore une fois, il peut exister plusieurs sections de ce type, pour d�finir plusieurs moniteurs dans les configurations multi-t�tes.

Normalement, chaque moniteur est, en fonction de ses capacit�s, capable de g�rer diff�rents modes graphiques. Les sections � Monitor � peuvent donc contenir des d�finition de modes graphiques, mais ce n'est pas la technique recommand�e. En effet, il est possible d'utiliser plusieurs moniteurs avec des modes graphiques identiques, aussi XFree86 donne-t-il la possibilit� de d�finir les modes graphiques en dehors des sections � Monitor � (ce n'est toutefois pas une obligation). Dans ce cas, les modes graphiques seront d�finis dans des sections nomm�es � Modes �, et celles-ci seront r�f�renc�es par les sections des moniteurs qui les utilisent.

Les moniteurs sont faits pour �tre branch�s sur des cartes graphiques. Comme on l'a vu ci-dessus, il est possible de d�finir plusieurs sections � Device � et plusieurs sections � Monitor �, afin de d�crire plusieurs cartes graphiques et plusieurs moniteurs. Il faut donc sp�cifier quels moniteurs sont connect�s � quelles cartes graphiques. C'est exactement le r�le des sections � Screen �. Pour XFree86, un �cran n'est donc rien d'autre qu'un couple fonctionnel moniteur / carte graphique. Notez que certaines cartes graphiques haut de gamme peuvent prendre en charge plusieurs �crans. Dans ce cas, il faudra d�finir plusieurs sections � Device � pour la m�me carte graphique, et sp�cifier les ports de sortie dans les options de ces sections.

Enfin, il ne reste plus qu'� d�finir le display lui-m�me. Nous avons d�j� d�fini la notion de display ci-dessus comme �tant le regroupement d'un clavier, d'une souris et d'un ou plusieurs �crans. Ces associations sont donc d�finies dans des sections nomm�es � ServerLayout �. Une section de ce type contient donc n�cessairement une r�f�rence � une section � InputDevice � pour le clavier et une section � InputDevice � pour le p�riph�rique de pointage, et une ou plusieurs sections � Screen � pour les �crans utilis�s par le serveur X. Dautre part, comme leur nom l'indique, les sections � ServerLayout � permettent �galement de sp�cifier la disposition relative des �crans les uns par rapport aux autres, dans le cas des configurations multi-t�tes.

Figure 10-2. Structure du fichier XF86Config

Nous allons � pr�sent d�crire un peu plus en d�tail les diff�rentes sections qui ont �t� pr�sent�es ici. Toutes ces sections sont introduites par le mot cl� � Section � suivi du type de la section, indiqu� entre guillemets, et se terminent toutes par le mot cl� � EndSection �. Entre ces deux balises, un certain nombre d'informations peuvent �tre sp�cifi�es, et peuvent m�me �tre regroup�es en sous-sections. �tant donn� le grand nombre d'options qui peuvent �tre indiqu�es dans les sections du fichier XF86Config, seules les plus classiques seront d�crites ci-dessous.

10.2.4.2. Section � Files �

La section � Files �, contient les chemins vers les ressources utilis�s par XFree86. Ce peut �tre les r�pertoires de polices de caract�res, les r�pertoires d'installation des modules du serveur X, ou encore des chemins indiquant l'adresse et le port de serveurs de polices sur un r�seau. Cette section est donc relativement riche de renseignements pour le serveur X. Un exemple typique de section � Files � est donn� ci-dessous :

Section "Files"
    RgbPath     "/usr/X11R6/lib/X11/rgb"
    FontPath    "/usr/X11R6/lib/X11/fonts/local"
    FontPath    "/usr/X11R6/lib/X11/fonts/misc"
    FontPath    "/usr/X11R6/lib/X11/fonts/75dpi"
    FontPath    "/usr/X11R6/lib/X11/fonts/100dpi"
    ModulePath	"/usr/X11R6/lib/modules"
EndSection

Les chemins indiqu�s sont des chemins Unix classiques, et sont introduits par les mots cl�s � FontPath �, � RgbPath � et � ModulePath � respectivement pour les chemins sur les r�pertoires de polices, les r�pertoires de fichiers de d�finition de couleurs et les r�pertoires d'installation des modules. Cependant, comme on le verra plus loin, l'acc�s aux serveurs de polices se fait � l'aide d'une syntaxe de chemin particuli�re.

10.2.4.3. Section � ServerFlags �

Cette section regroupe les principales options globales de tous les serveurs X. Ces options sont g�n�ralement introduites � l'aide du mot cl� � Option �, suivi du nom de l'option entre guillemets, lui-m�me suivi d'une �ventuelle valeur pour cette option, elle aussi entre guillemets. Par exemple, l'option :

Option "DontZap"

permet d'emp�cher que l'utilisateur puisse utiliser la combinaison de touches CTRL+ALT+BACKSPACE (en temps normal, cette combinaison de touches a pour cons�quence de tuer le serveur X, et de forcer la d�connexion de toutes les applications en cours de fonctionnement).

De m�me, l'option :

Option "Dont Zoom"

d�sactive les combinaisons de touches CTRL+ALT+PLUS et CTRL+ALT+MINUS, o� PLUS et MINUS sont respectivement les touches plus et moins du pav� num�rique. Ces deux combinaisons de touches sont normalement utilis�es respectivement pour passer d'un mode vid�o au suivant ou au pr�c�dent.

Il existe beaucoup d'autres options g�n�rales du serveur X. Les plus int�ressantes sont sans doute les options � BlankTime �, � StandbyTime �, � SuspendTime � et � OffTime �, qui permettent de contr�ler les dur�es des �conomiseurs d'�crans mat�riels. Vous trouverez la description des autres options dans les fichiers XF86Config g�n�r�s automatiquement, et bien entendu dans la page de manuel XF86Config.

10.2.4.4. Section � Module �

Cette section contient la liste des modules que les serveurs X doivent charger lorsqu'ils d�marrent. Ces modules peuvent �tre sp�cifi�s de deux mani�res diff�rentes, une abr�g�e et une plus compl�te. La forme abr�g�e utilise le mot cl� � Load �, suivi du nom du module entre guillemets. Par exemple, la ligne suivante permet de demander le chargement du module de gestion des polices TrueType :

Load "freetype"

La forme compl�te utilise une sous-section, introduite par le mot cl� � SubSection � suivi du nom du module entre guillemets, et se terminant par le mot cl� � EndSubSection �. Ces sous-sections ont la m�me structure que les sections normales, et permettent de sp�cifier des options pour le module � l'aide du mot cl� � Option �. Par exemple, les extensions du serveur X peuvent �tre charg�es � l'exception de l'extension DGA � l'aide de la sous-section suivante :

SubSection "extmod"
    Option "omit XFree86-DGA"
EndSubSection

Note�: L'extension DGA permet aux applications d'acc�der directement � la m�moire vid�o de la carte graphique. La d�sactiver accro�t donc la s�curit� du syst�me, mais peut emp�cher certaines applications de fonctionner correctement. C'est le cas des jeux, et surtout des programmes de t�l�vision sous XWindow. Par cons�quent, il est probable que vous vouliez laisser ces extensions activ�es. Dans ce cas, il suffit simplement de ne pas sp�cifier l'option omit de l'exemple pr�c�dent.

Outre les modules freetype et extmod donn�s dans les exemples pr�c�dents, vous pourrez peut-�tre utiliser les modules dri et glx. Ces modules permettent respectivement d'activer les fonctionnalit�s DRI (abr�viation de l'anglais � Direct Rendering Infrastructure �) du noyau et le support de la 3D par OpenGL. Les diff�rentes cartes capables de g�rer les fonctionnalit�s DRI sont celles list�es dans la configuration du noyau, que l'on a d�j� vue dans la Section 7.3. Notez toutefois que ces fonctionnalit�s ne sont indispensables pour utiliser le module glx que pour ces cartes. En particulier, les cartes graphiques bas�es sur les puces NVidia peuvent utiliser le module glx sans charger le module dri, car le pilote fourni par NVidia utilise un autre m�canisme.

10.2.4.5. Section � InputDevice �

Les sections � InputDevice � permettent de d�crire tous les types de p�riph�riques d'entr�e. En pratique, il s'agira souvent de claviers et de souris, mais il est �galement possible de connecter des p�riph�riques plus exotiques tels que les joysticks et les tablettes de dessin.

Les sections � InputDevice � doivent �tre nomm�es avec un identificateur unique, introduit par le mot cl� � Identifier �. Ce mot cl� doit �tre suivi du nom de la section, donn� entre guillemets. C'est ce nom qui sera utilis� pour r�f�rencer la section dans les sections � ServerLayout � pour d�finir les diff�rents displays.

La nature du p�riph�rique d'entr�e est ensuite sp�cifi�e par la valeur de l'option � Driver �. En pratique, on utilisera quasiment toujours Keyboard ou Mouse, qui correspondent bien �videmment aux pilotes pour les claviers et les souris.

La suite des options de la section � InputDevice � est fonction de la nature du pilote utilis�. Les options les plus courantes pour un clavier sont donn�es dans l'exemple suivant :

Section "InputDevice"
    Identifier  "Clavier 1"
    Driver      "Keyboard"

# L'option suivante permet de sp�cifier le d�lai
# avant r�p�tition (en millisecondes) et la vitesse
# de r�p�tition une fois ce d�lai pass� (en caract�res
# par seconde) :
    Option      "AutoRepeat" "500 30"

# L'option suivante indique que la d�finition de clavier
# � utiliser est celle de XFree86 :
    Option      "XkbRules" "xfree86"

# L'option suivante indique que le mod�le de clavier
# utilis� est un clavier 105 touches :
    Option      "XkbModel" "pc105"

# L'option suivante indique que la disposition
# des touches est celle d'un clavier fran�ais :
    Option      "XkbLayout" "fr"

EndSection

De m�me, vous trouverez ci-dessous un exemple typique de section � InputDevice � pour une souris :

Section "InputDevice"
    Identifier  "Souris 1"
    Driver      "Mouse"

# L'option suivante indique que la souris est
# une souris de type PS/2 :
    Option      "Protocol" "PS/2"

# L'option suivante indique le fichier sp�cial
# de p�riph�rique � utiliser pour cette souris :
    Option      "Device" "/dev/psaux"

# L'option suivante indique le nombre de boutons
# de la souris :
    Option      "Buttons" "2"

# L'option suivante demande � XFree86 d'�muler
# le troisi�me bouton de la souris par clic
# simultan� des deux boutons :
    Option      "Emulate3Buttons"

EndSection

Note�: Pour les souris � molette connect�es sur port PS/2, vous devrez choisir le protocole � IMPS/2 � au lieu du protocole � PS/2 � et indiquer que la souris a 5 boutons. De plus, vous devrez ajouter l'option � ZAxisMapping � dans la section � InputDevice � de votre souris, et lui donner la valeur � 4 5 �. Cette option permet de rediriger la rotation de la molette sur les �v�nements des boutons 4 et 5 de la souris. De cette mani�re, vous pourrez utiliser votre molette dans toutes les applications qui g�rent ces deux boutons.

10.2.4.6. Sections � Device �

Les sections � Device � contiennent les descriptions des cartes graphiques utilis�es. Ces descriptions n'indiquent absolument pas quel est le serveur X utilis� : elles ne contiennent qu'une description du mat�riel. Notez, encore une fois, qu'il est possible de d�finir plusieurs sections � Device �, qui pourront �tre utilis�es dans les sections � Screen � associant les cartes graphiques aux moniteurs.

Tout comme les sections � InputDevice �, les sections � Device � doivent disposer d'un identificateur unique, afin de pouvoir les r�f�rencer dans les sections � Screen � qui les utilisent. Cet identificateur est introduit par le mot cl� � Identifier � et suivi d'un nom indiqu� entre guillemets.

Les sections � Device � peuvent contenir un certain nombre d'options permettant de caract�riser la carte graphique et de pr�ciser ses capacit�s (m�moire, rapidit�, adresse sur le bus PCI, etc.). Toutes ces options sont bien entendu sp�cifiques aux diff�rentes cartes graphiques, et ne seront pas d�crites en d�tail ici.

L'option la plus importante est sans doute l'option � Driver �, qui permet d'indiquer le pilote que le serveur X devra charger pour piloter cette carte graphique. C'est � ce niveau qu'il faut surtout ne pas se tromper, puisque la moindre erreur ferait �chouer le d�marrage du serveur X. En g�n�ral, les pilotes portent le nom du chipset utilis� par la carte graphique, si bien qu'il n'est pas difficile de d�terminer la valeur exacte � utiliser. XFree86 fournit �galement deux pilotes g�n�riques vga et vesa, permettant respectivement de prendre en charge les cartes graphiques compatibles avec le standard VGA ou compatibles avec le standard VESA 2.0. Sachez cependant que ces pilotes ne disposent d'aucune acc�l�ration mat�rielle, et que leurs performances sont donc bien inf�rieures aux pilotes sp�cialis�s pour chaque carte graphique.

Vous trouverez ci-dessous un exemple de section � Device � typique :

Section "Device"
    Identifier  "Carte 1"
    VendorName  "CHAINTECH"
    BoardName   "TORNADO I7000"

# Cette option indique au serveur X qu'il doit
# charger le module i740_drv pour piloter cette
# carte graphique :
    Driver      "i740"

# Cette option indique la quantit� de m�moire
# vive dont cette carte dispose (en ko) :
    VideoRam    8192
EndSection

Note�: Les options des sections � Device � ne sont pas tr�s compliqu�es � utiliser. Cependant, quelques-unes peuvent poser des probl�mes lorsqu'on r�alise des configurations multi-t�tes (c'est-�-dire des configurations disposant de plusieurs �crans). Dans la majorit� des cas, il faut installer plusieurs cartes graphiques dans le PC pour pouvoir utiliser plusieurs �crans. En g�n�ral, on utilise une carte AGP et une ou plusieurs cartes PCI. Il va de soi qu'il faut que chaque pilote utilise la bonne carte, aussi faut-il indiquer, dans chaque section � Device �, l'adresse de la carte d�crite par la section. Cette adresse est d�finie � l'aide de l'option � BusID �. Cette option permet de retrouver la carte graphique sur les diff�rents bus syst�mes. Les cartes AGP utilisant le m�me m�canisme d'adressage que les cartes PCI, on utilisera la syntaxe suivante :

"PCI:bus:p�riph�rique:fonction"
o� bus est le num�ro du bus PCI sur lequel se trouve la carte graphique, p�riph�rique est le num�ro du p�riph�rique sur ce bus, et fonction est le num�ro de la fonction � utiliser pour acc�der � ce p�riph�rique. Vous pouvez utiliser la commande lspci pour afficher les caract�ristiques des diff�rents bus PCI de votre machine et d�terminer les valeurs utilis�es par vos cartes graphiques.

Certaines cartes graphiques haut de gamme disposent de plusieurs contr�leurs vid�o et sont donc capables de g�rer plusieurs �crans. Pour ces cartes graphiques, le principe de fonctionnement est le m�me : il faut �crire une section � Device � pour chaque contr�leur vid�o existant. Cependant, �tant donn� que toutes ces sections s'adressent � la m�me carte graphique, il est impossible de les distinguer par l'interm�diaire de l'option � BusID �. Dans ce cas, on utilise alors l'option � Screen �, suivie du num�ro du contr�leur vid�o que la section d�crit. Ce num�ro doit �tre donn� juste apr�s l'option � Screen �, sans guillemets. La num�rotation des contr�leurs vid�o commence � 0. C'est cette valeur qui est utilis�e pour toutes les cartes graphiques ne disposant que d'un seul contr�leur vid�o.

10.2.4.7. Sections � Monitor �

Les sections � Monitor � contiennent les informations descriptives des �crans. Notez qu'il est possible de d�finir plusieurs sections � Monitor �, pour plusieurs �crans potentiels. Cependant, chaque section � Screen � devra utiliser un moniteur et un seul.

Les sections � Monitor � sont certainement les sections les plus importantes du fichier XF86Config. Elles contiennent en effet toutes les informations concernant les moniteurs et tous les param�tres des modes graphiques utilis�s par ces moniteurs. Ces informations sont utilis�es par le serveur X pour programmer les signaux vid�o que la carte graphique envoie au moniteur. Il est donc �vident que chaque section � Monitor � est sp�cifique � un mod�le de moniteur donn�, et que la d�termination des valeurs qui doivent y �tre �crites requiert une bonne connaissance du fonctionnement de ce moniteur et de ses caract�ristiques physiques. Vous trouverez une description g�n�rale du fonctionnement des moniteurs dans les paragraphes qui suivent. Il est imp�ratif de bien les assimiler si vous d�sirez cr�er ou modifier une section � Monitor �, car si les informations qui y sont stock�es sont erron�es, le moniteur correspondant risque d'�tre gravement endommag�.

Le principe de fonctionnement des tubes cathodiques utilis�s dans les moniteurs est tr�s simple : � chaque instant, un faisceau d'�lectrons g�n�r� par un canon � �lectrons vient frapper un point d'une plaque phosphorescente situ�e juste derri�re la vitre du moniteur. L'�nergie cin�tique des �lectrons du faisceau est transform�e en lumi�re par le phosphore en ce point, qui reste ainsi lumineux tant que le faisceau frappe ce point. Comme un seul faisceau est utilis� pour tous les points de la plaque phosphorescente, il faut d�placer le faisceau de point en point pour pouvoir tous les �clairer. Cela a bien entendu pour cons�quence que les points ne restent lumineux que pendant un temps tr�s court. Cependant, nous percevons la luminosit� de ce point pendant un temps beaucoup plus long, en raison de la r�manence des cellules de l'�il. Les points de l'�cran semblent donc �tre tous allum�s en m�me temps, bien qu'� chaque instant un seul d'entre eux est atteint par le faisceau d'�lectrons. Nous voyons ainsi l'image compl�te du moniteur.

Le d�placement du faisceau d'�lectrons est assur� par un champ magn�tique g�n�r� par des bobinages magn�tiques � l'arri�re du tube cathodique. Le faisceau balaye l'�cran ligne par ligne, de gauche � droite (en regardant le moniteur de face). � chaque fois qu'il atteint le bord gauche, il retourne rapidement vers le d�but de la ligne suivante, sur le bord droit du moniteur. Ce retour se fait simplement en modifiant brusquement le champ magn�tique qui dirige le faisceau. Il va de soi que le faisceau d'�lectrons est coup� pendant ce retour de balayage, car s'il ne l'�tait pas, on le verrait traverser l'�cran de droite � gauche et perturber ainsi l'image. De plus, le champ magn�tique n'est pas facilement contr�lable lorsque le retour du faisceau commence. Par cons�quent, il est n�cessaire que ce retour se fasse un certain temps apr�s que le bord droit ait �t� �teint. Si ce n'�tait pas le cas, l'image serait d�form�e pr�s des bords du moniteur. Le faisceau �lectronique continue donc de balayer l'�cran sur une petite zone apr�s le bord de l'image, sans �mettre de lumi�re. Cette zone s'appelle le � blanking � horizontal.

De m�me, le faisceau �lectronique retourne rapidement en haut de l'�cran d�s qu'il en atteint le bas. Pour les m�mes raisons que pour les retours de balayage horizontal, le faisceau doit �tre �teint un peu avant et pendant la modification du champ magn�tique lors des retours de balayage vertical. La zone ainsi parcourue par le faisceau apr�s le bord de l'image s'appelle le � blanking � vertical.

Note�: Il est possible d'utiliser d'autres m�thodes de balayage que celle d�crite ci-dessus. En particulier, les modes graphiques entrelac�s ne suivent pas ce principe. Dans ces modes, seulement une ligne sur deux est balay�e � chaque g�n�ration d'image. Les lignes paires sont d'abord affich�es pour une premi�re image, puis les lignes impaires sont affich�es pour l'image suivante. Ces modes graphiques �taient utilis�s lorsque les moniteurs n'�taient pas suffisamment rapides pour afficher une image compl�te sans que l'on puisse voir le balayage du faisceau d'�lectrons. De nos jours, il est d�conseill� d'utiliser ces modes, car l'image a tendance � trembler du fait de l'�cart de luminosit� alternatif entre les lignes paires et impaires de l'�cran.

Les limitations techniques de la technologie des tubes cathodiques imposent une limite sup�rieure pour la vitesse de balayage, et une limite inf�rieure pour la dur�e des retours de balayage horizontal et vertical, ainsi que pour la dur�e minimale du blanking. Les caract�ristiques techniques des tubes sont donc souvent sp�cifi�s en terme de fr�quences de balayage et de dur�es des signaux de synchronisation. Les vieux moniteurs ne pouvaient supporter qu'un nombre limit� de fr�quences de balayage, que l'on qualifiaient alors de � fixes �. De nos jours, les �crans multisynchrones acceptent toutes les fr�quences comprises dans une plage de valeur, et s'adaptent donc aux fr�quences des signaux �mis par les cartes graphiques.

La fr�quence de balayage vertical utilis�e dans un mode graphique donn� constitue le taux de rafra�chissement de l'�cran, c'est-�-dire le nombre de fois que l'image de l'�cran est affich�e par seconde. Il est �vident qu'un taux de rafra�chissement trop faible ne permet pas d'avoir une image agr�able � regarder, car elle semble trembler ou clignoter. Un tube cathodique de bonne qualit� est donc un tube qui permet d'utiliser de hautes fr�quences verticales. Comme il est n�cessaire d'afficher toutes les lignes pour afficher une image compl�te, il va de soi qu'un bon tube doit �galement �tre capable d'afficher les lignes rapidement, et donc accepter des fr�quences de balayage horizontal �lev�es. Typiquement, les fr�quences de balayage horizontal sont environ mille fois plus �lev�es que les fr�quences de balayage vertical, puisque chaque ligne peut contenir environ mille pixels.

La sensibilit� au taux de rafra�chissement d�pend des personnes et de l'emploi que l'on fait du tube. Les tubes destin�s � �tre regard�s de loin peuvent utiliser des fr�quences beaucoup plus faibles que les tubes de proximit�. Ainsi, les t�l�visions affichent 25 images par seconde (en fait, elles affichent 50 demi-images par seconde, car elles utilisent l'entrelacement). En revanche, ce taux de rafra�chissement est tr�s insuffisant pour les moniteurs d'ordinateurs, o� la limite inf�rieure est de 60 Hz. Le standard VESA exige des taux de 72 Hz ou plus pour que l'image soit agr�able � regarder, mais de nombreux �crans supportent facilement 85 Hz ou plus de nos jours. Certaines personnes ne sont cependant pas d�rang�es par des taux aussi faibles que 60 Hz. Il est bon de savoir quel taux de rafra�chissement vous convient, car un balayage insuffisant peut fatiguer vos yeux, m�me sans que vous en soyez conscient. Et cette fatigue se traduit toujours un jour ou un autre par des maux de t�te inexpliqu�s... Ne vous vantez donc pas de voir le balayage, c'est un grave handicap par rapport � ceux qui ne le voient pas et qui donc ont moins de maux de t�te que vous !

Vous pouvez utiliser la m�thode suivante pour d�terminer si le taux de rafra�chissement est suffisant pour vous. Commencez par afficher une image blanche sur la totalit� de la surface visible de votre moniteur. Puis r�glez la luminosit� du moniteur � son maximum. Placez-vous ensuite de biais par rapport � votre moniteur, et regardez en face de vous. Concentrez ensuite votre attention sur l'image de l'�cran, sans le regarder directement (regardez-le � en coin �). Normalement, vous devez percevoir l'image avec les cellules lat�rales de la r�tine, qui donnent une image moins pr�cise que les cellules centrales, mais qui sont plus sensibles aux mouvements (ces cellules nous servent en quelque sorte d'antennes). Ces cellules sont donc plus aptes � percevoir les variations rapides de luminosit� de l'image dues au balayage du faisceau �lectronique. Si l'image semble clignoter, c'est que le taux de rafra�chissement de l'�cran est insuffisant. Sinon, vous tenez le bon taux, ne le l�chez pas.

Certaines caract�ristiques techniques des tubes cathodiques influent sur les autres et permettent donc de modifier le taux de rafra�chissement. Il est �vident que si la dur�e du retour du faisceau est importante, l'�cran ne peut pas g�n�rer beaucoup d'images par seconde. Par cons�quent, plus la dur�e du retour de balayage est longue, moins bon peut �tre le taux de rafra�chissement. Il en va de m�me pour la dur�e du blanking. Les bons �crans disposent donc souvent de retours de balayage rapides et de courtes dur�es de blanking. Mais diminuer ces dur�es n�cessite une �lectronique plus pr�cise au niveau du contr�le des champs magn�tiques dirigeant le faisceau d'�lectrons. Il est �galement �vident que la r�solution du mode graphique influe sur le taux de rafra�chissement. Si la r�solution est �lev�e, il y a plus de pixels � afficher au total sur chaque ligne de l'�cran. � vitesse de balayage des pixels fix�e, le temps n�cessaire pour balayer une ligne est donc plus grand. Et comme il y a plus de lignes � afficher, le temps n�cessaire pour g�n�rer une image compl�te est plus grand, et le taux de rafra�chissement est plus faible. Donc, si le test d�crit dans le paragraphe pr�c�dent vous indique que votre taux de rafra�chissement est trop faible, vous pouvez tenter de baisser la r�solution.

Note�: Notez que la profondeur de couleur utilis�e n'intervient absolument pas dans le taux de rafra�chissement. Cette profondeur n'est un facteur limitant qu'au niveau de la carte graphique, qui peut ne pas avoir assez de m�moire pour afficher un mode de grande r�solution avec toutes les couleurs d�sir�es ou ne pas avoir une �lectronique assez rapide pour traiter toutes les donn�es � une vitesse raisonnable.

Le signal vid�o �mis par la carte graphique contient toutes les informations dont le moniteur a besoin pour g�n�rer l'image. Ces informations sp�cifient bien entendu l'intensit� du faisceau d'�lectrons, mais aussi les signaux de synchronisation qui contr�lent les retours de balayage horizontal et vertical. Ce sont les informations de synchronisation que les sections � Monitor � du fichier XF86Config contiennent. On comprend donc l'importance de ces informations pour la qualit� de l'image, aussi bien en terme de stabilit� qu'en termes de taux de rafra�chissement.

Les sections � Monitor � sont constitu�es grosso modo de deux parties. La premi�re partie contient les caract�ristiques g�n�rales de l'�cran, telles que son nom, son mod�le et le nom de son fabricant. Elle contient �galement les plages de fr�quences de balayage horizontal et vertical. La deuxi�me partie contient les d�finitions des modes graphiques, � raison d'une ligne par mode graphique utilisable. La documentation de XFree86 appelle ces lignes des � lignes de mode � (� modelines � en anglais). Il est �vident que les informations fournies dans les lignes de mode sont tr�s sensibles, et d�terminent tous les param�tres du mode graphique : r�solution, position et taille de l'image sur l'�cran, taux de rafra�chissement.

La premi�re partie d'une section � Monitor � ressemble � ceci :

Section "Monitor"
    Identifier "Moniteur 1"
# Marque et mod�le du moniteur (informations facultatives) :
    VendorName "SONY"
    ModelName     "MULTISCAN 100ES"
# Plage de fr�quence horizontale (information capitale) :
    HorizSync     30-70
# Plage de fr�quence verticale (information capitale) :
    VertRefresh   50-120

Le mot cl� � Identifier � permet de donner un nom � la section � Monitor �. Ce sera ce nom que l'on utilisera plus loin dans la section � Screen � pour indiquer que l'on d�sire utiliser ce moniteur. Les mots cl�s � VendorName � et � ModelName � permettent de donner la description du moniteur. Les informations stock�es ici n'ont aucun effet sur la configuration du moniteur et sont simplement indicatives. En revanche, les plages de fr�quences horizontales et verticales indiqu�es respectivement apr�s les mots cl�s � HorizSync � et � VertRefresh � sont d'une importance capitale. Elles donnent les plages de fr�quences auxquelles le moniteur peut travailler, et servent � contr�ler la validit� des lignes de mode donn�es dans la deuxi�me partie de la section � Monitor �. Il est donc important de donner ici les valeurs exactes, que vous trouverez normalement dans la fiche technique de votre moniteur (cette fiche est souvent imprim�e � la fin du mode d'emploi). Pour les moniteurs multisynchrones, les plages de fr�quences utilisables peuvent �tre donn�es par leurs fr�quences minimale et maximale, s�par�es d'un tiret. Les fr�quences fixes peuvent �tre sp�cifi�es simplement avec une seule valeur. Il est possible de sp�cifier plusieurs fr�quences fixes et plusieurs plages de fr�quences en les s�parant par des virgules. L'unit� utilis�e pour les fr�quences horizontales est le kilohertz, et celle utilis�e pour les fr�quences verticales est le Hertz.

La deuxi�me partie de la section � Monitor � contient les lignes de mode, � raison d'une ligne de mode par mode graphique que le moniteur est capable d'afficher. En g�n�ral, une ligne de mode ressemble � ceci :

Modeline "1024x768" 92.96 1024 1064 1240 1352 768 768 778 802

mais il existe cette une autre syntaxe, beaucoup plus claire car elle diff�rencie les diff�rentes valeurs donn�es dans la ligne pr�c�dente :

Mode "1024x768"
    DotClock 92.96
    HTimings 1024 1064 1240 1352
    VTimings 768 768 778 802
EndMode

La premi�re valeur indiqu�e entre guillemets dans les lignes de mode est le nom du mode graphique. Comme on le verra plus tard, c'est ce nom qui est utilis� pour sp�cifier les modes graphiques utilisables dans la section � Screen �. La deuxi�me valeur est la fr�quence de base des signaux �mis par la carte graphique. Cette vitesse est exprim�e en MHz et repr�sente le nombre de pixels par seconde que le faisceau �lectronique du moniteur balaye. Les quatre valeurs suivantes fixent les param�tres horizontaux du mode graphique : r�solution horizontale, pixel � partir duquel le signal de synchronisation pour le retour de balayage horizontal commence, pixel auquel ce signal s'arr�te et longueur totale de la ligne en pixel, blanking compris. De m�me, les quatre derni�res valeurs fixent les param�tres verticaux du mode graphique, � savoir r�solution verticale, ligne de d�but et ligne de fin du signal de synchronisation pour le retour de balayage vertical, et nombre de lignes total du mode graphique. On notera que les informations concernant le signal de synchronisation du balayage horizontal sont toutes multiples de 8. Cette contrainte est impos�e par le mat�riel de la plupart des cartes graphiques. D'autre part, l'unit� utilis�e pour ces valeurs est le pixel. Il faut donc se baser sur la fr�quence de base indiqu�e au d�but de la ligne de mode pour les convertir en temps. Les informations concernant le signal de synchronisation vertical, quant � elles, sont exprim�es en nombre de lignes. Elles peuvent ne pas �tre multiples de 8. La conversion en temps se calcule cette fois � partir de la fr�quence de base et de la longueur totale d'une ligne horizontale pour ce mode graphique. Enfin, il est possible de rajouter des options compl�mentaires � la fin des lignes de mode pour pr�ciser le fonctionnement du mode graphique, � l'aide du mot-clef � Flags �. L'option la plus courante �tant sans aucun doute � Interlace �, qui permet de cr�er des modes entrelac�s. L'option � Doublescan � quant � elle permet de faire en sorte que chaque ligne est affich�e deux fois de suite. Elle permet de cr�er des modes graphiques de faible r�solution, qui utilisent des fr�quences de balayage trop faibles pour les moniteurs actuels. Vous pourrez trouver les autres options dans la page de manuel XF86Config.

La section � Monitor � se termine, comme toute section du fichier XF86Config, par une ligne de fin de section :

EndSection

Comme vous vous en �tes aper�u, les donn�es stock�es dans les lignes de mode sont assez techniques. Quelques explications compl�mentaires ne seront donc pas de trop pour comprendre l'influence de ces param�tres et pour cr�er de nouvelles lignes de mode.

Pour commencer, la fr�quence de base de la ligne de mode doit �videmment �tre g�r�e par la carte graphique. Vous pouvez d�terminer la fr�quence de base maximale en regardant les informations affich�es par le serveur X adapt� � cette carte lorsqu'il d�marre. Cette information est toujours juste, m�me si les lignes de mode �crites dans votre fichier XF86Config ne conviennent pas et que le serveur X ne d�marre pas correctement. La ligne contenant cette fr�quence maximale est semblable � celle-ci :

Maximum allowed dot-clock: 163.000 MHz

Cette fr�quence de base peut �tre g�n�r�e par la carte graphique, mais il n'est pas certain qu'elle soit support�e par le moniteur. En effet, les moniteurs ne sont pas capables de g�rer les fr�quences de base au del� d'une certaine limite. La gamme de fr�quences qu'ils acceptent est ce que l'on appelle leur bande passante. La fr�quence de base doit donc �tre dans cette bande passante, c'est-�-dire qu'elle doit �tre inf�rieure � la fr�quence maximale que le moniteur peut g�rer. La bande passante de votre moniteur est normalement indiqu�e dans sa fiche de sp�cifications techniques. Si toutefois ce n'est pas le cas, vous pouvez vous faire une id�e de la fr�quence la plus �lev�e de cette bande passante en regardant la r�solution maximale qu'il peut afficher et en consultant ce tableau :

Tableau 10-1. Fr�quence maximale des moniteurs

R�solutionFr�quence maximale
640x48025
800x60036
10254x76865
1280x1024110
1600x1200185

Les valeurs des fr�quences indiqu�es dans ce tableau sont les plus petites valeurs constat�es pour l'ensemble des moniteurs g�r�s par XFree86. On peut donc supposer que votre moniteur g�re ces fr�quences, et certainement m�me de plus hautes.

La r�solution du mode graphique est donn�e par la premi�re des quatre valeurs des param�tres horizontaux et verticaux dans la ligne de mode. Ainsi, dans la ligne de mode exemple donn�e ci-dessus, la r�solution horizontale est de 1024 et la r�solution verticale est de 768. Sachez que vous �tes parfaitement libre d'utiliser des r�solutions non standards, en �crivant les lignes de mode correspondantes. Dans l'exemple donn� ci-dessus, il s'agit simplement du mode graphique 1024x768. Notez, encore une fois, que la profondeur de couleur n'intervient absolument pas dans les param�tres du moniteur. Ils n'interviennent que dans les composants de la carte graphique qui sont charg�s de g�n�rer les signaux vid�os pour le moniteur.

La quatri�me valeur des param�tres horizontaux donne la longueur totale des lignes physiques dans ce mode. Cette longueur comprend bien entendu la partie visible de l'image, mais �galement la partie due au blanking horizontal. Rappelons que le blanking est la partie balay�e par le faisceau alors qu'il est �teint, ce qui comprend la partie balay�e pendant la dur�e du signal de synchronisation horizontal. Dans l'exemple donn� ci-dessus, le blanking a une longueur �gale � 1352-1024 pixels, soit 328 pixels. La quatri�me valeur des param�tres verticaux fixe de m�me le nombre de lignes total du mode, en tenant compte des lignes du blanking vertical.

Comme vous pouvez le constater dans la ligne de mode exemple, le pixel auquel le signal de synchronisation commence n'est pas le dernier pixel visible. En effet, il y a 40 pixels d'�cart entre le dernier pixel visible (en l'occurrence, le pixel 1024) et le pixel auquel le signal de synchronisation horizontal commence (le pixel 1064). Cet espace fait partie du blanking, il sert de marge pour �viter les perturbations dues au retour de balayage et pour positionner l'image sur l'�cran. Cette zone noire se trouve au del� du bord droit de l'image affich�e. Elle est suivie par la zone qui serait balay�e pendant la dur�e du retour de balayage si le faisceau poursuivait sa route au lieu de revenir sur le bord gauche. Cette zone se termine au pixel indiqu� par la troisi�me valeur (1240 dans notre exemple). Ce pixel est donc toujours positionn� sur le point le plus � droite que le moniteur peut afficher. Par cons�quent, la taille de la partie du blanking situ� � la droite de l'image est �gale au num�ro du pixel o� le signal de synchronisation horizontal se termine moins le nombre de pixels affich�s. Dans notre exemple, cette partie de blanking a une taille de 1240-1024 pixels, soit 216 pixels. La taille de la partie du blanking horizontal situ� � la gauche de l'�cran est donc logiquement �gale � la longueur totale de la ligne (1352) moins le pixel o� le signal de synchronisation se termine (1240), ce qui donne 112 pixels. Vous voyez ainsi que l'on peut d�caler l'image vers la gauche en augmentant les valeurs de d�part et de fin du signal de synchronisation. Inversement, on peut d�caler l'image vers la droite en diminuant ces valeurs.

Le m�me raisonnement peut �tre appliqu� aux param�tres verticaux du mode graphique. Le blanking vertical comprend les lignes balay�es avant et apr�s le signal de synchronisation, ainsi que les lignes balay�es pendant le temps o� ce signal est g�n�r�. La derni�re ligne de ce signal est, encore une fois, la ligne la plus basse que le moniteur peut afficher. On peut donc d�placer l'image vers le haut ou vers le bas en jouant sur les valeurs de d�part et de fin du signal de synchronisation vertical dans les param�tres verticaux du mode graphique.

Figure 10-3. Param�tres des lignes de mode

En augmentant le nombre de pixels physiques pour chaque ligne et en conservant la m�me r�solution, la largeur de l'image visible est r�duite. En effet, la proportion de la partie visible de l'image sur la largeur totale de l'�cran est d'autant plus faible que le nombre de pixels physiques des lignes est grand. Le m�me raisonnement peut �tre appliqu� sur les param�tres verticaux. L'image peut donc �tre agrandie ou r�duite horizontalement et verticalement en jouant sur la longueur totale des lignes et sur la hauteur totale de l'image. Si l'on veut que l'image reste centr�e, il faut �galement d�caler les points de d�but et de fin des signaux de synchronisation, pour que la proportion du blanking plac�e de part et d'autre de l'image reste constante.

Il faut bien comprendre que la modification des param�tres de synchronisation et de la longueur totale de la ligne est soumise � de fortes contraintes. Il faut s'assurer que les dur�es des signaux de synchronisation et du blanking restent dans les limites de ce que peut accepter le moniteur. De plus, le nombre de points balay�s au total est �videmment le produit de la longueur totale des lignes et du nombre de lignes total du mode. � fr�quence de base fixe, cela revient � d�finir le taux de rafra�chissement, puisque plus il y a de pixels � balayer dans chaque image, moins il est possible d'afficher d'images par seconde. Cela n'est pas g�nant si vous pouvez augmenter la fr�quence de base. Par contre, si vous avez atteint la limite de votre carte graphique, ou la limite de bande passante de votre moniteur, vous serez limit� dans le taux de rafra�chissement si vous devez r�duire les dimensions de l'image affich�e.

Vous devez vous en doutez � pr�sent : l'�criture d'une ligne de mode est un sport tr�s difficile. La technique � utiliser est it�rative. Vous pouvez tourner en rond pendant un certain temps, si vous ne savez pas vous y prendre. La premi�re des choses � faire est de choisir la dimension de l'image que vous d�sirez obtenir. Cette dimension va fixer la largeur totale et le nombre de lignes total qui seront utilis�s pour ce mode graphique. Vous pouvez toujours partir des lignes de mode utilis�es pour les modes graphiques VESA pour un moniteur semblable au v�tre. Une fois que vous aurez ces valeurs, vous pourrez essayer de faire monter le taux de rafra�chissement en augmentant la fr�quence de base. Vous aurez peut-�tre � redimensionner et � recentrer l'image sur le moniteur. Les quatre contraintes � respecter lorsque vous augmentez la fr�quence de base sont bien entendu la dur�e du blanking horizontal et vertical, la dur�e des signaux de synchronisation et les plages de fr�quences horizontales et verticales accept�es par votre moniteur. Il est probable que vous aurez � accro�tre l'�cart entre les valeurs de d�but et de fin des signaux de synchronisation, car leur dur�e peut baisser dangereusement lorsque la fr�quence de base augmente. Malheureusement, cela peut vous limiter dans la possibilit� de centrer l'image sur votre moniteur. Une image dont les bords ne sont pas rectilignes ou pas nets est un signe indiquant que le signal de synchronisation n'est pas suffisamment long. Si vous ne vous en sortez pas, c'est que vous essayez d'atteindre un taux de rafra�chissement trop �lev�.

Si vous d�sirez fabriquer un mode graphique de r�solution non standard, vous ne trouverez pas forc�ment une ligne de mode pouvant servir de point de d�part. Dans ce cas, il va vous falloir cr�er cette ligne de mode ex-nihilo. Vous trouverez dans le fichier de documentation VideoModes.doc de XFree86 les explications permettant de cr�er une ligne de mode correcte � partir des caract�ristiques de votre moniteur. Pour les moniteurs multisynchrones, la technique suivante peut �tre utilis�e.

La premi�re �tape est de trouver la bande passante de votre moniteur et les plages de fr�quences horizontales et verticales utilisables par votre moniteur. Ces donn�es sont tr�s souvent fournies dans la documentation du moniteur. Par exemple, pour un moniteur Sony Multiscan 100ES, ces plages de fr�quences sont les suivantes :

 Horizontales (kHz)Verticales (Hz)
Fr�quence minimale3050
Fr�quence maximale70120

La deuxi�me �tape est de choisir la r�solution que l'on d�sire utiliser. Supposons que l'on veuille utiliser une r�solution interm�diaire entre 1024x768 et 800x600 sur ce type d'�cran 15 pouces. Prenons par exemple 904x678. Notez que la r�solution horizontale est divisible par 8, et que la r�solution verticale est �gale aux trois quarts de cette derni�re. Ce rapport permet simplement de conserver la proportion de 4/3 des �crans d'ordinateurs. Pour pouvez cependant choisir un autre rapport si vous le d�sirez.

Vous devez ensuite d�terminer les longueurs totales des lignes en pixels et le nombre total de lignes, blanking compris. C'est cette partie qui est la plus difficile, elle n�cessite de conna�tre les dur�es minimales des signaux de synchronisation horizontaux et verticaux. Ces donn�es sont h�las rarement fournies par les fabricants. Heureusement, on peut s'en passer en pratique, car tous les �crans cathodiques utilisent la m�me technologie. En g�n�ral, la longueur totale d'une ligne est �gale � la r�solution horizontale divis�e par 0,8, et le nombre total de lignes est �gal � la r�solution verticale augment�e de 5%. Pour notre mode graphique, le calcul est donc le suivant :

longueur totale des lignes = 904 pixels / 0,8 = 1130 pixels
hauteur totale de l'image = 678 lignes * (1+5/100) =
    678 lignes * 1,05 = 711,9 lignes.

La longueur totale des lignes n'est pas multiple de 8, nous devons donc l'arrondir � 1136. De m�me, la hauteur totale de l'image doit �tre arrondie � 712 lignes.

Nous disposons � pr�sent des premi�res et derni�res valeurs des param�tres horizontaux et verticaux de la ligne de mode. Les param�tres interm�diaires, qui fixent le d�but et la fin des signaux de retour de balayage, doivent �tre choisis de telle sorte que ces signaux commencent un peu apr�s le d�but du blanking et se terminent un peu avant le d�but de la g�n�ration de l'image suivante. En pratique, on peut couramment consid�rer qu'une marge de 32 � 40 pixels est suffisante pour les signaux de synchronisation horizontaux, et qu'il faut 0 � 10 lignes pour les signaux de synchronisation verticaux. L'�cart entre le d�but et la fin de ces signaux doit �tre suffisamment grand pour garantir leurs dur�es minimales exig�es (mais a priori inconnues) par votre moniteur. Dans notre exemple, nous pouvons donc choisir les param�tres suivants :

    HTimings 904 944 1096 1136
    VTimings 678 683 707 712

Il reste � d�terminer la fr�quence de base � utiliser. Le but est bien entendu d'obtenir le taux de rafra�chissement le plus �lev� possible, donc la fr�quence de base la plus �lev�e, tout en restant dans les limites de la carte graphique et du moniteur. La contrainte la plus forte en g�n�rale est la fr�quence maximale de balayage horizontal.

Dans notre cas, l'�cran est capable de travailler � 70 kHz au plus, c'est-�-dire d'afficher 70000 lignes par seconde. Comme notre mode graphique utilise 712 lignes physiques au total, cela nous donne un taux de rafra�chissement de 70000/712, soit environ 98 images par seconde. Bien entendu, il faut contr�ler que cette fr�quence est bien dans la plage de fr�quences verticales du moniteur. C'est bien le cas ici, puisqu'il peut supporter des fr�quences allant jusqu'� 120 Hz. En g�n�ral, il faut prendre la plus petite de ces valeurs comme taux de rafra�chissement initial.

Une fois le taux de rafra�chissement d�termin�, nous devons calculer la fr�quence de base � utiliser. Pour afficher 98 images de 710 lignes de 1125 pixels par seconde, nous calculons cette fr�quence de la mani�re suivante :

98 * 712 * 1136 = 79,26 MHz

Encore une fois, il faut contr�ler que la carte graphique peut g�n�rer un signal de cette fr�quence et que celle-ci est bien inf�rieure � la bande passante du moniteur. Dans le cas contraire, il faudrait encore une fois se limiter � la plus petite de ces valeurs. La plupart des cartes graphiques r�centes peuvent monter au moins jusqu'� 150MHz, et l'�cran Sony Multiscan 100ES a une bande passante bien sup�rieure � cette valeur. Nous pouvons donc conserver cette fr�quence de base, et obtenons donc la ligne de mode suivante :

Mode "904x678"
    DotClock 79.26
    HTimings 904 944 1096 1136
    VTimings 678 683 707 712
EndMode

Cette ligne de mode a peu de chances d'�tre satisfaisante sans retouches, mais elle peut servir de point de d�part pour la recherche de la ligne de mode id�ale. En g�n�ral, les param�tres �tant choisis proches de l'optimum, l'image sera bien trop grande ou d�form�e sur les bords. Vous devrez donc faire des ajustements manuels pour vous rapprocher, petit � petit, d'une ligne de mode utilisable. Vous pourrez utiliser l'utilitaire xvidtune pour cela. Cet utilitaire est un utilitaire fourni avec XFree86, qui permet de modifier les dimensions et la position de l'image interactivement. Cet utilitaire fonctionne directement sous XWindow, et permet donc d'avoir un aper�u de l'image avec les param�tres modifi�s. Vous trouverez une description plus d�taill�e de la mani�re d'utiliser xvidtune dans la Section 10.2.6.

Seul le redimensionnement de l'image modifie le nombre total de lignes et leur longueur totale. En particulier, la r�duction de la taille de l'image accro�t la taille totale des lignes et leur nombre, ce qui entra�ne la baisse du taux de rafra�chissement. � chaque fois que vous r�duisez l'image, vous pourrez recalculer le taux de rafra�chissement et la fr�quence de base n�cessaire pour atteindre ce taux, tout en veillant � ne d�passer ni les limites de votre carte graphique, ni celles de votre moniteur.

Ainsi, apr�s quelques modifications de la ligne de mode dans xvidtune et r�ajustements de la fr�quence de base, la ligne de mode suivante peut �tre obtenue :

Mode "904x678"
    DotClock 79.82
    HTimings 904 920 1104 1144
    VTimings 678 679 710 712
EndMode

Cette ligne de mode permet d'obtenir un affichage correct en 904 par 678, avec un taux de rafra�chissement de 97.99 Hz, ce qui est plus qu'honorable. On constate que la premi�re ligne de mode utilisait une dur�e de balayage vertical trop petite, ce qui provoquait des d�formations sur les bords de l'image.

Si vous voulez approfondir le sujet, vous pouvez lire les formules math�matiques donnant les relations entre les diff�rents param�tres techniques influant sur la g�n�ration des images dans l'Annexe C. Ces formules sont donn�es � titre indicatif, elles ne vous donneront pas les caract�ristiques techniques de votre �cran. Encore une fois, je ne saurais trop vous recommander d'utiliser les outils fournis avec votre distribution...

10.2.4.8. Sections � Modes �

G�n�ralement, les lignes de mode sont d�finies pour un moniteur donn�, car l'apparence de l'image d�pend des caract�ristiques physiques de chaque moniteur. Par cons�quent, ces lignes sont d�finies la plupart du temps dans les sections � Monitor �. Cependant, il peut �tre utile de regrouper toutes les lignes de mode d'un type de moniteur donn� dans une section � part, afin de structurer et d'organiser le fichier XF86Config.

Pour cela, on �crira des sections � Modes �, qui n'auront donc pas d'autre r�le que de contenir une ou plusieurs lignes de mode, et qui seront r�f�renc�es dans les sections � Monitor � des moniteurs qui d�sirent utiliser ces lignes de mode. L'int�r�t de regrouper toutes les lignes de mode dans une section � Modes � appara�t clairement d�s que plusieurs sections � Monitor � utilisent les m�mes lignes de mode. Ce peut �tre le cas pour des moniteurs d'un m�me fabricant ou poss�dant des caract�ristiques techniques similaires.

Le format des sections � Monitor � est tr�s simple, puisqu'elles ne contiennent qu'un identificateur, introduit comme � l'accoutum�e par le mot-clef � Identifier � suivi du nom de la section entre guillemets, et les lignes de mode elles-m�mes. La syntaxe de ces lignes est exactement la m�me que celle qui est utilis�e dans la section � Monitor � et ne sera donc pas d�crite plus en d�tail ici. Vous trouverez ci-dessous un exemple de section � Modes � :

# Exemple de section Modes :
Section "Modes"
    Identifier "Modes Standards"
    Modeline "640x480"    50.00 640 656 720 832 480 480 489 501
    Modeline "800x600"    72.80  800 816 928 1040 600 600 610 626
    Modeline "1024x768"  92.00 1024 1076 1252 1344 768 772 782 806
EnsSection

10.2.4.9. Sections � Screen �

Les sections � Screen � permettent de regrouper les moniteurs et les cartes graphiques pour effectuer l'affichage des �crans d'un display, et d'indiquer les modes graphiques que l'on d�sire utiliser parmi tous les modes que le moniteur indiqu� sait g�rer, pour chaque profondeur de couleur.

Les sections � Screen � sont, comme les sections � Monitor �, constitu�es de deux parties. La premi�re partie sp�cifie les informations g�n�rales de l'�cran, � savoir essentiellement la carte graphique et le moniteur � utiliser. La deuxi�me partie quant � elle permet de pr�ciser, pour chaque profondeur de couleur utilisable avec cet �cran, les r�solutions des modes graphiques utilisables ainsi que les param�tres des r�solutions virtuelles. Voici trouverez ci-dessous un exemple de section � Screen � :

Section "Screen"
    Identifier "Ecran 1"
    Device      "Carte 1"
    Monitor     "Moniteur 1"
    DefaultDepth 24
    SubSection "Display"
        Depth  24
        Modes  "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
        Depth  16
        Modes  "1024x768" "800x600" "640x480"
    EndSubSection
    SubSection "Display"
        Depth  8
        Modes  "1024x768" "800x600" "640x480"
    EndSubSection
EndSection

L'option � Identifier � permet, comme d'habitude, de nommer la section � Screen � courante. Le nom doit �tre indiqu� entre guillemets, � la suite du mot cl� � Identifier �. C'est ce nom qui sera utilis� dans les sections � ServerLayout � pour r�f�rencer les �crans du display. Le mot-clef � Device � indique la section � Device � � utiliser pour obtenir les informations sur la carte graphique qui g�re l'affichage de cet �cran. Il doit �tre suivi du nom qui a �t� sp�cifi� apr�s le mot-clef � Identifier � dans la section � Device � correspondante. De m�me, le mot-clef � Monitor � indique la section � Monitor � � utiliser pour obtenir les informations sur le moniteur courant. Enfin, le mot-clef � DefaultColorDepth � indique la profondeur de couleur utilis�e par d�faut au d�marrage de XWindow. Comme nous le verrons plus loin, une autre profondeur de couleur que celle-ci pourra �tre utilis�e en passant un argument sur la ligne de commande du serveur X.

Comme vous pouvez le voir, la section � Screen � contient une ou plusieurs sous-sections � Display �. Ce sont ces sous-sections qui indiquent les param�tres de l'�cran sp�cifiques � chaque profondeur de couleur utilisable. Les sous-sections � Display � contiennent les informations suivantes :

  • la profondeur de couleur consid�r�e, exprim�e en bits par pixels apr�s le mot-clef � Depth � ;

  • la liste des modes graphiques utilisables avec cette profondeur de couleur, r�f�renc�s par le nom de leur ligne de mode, apr�s le mot-clef � Modes �. Plusieurs modes peuvent �tre sp�cifi�s, en donnant leurs noms respectifs, s�par�s par des espaces.

  • des informations compl�mentaires concernant les r�solutions virtuelles pour les modes dans lesquels la r�solution logique de l'�cran est sup�rieure � la r�solution r�ellement utilis�e. Ces param�tres indiquent la r�solution logique de l'�cran virtuel, ainsi que le positionnement de l'image affich�e par l'�cran physique dans cet �cran virtuel. Vous trouverez de plus amples informations sur ces options dans la page de manuel XF86Config.

10.2.4.10. Sections � ServerLayout �

Le dernier type de section, qui regroupe toutes les informations des sections vues pr�c�demment, est le type des sections � ServerLayout �. Comme leur nom l'indique, les sections de ce type fournissent les informations concernant la disposition des �crans d'un display. Cependant, dans la plupart des cas, les displays n'ont qu'un seul �cran, et il est �vident que la disposition de cet �cran est triviale dans ce cas.

Il peut exister plusieurs sections � ServerLayout � dans le fichier XF86Config. En effet, ce fichier peut �tre utilis� par plusieurs serveurs X qui peuvent tourner simultan�ment sur la m�me machine (que l'on ait plusieurs cartes graphiques ou non). Chaque serveur X peut donc utiliser une section � ServerLayout �. La section utilis�e par d�faut est la premi�re que le serveur X trouvera dans le fichier XF86Config, mais il est possible de lui demander d'en utiliser une autre � l'aide d'une option en ligne de commande. Toutefois, encore une fois, la plupart des machines ne disposent que d'un seul �cran, et m�me si l'on lance plusieurs serveurs X, il n'y a ici besoin que d'une seule section � ServerLayout �.

Les sections � ServerLayout � indiquent surtout au serveurs X quels sont les p�riph�riques d'entr�e � utiliser (au moins un clavier et une souris) en plus de l'�cran ou les �crans du display. Ce sont donc ces sections qui d�finissent compl�tement un display donn�. L'exemple donn� ci-dessous pr�sente une section � ServerLayout � simple :

Section "ServerLayout"
    Identifier "Serveur 1"
    Screen "Ecran 1"
    InputDevice "Clavier 1" "CoreKeyboard"
    InputDevice "Souris 1" "CorePointer"
    Option "BlankTime" "5"
EndSection

Les sections � ServerLayout � disposent d'un nom qui permet de les identifier. Ce nom est le nom qui sera utilis� dans la ligne de commande du serveur X si plusieurs sections � ServerLayout � sont d�finies. Il doit �tre indiqu�, comme d'habitude, � la suite du mot-clef � Identifier �, entre guillemets.

Les sections � ServerLayout � doivent ensuite indiquer au moins un �cran pour le display qu'elles d�crivent. Les �crans sont introduits � l'aide du mot-clef � Screen �, suivi de l'identificateur de la section � Screen � � utiliser. Si plusieurs �crans doivent �tre utilis�s, il est possible de sp�cifier la position des �crans les uns par rapport aux autres � l'aide d'options compl�mentaires, qui sont sp�cifi�es � la suite de l'identificateur de l'�cran. Ces options permettent de positionner les �crans relativement les uns aux autres, ou de mani�re absolue en pr�cisant leurs coordonn�es dans le syst�me de coordonn�es de l'�cran virtuel. Les options les plus simples � utiliser sont les options RightOf, LeftOf, Above et Below, qui permettent d'indiquer respectivement que l'�cran courant est situ� � droite, � gauche, au dessus ou en dessous de l'�cran dont l'identificateur est sp�cifi� juste apr�s. Par exemple, si l'on veut rajouter un deuxi�me �cran � la section pr�c�dente, et que cet �cran doit �tre situ� � droite du premier �cran, on ajoutera simplement la ligne suivante :

    Screen "Ecran 2" RightOf "Ecran 1"

La section � ServerLayout � doit ensuite contenir au moins une r�f�rence � un clavier et une r�f�rence � un p�riph�rique de pointage. Ces r�f�rences sont introduites � l'aide du mot-clef � InputDevice �, suivie de l'identificateur de la section � InputDevice � � utiliser. Le serveur X doit interpr�ter les �v�nements provenant des diff�rents p�riph�riques d'entr�e correctement. Il faut en particulier lui indiquer quels sont les p�riph�riques principaux � l'aide de l'option CorePointer pour la souris principale et l'option CoreKeyboard pour le clavier principal. Seuls les p�riph�riques d'entr�e principaux seront utilis�s en tant que clavier et en tant que souris.

Enfin, comme vous pouvez le voir dans l'exemple donn� ci-dessus, il est possible d'utiliser des options sp�cifiques pour chaque section � ServerLayout �. Ces options sont les m�mes que celles utilis�es dans la section � ServerFlags �. Vous pouvez donc ici sp�cifier une autre valeur que celles indiqu�es dans cette section, afin de pr�ciser le comportement d'un serveur sp�cifique. Dans l'exemple donn� ci-dessus, l'�conomiseur d'�cran a �t� r�gl� pour s'activer au bout de 5 minutes.

10.2.5. Informations utilis�es lors du d�marrage de XFree86

Les informations stock�es dans le fichier de configuration XF86Config sont utilis�es par XFree86 pour d�terminer la mani�re dont l'affichage doit se faire. Lorsque le serveur X d�marre, il commence par rechercher la section � ServerLayout � qu'il doit utiliser pour d�terminer les principales options du display. Par d�faut, il utilisera syst�matiquement la premi�re section � ServerLayout � du fichier XF86Config. Cependant, il est possible de lui demander d'en utiliser une autre, � l'aide de l'option de ligne de commande -layout, suivie de l'identificateur de la section � utiliser.

Le serveur X initialise alors tous les �crans du display et prend en charge les p�riph�riques d'entr�e. Pour chaque �cran, il choisit la profondeur de couleur indiqu�e dans la variable � DefaultDepth � de la section � Screen � et tente de l'utiliser. Cependant, il est possible de choisir une autre profondeur de couleur � l'aide de l'option -depth, suivie de la profondeur de couleur � utiliser, sp�cifi�e en bits par pixels. Remarquez que dans le cas des configurations � plusieurs �cran, il n'est possible de sp�cifier qu'une seule profondeur de couleur. Il faut donc que toutes les sections � Screen � des �crans utilis�s contiennent une sous-section � Display � pour la profondeur de couleur choisie.

Une fois la profondeur de couleur d�termin�e, le serveur X choisit pour chaque �cran la premi�re r�solution indiqu�e dans la liste des modes de la sous-section � Display � dont la profondeur de couleur correspond � celle utilis�e. Il tente alors de passer l'adaptateur graphique dans ce mode graphique, en utilisant pour cela la ligne de mode correspondante � cette r�solution pour piloter le moniteur.

Il est possible, lorsque XWindow fonctionne, de changer cette r�solution avec les combinaisons de touches CTRL+ALT+PLUS et CTRL+ALT+MINUS (PLUS et MINUS �tant les touches + et - du pav� num�rique). Ces deux combinaisons de touches permettent respectivement de passer d'une r�solution � la suivante ou � la pr�c�dente dans la liste des modes sp�cifi�s dans la sous-section � Display �. Pour chaque mode choisi, la ligne de mode correspondante � la r�solution de ce mode est utilis�e pour g�n�rer les signaux � destination du moniteur.

Note�: La r�solution virtuelle de l'�cran n'est pas modifi�e lorsqu'on change de r�solution physique. Elle est toujours �gale � la plus grande des r�solutions disponibles dans la section � Display � utilis�e. Seule la r�solution physique de l'affichage est modifi�e. Vous pourrez d�placer la zone d'affichage en d�pla�ant la souris, et faire d�filer ainsi tout l'�cran.

Il est impossible de changer la profondeur de couleur utilis�e sans red�marrer le serveur X. Les seuls changements accept�s sont ceux concernant les r�solutions graphiques list�es dans la sous-section � Display � pour la profondeur de couleur courante.

10.2.6. Utilisation de xvidtune

xvidtune est un petit utilitaire permettant de r�gler les param�tres d'affichage de chaque mode graphique. Gr�ce � lui, vous pourrez ajuster la taille de l'image horizontalement et verticalement, ainsi que sa position par rapport aux bords du moniteur. xvidtune se lance simplement, en tapant son nom en ligne de commande :

xvidtune

D�s qu'il d�marre, il commence par afficher une fen�tre d'avertissement, pour vous pr�venir qu'un usage par une personne non avertie peut provoquer de s�rieux dommages au moniteur. En effet, il permet de modifier les param�tres de synchronisation horizontale et verticale du moniteur pour ajuster l'image. Si vous choisissez de mauvais param�tres, vous pouvez sortir des sp�cifications techniques de votre moniteur, ce qui pourrait fort bien l'endommager. Fort heureusement, la plupart des moniteurs modernes disposent de m�canismes de s�curit� qui les emp�chent de g�n�rer l'image lorsque ces param�tres sont incorrects. Par cons�quent, il est assez rare d'avoir des probl�mes avec cet utilitaire, d'autant plus qu'il effectue des contr�les avant toute tentative douteuse. Vous pouvez donc valider en toute confiance, mais soyez malgr� tout averti des risques potentiels. Rappelons que le serveur X peut �tre arr�t� � n'importe quel moment � l'aide de la s�quence de touches CTRL+ALT+BACKSPACE.

L'�cran de xvidtune se compose de quatre parties. La partie sup�rieure gauche permet de r�gler les param�tres horizontaux du mode graphique, � savoir la largeur de l'image et sa position par rapport aux bords verticaux du moniteur. La partie sup�rieure droite permet de r�gler les param�tres verticaux, � savoir la hauteur et la position par rapport aux bords horizontaux du moniteur. La partie inf�rieure droite contient les informations essentielles sur le mode vid�o courant. Enfin, la partie inf�rieure gauche contient les boutons permettant de choisir les actions � effectuer.

Les param�trages horizontaux et verticaux du mode graphique peuvent �tre modifi�s tr�s simplement. Les boutons � Left � et � Right � permettent de centrer l'image horizontalement, et les boutons � Wider � et � Narrower � permettent d'ajuster sa largeur. De m�me, les boutons � Up � et � Down � influent sur le centrage vertical, et les boutons � Shorter � et � Taller � ajustent sa hauteur.

Vous pouvez tester les modifications apport�es � tout instant � l'aide du bouton � Test �. Il est m�me recommand� d'essayer r�guli�rement les param�tres choisis et de proc�der pas � pas. Lorsque les param�tres conviennent, ils peuvent �tre appliqu�s imm�diatement � l'aide du bouton � Apply �. Si vous d�sirez g�n�rer une ligne mode valide pour la configuration courante, par exemple afin de modifier votre fichier de configuration XF86Config, vous pouvez cliquer sur le bouton � Show �. La ligne de mode sera affich�e sur le terminal � partir duquel vous avez lanc� xvidtune. Vous pourrez alors la recopier dans le fichier XF86Config � la place de la ligne de mode du mode graphique en cours d'utilisation.

Il est possible de changer le mode graphique courant en cliquant sur les boutons � Next � et � Prev �. Ils permettent de passer en revue tous les modes graphiques qui ont �t� enregistr�s dans le fichier XF86Config par XF86Setup. Une fois que vous aurez ajust� tous les modes graphiques et que vous les aurez enregistr�s � l'aide du bouton � Apply �, vous pourrez quitter xvidtune en cliquant sur le bouton � Quit �. Notez que le bouton � Apply � valide les choix en cours, mais ne les enregistre pas dans le fichier XF86Config. Vous devez reporter manuellement dans le fichier XF86Config les param�tres du mode courant, tels qu'ils sont pr�sent�s par la commande � Show �.