                      XFree86 Video Timings HOWTO

  Eric Steven Raymond

   Thyrsus Enterprises [http://www.tuxedo.org/~esr/]

   <esr@thyrsus.com>

   Traduction franaise : Guillaume Allgre

   Version 5.0

   Copyright  2001 Eric S. Raymond

   Copyright

   Il est permis de copier, distribuer et/ou modifier ce document
   sous les conditions spcifies par l'Open Publication License,
   version 2.0.

   $Date: 2001/08/11 00:37:48 $

   +----------------------------------------------------------------+
   | Historique des versions                                        |
   |----------------------------------------------------------------|
   | Version 6.0                 | 2001-08-09         | esr         |
   |----------------------------------------------------------------|
   | Explication plus prcise de DDC et EDID. Cet Howto est         |
   | maintenant intrinsquement obsolte.                           |
   |----------------------------------------------------------------|
   | Version 5.0                 | 2000-08-22         | esr         |
   |----------------------------------------------------------------|
   | Premire version DocBook.                                      |
   +----------------------------------------------------------------+

   Rsum

   Cet Howto est maintenant obsolte. Les versions courantes de
   XFree86 (4.0.1 et suprieures) calculent automatiquement les
   lignes de mode optimales pour les rsolutions spcifies dans le
   fichier de configuration de X, section Modes.

   Comment dfinir une ligne de mode pour votre couple carte
   graphique/moniteur sous . La distribution XFree86 inclut
   maintenant les lments requis pour configurer la plupart des
   combinaisons standard ; le but premier de ce document est de vous
   apprendre  mettre au point une ligne de mode personnalise pour
   un moniteur  haute performance ou du matriel trs inhabituel. Il
   vous aidera aussi  utiliser kvideogen pour crer des lignes de
   mode (modelines), ou xvidtune pour effectuer le rglage fin d'un
   mode standard qui n'est pas encore optimal pour votre moniteur.

   ------------------------------------------------------------------

   Table des matires

   1. Mise en garde

   2. Pourquoi cet Howto est obsolte

   3. Introduction

   4. Outils de calcul automatique

   5. Comment fonctionnent les crans vido

   6. Principes fondamentaux relatifs  votre cran et votrecarte
   graphique

                6.1. Les frquences de synchronisation du moniteur

                6.2. La bande passante vido du moniteur

                6.3. La frquence pilote (dot clock) de la carte
                graphique

                6.4. Ce que contrlent ces donnes de base

   7. Comprendre les spcifications de base

                7.1. A propos de la bande passante

                7.2. Frquences de synchronisation et frquence de
                rafrachissement

   8. Concessions lors de la configuration du systme

   9. Exigences en terme de mmoire

   10. Calcul de la taille de trame

   11. Magie noire et impulsions de synchronisation

                11.1. Synchronisation horizontale

                11.2. Synchronisation verticale

   12. Synthse

   13. Usage du moniteur en surcapacit

   14. Utilisation des modes entrelacs

   15. Questions et rponses

   16. Rsoudre les problmes affectant l'image

                16.1. L'image est dcentre vers la gauche ou la
                droite

                16.2. L'image est dcentre vers le haut ou le bas

                16.3. L'image est trop large dans les deux directions

                16.4. L'image est trop large (ou trop troite)
                horizontalement

                16.5. L'image est trop grande (ou trop petite)
                verticalement

   17. Reprsentation graphique des capacits du moniteur

   18. Crdits

1. Mise en garde

   L'utilisation des informations reprises ci-dessous se fait
   EXCLUSIVEMENT A VOS RISQUES ET PERILS. Cadencer votre moniteur en
   dehors des limites fixes par les spcifications du fabricant peut
   prsenter un danger pour votre matriel et pour vous-mmes. Lisez
   la section Usage du moniteur en surcapacit pour un avertissement
   dtaill. Tout dommage inflig  votre personne ou  votre
   moniteur d  un usage en surcapacit relve de votre seule
   responsabilit.

   La plus rcente version de ce HOWTO est disponible  la page Web
   du Linux Documentation Project [http://www.linuxdoc.org/LDP].

   Prire de transmettre vos commentaires, critiques, et suggestions
    <esr@snark.thyrsus.com> (en anglais). S'il vous plat, n'envoyez
   pasde courrier lectronique implorant une solution miracle  vos
   problmes personnels de moniteur, dans la mesure o agir de la
   sorte ne servira qu' perdre mon temps et  vous frustrer -- tout
   ce que je sais sur le sujet est contenu ici.

2. Pourquoi cet Howto est obsolte

   Avec les versions 4.0.0 et suprieures de XFree86, vous n'avez
   plus du tout besoin de gnrer les lignes de mode. Elles sont
   calcules automatiquement par le serveur au dmarrage, d'aprs la
   rsolution spcifie dans le fichier de configuration de XFree86,
   section Screen, sous-section Modes, et les capacits de votre
   moniteur que le serveur X rcupre via une requte EDID au
   moniteur.

   Pour changer la rsolution cran et la profondeur des couleurs, il
   suffit d'diter ou de crer une section Display les dcrivant.
   Voici un exemple de description Screen de mon fichier de
   configuration pour X :

 Section "Screen"
         Identifier   "Screen0"
         Device       "ATI Rage Mobility"
         Monitor      "Monitor0"
         DefaultDepth    16

         Subsection "Display"
                 Depth       16
                 Modes       "1024x768"
         EndSubsection

 EndSection

   Normalement, tout ce que vous devrez faire sera de changer les
   valeurs dans l'entre Modes ; X fera le reste. Si vous demandez
   une rsolution impossible, il calculera la plus proche rsolution
   supportable par votre moniteur, d'aprs les donne de la requte
   EDID.

   De ce fait, les informations contenues dans le reste de cet Howto
   ne vous seront utiles que si (a) vous avez un vieux moniteur,
   antrieur  la norme EDID, ou si (b) votre pilote de carte
   graphique ne permet pas d'interroger le moniteur, ou si (c) vous
   utilisez une ancienne version de XFree86. Dans ce dernier cas,
   vous devriez le mettre  jour pour rgler tous vos problmes.

3. Introduction

   Le serveur XFree86 permet aux utilisateurs de configurer leur
   sous-systme vido, ce qui favorise une utilisation optimale du
   matriel existant. Le but de ce guide est de vous apprendre 
   crer vos propre valeurs d'horloge pour faire le meilleur usage de
   votre carte vido et moniteur.

   Nous prsenterons une mthode pour obtenir une configuration de
   base utilisable, ensuite nous vous montrerons comment, au dpart
   de celle-ci, vous pouvez vous livrer  des expriences pour
   dterminer un ensemble de valeurs qui l'adapte  vos prfrences.

   Si vous disposez dj d'un mode qui fonctionne presque (en
   particulier, si l'un des modes VESA pr-dfinis vous donne une
   image stable mais dcentre vers la gauche ou la droite, trop
   petite, ou trop grande) vous pouvez passer immdiatement  la
   section intitule Rsoudre les problmes affectant l'image.
   Celle-ci vous apprendra diverses manires de manipuler les valeurs
   d'horloge en vue d'obtenir certains rsultats prcis.

   Ne partez pas du principe que vous allez avoir de fastidieux
   ajustements de modes  faire, juste parce qu' votre premier
   lancement de X aprs installation, vous obtenez un cran brouill.
   Il se peut que presque toutes les lignes de modes soient bonnes,
   mais que le serveur utilise par dfaut justement celle qui ne
   convient pas  votre matriel. Commencez plutt par parcourir le
   cycle des modes installs avec CTRL-ALT-KP+. Si certains donnent
   de bons rsultats, essayez de les commenter tous, sauf un mode
   640x480, et vrifiez que ce mode fonctionne. Si c'est le cas,
   dcommentez aussi une paire d'autres modes, par exemple un 800x600
   et un 1024x768  une frquence que votre moniteur devrait aussi
   grer.

4. Outils de calcul automatique

   Si votre moniteur est postrieur  1996, il supporte probablement
   la norme EDID
   [http://www.vesa.org/dload/summary/sumeedidrar1.htm]. Les
   moniteurs compatibles EDID (parfois appels "Plug'n'Play" dans la
   littrature marketing de Microsoft) peuvent dclarer leurs
   capacits  l'ordinateur.

   De nombreux modules pilotes de XFree86 4.0 supportent le systme
   DDC, VESA Display Data Channel facility
   [http://www.vesa.org/dload/summary/sumeddcv1.htm] (canal de
   donnes d'affichage VESA). Un module de pilote de carte compatible
   DDC est capable d'envoyer au moniteur une requte EDID, et de se
   configurer automatiquement d'aprs la rponse. Ainsi, avec XFree
   4.0 et un moniteur rcent, vous avez de bonnes chances de n'avoir
   aucune configuration  faire.

   Si votre module de pilote de carte n'est pas compatible DDC, mais
   que votre moniteur est compatible EDID, vous pouvez tout de mme
   utiliser le programme read-edid, qui interrogera le moniteur sur
   ses capacits, et calculera pour vous une ligne de mode. Voir
   http://altern.org/vii/programs/linux/read-edid/
   [http://altern.org/vii/programs/linux/read-edid/].

   Depuis la version 3.2, XFree86 s'accompagne du programme XF86Setup
   qui simplifie grandement la cration interactive d'un mode
   graphique valable, sans devoir manipuler directement les valeurs
   d'horloge vido. Ainsi, dans la plupart des cas, il ne devrait pas
   vous tre ncessaire de calculer un mode graphique de base.
   Malheureusement, XF86Setup a ses limites ; il ne connat que les
   modes graphiques standards jusqu' 1280x1024. Si vous disposez
   d'un moniteur  trs haute performance capable d'afficher
   1600x1200 ou plus, il vous faudra malgr tout encore calculer
   votre mode graphique de base vous-mmes.

   Il y a un utilitaire KDE appel KVideoGen
   [http://paranoia.rulez.org/videogen/] qui calcule des lignes de
   mode  partir des caractristiques du moniteur et de la carte.
   J'ai bien gnr des lignes de modes avec, mais je ne les ai pas
   testes. Notez que ses paramtres "refresh rate" horizontal et
   vertical sont la mme chose que les frquences de synchronisation
   HSF et VSF que nous dcrivons plus loin. Le nombre "horizontal
   sync pulse" semble tre la largeur de l'impulsion de
   synchronisation en microsecondes, HSP (l'outil supposant des
   valeurs corriges de HGT1 "front porch" et HGT2 "back porch"). Si
   vous ne connaissez pas votre "horizontal sync pulse", il vaut
   mieux laisser la valeur par dfaut.

   Un autre gnrateur de lignes de mode pour XFree86 se trouve ici
   [http://zaph.com/Modelinw]. Vous pouvez soit rcuprer le script
   Python script, soit utiliser le formulaire CGI.

   Les versions rcentes de XFree86 fournissent un outil appel
   xvidtune que vous trouverez sans doute trs utile pour tester et
   affiner les modes graphiques. Il commence par un avertissement
   effrayant relatif aux possibles consquences d'un usage abusif. Si
   vous accordez  ce document une attention scrupuleuse et apprenez
   ce qui se cache derrire les jolies valeurs dans les crans de
   xvidtune, vous serez capables d'utiliser ce programme efficacement
   et en toute confiance.

   Si xvidtune(1) est prsent, il vous sera possible d'essayer de
   nouveaux modes "au vol", sans modifier votre fichier de
   configuration X, sans mme redmarrer votre serveur X. Dans le cas
   contraire, XFree86 vous permet d'utiliser des raccourcis clavier
   pour slectionner parmi les diffrents modes dfinis dans Xconfig
   (voyez XFree86.man pour de plus amples dtails). Exploitez cette
   capacit pour vous viter des ennuis ! Lorsque vous souhaitez
   tester un nouveau mode, donnez-lui un nom unique et ajoutez-le 
   la fin de votre liste de raccourcis. Gardez toujours un mode que
   vous savez bon comme dfaut, de faon  avoir une position de
   repli si le mode en cours de test ne marche pas.

   A la fin de ce document, vous trouverez un script modeplot que
   vous pourrez utiliser pour produire un graphe analogique des modes
   disponibles. Ce n'est pas directement utile pour gnrer des
   lignes de mode, mais a peut vous aider  comprendre les relations
   qui permettent de les dfinir.

5. Comment fonctionnent les crans vido

   Savoir comment fonctionne l'cran est essentiel pour comprendre
   quelles valeurs placer dans les diffrents champs du fichier
   Xconfig. Le serveur XFree86 utilise ces valeurs pour obtenir le
   contrle de plus bas niveau sur l'cran.

   L'cran cre une image  partir de ce qu'on peut considrer comme
   une srie de points. Ces points sont juxtaposs de gauche  droite
   pour crer des lignes. Ces lignes sont  leur tour juxtaposes de
   haut en bas pour crer l'image. Les points mettent de la lumire
   lorsqu'ils sont frapps par les faisceaux d'lectrons 
   l'intrieur du tube cathodique, un faisceau par couleur primaire,
   Rouge, Vert, Bleu. Pour faire en sorte que chaque faisceau frappe
   tous les points pendant une dure gale, le faisceau balaye
   l'cran suivant un itinraire immuable, appele trame.

   Nous avons crit "ce qu'on peut considrer comme une srie de
   points" car les points de la trame ne correspondent pas aux points
   de phosphore physiques. Les points de trame sont beaucoup plus
   gros, et regroupent beaucoup de points de phosphore. Ils doivent
   l'tre, car autrement l'affichage souffrirait d'un svre effet de
   moir. Les points de la trame correspondent rellement 
   l'chantillonnage du signal analogique du pilote vido, et sont
   affichs sous la forme d'une grille de points simplement parce que
   les pics et les valles du signal sont espacs suffisamment
   rgulirement et finement.

   Le trac de cet itinraire commence dans le coin suprieur gauche,
   traverse l'cran vers la droite en une ligne presque horizontale,
   imperceptiblement descendante. Le faisceau est alors envoy du
   ct gauche de l'cran, mais une ligne plus bas. Cette nouvelle
   ligne est parcourue de gauche  droite tout comme la premire. Ce
   schma est rpt jusqu' ce que la dernire ligne de l'cran ait
   t parcourue. A ce moment, le faisceau est renvoy du coin
   infrieur droit au coin suprieur gauche, et la manoeuvre
   recommence.

   Il existe une variante de ce schma, appele mode entrelac
   (interlacing) : dans ce cas, seule une ligne sur deux est
   parcourue pendant la premire demi-trame et les autres sont
   traites lors d'un deuxime parcours de demi-trame.

   Le dpart du faisceau dans le coin suprieur gauche de l'cran est
   appel le dbut de trame. La trame se termine lorsque le faisceau
   retrouve sa position de dpart, revenant du coin infrieur droit.
   Une trame se compose de toutes les lignes que le faisceau a
   parcourues entre le haut et le bas de l'cran.

   Si les faisceaux d'lectrons taient allums en permanence pendant
   leur parcours de la trame, tous les points de l'cran seraient
   illumins. Il n'y aurait pas de marges noires autour de la zone
   affichable. Aux bords de l'cran, l'image serait distordue car il
   est difficile de contrler les faisceaux  cet endroit. Afin de
   rduire cette distorsion, les points en dehors de la zone
   affichable ne sont pas illumins par les faisceaux, alors que les
   faisceaux traversent bien ces zones, mais teints. C'est ainsi que
   la taille de la zone affichable est infrieure  la surface totale
   de l'cran.

   Un autre concept important  comprendre est ce qu'il advient des
   faisceaux lorsqu'aucun point n'est illumin  ce moment dans la
   zone affichable. Le temps pendant lequel le faisceau aurait pu
   illuminer les marges latrales de la zone affichable est utilis
   pour renvoyer le faisceau du ct droit au ct gauche. De la mme
   faon, le temps pendant lequel le faisceau aurait pu illuminer les
   marges infrieure et suprieure de la zone affichable est utilis
   pour dplacer le faisceau du coin infrieur droit de l'cran au
   coin suprieur gauche.

   Le rle de la carte graphique est de gnrer les signaux qui
   commanderont  l'cran d'allumer ou d'teindre les faisceaux
   d'lectrons pour chaque point, selon la couleur dsire, crant
   ainsi l'image. La carte contrle aussi le moment o l'cran
   dplace les faisceaux du ct droit au dbut de la ligne suivante
   en mettant ce que l'on appelle le signal de synchronisation
   horizontale (horizontal sync pulse). Un signal de synchronisation
   horizontale est mis  la fin de de chaque ligne. La carte
   graphique met aussi un signal de synchronisation verticale
   (vertical sync pulse) qui commande  l'cran de renvoyer le
   faisceau dans le coin suprieur gauche. Un signal de
   synchronisation verticale est mis  la fin de chaque trame.

   De courts temps de pause sont ncessaires immdiatement avant et
   aprs l'mission des signaux de synchronisation horizontale et
   verticale de faon  ce que les positions des faisceaux puissent
   se stabiliser. Sans cela, l'image ne sera pas stable.

   Pour plus d'informations, il y a une page (en anglais) TV and
   Monitor Deflection Systems
   [http://fribble.cie.rpi.edu/~repairfaq/REPAIR/F_deflfaq.html].

   Dans une section ultrieure, nous reviendrons sur ces bases avec
   des dfinitions, des formules et des exemples pour vous aider 
   les utiliser.

6. Principes fondamentaux relatifs  votre cran et votrecarte graphique

   Il y a quelques principes fondamentaux qu'il vous faut comprendre
   avant de bricoler une entre dans le fichier XF86config. Ceux-ci
   sont :

     o les frquences de synchronisation horizontale et verticale de
       votre moniteur

     o la bande passante de votre moniteur

     o les frquences d'horloge pilote de votre carte graphique, ou
       "dot clocks"

  6.1.  Les frquences de synchronisation du moniteur

   La frquence de synchronisation horizontale reprsente simplement
   le nombre de fois par seconde que le moniteur peut parcourir une
   ligne horizontale ; c'est, de toutes, la valeur la plus importante
   concernant votre moniteur. La frquence de synchronisation
   verticale reprsente le nombre de fois par seconde que le faisceau
   peut entirement traverser l'cran verticalement.

   Les frquences de synchronisation seront gnralement fournies 
   la page "spcifications techniques" du manuel de votre moniteur.
   La frquence de synchronisation verticale est typiquement exprime
   en Hz (cycles par seconde), la valeur horizontale en kHz
   (kilo-cycles par seconde). Les plages de valeurs se situent
   habituellement entre 50 et 150 Hz verticalement, et entre 31 et
   135 kHz horizontalement.

   Si vous avez un moniteur dit multi-frquences (multisync), ces
   frquences seront donnes sous forme de plages. Certains
   moniteurs, spcialement les modles bas de gamme, ne supportent
   qu'une srie de frquences fixes. Ceux-ci peuvent aussi tre
   configurs, mais votre marge de manoeuvre sera srieusement
   limite par les caractristiques physiques du moniteur. Choisissez
   la plus haute paire de frquences pour obtenir la meilleure
   rsolution. Et soyez prudents : essayer de piloter un moniteur 
   frquences fixes  une frquence suprieure  celle pour laquelle
   il a t conu peut aisment l'endommager.

   Des versions prcdentes de ce guide traitaient de faon fort
   lgre l'utilisation de moniteurs multi-frquences en surcapacit,
   les poussant au-del du maximum nominal de leur frquence de
   synchronisation verticale dans le but d'obtenir de meilleures
   performances. D'autres arguments ont depuis lors t ports 
   notre connaissance, incitant  la prudence en ce domaine ; nous
   reviendrons sur ce sujet dans la section Usage du moniteur en
   surcapacit ci-dessous.

  6.2. La bande passante vido du moniteur

   La page des spcifications techniques du votre manuel de votre
   moniteur devrait mentionner sa bande passante. Si ce n'est pas le
   cas, jetez un oeil  la rsolution maximale annonce pour le
   moniteur. En premire approximation, voici une table de conversion
   de rsolution en estimation de bande passante (il s'agit donc de
   limites suprieures approximatives pour la frquence pilote (dot
   clock) que vous pouvez utiliser) :

         640x480                 25
         800x600                 36
         1024x768                65
         1024x768 interlaced     45
         1280x1024               110
         1600x1200               185

   Au demeurant, cette table n'a rien de magique ; ces valeurs sont
   simplement les frquences pilotes les plus basses par rsolution
   dans la base de donnes des modes standard XFree86 (exception
   faite de la dernire, que j'ai extrapole). La bande passante de
   votre moniteur peut en ralit tre plus leve que le minimum
   requis pour sa rsolution maximale, aussi ne craignez pas
   d'essayer une frquence pilote de quelques MHz suprieure.

   Notez aussi que la bande passante doit rarement tre prise en
   ligne de compte aux frquences pilotes infrieures  65 MHz
   environ. Avec une carte SVGA et la plupart des moniteurs haute
   rsolution, vous ne pourrez mme pas approcher la limite de la
   bande passante de votre moniteur. En voici quelques exemples :

         Brand                           Video Bandwidth
         ----------                      ---------------
         NEC 4D                          75Mhz
         Nano 907a                       50Mhz
         Nano 9080i                      60Mhz
         Mitsubishi HL6615               110Mhz
         Mitsubishi Diamond Scan         100Mhz
         IDEK MF-5117                    65Mhz
         IOCOMM Thinksync-17 CM-7126     136Mhz
         HP D1188A                       100Mhz
         Philips SC-17AS                 110Mhz
         Swan SW617                      85Mhz
         Viewsonic 21PS                  185Mhz
         PanaSync/Pro P21                220Mhz

   Mme les moniteurs bas de gamme n'ont en gnral pas de contrainte
   terrible au niveau de leur bande passante aux rsolutions
   annonces. Le NEC Multisync II en est un exemple parfait --- si
   l'on en croit les spcifications du constructeur, il ne parvient
   mme pas  afficher en 800x600. Il affichera au maximum en
   800x560. Pour des rsolutions si basses, il n'est pas ncessaire
   de disposer de hautes frquences pilotes ou une large bande
   passante ; le mieux que vous puissiez faire sera probablement 32
   MHz ou 36 MHz, l'un comme l'autre ne s'cartant pas trop de la
   bande passante annonce du moniteur : 30 MHz.

   A ces deux frquences pilotes, il se peut que l'image affiche ne
   soit pas aussi nette qu'elle devrait l'tre, mais certainement
   d'une qualit tolrable. Il serait plus agrable, bien sr, que le
   NEC Multisync II dispose d'une bande passante vido suprieure 
   36 Mhz, par exemple. Mais ceci n'est pas indispensable pour des
   tches de base comme l'dition de texte, pour autant que l'cart
   ne soit pas  ce point important qu'il occasionne une forte
   distorsion de l'image (vos yeux vous le feraient sentir
   immdiatement si cela devait tre le cas).

  6.3. La frquence pilote (dot clock) de la carte graphique

   La page "spcifications techniques" du manuel de votre carte
   graphique mentionne sans doute le dot clock maximum de la carte
   (c'est  dire, le nombre total de pixels que la carte peut envoyer
    l'cran par seconde).

   Si vous ne possdez pas cette information, le serveur X la
   trouvera pour vous. Les versions rcentes des serveurs X
   supportent tous une option --probeonly qui imprime cette
   information et termine sans rellement dmarrer X ni changer le
   mode vido.

   Si cette option n'est pas supporte dans votre cas, ne perdez pas
   espoir. Mme si X bloque votre moniteur, il mettra une ligne de
   valeurs d'horloge et d'autres informations vers la sortie erreur
   standard (stderr). Si vous re-dirigez cela vers un fichier, les
   informations devraient y tre conserves, mme s'il vous faut
   redmarrer la machine pour obtenir  nouveau l'accs  la console.

   Les rsultats de cette dtection du matriel ou les messages de
   dmarrage devraient ressembler  l'un des exemples suivants :

   Si vous utilisez XFree86 :

   Xconfig: /usr/X11R6/lib/X11/Xconfig
   (**) stands for supplied, (--) stands for probed/default values
   (**) Mouse: type: MouseMan, device: /dev/ttyS1, baudrate: 9600
   Warning: The directory "/usr/andrew/X11fonts" does not exist.
            Entry deleted from font path.
   (**) FontPath set to "/usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/"
   (--) S3: card type: 386/486 localbus
   (--) S3: chipset:   924
                       ---
       Chipset -- le modle prcis du processeur (ici, un ancien masque du 86C91
 1)

   (--) S3: chipset driver: s3_generic
   (--) S3: videoram:  1024k
                       -----
            Taille de la mmoire RAM tampon de trame embarque

   (**) S3: clocks:  25.00  28.00  40.00   3.00  50.00  77.00  36.00  45.00
   (**) S3: clocks:   0.00   0.00  79.00  31.00  94.00  65.00  75.00  71.00
                     ------------------------------------------------------
                               Frquences pilotes autorises en MHz

   (--) S3: Maximum allowed dot-clock: 110MHz
                                       ------
                                  Largeur de bande
   (**) S3: Mode "1024x768": mode clock =  79.000, clock used =  79.000
   (--) S3: Virtual resolution set to 1024x768
   (--) S3: Using a banksize of 64k, line width of 1024
   (--) S3: Pixmap cache:
   (--) S3: Using 2 128-pixel 4 64-pixel and 8 32-pixel slots
   (--) S3: Using 8 pages of 768x255 for font caching

   Si vous utilisez SGCS ou X/Inside X :

 WGA: 86C911 (mem: 1024k clocks: 25 28 40 3 50 77 36 45 0 0 79 31 94 65 75 71)
 ---  ------       -----         --------------------------------------------
    |     |            |              Frquences pilotes autorises en MHz
    |     |            +-- Taille de la mmoire RAM tampon de trame embarque
    |     +-- Modle du processeur
    +-- Type du serveur

   Note : effectuez ce test sur votre machine lorsqu'elle n'est pas
   charge (si possible). Dans la mesure o X est une application,
   ses boucles de temporisation peuvent tre perturbes par
   l'activit sur le disque, rendant les valeur mentionnes ci-dessus
   imprcises. Effectuez le test plusieurs fois et veillez  ce que
   ces valeurs se stabilisent ; si cela ne se produit pas, liminez
   autant de processus actifs que ncessaire. En particulier, le
   processus dmon qui pilote votre souris risque fortement de vous
   causer des problmes (il s'agit de gpm pour les utilisateurs
   Linux, de mousemgr pour les utilisateurs de SVr4).

   De faon  viter toute imprcision lors de la dtection des
   frquences d'horloge, vous pouvez simplement copier la liste de
   frquences et la placer dans votre fichier XF86config comme valeur
   de la proprit "Clocks" --- ceci supprime la boucle de
   temporisation et fournit  X une liste prcise des valeurs
   d'horloge qu'il peut utiliser. En utilisant les donnes de
   l'exemple ci-dessus, cela donnerait :

 wga
         Clocks  25 28 40 3 50 77 36 45 0 0 79 31 94 65 75 71

   Sur des systmes dont la charge de travail varie fortement, ceci
   peut vous aider  viter de mystrieux checs au dmarrage de X.
   Il peut arriver que X dmarre, obtienne une mauvaise temporisation
    cause de la charge excessive du systme, et ne soit ds lors pas
   capable de trouver une frquence correspondante dans sa base de
   donnes de configuration --- ou choisisse la mauvaise !

  6.4. Ce que contrlent ces donnes de base

   Les plages de frquences de synchronisation de votre moniteur,
   ainsi que la frquence pilote de votre carte graphique,
   dterminent la rsolution maximale qu'il vous sera loisible
   d'atteindre. Mais c'est le rle du pilote de priphrique
   d'exploiter le potentiel de votre quipement. Du matriel haut de
   gamme sans pilote spcialis est un gaspillage d'argent. D'un
   autre ct, avec un pilote de priphrique flexible et du matriel
   moins puissant, vous pouvez gagner un peu de marge de manoeuvre
   par rapport aux contraintes physiques. Telle est la philosophie
   qui prsida  la conception de XFree86.

   Il vous faudra slectionner une frquence d'horloge adapte  la
   bande passante vido de votre moniteur. Vous bnficierez ici
   d'une large marge de manoeuvre, cependant --- certains moniteurs
   ont une capacit relle suprieure de 30% par rapport  leur bande
   passante nominale. Le risque ici est de dpasser la frquence de
   synchronisation verticale annonce du moniteur ; nous discuterons
   ceci en dtail plus loin.

   Cette connaissance de la bande passante vous permettra d'effectuer
   des choix plus avertis entre diverses configurations possibles.
   Elle peut en effet influencer la qualit visuelle de votre cran
   (spcialement la prcision dans les petits dtails).

7. Comprendre les spcifications de base

   Cette section explique la signification des spcifications
   mentionnes prcdemment, ainsi que certains autres lments qu'il
   vous sera utile de connatre. Tout d'abord, quelques dfinitions.
   A ct de chaque terme dfini est mentionn entre parenthses le
   nom de la variable que nous utiliserons pour le reprsenter dans
   nos formules.

   frquence de synchronisation horizontale (HSF - horizontal sync
   freq.)

           Nombre de parcours horizontaux par seconde (voir
           ci-dessus).

   frquence de synchronisation verticale (VSF - vertical sync freq.)

           Nombre de parcours verticaux par seconde (voir ci-dessus).
           Principalement important comme limite suprieure de la
           frquence de rafrachissement.

   frquence pilote (DCF - driving clock freq. = dot clock)

           La frquence du cristal ou VCO de votre carte graphique
           --- le nombre maximum de points par seconde qu'elle peut
           mettre.

   bande passante vido (VB - video bandwith)

           La frquence la plus leve que vous puissiez appliquer 
           l'entre vido de votre moniteur en conservant une chance
           raisonnable d'obtenir une image intelligible. Si vous vous
           reprsentez le signal mis par votre carte graphique comme
           une succession rapide d'tats allums/teints, sa
           frquence la plus basse est gale  la moiti de DCF, de
           sorte qu'en thorie, la bande passante n'a de sens qu'
           partir de DCF/2. Pour obtenir  l'cran un affichage
           suffisamment net des petits dtails, cependant, vous ne
           souhaiterez pas qu'elle soit de loin infrieure  votre
           DCF maximale ; il vaudrait mme mieux qu'elle lui soit
           suprieure.

   longueur de trame (HFL, VFL)

           La longueur de trame horizontale (HFL - horizontal frame
           length) est le nombre de tics d'horloge de votre carte
           graphique dont le canon  lectrons de votre moniteur a
           besoin pour parcourir une ligne horizontale, y compris les
           marges gauche et droite inactives. La longueur de trame
           verticale (VFL - vertical frame length) est le nombre de
           lignes parcourues dans l'image entire, y compris les
           marges infrieure et suprieure inactives.

   frquence de rafrachissement de l'cran (RR - refresh rate)

           Le nombre de fois par seconde que votre image est
           redessine (ceci est aussi appel la "frquence de trame"
           - frame rate). Plus cette frquence est leve, meilleure
           est l'image, dans la mesure o cela diminue l'effet de
           clignotement. 60 Hz est bon, mais le standard VESA (72 Hz)
           est meilleur. Calculez-la sur base de la formule suivante
           :

         RR = DCF / (HFL * VFL)

           Notez que le produit au dnominateur n'est pas gal  la
           rsolution visible du moniteur, mais typiquement
           lgrement plus grand. Nous entrerons dans les dtails de
           ceci plus loin.

   Les frquences pour lesquelles sont gnralement mentionns les
   modes dits entrelacs (comme "87Hz Interlaced") sont en fait des
   frquences de demi-trame : un cran de ce type semble avoir une
   frquence de rafrachissement suprieure aux autres modles de sa
   catgorie, mais chaque ligne individuelle n'est rafrachie qu'une
   fois sur deux.

   Dans le cadre de nos calculs, nous prendrons en compte la
   frquence de rafrachissement d'un moniteur entrelac par trame
   complte, c'est--dire 43.5 Hz dans l'exemple cit plus haut. La
   qualit d'un mode entrelac est meilleure que celle d'un mode
   non-entrelac  frquence de rafrachissement par trame complte
   gale, mais dfinitivement plus mdiocre que le mode non-entrelac
   correspondant  la frquence de rafrachissement par demi-trame.

  7.1. A propos de la bande passante

   Les fabricants de moniteurs aiment vanter la large bande passante
   offerte par leur matriel car elle dtermine la nettet des
   transitions d'intensit et de couleur  l'cran. Une large bande
   passante signifie des petits dtails bien visibles.

   Votre moniteur utilise des signaux lectroniques pour offrir  vos
   yeux l'image qu'ils contemplent. Des signaux de ce type se
   prsentent toujours sous la forme d'une onde une fois que
   l'information digitale a t convertie en un signal analogique.
   Ils peuvent tre perus comme une combinaison de nombreuses ondes
   plus simples, chacune ayant une frquence fixe, pour la plupart
   dans la bande des MHz, par exemple, 20 MHz, 40 MHz, voire mme 70
   MHz. La bande passante de votre moniteur n'est autre que le signal
   analogique de plus haute frquence qu'il peut grer sans
   distorsion.

   Dans le cas qui nous occupe, la bande passante vido est
   essentiellement importante comme limite suprieure approximative
   de la frquence pilote (dot clock) qu'il vous est possible
   d'utiliser.

  7.2. Frquences de synchronisation et frquence de rafrachissement

   Chaque ligne parcourue horizontalement  l'cran n'est que la
   partie visible d'un parcours de toute la longueur de la trame. A
   tout moment, il n'y a en fait qu'un seul point actif  l'cran,
   mais avec une frquence de rafrachissement suffisamment leve,
   la persistance rtinienne de vos yeux vous permet de percevoir
   l'image complte.

   Voici quelques schmas qui vous aideront :

      _______________________
     |                       |     La frquence de synchronisation horizontale
     |->->->->->->->->->->-> |     reprsente le nombre de fois
     |                      )|     par seconde que le faisceau d'lectrons
     |<-----<-----<-----<--- |     du moniteur peut parcourir
     |                       |     un chemin semblable  celui-ci
     |                       |
     |                       |
     |                       |
     |_______________________|
      _______________________
     |        ^              |     La frquence de synchronisation verticale
     |       ^ |             |     reprsente le nombre de fois par
     |       | v             |     seconde que le faisceau d'lectrons du
     |       ^ |             |     moniteur peut parcourir un chemin
     |       | |             |     semblable  celui-ci
     |       ^ |             |
     |       | v             |
     |       ^ |             |
     |_______|_v_____________|

   Souvenez-vous que le balayage de la zone affichable (raster scan)
   adopte en ralit la forme d'un zigzag trs serr ; cela signifie
   que le faisceau se dplace de gauche  droite et en mme temps de
   haut en bas.

   Nous comprenons maintenant comment frquence pilote (dot clock) et
   taille de trame sont lies  la frquence de rafrachissement. Par
   dfinition, un hertz (Hz) quivaut  un cycle par seconde. Ainsi,
   si votre longueur de trame horizontale est reprsente par HFL et
   votre longueur de trame verticale par VFL, il vous faut alors (HFL
   * VFL) tics pour couvrir l'entiret de l'cran. Puisque votre
   carte met DCF tics par seconde par dfinition, il s'ensuit bien
   entendu que le (les) canon(s)  lectrons de votre moniteur
   peuvent parcourir l'cran de gauche  droite et retour et de haut
   en bas et retour DCF / (HFL * VFL) fois par seconde. Ceci
   reprsente la frquence de rafrachissement de votre cran, car
   c'est le nombre de fois que le contenu de votre cran peut tre
   mis  jour (donc rafrachi) par seconde !

   Il vous est ncessaire d'intgrer ce concept si vous voulez
   pouvoir mettre sur pied une configuration qui sacrifie de la
   rsolution pour gagner de la stabilit (rduction de l'effet de
   clignotement) de la manire qui vous convienne le mieux.

   Pour ceux d'entre vous qui comprennent mieux un petit dessin qu'un
   long discours, en voici un :

         RR                                      VB
          |   min HSF                     max HSF |
          |    |             R1        R2  |      |
 max VSF -+----|------------/----------/---|------+----- max VSF
          |    |:::::::::::/::::::::::/:::::\     |
          |    \::::::::::/::::::::::/:::::::\    |
          |     |::::::::/::::::::::/:::::::::|   |
          |     |:::::::/::::::::::/::::::::::\   |
          |     \::::::/::::::::::/::::::::::::\  |
          |      \::::/::::::::::/::::::::::::::| |
          |       |::/::::::::::/:::::::::::::::| |
          |        \/::::::::::/:::::::::::::::::\|
          |        /\:::::::::/:::::::::::::::::::|
          |       /  \:::::::/::::::::::::::::::::|\
          |      /    |:::::/:::::::::::::::::::::| |
          |     /     \::::/::::::::::::::::::::::| \
 min VSF -+----/-------\--/-----------------------|--\--- min VSF
          |   /         \/                        |   \
          +--/----------/\------------------------+----\- DCF
            R1        R2  \                       |     \
                           min HSF                |    max HSF
                                                  VB

   Ce graphique appel diagramme de mode traduit les capacits d'un
   moniteur classique. Sur l'axe des x sont places les frquences
   pilotes (DCF), sur l'axe des y les frquences de rafrachissement
   (RR). La rgion noircie du diagramme reprsente les capacits du
   moniteur : chaque point  l'intrieur de cette rgion est un mode
   graphique possible.

   Les lignes marques `R1' et `R2' symbolisent une rsolution fixe
   (telle 640x480) ; le but de leur prsence est de montrer comment
   une rsolution donne peut tre obtenue par l'utilisation de
   nombreuses combinaisons diffrentes de frquences pilotes et de
   frquences de rafrachissement. La ligne R2 reprsentera donc une
   plus haute rsolution que R1.

   Les frontires haute et basse de la rgion noircie sont de simples
   lignes horizontales qui reprsentent les valeurs limites de la
   frquence de synchronisation verticale (min VSF et max VSF). La
   bande passante vido (VB) est une limite suprieure  la frquence
   pilote et apparat donc comme une ligne verticale limitant la
   rgion noircie sur la droite.

    la section Reprsentation graphique des capacits du moniteur,
   vous trouverez un programme qui vous aidera  tablir un diagramme
   semblable  celui-ci (mais beaucoup plus joli, avec des graphiques
   X) pour votre moniteur personnel. Ce chapitre couvrira aussi ce
   sujet fascinant : comment dduire les limites rsultant des
   frquences de synchronisation horizontale minimum et maximum.

8. Concessions lors de la configuration du systme

   Il existe une autre faon de formuler l'quation dveloppe plus
   haut

         DCF = RR * HFL * VFL

   C'est--dire que vous considrez votre frquence pilote comme
   fixe. Vous pouvez ensuite convertir ces points par seconde que
   vous venez d'conomiser en frquence de rafrachissement,
   rsolution horizontale, ou rsolution verticale. Si l'un de ces
   paramtres augmente, l'un ou les deux autres doivent diminuer.

   Notez, cependant, que votre frquence de rafrachissement ne peut
   excder la frquence de synchronisation verticale maximum de votre
   moniteur. Ainsi, pour tout moniteur  une frquence pilote donne,
   il existe un produit de longueurs de trame minimum (HFL * VFL) en
   dessous duquel vous ne pourrez le faire descendre.

   Lorsque vous choisirez vos paramtres, souvenez-vous de ceci : si
   vous prenez une valeur de RR trop basse, vous serez gns par un
   effet de clignotement. Il n'est pas recommand de faire descendre
   votre frquence de rafrachissement en dessous des 60 Hz. Ceci
   reprsente la frquence d'oscillation des nons aux USA (50 Hz en
   Europe, puisque c'est la frquence du courant lectrique) ; si
   vous tes sensibles  ceux-ci, il vous faudra de prfrence
   conserver les 72 Hz, le standard ergonomique VESA.

   L'effet de clignotement est trs prouvant pour les yeux, bien que
   l'oeil humain soit adaptable et que la tolrance individuelle au
   phnomne varie fortement. Si vous faites face  votre moniteur 
   un angle de 90%, que vous utilisez une couleur de fond sombre et
   une couleur en fort contraste pour l'avant-plan, et que vous vous
   contentez d'une intensit basse  moyenne, il se *peut* qu'une
   frquence de rafrachissement aussi basse que 45 Hz vous semble
   confortable.

   Et maintenant le test qui tue : ouvrez un xterm avec un fond blanc
   et un avant-plan noir avec la commande xterm -bg white -fg black
   et modifiez sa taille de faon  ce qu'il recouvre l'entiret de
   la zone affichable. Rglez ensuite votre moniteur aux 3/4 de son
   intensit maximum, et dtournez votre regard du moniteur. Essayez
   de le regarder en biais (de faon  forcer l'utilisation des
   cellules rtiniennes priphriques, plus sensibles). Si vous ne
   percevez aucun effet de clignotement, ou si vous considrez
   celui-ci tolrable, cela signifie que la frquence de
   rafrachissement vous convient. Dans le cas contraire il serait
   prfrable que vous configuriez une frquence de rafrachissement
   plus leve, car ce clignotement  la limite du perceptible
   fatiguera terriblement vos yeux et causera des maux de tte, mme
   si l'image semble parfaite en vision normale.

   Dans le cas des modes entrelacs, l'importance du clignotement
   dpend de plus de facteurs diffrents tels la rsolution verticale
   choisie et le type d'image affich. Il ne vous reste qu' procder
    vos propres expriences. Quoi qu'il en soit, je ne vous
   conseille pas de descendre beaucoup sous la limite des 85 Hz
   (frquence de demi-trame).

   Partons du principe que vous avez choisi une frquence de
   rafrachissement reprsentant un minimum acceptable. Vous aurez
   alors quelqu'espace de manoeuvre dans le choix de vos HFL et VFL.

9. Exigences en terme de mmoire

   La mmoire tampon de trame (frame-buffer RAM) disponible peut
   limiter la rsolution qu'il vous sera possible d'obtenir sur des
   crans couleur ou  niveaux de gris. Cela ne joue sans doute pas
   de rle par contre sur des crans qui ne peuvent afficher que deux
   couleurs, noir et blanc sans dgrad de gris.

   Pour des images en 256 couleurs, un octet de mmoire vido est
   ncessaire pour chaque point visible  afficher. Cet octet
   contient l'information qui dfinit quel mlange de rouge, vert et
   bleu est utilis pour son point. Pour calculer la quantit de
   mmoire requise, multipliez le nombre de points visibles par ligne
   par le nombre de lignes visibles. Pour un cran d'une rsolution
   de 1024x768, cela ferait 1024 x 768 = 786432, ce qui correspond au
   nombre de points visibles sur l'cran. Cela reprsente aussi, 
   raison d'un octet par point, le nombre d'octets de mmoire vido
   requise sur votre carte graphique.

   Ainsi, vos exigences en terme de mmoire seront typiquement de (HR
   * VR)/1024 Ko de VRAM, arrondis  l'unit suprieure (768 Ko
   exactement dans l'exemple prcdent). Si vous disposez de plus de
   mmoire qu'il n'est strictement ncessaire, il vous sera possible
   d'utiliser l'excdent par la cration d'un cran virtuel d'une
   surface suprieure  celle de votre cran physique.

   Cependant, si votre carte graphique n'est quipe que de 512K, il
   ne vous sera pas possible d'atteindre cette rsolution. Mme si
   vous possdez un bon moniteur,  dfaut d'une quantit suffisante
   de mmoire vido, votre ne pourrez exploiter pleinement les
   capacits de votre cran. D'un autre ct, si votre carte SVGA est
   dote d'un Mga de RAM, mais que votre cran ne peut afficher plus
   de 800x600, les hautes rsolutions sont malgr tout hors de votre
   porte. Voyez la section Utilisation des modes entrelacs pour une
   solution possible.

   Ne vous inquitez pas si vous disposez de plus de mmoire que
   ncessaire ; XFree86 en fera bon usage en vous permettant de faire
   drouler votre zone affichable (voyez la documentation du fichier
   Xconfig concernant les paramtres de taille de l'cran virtuel).
   Souvenez-vous aussi qu'une carte quipe de 512 Ko de mmoire ne
   dispose pas en ralit de 512000 octets, mais bien de 512 x 1024 =
   524288 octets.

   Si vous utilisez X/Inside avec une carte S3, et que vous acceptez
   de vous contenter de 16 couleurs (4 bits par pixel), vous pouvez
   employer le paramtre depth=4 dans Xconfig et effectivement
   doubler la rsolution que votre carte pourra grer. Les cartes S3,
   par exemple, offrent normalement 1024x768x256. Vous pouvez les
   configurer en 1280x1024x16 en forant la profondeur d'image  4
   bits.

10. Calcul de la taille de trame

   Avertissement : cette mthode a t dveloppe pour les moniteurs
   multi-frquences (multisync). Elle s'appliquera sans doute aussi
   aux moniteurs  frquence fixe, mais c'est sans garantie !

   Commencez par diviser DCF par la plus haute valeur de HSF
   disponible pour obtenir une longueur de trame horizontale.

   Par exemple, supposons que vous possdiez une carte graphique SVGA
   de type Sigma Legend dont la frquence pilote est de 65 MHz, et
   que votre moniteur ait une frquence de synchronisation
   horizontale de 55 kHz. La valeur (DCF / HSF) est alors de 1181 (65
   MHz = 65000 kHz ; 65000/55 = 1181).

   Et maintenant notre premire astuce de magie noire. Il vous faut
   arrondir le rsultat obtenu au plus proche multiple de 8. Cela
   s'explique par l'architecture du contrleur VGA en usage sur les
   cartes SVGA et S3 ; ce dernier utilise un registre sur 8 bits,
   aprs dcalage  gauche de 3 bits, pour reprsenter une valeur qui
   normalement occupe 11 bits. D'autres modles de carte comme l'ATI
   8514/A n'exigent sans doute pas cet arrondi, mais nous ne sommes
   pas srs et l'utiliser ne peut pas nuire. Aussi, arrondissez la
   longueur de trame horizontale utilisable vers le bas pour obtenir
   1176.

   Ce rsultat (DCF / HSF arrondi  un multiple de 8) reprsente la
   valeur minimum de HFL utilisable. Il est possible d'obtenir de
   plus grandes valeurs de HFL (et donc, probablement, plus de points
   horizontalement  l'cran) en jouant sur la frquence de
   synchronisation pour diminuer HSF, mais en le payant par un
   rafrachissement plus lent et donc un effet de clignotement
   accentu.

   En rgle gnrale, 80% de la longueur de trame horizontale est
   disponible pour la rsolution horizontale, autrement dit la partie
   visible du parcours horizontal du faisceau (ceci tient compte,
   globalement, des marges et du temps de retour -- c'est--dire le
   temps requis par le faisceau pour se dplacer du ct droit de
   l'cran au ct gauche). Dans cet exemple, cela reprsente 940
   tics d'horloge.

   Ds lors, pour donner  votre image ses proportions normales de
   4:3, fixez la rsolution verticale aux 3/4 de la valeur que vous
   venez juste de calculer pour la rsolution horizontale. Toujours
   dans notre exemple, cela reprsente 705 tics d'horloge. Pour
   obtenir votre VFL rel, multipliez ce chiffre par 1.05, ce qui
   vous donne 740 tics.

   Ce rapport 4:3 n'est revtu d'aucun pouvoir magique ; rien ne vous
   empche de dfinir des proportions qui s'cartent de la Rgle d'Or
   si cela doit vous permettre d'exploiter au mieux votre espace
   affichable. Le seul avantage de ces proportions classiques est de
   faciliter le calcul de la hauteur et largeur de trame  partir de
   la taille diagonale : multipliez simplement la diagonale par 0.8
   pour obtenir la largeur et par 0.6 pour obtenir la hauteur.

   Ainsi, nous avons HFL=1176 et VFL=740. Si nous divisons 65 MHz par
   le produit de ces deux valeurs, nous obtenons une frquence de
   rafrachissement -- parfaitement saine -- de 74.6 Hz. Excellent !
   Mieux que le standard VESA ! Et vous obtenez une surface
   affichable de 944 x 705, soit plus que les 800 x 600 que vous
   attendiez probablement. Pas mal du tout !

   Il est mme possible d'augmenter encore la frquence de
   rafrachissement, la poussant presque jusqu' 76 Hz, en exploitant
   le fait que les moniteurs supportent souvent une frquence de
   synchronisation horizontale suprieure de 2 kHz environ  leur
   maximum annonc, et en diminuant quelque peu VFL (c'est--dire, en
   utilisant moins de 75% de 940 dans l'exemple ci-dessus). Mais
   avant de vous lancer dans cette tentative d'usage en surcapacit,
   si vous vous y dcidez, assurez-vous que le canon  lectrons de
   votre moniteur accepte des frquences verticales allant jusqu' 76
   Hz. (Le trs rpandu NEC 4D, par exemple, ne le supporte pas. Il
   ne va que jusqu' 75 Hz VSF). (Reportez-vous  la section Usage du
   moniteur en surcapacit pour une discussion plus gnrale de ce
   sujet.)

   Jusqu'ici, la majeure partie de ce que nous avons expos n'est que
   simple arithmtique et connaissance de base des crans
   d'affichage. Pas besoin de la moindre magie noire !

11. Magie noire et impulsions de synchronisation

   OK, vous venez de calculer les valeurs de HFL/VFL pour la
   frquence pilote que vous avez choisie, vous avez trouv une
   frquence de rafrachissement acceptable, et vrifi que vous
   disposiez d'une quantit suffisante de mmoire VRAM. Passons
   maintenant  la vraie magie noire : il vous faut dterminer o et
   quand placer vos signaux de synchronisation.

   Les signaux de synchronisation contrlent en fait les frquences
   de balayage horizontale et verticale du moniteur. Les valeurs HSF
   et VSF que vous avez extraites des spcifications techniques sont
   des quantits nominales, approximatives pour les frquences de
   synchronisation maximum. L'impulsion de synchronisation prsente
   dans le signal de la carte graphique fournit au moniteur sa
   vitesse d'excution effective.

   Vous souvenez-vous des deux schmas prsents ci-dessus ? Seule
   une partie du temps requis pour que le faisceau balaye une trame
   complte est utilis pour construire l'image affiche (autrement
   dit, votre rsolution).

  11.1. Synchronisation horizontale

   En fonction de notre dfinition prcdente, il faut HFL tics
   d'horloge pour effectuer le parcours d'une ligne horizontale.
   Appelons HR (horizontal resolution) le nombre de tics accomplis en
   mode visible (c'est--dire la rsolution horizontale de votre
   cran). Il s'ensuit, par dfinition, que HR < HFL. Pour rester
   pratique, supposons que les deux quantits dmarrent au mme
   instant comme illustr ci-dessous :

   |___ __ __ __ __ __ __ __ __ __ __ __ __
   |_ _ _ _ _ _ _ _ _ _ _ _                |
   |_______________________|_______________|_____
   0                       ^               ^     unit : tic
                           |   ^       ^   |
                           HR  |       |  HFL
                           |   |<----->|   |
                           |<->|  HSP  |<->|
                           HGT1         HGT2

   Maintenant, nous voudrions placer un signal de synchronisation de
   longueur HSP comme illustr ci-dessus, c'est--dire entre la fin
   des tics d'horloge utiliss pour l'affichage de l'image et la
   limite des tics consacrs  la trame complte. Pourquoi cela ?
   Parce que si nous parvenons  ce rsultat, l'image affiche ne
   sera pas dcacle  gauche ou  droite. Elle occupera sa place
   assigne sur l'cran, recouvrant le centre de la zone affichable.

   Qui plus est, il est prfrable de conserver environ 30 tics "de
   scurit" (guard time) de part et d'autre de l'impulsion de
   synchronisation. Ces valeurs sont reprsentes par HGT1 et HGT2.
   Dans une configuration typique HGT1 != HGT2, mais si vous tes en
   train de construire une configuration  partir de zro, il vaudra
   mieux que vous commenciez vos expriences avec des valeurs gales
   (c'est--dire, avec l'impulsion de synchronisation centre).

   Le symptme d'une impulsion de synchronisation mal place consiste
   en un dplacement de l'image sur l'cran, l'une des marges largie
    l'extrme tandis que l'autre ct de l'image est rflchi sur la
   paroi latrale du tube, ce qui rsulte en une ligne blanche  la
   limite de la zone affichable et une bande d'image "fantme" du
   ct intrieur de cette ligne. Une impulsion de synchronisation
   verticale excessivement mal place peut aller jusqu' provoquer un
   saut cyclique de l'image similaire  ce qu'on observe sur un poste
   de tlvision dont on aurait drgl le bouton d'ajustement
   vertical (c'est en fait le mme phnomne qui est  l'oeuvre ici).

   Si vous avez de la chance, la largeur des signaux de
   synchronisation de votre moniteur sera documente  la page des
   spcifications techniques. Dans le cas contraire, c'est ici que
   l'on entre dans la vraie magie noire...

   Pour cette section-ci, il vous faudra en partie procder par
   essais et erreurs. Mais la plupart du temps, vous pouvez sans
   danger partir du principe qu'une impulsion de synchronisation a
   une dure d'environ 3.5  4.0 microsecondes.

   Toujours pour rester concret, supposons qu'HSP vaille 3.8
   microsecondes (ce qui, soit dit en passant, n'est pas une mauvaise
   valeur de dpart lorsque l'on exprimente).

   Dans cette hypothse, sur la base de la frquence pilote de 65 Mhz
   mentionne plus haut, nous obtenons que HSP est gal  247 tics
   d'horloge (= 65 * 10^6 * 3.8 * 10^-6) [souvenez-vous : Mga=10^6,
   micro=10^-6].

   Certains fabricants aiment mentionner leurs paramtres de tramage
   horizontal sous forme de dure plutt que de largeur exprime en
   hertz. Vous pourriez chez eux rencontrer les termes suivants :

   dure utile (HAT - Horizontal Active Time)

           Equivalent  HR, mais en millisecondes. HAT * DCF = HR.

   dure hors service (HBT - Horizontal Blanking Time

           Equivalent  (HFL - HR), mais en millisecondes. HBT * DCF
           = (HFL - HR).

   fentre avant (HFP - Horizontal Front Porch)

           Synonyme d'HGT1.

   dure de synchronisation

           Synonyme d'HSP.

   fentre arrire (HBP - Horizontal Back Porch)

           Synonyme d'HGT2.

  11.2. Synchronisation verticale

   En nous rfrant  l'illustration prcdente, comment
   placerons-nous les 247 tics d'horloge comme indiqu dans le graphe
   ?

   Toujours sur base du mme exemple, nous avons HR gal  944 et HFL
   gal  1176. La diffrence entre les deux est 1176 - 944 = 232 <
   247 ! De toute vidence, il nous faudra ici procder  quelques
   ajustements. Que peut-on faire ?

   La premire tape est de porter 1176  1184, et de rduire 944 
   936 (NdT : choix des arrondis aux multiples de 8). Maintenant la
   diffrence = 1184 - 936 = 248. Hmm, on approche.

   Ensuite, au lieu d'utiliser 3.8, nous prendrons 3.5 pour calculer
   HSP ; ce qui nous donne 65 * 3.5 = 227. C'est dj beaucoup mieux.
   Mais 248 n'est pas beaucoup plus lev que 227. Il est normalement
   requis de laisser environ 30 tics d'horloge entre HR et le dbut
   de SP, et la mme remarque est valable entre la fin de SP et HFL.
   ET ces valeurs doivent tre multiples de huit ! Sommes-nous dans
   l'impasse ?

   Non. Procdons comme suit, 936 % 8 = 0, (936 + 32) % 8 = 0
   galement. Mais 936 + 32 = 968, 968 + 227 = 1195, 1195 + 32 =
   1227. Hmm... ceci n'a pas l'air trop mal. Mais ce n'est pas un
   multiple de huit, aussi arrondissons-le  1232.

   Des ennuis potentiels se profilent hlas  l'horizon car
   l'impulsion de synchronisation n'est plus situe juste au milieu
   de l'espace h - H. Heureusement, grce  l'aide de notre
   calculette nous trouvons que 1232 - 32 = 1200 est aussi un
   multiple de 8 et que (1232 - 32) - 968 = 232, ce qui
   correspondrait  utiliser une impulsion de synchronisation d'une
   dure de 3.57 microsecondes, une valeur qui est encore
   raisonnable.

   De plus, 936 / 1232 ~ 0.76 ou 76%, ce qui ne s'loigne pas trop
   des 80%, il ne devrait donc pas y avoir de problme.

   Qui plus est, l'usage de la longueur de trame horizontale prsente
   requiert de notre moniteur qu'il effectue sa synchronisation 
   52.7 kHz (= 65 MHz / 1232) ce qui se situe dans les limites de ses
   capacits. Pas de problme.

   Sur la base des rgles gnrales mentionnes plus haut, notre
   nouvelle rsolution verticale sera de 936 * 75% = 702. Notre
   nouvelle longueur de trame verticale vaudra 702 * 1.05 = 737.

   Frquence de rafrachissement de l'cran = 65 MHz / (737 * 1232) =
   71.6 Hz. Cette valeur est toujours excellente.

   La reprsentation de l'impulsion de synchronisation verticale est
   trs semblable :

    |___ __ __ __ __ __ __ __ __ __ __ __ __
    |_ _ _ _ _ _ _ _ _ _ _ _                |
    |_______________________|_______________|_____
    0                      VR              VFL     unit: ticks
                            ^   ^       ^
                            |   |       |
                            |<->|<----->|
                             VGT    VSP

   Nous commenons l'impulsion de synchronisation juste aprs la fin
   des cycles verticaux consacrs  l'affichage rel de donnes. VGT
   est l'intervalle de scurit (vertical guard time) requis pour
   l'impulsion de synchronisation. La plupart des moniteurs
   supportent sans broncher une valeur de VGT de 0 (pas d'intervalle
   de scurit) et nous tirerons parti de cette possibilit dans cet
   exemple. Un petit nombre, cependant, ncessitent l'emploi d'un
   intervalle de scurit de 2 ou 3 tics, et cela ne cause
   gnralement pas grand tort de les ajouter.

   Revenons  notre exemple : puisque, suivant la dfinition du
   concept de longueur de trame, un tic (ou cycle) vertical
   reprsente le temps ncessaire pour dessiner une trame HORIZONTALE
   complte, il s'ensuit dans notre exemple qu'il vaut 1232 / 65 MHz
   = 18.95 s.

   L'exprience prouve qu'une impulsion de synchronisation verticale
   devrait se situer quelque part entre 50 s et 300 s. En guise
   d'illustration, prenons 150 s, ce qui correspond  8 tics
   d'horloge verticaux (150 s / 18.95 s ~ 8).

   Certains fabricants aiment mentionner leurs paramtres de tramage
   vertical sous forme de dure plutt que de largeur exprime en
   pixels. Vous pourriez chez eux rencontrer les termes suivants :

   dure utile (VAT - Vertical Active Time)

           Equivalent  VR, mais en millisecondes. VAT * VSF = VR.

   dure hors service (VBT - Vertical Blanking Time)

           Equivalent  (VFL - VR), mais en millisecondes. VBT * VSF
           = (VFL - VR).

   fentre avant (VFP - Vertical Front Porch)

           Synonyme de VGT.

   dure de synchronisation

           Synonyme de VSP.

   fentre arrire (VBP - Vertical Back Porch)

           Une seconde temporisation de scurit aprs l'impulsion de
           synchronisation verticale. Souvent nulle.

12. Synthse

   La Table des Modes Vido du fichier Xconfig contient des squences
   de nombres, chaque ligne dfinissant de faon complte un mode
   opratoire du serveur X. Les champs sont groups en quatre
   sections,  savoir respectivement le nom, la frquence pilote, les
   paramtres horizontaux et les paramtres verticaux.

   La section consacre au nom ne contient qu'un champ, le nom du
   mode vido dfini par le reste de la ligne. Il sera fait rfrence
    ce nom dans les lignes "Modes" de la section de configuration du
   pilote de carte graphique du fichier Xconfig. Le champ nom peut
   tre omis si la valeur nom d'une ligne prcdente s'applique  la
   ligne courante.

   La section de la ligne de mode consacre  la frquence pilote ne
   contient que ce champ-l (c'est la quantit que nous avions
   baptise DCF). La valeur place dans ce champ spcifie quelle
   frquence pilote a t utilise pour gnrer les valeurs des
   sections suivantes.

   La section des paramtres horizontaux se compose de quatre champs
   qui dfinissent comment chaque ligne horizontale de l'cran doit
   tre construite. Le premier champ de la section contient le nombre
   de points par ligne qui seront illumins pour crer l'image (la
   quantit que nous avons appele HR). Le second champ de la section
   (SH1) dcrit le point o commencera l'impulsion de synchronisation
   horizontale. Le troisime champ (SH2) dcrit le point o se
   terminera cette impulsion de synchronisation. Le quatrime champ
   dfinit la longueur de trame horizontale totale (HFL).

   La section des paramtres verticaux contient aussi quatre champs.
   Le premier champ contient le nombre de lignes visibles qui
   apparatront sur l'cran (VR). Le second champ (SV1) indique le
   numro de la ligne o commencera l'impulsion de synchronisation
   verticale. Le troisime champ (SV2) dfinit le numro de ligne o
   se terminera cette impulsion de synchronisation. Le quatrime
   champ contient la longueur de trame verticale totale (VFL).

   Exemple :

      #Nom de mode  horloge  valeurs horizontales  valeurs verticales

      "752x564"     40       752 784  944 1088     564 567 569 611
                    44.5     752 792  976 1240     564 567 570 600

   (Note : la version de base de X11R5 ne permet pas l'emploi de
   frquences pilotes fractionnaires.)

   Pour Xconfig, toutes les valeurs dont nous venons de parler - le
   nombre de points illumins sur une ligne, le nombre de points
   sparant ceux qui sont illumins du dbut de l'impulsion de
   synchronisation, le nombre de points reprsentant la dure de
   cette impulsion, et le nombre de points situs aprs la fin de
   l'impulsion de synchronisation - sont additionns pour fournir le
   nombre de points par ligne. Le nombre de points horizontaux doit
   tre divisible par huit.

   Exemple de valeurs horizontales : 800 864 1024 1088

   Cette ligne d'exemple comporte le nombre de points illumins (800)
   suivi par la coordonne horizontale du point o commence
   l'impulsion de synchronisation (864), suivi par la coordonne
   horizontale du point o finit cette impulsion (1024), suivi par la
   coordonne horizontale du dernier point sur la ligne (1088).

   Remarquez encore une fois que chacune des valeurs horizontales
   (800, 864, 1024, et 1088) est divisible par huit ! Les valeurs
   verticales ne sont pas frappes de la mme exigence.

   Le nombre de lignes comprises entre le sommet de la zone
   affichable et le bas de celle-ci compose la trame. Le signal
   d'horloge de base, en ce qui concerne la trame, est la ligne. Un
   certain nombre de lignes composeront l'image. Aprs que la
   dernire ligne illumine a t affiche, un dlai correspondant 
   un nombre prcis de lignes sera respect avant que l'impulsion de
   synchronisation verticale soit mise. Cette impulsion durera alors
   quelques lignes, et finalement les dernires lignes de la trame,
   correspondant au dlai requis aprs l'impulsion, seront gnres.
   Les valeurs qui dfinissent ce mode opratoire sont fournies d'une
   manire semblable  l'exemple suivant.

   Exemple de valeurs verticales : 600 603 609 630

   Cet exemple dfinit une image compose de 600 lignes visibles, o
   l'impulsion de synchronisation verticale dbute sur la 603me
   ligne et se termine sur la 609me, et compose d'un total de 630
   lignes.

   Remarquez que les valeurs verticales ne doivent pas ncessairement
   tre divisibles par huit !

   Revenons  l'exemple sur lequel nous travaillions. Suivant ce que
   nous venons d'exposer, tout ce qu'il nous reste  faire est de
   placer nos rsultats dans le fichier Xconfig selon le format
   suivant :

 <nom>   DCF     HR  SH1 SH2   HFL   VR  SV1 SV2 VFL

   o SH1 reprsente le tic de dbut de l'impulsion de
   synchronisation horizontale et SH2 son tic final ; de la mme
   manire, SV1 reprsente le tic initial de l'impulsion de
   synchronisation verticale et SV2 son tic final.

   Pour dfinir ces valeurs, souvenez-vous de la discussion relative
    la magie noire et aux impulsions de synchronisation que nous
   avons tenue plus haut. SH1 est le point qui marque le front avant
   de l'impulsion de synchronisation horizontale ; donc, SH1 = HR +
   HGT1. SH2 reprsente le front arrire ; donc, SH2 = SH1 + HSP. De
   la mme manire, SV1 = VR + VGT (mais VGT vaut la plupart du temps
   0) et SV2 = SV1 + VSP.

 #nom    dotclock valeurs horizontales   valeurs verticales   drapeau
 936x702  65      936 968 1200 1232   702 702 710 737

   Aucun drapeau (flag) spcial n'est ncessaire ici ; il s'agit d'un
   mode non-entrelac. Maintenant nous avons rellement termin.

13. Usage du moniteur en surcapacit

   Il vous est fermement dconseill de tenter d'imposer  votre
   moniteur l'usage d'une frquence de balayage suprieure s'il
   s'agit d'un moniteur  frquence fixe. Votre cran peut tout
   simplement finir grill ! Avec un moniteur multi-frquences en
   surcapacit, il peut survenir des problmes potentiellement plus
   subtils, dont il est bon que vous soyez conscient.

   Par contre, utiliser une frquence pilote suprieure  la bande
   passante maximum du moniteur est relativement inoffensif. C'est le
   dpassement des frquences maximales de synchronisation qui est
   problmatique. Les moniteurs modernes ont des circuits de
   protection qui teignent l'cran aux frquences dangereuses, mais
   ne comptez pas trop dessus. En particulier, il y a des vieux
   moniteurs multifrquences (comme le Multisync II) qui n'utilisent
   qu'un transformateur horizontal. Ces moniteurs n'offrent pas
   tellement de protection contre leur usage en surcapacit. Mme
   s'il y a forcment des circuits de rgulation haute tension (qui
   ne sont pas ncessaires dans un moniteur  frquences fixes), ils
   ne couvriront pas forcments tous les intervalles de frquences
   possibles, particulirement dans les modles bon march. Il n'y a
   pas seulement des risques pour les circuits, mais cela risque
   aussi d'acclrer le vieillissement de la couche de phosphore, et
   d'augmenter la dose de radiations (dont les rayons X) mise par le
   moniteur.

   Cependant, la valeur qui est la source principale des problmes
   est la frquence d'oscillation (slew rate) - la "pente" des
   signaux vido -  la sortie de la carte graphique, et cela ne
   dpend normalement pas de la frquence pilote courante, mais (si
   le constructeur de votre carte se proccupe de ces questions) est
   li  la frquence pilote maximum supporte par la carte.

   Aussi, soyez prudents...

14. Utilisation des modes entrelacs

   (Cette section est de en majeure partie  David Kastrup
   <dak@pool.informatik.rwth-aachen.de>)

   A une frquence pilote donne, un cran entrelac manifestera un
   effet de clignotement considrablement moins perceptible qu'un
   cran non- entrelac, si les circuits verticaux de votre moniteur
   sont capables de supporter cette frquence de faon stable. C'est
   la raison pour laquelle ces modes entrelacs furent invents au
   dpart.

   Les modes entrelacs doivent leur mauvaise rputation au fait que
   leur qualit est infrieure au mode non-entrelac quivalent  la
   mme frquence de balayage verticale, VSF (celle qui est
   gnralement mentionne dans les publicits). Mais ils sont
   certainement d'une qualit suprieure  la mme frquence de
   balayage horizontale, et c'est l que se situent les limites
   dcisives de votre couple moniteur/carte graphique.

    une frquence de rafrachissement donne (ou frquence de
   demi-trame, ou VSF), l'affichage entrelac manifestera un
   clignotement plus fort : un affichage entrelac  90 Hz sera d'une
   qualit infrieure  un affichage non-entrelac  90 Hz. Il ne
   ncessitera, cependant, que la moiti de la bande passante vido
   et la moiti de la frquence de balayage horizontale. Si vous le
   comparez  un mode non-entrelac  la mme frquence pilote et aux
   mmes frquences de balayage, vous le trouverez de loin suprieur
   : 45 Hz non-entrelac est intolrable. Avec 90 Hz entrelac, j'ai
   travaill des annes sur mon Multisync 3D ( 1024x768) et j'en
   suis tout  fait satisfait. J'ai l'impression qu'il vous faudrait
   au moins du 70 Hz non-entrelac pour atteindre un niveau de
   confort quivalent.

   Voici quelques lments auxquels il vous faudra prter attention,
   cependant : n'employez les modes entrelacs qu' des rsolutions
   leves, de sorte que les lignes illumines alternativement soient
   proches les unes des autres. Vous avez aussi la possibilit de
   jouer sur la largeur et la position de l'impulsion de
   synchronisation pour obtenir le positionnement des lignes le plus
   stable. Si des lignes sont alternativement claires et fonces,
   l'entrelacement va vous "sauter  la figure". J'utilise un
   programme qui emploie une configuration de points semblable pour
   l'arrire-plan d'un menu (il s'agit d'XCept - aucun autre
   programme  ma connaissance ne fait cela, heureusement).

   Pour la mme raison, utilisez au moins des polices 100 dpi, ou
   toute autre police dont les barres horizontales font au moins deux
   lignes d'paisseur (dans le cas de hautes rsolutions, cela n'a
   pas de sens d'utiliser quoi que ce soit d'autre de toute faon).

   Et bien sr, n'utilisez jamais de mode entrelac si votre matriel
   est capable de supporter l'emploi d'un mode non-entrelac  la
   mme frquence de rafrachissement.

   Si, au contraire, vous remarquez qu' certaines rsolutions vous
   poussez soit le moniteur soit la carte graphique jusqu' ses
   limites, et que vous obtenez un clignotement dsagrable ou une
   image dlave (signe que vous saturez la bande passante
   disponible), peut-tre souhaiterez-vous essayer d'obtenir la mme
   rsolution par l'emploi d'un mode entrelac. Ceci bien sr n'a de
   sens que si le VSF de votre moniteur n'est pas encore proche de sa
   limite.

   La mise au point d'un mode entrelac est facile : procdez
   exactement comme pour un mode non-entrelac. Il suffit de prendre
   en compte deux lments supplmentaires : il vous faut un nombre
   total impair de lignes verticales (la dernire valeur de votre
   ligne de mode), et lorsque vous spcifiez le drapeau "Interlace",
   la frquence de trame verticale relle pour votre moniteur est
   double. Il faut que votre moniteur supporte une frquence de
   trame de 90 Hz si le mode que vous spcifiez semble tre du 45 Hz,
   le drapeau "Interlace" mis  part.

   En guise d'exemple, ceci est ma ligne de mode pour du 1024x768
   entrelac : mon Multisync 3D supporte jusqu' 90 Hz vertical et 38
   kHz horizontal.

 ModeLine "1024x768" 45 1024 1048 1208 1248 768 768 776 807 Interlace

   Les deux limites sont pour ainsi dire atteintes avec ce mode. Mais
   si vous spcifiez le mme mode, en omettant simplement le drapeau
   "Interlace", vous vous situez toujours  la limite de la capacit
   horizontale du moniteur (et,  strictement parler, un poil en
   dessous de la limite infrieure de la frquence de balayage
   verticale), tandis que vous souffrirez d'un insupportable effet de
   clignotement de l'image.

   Quelques rgles de base : si vous avez mis au point un mode qui
   n'exploite que la moiti de la capacit verticale de votre
   moniteur, changez le nombre total de lignes en une valeur impaire
   et ajoutez le drapeau "Interlace". La qualit de l'image devrait
   s'en trouver grandement amliore dans la majorit des cas.

   Si vous utilisez un mode non-entrelac qui par ailleurs dpasse
   les spcifications de votre moniteur tandis que la frquence de
   balayage verticale se situe  30% ou plus en dessous du maximum
   support par votre cran, mettre au point manuellement un mode
   entrelac (qui offrira sans doute une rsolution lgrement
   suprieure) peut fournir de meilleurs rsultats, mais je ne peux
   rien promettre.

15. Questions et rponses

   Q : L'exemple prsent plus haut met en scne une taille d'cran
   non standard. Puis-je l'utiliser ?

   Q : Est-ce l la seule rsolution utilisable compte tenu d'une
   frquence pilote de 65 MHz et d'un HSF de 55 kHz ?

   Q : Vous n'avez fait mention que de deux rsolutions standard.
   Dans le fichier Xconfig, de nombreuses rsolutions standard sont
   disponibles. Pouvez-vous me dire s'il y a une raison pour moi de
   chipoter avec les valeurs de synchronisation ?

   Q : Pourriez-vous rsumer ce qui a t expos jusqu'ici ?

   Q : L'exemple prsent plus haut met en scne une taille d'cran
       non standard. Puis-je l'utiliser ?
   R : Pourquoi pas ? Il n'y a absolument AUCUNE raison qui vous
       force  vous cantonner aux tailles habituelles 640x480,
       800x600, ou mme 1024x768. Les serveurs XFree86 vous offrent
       normment de libert lors de la configuration de votre
       matriel. Il faut gnralement deux ou trois essais pour
       obtenir la bonne. L'objectif  garder en ligne de mire est une
       frquence de rafrachissement leve tout en conservant une
       zone affichable de taille raisonnable. Ne visez pas une
       rsolution leve si c'est au prix d'un clignotement qui vous
       ruinera les yeux !
   Q : Est-ce l la seule rsolution utilisable compte tenu d'une
       frquence pilote de 65 MHz et d'un HSF de 55 kHz ?
   R : Pas du tout ! Nous vous exhortons au contraire  suivre la
       procdure gnrale dcrite plus haut et  vous livrer 
       quelques expriences afin d'obtenir une configuration qui vous
       plaise rellement. Vous livrer  ces expriences peut vous
       apporter normment de plaisir. La plupart des configurations
       risquent de ne produire qu'une horrible neige, mais en
       pratique un cran moderne multi-frquences n'est pas si facile
        endommager. Soyez sr, cependant, que votre moniteur peut
       supporter la frquence de trame que vous voulez lui infliger
       avant de l'utiliser pour un temps considrable.

       Mais mfiez-vous des moniteurs  frquence fixe ! Ce type de
       manipulations hasardeuses peut les endommager trs rapidement.
       Soyez sr que vous utilisez une frquence de rafrachissement
       supporte lors de chaque tentative.
   Q : Vous n'avez fait mention que de deux rsolutions standard.
       Dans le fichier Xconfig, de nombreuses rsolutions standard
       sont disponibles. Pouvez-vous me dire s'il y a une raison pour
       moi de chipoter avec les valeurs de synchronisation ?
   R : Tout  fait ! Prenez par exemple le "standard" 640x480
       mentionn dans le fichier Xconfig actuel. Il exploite une
       frquence pilote de 25 Mhz, les longueurs de trame sont de 800
       et 525 ce qui nous donne une frquence de rafrachissement
       d'environ 59.5 Hz. Pas trop mal. Mais 28 MHz est une frquence
       pilote gnralement disponible sur nombre de cartes SVGA. Si
       vous utilisiez celle-ci pour gnrer du 640x480, suivant la
       procdure illustre plus haut, vous obtiendriez des longueurs
       de trame de 812 (arrondi  808) et 505. La frquence de
       rafrachissement est maintenant porte  68 Hz, ce qui
       reprsente une amlioration significative par rapport  la
       configuration standard.
   Q : Pourriez-vous rsumer ce qui a t expos jusqu'ici ?
   R : En bref :

         o pour toute frquence pilote donne, une augmentation de la
           rsolution maximum se paye par une diminution de la
           frquence de rafrachissement, ce qui induira un effet de
           clignotement accru.

         o si l'obtention d'une rsolution leve s'avre ncessaire
           et si votre moniteur la supporte, essayez de vous procurer
           une carte SVGA qui fournisse une frquence pilote (ou DCF)
           compatible. Plus elle est leve, meilleur sera le
           rsultat !

16. Rsoudre les problmes affectant l'image

   OK, ainsi donc vous disposez maintenant des valeurs ncessaires 
   la configuration de X. Vous les avez places dans votre fichier
   Xconfig, en choisissant pour le mode un champ "nom" qui
   l'identifie comme un test. Vous dmarrez X, vous utilisez les
   raccourcis clavier pour sauter au nouveau mode, ... et l'image ne
   semble pas correcte. Que faire ? Ci-dessous se trouve une liste de
   distorsions d'image vido frquentes et la faon d'y remdier.

   (La rparation de ces distorsions mineures est rellement la
   situation oxvidtune(1) se distinguera brillamment.)

   Vous dplacerez l'image en modifiant les coordonnes temporelles
   de l'impulsion de synchronisation. Vous agirez sur sa taille en
   jouant sur la longueur de trame (n'oubliez pas de dplacer
   l'impulsion de synchronisation en consquence, de faon  la
   maintenir  la mme position relative, sinon altrer la taille de
   l'image dplacera aussi celle-ci). Voici quelques recettes plus
   spcifiques :

   Les positions horizontale et verticale sont indpendantes. Par
   cela, nous entendons que dplacer l'image horizontalement
   n'affecte pas sa position verticale, et rciproquement. Cependant,
   il n'en va pas tout  fait de mme pour la taille. Alors que le
   fait de modifier la taille horizontale n'affecte en rien la
   dimension verticale et vice versa, la quantit globale de
   changement qui peut tre apport dans les deux directions peut
   tre limit. En particulier, si votre image est trop large dans
   les deux sens il vous faudra probablement adopter une frquence
   pilote plus leve pour la faire rtrcir. Dans la mesure o cela
   se traduira par une augmentation de la rsolution utilisable,
   c'est rarement un problme !

  16.1. L'image est dcentre vers la gauche ou la droite

   Pour y remdier, dplacez l'impulsion de synchronisation
   horizontale. C'est--dire, incrmentez ou dcrmentez (par un
   multiple de 8) les deux valeurs mdianes de la section des donnes
   horizontales qui dterminent les limites antrieure et postrieure
   de l'impulsion de synchronisation horizontale.

   Si l'image est dcentre vers la gauche (la marge droite tant
   trop large, vous souhaitez faire glisser l'image vers la droite)
   dcrmentez les valeurs. Si l'image est dcentre vers la droite
   (marge gauche trop large, vous voulez faire glisser l'image vers
   la gauche) incrmentez les coordonnes de l'impulsion de
   synchronisation.

  16.2. L'image est dcentre vers le haut ou le bas

   Pour rsoudre ce problme, dplacez l'impulsion de synchronisation
   verticale. A savoir, incrmentez ou dcrmentez les deux valeurs
   mdianes de la section des donnes verticales qui dterminent les
   limites antrieure et postrieure de l'impulsion de
   synchronisation verticale.

   Si l'image est dcentre vers le haut (marge infrieure trop
   large, vous souhaitez faire glisser l'image vers le bas)
   dcrmentez les valeurs. Si l'image est dcentre vers le bas
   (marge suprieure trop large, vous souhaitez faire glisser l'image
   vers le haut) incrmentez les valeurs.

  16.3. L'image est trop large dans les deux directions

   Passez  une frquence d'horloge suprieure sur la carte. Si vous
   disposez de nombreux modes diffrents dans votre fichier de
   configuration, il est possible que l'un de ceux qui exploitent une
   frquence infrieure ait t activ par erreur.

  16.4. L'image est trop large (ou trop troite) horizontalement

   Pour remdier  cela, augmentez (ou diminuez) la longueur de trame
   horizontale. C'est--dire, modifiez la quatrime valeur de la
   premire section des coordonnes temporelles. Pour viter de
   dplacer l'image par la mme occasion, dplacez aussi l'impulsion
   de synchronisation (deuxime et troisime valeurs) de la moiti de
   la diffrence, de faon  la conserver  la mme position
   relative.

  16.5. L'image est trop grande (ou trop petite) verticalement

   Pour rsoudre ce problme, augmentez (ou diminuez) la longueur de
   trame verticale. C'est--dire, modifiez la quatrime valeur dans
   la deuxime section des coordonnes temporelles. Pour viter de
   dplacer l'image, n'oubliez pas de dplacer aussi l'impulsion de
   synchronisation (deuxime et troisime valeurs) de la moiti de la
   diffrence, pour la garder  la mme position relative.

   Toute distorsion qui ne peut tre limine en combinant ces
   techniques est probablement la preuve d'un problme plus profond,
   comme une erreur dans les calculs ou une frquence pilote
   suprieure aux limites du moniteur.

   En dernier lieu, souvenez-vous que si vous augmentez l'une des
   longueurs de trame, vous diminuerez du mme coup votre frquence
   de rafrachissement, et rciproquement.

   Occasionnellement, vous pouvez corriger les petites distorsions
   d'image en jouant sur les rglages de votre moniteur. Le dfaut de
   cette mthode est que si vous vous loignez trop des rglages
   d'usine pour rgler les problmes du mode graphique, vous pouvez
   vous retrouver avec une image inutilisable en mode texte. Il vaut
   mieux rgler vos lignes de modes.

17. Reprsentation graphique des capacits du moniteur

   Pour tracer le diagramme de mode d'un moniteur, il vous faudra le
   programme gnuplot (un logiciel libre de trac graphique) et
   l'outil modeplot, un script shell/gnuplot qui tracera le diagramme
   sur la base des caractristiques de votre moniteur, fournies comme
   options sur la ligne de commande.

   Voici le listing du script modeplot :

   #!/bin/sh
   #
   # modeplot -- cre un graphe X des modes moniteurs disponibles
   #
   # Invoquez `modeplot -?' pour afficher les options de contrle.
   #

   # Description du moniteur. Bande passante en MHz, frquences horizontales
   # en kHz et frquences verticales en Hz.
   TITLE="Viewsonic 21PS"
   BANDWIDTH=185
   MINHSF=31
   MAXHSF=85
   MINVSF=50
   MAXVSF=160
   ASPECT="4/3"
   vesa=72.5       # frq. de rafrachissement min. recommande VESA

   while [ "$1" != "" ]
   do
           case $1 in
           -t) TITLE="$2"; shift;;
           -b) BANDWIDTH="$2"; shift;;
           -h) MINHSF="$2" MAXHSF="$3"; shift; shift;;
           -v) MINVSF="$2" MAXVSF="$3"; shift; shift;;
           -a) ASPECT="$2"; shift;;
           -g) GNUOPTS="$2"; shift;;
           -?) cat <<EOF
   options de contrle de modeplot :

   -t "<description>"  nom du moniteur            dfaut : "Viewsonic 21PS"
   -b <nn>                 bande passante en MHz      dfaut : 185
   -h <min> <max>          HSF min & max (kHz)        dfaut : 31 85
   -v <min> <max>          VSF min & max (Hz)         dfaut : 50 160
   -a <aspect ratio>       proportions de l'image     dfaut : 4/3
   -g "<options>"      options  transmettre  gnuplot

   La prsence des paramtres -b, -h et -v est requise, -a, -t, -g sont
   optionnels.  Vous pouvez utiliser -g pour transmettre un nom de
   priphrique  gnuplot de faon  ce que (par exemple) les sorties
   produites par modeplot puissent tre rediriges vers une imprimante.
   Voyez gnuplot(1) pour de plus amples dtails.

   L'outil modeplot a t conu par Eric S. Raymond <esr@thyrsus.com> sur
   base d'une analyse et d'un code original par Martin Lottermoser
   <Martin.Lottermoser@mch.sni.de>

   Voici modeplot $Revision: 1.20 $
   EOF
                   exit;;
           esac
           shift
   done

   gnuplot $GNUOPTS <<EOF
   set title "$TITLE Mode Plot"

   # Nombres magiques.  Malheureusement, le graphe est trs sensible  toute
   # modification de ceux-ci, et ils pourraient tre loin de la vrit dans
   # le cas de certains moniteurs.  Il nous faut dterminer des valeurs afin
   # d'obtenir mme une approximation du diagramme de mode. Ces valeurs
   # proviennent d'une comparaison de nombreux exemples fournis dans la base
   # de donnes ModeDB.
   F1 = 1.30       # facteur de conversion rsol. horiz. -> largeur de trame
   F2 = 1.05       # facteur de conversion rsol. vertic. -> hauteur de trame

   # Dfinition de fonctions
   # (multiplier par 1.0 force l'arithmtique en nombres rels)
   ac = (1.0*$ASPECT)*F1/F2
   refresh(hsync, dcf) = ac * (hsync**2)/(1.0*dcf)
   dotclock(hsync, rr) = ac * (hsync**2)/(1.0*rr)
   resolution(hv, dcf) = dcf * (10**6)/(hv * F1 * F2)

   # Place les lgendes le long des axes
   set xlabel 'DCF (MHz)'
   set ylabel 'RR (Hz)' 6  # Place la lgende juste au-dessus de l'axe des Y

   # Gnre le diagramme
   set grid
   set label "VB" at $BANDWIDTH+1, ($MAXVSF + $MINVSF) / 2 left
   set arrow from $BANDWIDTH, $MINVSF to $BANDWIDTH, $MAXVSF nohead
   set label "max VSF" at 1, $MAXVSF-1.5
   set arrow from 0, $MAXVSF to $BANDWIDTH, $MAXVSF nohead
   set label "min VSF" at 1, $MINVSF-1.5
   set arrow from 0, $MINVSF to $BANDWIDTH, $MINVSF nohead
   set label "min HSF" at dotclock($MINHSF, $MAXVSF+17), $MAXVSF + 17 right
   set label "max HSF" at dotclock($MAXHSF, $MAXVSF+17), $MAXVSF + 17 right
   set label "VESA $vesa" at 1, $vesa-1.5
   set arrow from 0, $vesa to $BANDWIDTH, $vesa nohead # style -1
   plot [dcf=0:1.1*$BANDWIDTH] [$MINVSF-10:$MAXVSF+20] \
     refresh($MINHSF, dcf) notitle with lines 1, \
     refresh($MAXHSF, dcf) notitle with lines 1, \
     resolution(640*480,   dcf) title "640x480  " with points 2, \
     resolution(800*600,   dcf) title "800x600  " with points 3, \
     resolution(1024*768,  dcf) title "1024x768 " with points 4, \
     resolution(1280*1024, dcf) title "1280x1024" with points 5, \
     resolution(1600*1280, dcf) title "1600x1200" with points 6

   pause 9999
   EOF

   Une fois que vous tes sr d'avoir correctement install modeplot
   et le programme gnuplot, il vous faudra runir les
   caractristiques suivantes de votre moniteur :

     o bande passante vido (VB)

     o gamme de frquences de synchronisation horizontale (HSF)

     o gamme de frquences de synchronisation verticale (VSF)

   Le programme de trac doit faire quelques suppositions
   simplificatrices qui ne sont pas ncessairement correctes. C'est
   la raison pour laquelle le diagramme rsultant n'est qu'une
   description relativement grossire. Ces suppositions sont les
   suivantes :

     o Toutes les rsolutions n'ont qu'un seul rapport de proportions
       prdfini AR = HR/VR. Les rsolutions standard ont AR = 4/3 ou
       AR = 5/4. Le programme modeplot suppose 4/3 par dfaut, Mais
       il vous est possible de modifier cela.

     o Pour les modes pris en compte, les longueurs de trames
       horizontale et verticale sont des multiples fixs des
       rsolutions horizontale et verticale, respectivement :

         HFL = F1 * HR
         VFL = F2 * VR

   En premire approximation, prenez F1 = 1.30 et F2 = 1.05 (voyez la
   section Calcul de la taille de trame).

   Maintenant considrez une frquence de synchronisation
   particulire, HSF. Sur base des prsupposs que nous venons de
   mentionner, la valeur que prendra la frquence pilote DCF
   dterminera dj la frquence de rafrachissement RR, c'est--dire
   que pour toute valeur de HSF il y a une fonction RR(DCF). Celle-ci
   peut s'obtenir comme suit.

   La frquence de rafrachissement est gale  la frquence pilote
   divise par le produit des longueurs de trame :

         RR = DCF / (HFL * VFL)          (*)

   D'autre part, la longueur de trame horizontale est gale  la
   frquence pilote divise par la frquence de synchronisation
   horizontale :

         HFL = DCF / HSF                 (**)

   Il est possible de rduire VFL  HFL au moyen des deux
   suppositions mentionnes plus haut :

         VFL = F2 * VR
             = F2 * (HR / AR)
             = (F2/F1) * HFL / AR        (***)

   En insrant (**) et (***) dans (*) nous obtenons :

         RR = DCF / ((F2/F1) * HFL**2 / AR)
            = (F1/F2) * AR * DCF * (HSF/DCF)**2
            = (F1/F2) * AR * HSF**2 / DCF

   Pour des valeurs fixes de HSF, F1, F2 et AR, cette formule se
   traduit par une hyperbole dans notre diagramme. Si nous traons
   deux courbes de ce type pour les frquences de synchronisation
   horizontale minimum et maximum nous obtenons les deux limites
   restantes de la rgion des solutions permises.

   Les lignes droites qui traversent la rgion des capacits
   reprsentent des rsolutions particulires. Ceci est bas sur (*)
   et la deuxime supposition :

         RR = DCF / (HFL * VFL) = DCF / (F1 * HR * F2 * VR)

   En traant de telles droites pour chacune des rsolutions qui vous
   intressent, vous pourrez immdiatement extraire du graphe les
   relations possibles entre rsolution, frquence pilote et
   frquence de rafrachissement dont le moniteur est capable.
   Remarquez que ces lignes ne dpendent pas des caractristiques
   relles du moniteur, mais bien de notre seconde supposition.

   L'outil modeplot vous offre une manire trs simple de faire cela.
   Tapez modeplot -? pour afficher ses options de contrle. Une
   invocation usuelle ressemble  ceci :

         modeplot -t "Swan SW617" -b 85 -v 50 90 -h 31 58

   Le paramtre -b spcifie la bande passante vido ; -v et -h
   dfinissent les gammes de frquences de synchronisation
   horizontale et verticale.

   Lorsque vous consulterez le graphique produit par modeplot,
   conservez toujours prsent  l'esprit le fait qu'il n'offre qu'une
   description approximative. Par exemple, il ignore les limitations
   imposes  HFL dues  ce qu'une largeur d'impulsion de
   synchronisation minimum est requise, et sa prcision ne peut
   dpasser celle de nos suppositions. Il ne peut ds lors remplacer
   un calcul dtaill (incluant une certaine dose de magie noire) tel
   celui que nous avons prsent dans la section Synthse. Il
   devrait, cependant, vous offrir une meilleure perception de ce qui
   est possible et des concessions que cela implique.

18. Crdits

   L'anctre primordial de ce document est d  Chin Fang
   <fangchin@leland.stanford.edu>.

   Eric S. Raymond <esr@snark.thyrsus.com> a retravaill, rorganis,
   et largement r-crit l'original de Chin Fang dans le but de le
   comprendre. Au cours de cette opration, il y a inclus la plus
   grande part d'un autre Howto crit par Bob Crosson
   <crosson@cam.nist.gov>.

   Les informations consacres aux modes entrelacs sont en grande
   partie dues  David Kastrup <dak@pool.informatik.rwth-aachen.de>

   Nicholas Bodley <nbodley@alumni.princeton.edu> a corrig et
   clarifi la section sur le fonctionnement des crans.

   Payne Freret <payne@freret.org> a corrig quelques erreurs
   mineures sur la conception des moniteurs.

   Martin Lottermoser <Martin.Lottermoser@mch.sni.de> a soumis l'ide
   d'utiliser gnuplot pour gnrer des diagrammes de mode et a
   ralis l'analyse mathmatique qui sous-tend modeplot. La version
   de modeplot telle qu'elle est actuellement distribue a t
   repense et gnralise par ESR  partir du code gnuplot original
   de Martin pour un cas prcis.

