  Utilisation de l'extension Xinerama pour le multi-cran avec XFree86
                                V. 4.0+

Dennis Baker <drbaker at softhome dot net>.
Traduction franaise de Xavier Serpaggi <xavier dot serpaggi at free dot
fr>.

   Rvision v2.0, 2 Novembre 2000

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

   Ce document dcrit comment configurer XFree86 version 4.0 ou plus,
   pour utiliser plusieurs moniteurs avec l'extension Xinerama.

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

1. IntroductionDe nombreuses amliorations sont dues  Nico Schottelius
nicos@pcsystems.de.

1.1 Xinerama, c'est quoi ?

   Pourquoi auriez-vous besoin de Xinerama ? Et qu'est ce que c'est ?
   Les extensions Xinerama ont-t ajoutes  XFree86  la version
   4.0. Xinerama est une extension de XFree86 Release 6 Version 4
   (X4.0) qui permet aux applications et aux gestionnaires de
   fentres de disposer de deux crans physiques (ou plus), comme un
   seul grand cran virtuel.

   La beaut des extensions Xinerama est qu'elles sont compltement
   transparentes  l'utilisateur. Avant cela, les applications ne
   pouvaient occuper qu'un seul affichage (display) et ne pouvaient
   pas tre dplaces de l'un  l'autre. Les gestionnaires de
   fentres devaient grer explicitement les deux affichages. Avec
   Xinerama, les gestionnaires de fentres et les applications ne
   doivent pas tre crits spcialement dans le but de supporter
   l'cran virtuel de plus grande taille ainsi cr.

1.2 Directives

   Ce document ne prtend pas tre un guide sur la mise en service de
   votre moniteur ou de votre carte graphique. En ralit, je fais
   l'hypothse que vous disposez dj d'un environnement X Window qui
   fonctionne pour votre configuration. Je vous conseille de vous
   plonger dans le documentation de XF86 pour plus d'informations.

   Autant que je saches il n'y a pas de limite au nombre de cartes
   graphiques que vous pouvez configurer de cette manire. Il ne
   semble pas non plus y avoir de problme  mlanger diffrents
   types de cartes graphiques dans une mme configuration. La
   configuration de test que j'utilise pour cette documentation
   comporte deux cartes graphiques : une Fire GL 1000 AGP et une
   Matrox Millenium II PCI. Quel effet cela a-t-il sur l'acclration
   3D, je n'en sait rien vu que je ne l'utilise sur aucune de mes
   cartes.

   Pour ce HowTo je fais les hypothses que vous savez diter un
   fichier, configurer une carte graphique avec X Window, ajouter et
   enlever des cartes de votre ordinateur, dmarrer et arrter des
   services et suivre des instructions simples. Si vous pensez ne pas
   pouvoir faire l'une de ces actions, je vous en prie, demandez de
   l'aide. Je ne suis pas responsable des ventuels dommages subis
   par votre ordinateur.

2. Prvoir

   Prvoir une configuration Xinerama est un processus assez
   immdiat. Il y a principalement trois chose qu'il faut prendre en
   compte : la rsolution, le nombre de couleurs et le positionnement
   de l'cran.

2.1 Ce dont vous avez besoin

   Vous aurez besoin d'au moins deux cartes graphiques (une carte
   dual head devrait galement faire l'affaire) et de deux moniteurs.
   Il vous faudra galement un systme qui supporte XFree86 (par
   exemple Linux ou Solaris) et XFree86 version 4.0. Je fais
   l'hypothse que votre configuration fonctionne et que vos deux
   cartes graphiques sont supportes par XFree86.

    moins que vous ayez fait une mise  jour ou install Linux
   rcemment, vous disposez certainement d'une ancienne version de X.
   Vrifiez que vous utilisez bien une version 4.0 ou plus rcente en
   entrant la commande suivante :

     papel:/home/nico/X/bin # X -version

   Vous devriez obtenir quelque chose dans ce genre :

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

   XFree86 Version 4.0 / X Window System
   (protocol Version 11, revision 0, vendor release 6400)
   Release Date: 8 March 2000
          If the server is older than 6-12 months, or if your card is newer
          than the above date, look for a newer version before reporting
          problems.  (see http://www.XFree86.Org/FAQ)
   Operating System: Linux 2.3.46 i686 [ELF]
   Module Loader present


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

   Si la version n'est pas au moins 4.0 (la premire ligne), vous
   devez procder  une mise  jour. Pour cela vous pouvez, soit
   utiliser le gestionnaire de paquetages de votre distributions,
   soit tlcharger directement la dernire version depuis [1]le site
   de XFree86 et l'installer, ou mieux, utiliser un des [2]miroirs.

   Une fois les fichiers tlchargs, installez la nouvelle version
   avec le script Xinstall.sh. Remarquez que si vous installez X de
   cette manire, il ne sera pas pris en compte par le gestionnaire
   de paquetages de votre systme (si ce dernier en a un).

2.2 -propos de la mise en place

   Il est possible que chacun des cran de votre configuration
   Xinerama ait une rsolution diffrente. Ceci prsente certains
   avantages. Par exemple, cela m'a permis d'utiliser un vieux
   moniteur qui ne peut afficher que du 640480 avec un 17" affichant
   du 12801024. J'ai galement entendu parler de dveloppeurs web et
   de graphistes qui utilisent un grand cran pour la
   prvisualisation, plus un ou deux autres plus petits. Je pense que
   cette flexibilit reprsente un des grands avantages des
   extensions Xinerama.

   Quelques problmes d'interface, spcifiques  Xinerama, demeurent
   avec certains gestionnaires de fentres (reportez-vous  la
   section [3]Gestionnaires de fentres et Xinerama). Le plus
   ennuyeux tant la gestion des zones mortes.

   Les gestionnaires de fentres font l'hypothse que la zone
   affichable est un rectangle dont la taille est gale  la largeur
   et  la hauteur totale de votre bureau. Si vous n'utilisez pas la
   mme rsolution sur tous les crans, votre zone affichable ne sera
   pas rectangulaire. Ceci fait apparatre des zones morte qui n'ont
   pas d'existence au niveau de votre affichage, mais que votre
   gestionnaire de fentres va interprter comme vides. Nombreux sont
   les gestionnaires de fentres qui vont tenter d'utiliser ces zones
   mortes pour placer les nouvelles fentres. Les fentres ainsi
   places seront alors inaccessibles. Avec le temps, les
   gestionnaires de fentres prennent en compte les extensions
   Xinerama et ces limitations disparaissent rapidement.

   Les gestionnaires de fentres ne savent pas non plus comment
   maximiser une fentre quand on utilise Xinerama. Ce qui se passe
   en gnral c'est que les fentres sont maximises sur tous les
   crans disponibles. Netscape tal sur deux crans n'est pas la
   disposition idale pour naviguer sur l'Internet.

   Contrairement  ce qu'il est possible de faire pour les
   rsolutions, Xinerama n'accepte qu'une seule profondeur d'cran
   pour l'intgralit de l'cran virtuel. C'est un point  bien
   garder en tte au moment de ressortir sa vieille carte graphique.
   Si cette dernire ne peut afficher que 8 bits, vous aurez un grand
   cran, mais avec seulement 256 couleurs.

2.3 Agencement

   La dcision de comment tout cela va tre agenc est assez simple 
   prendre. Vous devez uniquement savoir comment vont tre
   physiquement disposs vos moniteurs. La plupart des gens mettront
   simplement leurs moniteurs cte--cte et disposeront d'un bureau
   tal sur les deux. Il est galement possible que les affichages
   se superposent par endroits, ou encore, il est possible de les
   disposer de manire plus complique. Gardez cependant en tte ce
   que j'ai dit plus haut au sujet des gestionnaires de fentres :
   ils s'attendent  avoir un affichage rectangulaire.

3. Configuration de la carte graphique

   Voici venu le moment idal pour faire une sauvegarde de votre
   configuration existante.

   J'ai personnellement procd de la sorte :

     root# > cp /etc/X11/XF86Config /etc/X11/XFree86Config.working

   Avant de s'attaquer  la partie multi-crans, il faut vous assurer
   que toutes vos cartes graphiques fonctionnent parfaitement avec la
   rsolution qu'elles auront dans la configuration finale. Si ce
   n'est pas dj fait, installez et configurez chaque combinaison de
   carte/moniteur tels qu'ils seront dans la configuration finale. Si
   vous disposez de plusieurs cartes graphiques identiques vous
   pouvez en configurer une et recopier le rsultat pour les autres.

   Remarquez qu'il est possible de configurer et tester vos cartes
   graphiques sans les changer physiquement de place. Pour cela il
   vous faudra utiliser la technique de scan, dcrite dans la section
   [4]Identifiant et bus PCI ci-dessous, en prcisant l'ID sur le
   bus PCI.

   Une fois que toutes vos cartes sont configures, faites une
   sauvegarde ou bien imprimez leur fichier de configuration. Vous en
   aurez besoin plus tard. J'ai procd comme suit :

     root# > cp /etc/X11/XF86Config /etc/X11/XFree86Config.Matrox

   Il se peut que le fichier de configuration soit stock dans /etc
   et voici alors ce qu'il faudra faire :

     root# > cp /etc/XF86Config /etc/XFree86Config.Matrox

   Si vos cartes graphiques sont identiques vous pouvez certainement
   vous en sortir avec une seule copie. Cependant, ne sautez pas
   cette tape. Si les instructions que je vous donne mettent votre
   systme sans dessus dessous, ce sont ces copies de sauvegarde qui
   vous sauveront.

   Une fois les affichages configurs, tout est pratiquement fait...

4. Identifiant et bus PCI

   C'est le moment, il faut mettre toutes vos cartes graphiques dans
   la boite et brancher vos moniteurs. Mettez tout en place comme
   vous le dsirez ds  prsent sinon vous devrez rpter ces tapes
   plus tard.

   Ce qui suit devra tre fait depuis la console, sans que X ne
   tourne. Si vous tes sous X, quittez le. Si vous utilisez un
   gestionnaire comme xdm ou gdm, vous devez arrter le service qui
   lui est associ. Sous une RedHat, le plus simple est de faire :

     root# > telinit 3

   Pour Debian, Storm ou Corel :

     root# > /etc/init.d/xdm stop

   Si aucune de ces mthode ne fonctionne, relancez votre ordinateur
   et dmarrez en mode single (mono utilisateur).

   Dans le cadre du multi-crans vous devez, dans le fichier de
   configuration, explicitement identifier chaque carte graphique.
   Ceci se fait en utilisant l'identifiant (ID), que le systme donne
    votre carte, sur le bus PCI. Pour cela, toutes les cartes
   graphiques doivent tre enfiches.

   Pour connatre les ID sur le bus PCI, faites :

     root# > XFree86 -scanpci

   X vous donnera un code pour chaque priphrique sur le bus PCI.

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

 (0:0:0) Intel 82443BX Host
 (0:1:0) Intel 82443BX AGP
 (0:7:0) Intel 82371AB PIIX4 ISA
 (0:7:1) Intel 82371AB PIIX4 IDE
 (0:7:2) Intel 82371AB PIIX4 USB
 (0:7:3) Intel 82371AB PIIX4 ACPI
 (0:9:0) Adaptec 2940U/UW
 (0:11:0) 3COM 3C900 10b Combo
 (0:12:0) Matrox unknown card (0x2007) using a Matrox MGA 2164W
 (1:0:0) unknown card (0x1092/0x0152) using a Texas Instruments Permedia 2

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

   Le 0 du dbut identifie les cartes et priphriques PCI, alors que
   le 1 est rserv aux cartes AGP. Dans mon cas il y a une Matrox
   Millenium II (0:12:0) et une Diamond FireGL (1:0:0). Relevez les
   numros associs  vos cartes graphiques. Il est important que
   vous sachiez quel numro est affect  quelle carte.

5. diter votre fichier XF86Config

   Si vous n'tes pas encore perdu, rentrons dans le vif du sujet.
   Cette section peut tre assez droutante, je vous suggre donc de
   lire la page de manuel de XF86Config, ou du moins de la parcourir.
   Faites-le ! J'attendrai...

     root# > man XF86Config

5.1 Ajout de toutes les cartes graphiques

   Ouvrez le fichier XF86Config et descendez jusqu' la section
   traitant de moniteur (Section "Monitor"). Il faut copier les
   sections Monitor, Device et Screen des diffrents fichiers
   XF86Config de sauvegarde crs plus haut. Ces sections doivent
   tre reportes dans votre fichier XF86Config aprs les sections
   correspondantes dans le fichier que vous avez ouvert. Assurez-vous
   que l'identifiant (Identifier) est unique pour chaque section;
   vous y ferez rfrence plus tard.

   Comment a c'est, pas clair ! Vous devez avoir, en dfinitive, une
   section Monitor, Device et Screen pour chacune des combinaison
   carte graphique/moniteur. Si vous tes toujours embrouill,
   relisez le paragraphe prcdent. Si cela ne vous aide pas, jetez
   un oeil au fichier [5]XF86Config d'exemple  la fin de ces
   quelques pages. Vous avez bien lu la page de manuel, hein ?

5.2 Identifier vos cartes graphiques

   Il faut  prsent ajouter les ID du bus PCI  la fin de chaque
   section Device. C'est une option de la section. La ligne devra
   ressembler  a : BusID "PCI:0:12:0", avec votre identifiant,
   recherch  la section [6]Identifiant et bus PCI, en lieu et place
   de 0:12:0. Ci-dessous, un exemple de section Device d'une de mes
   cartes graphiques.

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

 Section "Device"
     Identifier  "FireGL"
     Driver      "glint"
     BusID      "PCI:1:0:0"
 EndSection

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

   Remarquez que mme les cartes AGP utilisent ce format.

5.3 Configurer la section ServerLayout

    prsent, il faut diter la section ServerLayout situe  la fin
   de votre fichier XF86Config. La section ServerLayout permet de
   dcrire les crans utiliss, leur positionnement relatifs et les
   units qui leur sont attaches. Actuellement vous devez avoir une
   disposition ne contenant qu'un cran, un clavier et une souris.
   Vous devez ajouter chacune des sections Screen que vous avez
   cres auparavant pour qu'elles fassent partie de votre cran.

   Ajoutez les nouvelles rfrences  vos crans en vous basant sur
   ce qui existe dj. Une rfrence se prsente sous la forme :

     Screen "Screen 2" position "Screen 1"

   Cela dcrit le positionnement relatif de Screen 2 et Screen 1.
   position peut prendre les valeurs RightOf ( droite de), Below
   (en-dessous de), Above (au-dessus de), LeftOf ( gauche de),
   Absolute X Y, Relative. Les quatres premires se comprennent
   d'elles mmes comme on peut le voir sur l'exemple suivant :

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

 Section "ServerLayout"
     Identifier  "Simple Layout"
     Screen "Screen 2"
     Screen "Screen 1" RightOf "Screen 2"
     InputDevice "Mouse1" "CorePointer"
     InputDevice "Keyboard1" "CoreKeyboard"
 EndSection

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

   Vous pouvez retrouver d'autres exemples dans la section
   [7]Exemples de fichiers XF86Config.

6. Tester votre configuration

   Une fois que votre fichier XF86Config a t modifi,
   sauvegardez-le. Vous pouvez  prsent tester votre configuration :

     root# > startx -- +xinerama

   Vous pouvez  prsent vous rjouir de plusieurs partenaires X...
   pardon, je voulais dire moniteurs !

7. diter vos fichiers de dmarrage

   Si cela a fonctionn vous voudrez probablement modifier votre
   configuration X pour qu'il dmarre directement sous ce mode. Il
   existe une multitude de faons de faire a et probablement de bien
   meilleures que celles que je vais vous proposer. Voici les
   mthodes que j'ai utilises pour modifier startx et gdm.

   Si vous lancez X depuis une ligne de commande, ajoutez simplement
   l'option +xinerama au script startx.

     root# > vi /usr/X11R6/bin/startx

   Tout  la fin du fichier, le script lance X  l'aide de la
   commande xinit. Ajoutez l'option +xinerama  la fin de cette
   ligne.

   Pour que gdm se lance avec l'option xinerama, recherchez la
   section [servers]  la fin du fichier /etc/X11/gdm/gdm.conf.
   Ajoutez l'option +xinerama  la fin de la ligne qui commence avec
   0=. Ca devrait ressembler  a :

     0=/usr/bin/X11/X +xinerama

   Je n'ai jamais essay d'utiliser kdm ou xdm avec Xinerama, mais
   j'ai eu l'astuce suivante de la part de Dalibor <dali at dali dot
   net dot nz>.

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

 Voici les modifications faites  mes fichiers de dmarrage pour une
 slackware 7.x (j'utilise KDM et x4.01)

 ditez /var/X11R6/lib/xdm/Xservers
 ajoutez +xinerama  la fin de la dernire ligne
 soit :
 :0 local /usr/X11R6/bin/X +xinerama

 Il se trouve que KDM utilise les fichiers standard XFree de xdm, du coup
 cela devrait galement fonctionner avec xdm.

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

8. Gestionnaires des fentres et Xinerama

   Comme je l'ai dit prcdemment, un gestionnaire de fentres n'a
   pas besoin d'tre spcialement crit pour supporter Xinerama.
   Cependant, certaines petites amliorations apportes par les
   dveloppeurs peuvent faciliter l'utilisation de Xinerama. Les
   fonctionnalits souhaites sont :

   - Positionnement intelligent des fentres. Les gestionnaires de
   fentres ne doivent pas placer ces dernires dans les zones mortes
   ou  la jonction de deux crans. Les nouvelles fentres doivent
   tre ouvertes sur le bureau courant.

   - Maximiser une fentre doit uniquement la maximiser sur l'cran
   courant.

   - Le dplacement des fentres doit tre sujet  rsistance  la
   limite de deux crans (de la mme manire qu'il y a une rsistance
   entre deux fentres).

   - Les fentres de dialogue et d'information ne doivent pas
   apparatre sur un autre cran.

   J'ai cherch dans leur liste de diffusion, leurs FAQ et j'ai
   galement envoy des messages aux dveloppeurs des principaux
   gestionnaires de fentres, pour savoir s'ils fonctionnaient avec
   les extensions Xinerama ou assimiles. Les gestionnaires de
   fentres que j'ai tests sont Blackbox, Enlightenment, Sawfish,
   KDE, WindowMaker et XFCE. Enlightenment et Sawfish sont les deux
   seuls pour lesquels j'ai trouv des amliorations, relatives 
   Xinerama, significatives (NdT : ce n'est plus le cas  l'heure
   actuelle. Par exemple kdwm, le gestionnaire de fentres de KDE,
   sait prendre en compte Xinerama de manire lgante). Je donne
   ci-dessous une description dtaille de ce que j'ai trouv.

8.1 Enlightenment

   Tir de leur page de nouvelles : dimanche 26 mars 2000

   E et Xinerama

   Nous avons juste termin l'intgration du support Xinerama cette
   semaine. Vous pouvez  prsent disposer de la rsistance au
   dplacement  la frontires des crans, les fentres apparatront
   toujours sur l'cran courant (sauf si vous voulez qu'elles aillent
   ailleurs, soit par modification de geometry soit parce que vous
   avez sauvegard leur position), maximiser ( part le mode
   absolute) se fait galement sur l'cran courant. Si vous disposez
   de Xinerama et que vous faites tourner un E CVS, testez-a et
   donnez-en des nouvelles.

8.2 Sawfish

   J'ai dcouvert, en lisant la liste de diffusion de Sawfish, qu'ils
   dveloppent activement la prise en compte Xinerama. Les
   fonctionnalits en train d'tre crites sont :

   - Empcher que les fentres soient ouvertes sur plusieurs crans.

   - Empcher que les fentres soient ouvertes dans les zones mortes.

   - Rsistance au dplacement entre les crans.

   - Les mode de placement de fentres Ramdom et Centered
   positionnent ces dernires sur l'cran courant.

   Ce n'ai pas test ces fonctionnalits.

9. Exemples de fichiers XF86Config

   Voici mon fichier XF86Config actuel :

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

 Section "Module"
     Load        "dbe"   # extension pour le double buffer
     SubSection  "extmod"
       Option    "omit xfree86-dga"   # ne pas initialiser l'extension DGA
     EndSubSection
     Load        "type1"
     Load        "freetype"
 # Chargement du module GLX
 #    Load       "glx"
 EndSection

 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/:unscaled"
     FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
     FontPath   "/usr/X11R6/lib/X11/fonts/Type1/"
     FontPath   "/usr/X11R6/lib/X11/fonts/Speedo/"
     FontPath   "/usr/X11R6/lib/X11/fonts/75dpi/"
     FontPath   "/usr/X11R6/lib/X11/fonts/100dpi/"
 # Chemin de recherche des modules. Ceci est le chemin par dfaut
 #    ModulePath "/usr/X11R6/lib/modules"
 EndSection

 Section "ServerFlags"

 EndSection

 Section "InputDevice"
     Identifier  "Keyboard1"
     Driver      "Keyboard"
     Option "AutoRepeat" "500 30"
     Option "XkbRules"   "xfree86"
     Option "XkbModel"   "pc101"
     Option "XkbLayout"  "us"
 EndSection

 Section "InputDevice"
     Identifier  "Mouse1"
     Driver      "mouse"
     Option "Protocol"    "PS/2"
     Option "Device"      "/dev/psaux"
 EndSection

 Section "Monitor"
     Identifier  "Mini"
     HorizSync   31.5
     VertRefresh 50-90
 EndSection

 Section "Monitor"
     Identifier  "Impression"
     HorizSync   31.5 - 82.0
     VertRefresh 50-100
 EndSection

 # Carte graphique N1, Matrox Millenium II PCI
 Section "Device"
     Identifier  "Matrox"
     Driver      "mga"
     VideoRam 8192
     BusID      "PCI:0:12:0"
 EndSection

 # Carte graphique N2, Fire GL 1000 AGP
 Section "Device"
     Identifier  "FireGL"
     Driver      "glint"
     #VideoRam    8192
     BusID      "PCI:1:0:0"

 EndSection

 Section "Screen"
     Identifier  "Screen 2"
     Device      "FireGL"
     Monitor     "Impression"
     DefaultDepth 16

     Subsection "Display"
         Depth       16
         Modes       "1280x1024" "640x480"
         ViewPort    0 0
     EndSubsection
 EndSection

 # Mon moniteur miniature. Remarquez que j'ai utilis l'option virtual, de
 # ce fait, la hauteur sera la mme que celle du moniteur le plus grand.
 # Ceci n'est pas indispensable.
 Section "Screen"
     Identifier  "Screen 1"
     Device      "Matrox"
     Monitor     "Mini"
     DefaultDepth 16

     Subsection "Display"
         Depth       16
         Modes       "640x480"
         ViewPort    0 0
         Virtual     640 1024
     EndSubsection
 EndSection

 Section "ServerLayout"
     Identifier  "Simple Layout"
     Screen "Screen 2"
     Screen "Screen 1" Rightof "Screen 2"
     InputDevice "Mouse1" "CorePointer"
     InputDevice "Keyboard1" "CoreKeyboard"
 EndSection

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

   Un autre exemple de section ServerLayout, avec un moniteur
   au-dessous de l'autre.

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

 Section "ServerLayout"
     Identifier  "Simple Layout"
     Screen "Screen 2"
     Screen "Screen 1" Below "Screen 2"
     InputDevice "Mouse1" "CorePointer"
     InputDevice "Keyboard1" "CoreKeyboard"
 EndSection

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

   Il est galement possible que les crans se superposent. Dans cet
   exemple, les deux crans ont un recouvrement de 80 pixels...

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

 Section "ServerLayout"
     Identifier  "Simple Layout"
     Screen "Screen 2"
     Screen "Screen 1" Relative "Screen 2" 1200 0
     InputDevice "Mouse1" "CorePointer"
     InputDevice "Keyboard1" "CoreKeyboard"
 EndSection

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

10. Crdits

   La majeure partie de l'introduction et de la premire section sont
   bases sur un document qui m'a t propos par Nico Schottelius
   <nicos at pcsystems dot de>. Comme cela a dj t mentionn, les
   configurations de KDM et xdm m'ont t fournies par Dalibor <dali
   at dali dot net dot nz>.

   Je remercie galement les nombreuses personnes qui m'ont aid 
   corriger les fautes d'othographe et qui m'ont donn des ides.
   J'ai, autant que possible, essay de prendre en compte ces
   remarques.

References

   Visible links
   1. ftp://ftp.xfree86.org/pub/XFree86/4.0/
   2. http://www.xfree86.org/4.0/ftp.html
   3. file:///home/fevrier/traduc.org/Xinerama-HOWTO.html#Window Managers
   4. file:///home/fevrier/traduc.org/Xinerama-HOWTO.html#PCI Bus Section
   5. file:///home/fevrier/traduc.org/Xinerama-HOWTO.html#XF86Config
   6. file:///home/fevrier/traduc.org/Xinerama-HOWTO.html#PCI Bus Section
   7. file:///home/fevrier/traduc.org/Xinerama-HOWTO.html#sample XF86Config
