                    Guide pratique du jeu sous Linux

  Version franaise du Linux Gamers' HOWTO

  Peter Jay Salzman

   <p CHEZ dirac POINT org>

  Frdric Delanoy

   Traduction franaise: Frdric Delanoy

   Version : 1.0.1.fr.0.9

   Copyright  2001, 2002 Peter Jay Salzman

   Copyright  2003, 2004 Peter Jay Salzman, Frdric Delanoy

   <p CHEZ dirac POINT org> / http://www.dirac.org/p
   [http://www.dirac.org/p].

   Distribu selon les termes de la Open Software License, version
   1.1.

   9 juin 2004

   +----------------------------------------------------------------+
   | Historique des versions                                        |
   |----------------------------------------------------------------|
   | Version 1.0.1.fr.0.9                | 2004-06-09               |
   |----------------------------------------------------------------|
   | Traduction de la version 1.0.1 du  Linux Gamers' HOWTO       |
   |----------------------------------------------------------------|
   | Version 1.0.1                       | 2004-02-04               |
   +----------------------------------------------------------------+

   Rsum

   Les mmes questions reviennent continuellement sur les listes de
   diffusion et groupes de discussion Linux. Beaucoup d'entre elles
   sont dues  la mconnaissance du fonctionnement de Linux, du moins
   en ce qui concerne le jeu. Jouer peut tre malais : cela requiert
   la connaissance d'une trs grande tendue de sujets parmi lesquels
   on trouve les compilateurs, les bibliothques, l'administration
   systme, la gestion de rseaux, l'administration de XFree86, et
   ctera, vous voyez le genre. Chaque aspect de votre ordinateur
   joue un rle dans le jeu. C'est un sujet exigeant, mais ce fait
   est occult par le but principal du jeu : s'amuser et
   dcompresser.

   Ce document est un point de dpart pour rsoudre la plupart des
   problmes courants et pour donner aux joueurs les connaissances
   ncessaires afin de ragir intelligemment en cas de problme avec
   leurs jeux. Comme de coutume sous Linux, vous devez connatre un
   peu ce qui se passe en coulisses pour que vos jeux continuent 
   fonctionner correctement ou pour poser un diagnostic et agir en
   consquence dans le cas contraire.

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

   Table des matires

   1. Informations administratives

                1.1. Droits d'utilisation

                1.2. Authorship and Copyright

                1.3. Remerciements

                1.4. Dernires versions et traductions

   2. Dfinitions : types de jeux

                2.1. Arcade

                2.2. Jeux de cartes, de logique et de plateau

                2.3. Aventure en mode texte (ou fiction interactive)

                2.4. Aventures graphiques

                2.5. Jeux de simulation

                2.6. Jeux de stratgie

                2.7. Jeux de combat  la premire personne (First
                Person Shooter, FPS)

                2.8. Jeux  dfilement horizontal

                2.9. Jeux de combat  la troisime personne

                2.10. Jeux de rle (Role Playing Game, RPG)

   3. Bibliothques

                3.1. Glide2

                3.2. Glide3

                3.3. OpenGL

                3.4. Mesa

                3.5. DRI

                3.6. GLX

                3.7. Utah GLX

                3.8. xlib

                3.9. Widgets

                3.10. SDL (Simple DirectMedia Layer)

                3.11. GGI

                3.12. SVGAlib, framebuffer et console

                3.13. OpenAL

                3.14. DirectX

                3.15. Clanlib

   4. XFree86 et vous

                4.1. Recueillir des informations sur votre systme X

                4.2. Jouer  des jeux sous X sans gestionnaire de
                fentres

   5. Divers

                5.1. Registres d'intervalles mmoire

                5.2. Exploiter au maximum les ressources de votre
                systme

                5.3.  propos des bibliothques sous Linux

   6. Quand de mauvaises choses arrivent  de bonnes gens

                6.1. RTFM !

                6.2. Recherchez des mises  jour et des correctifs

                6.3. Groupes de discussion

                6.4. Recherche sur Google Groupes

                6.5. Dbogage : traces d'appel et fichiers core

                6.6. Parties sauvegardes

                6.7. Que faire quand on ne trouve pas un fichier ou
                une bibliothque (ou se faciliter la vie avec strace)

                6.8. Consoles corrompues

                6.9. Systme bloqu

   7. Cartes vido

                7.1. Historique

                7.2. Situation actuelle (13 juillet 2003)

                7.3. Quelle carte vido dois-je acheter ? (13 juillet
                2003)

                7.4. Dfinitions : carte vido et terminologie 3D

   8. Son

                8.1. Quelle carte son est la meilleure ?

                8.2. Pourquoi le son ne fonctionne-t-il pas ?

   9. Problmes divers

                9.1. Problmes d'acclration matrielle

                9.2. L'acclration matrielle ne fonctionne que pour
                root

   10. mulation et machines virtuelles

                10.1. Qu'est-ce qu'une machine virtuelle ?

                10.2. Apple 8 bits

                10.3. DOS

                10.4. Win16

                10.5. Win32

   11. Interprteurs

                11.1. Moteur SCUMM (LucasArts)

                11.2. AGI : Adventure Gaming Interface (Sierra)

                11.3. SCI : SCript Interpreter ou Sierra Creative
                Interpreter (Sierra)

                11.4. Infocom Adventures (Infocom, Activision)

                11.5. Scott Adams Adventures (Adventure
                International)

                11.6. Ultima Underworld : The Stygian Abyss (Origin,
                Blue Sky Productions)

                11.7. Ultima 7 (Origin, Electronic Arts)

                11.8. System Shock (Electronic Arts, Origin)

   12. Sites web et ressources

                12.1. Mta-sites web de jeux

                12.2. Jeux Linux commerciaux

                12.3. Autres ressources

1. Informations administratives

   Si vous avez des ides, corrections ou questions relatives  ce
   guide, envoyez-moi un courriel. Le fait de recevoir du retour
   (mme si je n'ai pas le temps de rpondre) me donne l'impression
   que je fais quelque chose d'utile. Ds lors, cela me motive 
   crire plus encore et  complter ce document. Vous pouvez me
   contacter (NdT : en anglais)  l'adresse <p CHEZ dirac POINT org>.
   Ma page web est http://www.dirac.org/p [http://www.dirac.org/p] et
   mes pages Linux sont situes sur http://www.dirac.org/linux
   [http://www.dirac.org/linux]. N'hsitez pas  envoyer vos
   commentaires et suggestions relatifs  ce guide. Mme si je ne les
   retiens pas tous, votre apport est le bienvenu.

   N'hsitez pas  faire parvenir tout commentaire relatif  la
   version franaise de ce document  <commentaires CHEZ traduc POINT
   org>.

   Je prsume une connaissance pratique de Linux, et j'utilise donc
   certains termes comme les niveaux d'excution et les modules sans
   les dfinir. S'il y a assez de questions (ou mme de
   protestations), j'ajouterai des informations plus basiques  ce
   document.

  1.1. Droits d'utilisation

   [1][Important] Important                      
                  Le texte ci-dessous est la version franaise de la
                  licence de ce document. Seule la version originale
                  de cette licence, prsente dans la section
                  suivante, fait foi.            

   La version originale de ce document a t ralise par Peter Jay
   Salzman <p CHEZ dirac POINT org> pour les annes 2001-2002, et 
   Peter Jay Salzman et Frdric Delanoy pour les annes 2003-2004.

   Vous avez le droit de copier, distribuer et modifier la version
   originale de ce document selon les termes de la Open Software
   License [http://opensource.org/licenses/osl-1.1.txt] (OSL),
   version 1.1, complts par les dispositions prsentes dans le
   paragraphe suivant. Je dteste les guides qui incluent la
   licence : des arbres meurent...

   Si vous voulez crer un travail driv ou publier ce guide  des
   fins commerciales, je souhaiterais tre contact au pralable.
   Cela me donnera l'occasion de vous fournir la version la plus
   rcente. J'apprcierais galement soit une copie de votre travail,
   soit une pizza aux pinards,  l'ail, aux champignons,  la feta
   et aux curs d'artichauts.

   La version franaise de ce document a t ralise par Frdric
   Delanoy. Elle est publie en accord avec les termes de la Open
   Software License.

  1.2. Authorship and Copyright

   [2][Important] Important                      
                  Le texte ci-dessous est la licence de ce document.
                  Ce texte fait foi. Il est compos de la licence en
                  anglais du document orignal, suivi de la licence en
                  franais de sa traduction.     

   This document is copyright (c) 2001-2002 Peter Jay Salzman,
   <p(at)dirac(dot)org>; 2003-2004 Peter Jay Salzman and Frdric
   Delanoy. Permission is granted to copy, distribute and/or modify
   this document under the terms of the Open Software License,
   Version 1.1, except for the provisions I list in the next
   paragraph. I hate HOWTO's that include the license; it's a tree
   killer. You can read the OSL at
   http://opensource.org/licenses/osl-1.1.txt
   [http://opensource.org/licenses/osl-1.1.txt].

   If you want to create a derivative work or publish this HOWTO for
   commercial purposes, I would appreciate it if you contact me
   first. This will give me a chance to give you the most recent
   version. I'd also appreciate either a copy of whatever it is
   you're doing or a spinach, garlic, mushroom, feta cheese and
   artichoke heart pizza.

   La version franaise de ce document a t ralise par Frdric
   Delanoy. Elle est publie en accord avec les termes de la Open
   Software License.

  1.3. Remerciements

   Merci  Mike Phillips qui a normment comment ce guide. Merci 
   Dmitry Samoyloff, <dsamoyloff CHEZ yandex POINT ru>, qui a traduit
   ce document en russe. Cela m'a fait chaud au cur quand il m'a
   racont qu'il traduisait mes mots en russe. D'autres remerciements
   reviennent  :

    1. Moritz Muehlenhoff <jmm CHEZ Informatik POINT uni-bremen POINT
       de> qui m'a envoy des mises  jour (mme si je suis
       ternellement  la trane...)

    2. Frdric Delanoy pour d'importantes diffrences, corrections
       de fautes de frappe ou d'erreurs docbook.

   Je voudrais galement remercier Michael Mc Donnell pour m'avoir
   envoy des commentaires et des corrections.

  1.4. Dernires versions et traductions

   La version la plus rcente peut tre trouve sur
   http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/lgh/LG-HOWTO
   [http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/lgh/LG-HOWTO] ou
   http://www.dirac.org/linux/writing
   [http://www.dirac.org/linux/writing], mais c'est ma copie de
   travail personnelle. La version prsente sur mon site web
   personnel pourrait tre corrompue si je travaille sur le guide. La
   version sur sourceforge est la plus rcente mais est garantie non
   corrompue, mme si elle peut comporter quelques petits problmes,
   comme des paragraphes non termins. :)

   La version stable la plus rcente peut tre trouve sur
   http://www.tldp.org [http://www.tldp.org].

   Dmitry Samoyloff, <dsamoyloff CHEZ yandex POINT ru>, est
   responsable de la traduction russe de ce guide. La version la plus
   rcente peut tre trouve sur http://www.dirac.org/linux/writing
   [http://www.dirac.org/linux/writing].

2. Dfinitions : types de jeux

   Tout le monde ne connat pas les diffrents types de jeux
   existants. Pour pouvoir parler un langage commun, je vais
   m'intresser  chaque type de jeu et fournir un trs bref
   historique.

  2.1. Arcade

   Bien que les jeux d'arcade ont connu leur heure de gloire dans les
   annes 80, ils restent nanmoins trs populaires. Rien ne
   remplacera jamais une promenade dans une galerie d'arcade sombre,
   bonde et bruyante, y glissant une pice dans votre machine
   prfre et jouant  un vieux jeu du genre Space Invaders(TM). Les
   jeux de style arcade essaient de simuler les jeux d'arcade
   eux-mmes. Il y en a tellement qu'il est quasi impossible de tous
   les numrer, mais on peut citer les clones de Asteroids(TM),
   Space Invaders(TM), Pac-Man(TM), Missile Command(TM) et
   Galaxian(TM).

  2.2. Jeux de cartes, de logique et de plateau

   Les jeux de cartes simulent des jeux comme le poker ou le
   solitaire. Le programme peut simuler votre ou vos adversaire(s).

   Les jeux de logique simulent habituellement quelque casse-tte
   logique bien connu comme Master Mind(TM) ou le taquin.

   Les jeux de plateau simulent les jeux que vous pourriez jouer sur
   une table avec des amis, comme le Monopoly(TM), les checs, et
   ctera. Le programme peut simuler votre adversaire.

  2.3. Aventure en mode texte (ou fiction interactive)

   Il tait une fois, quand Apple ][, Commodore et Atari dominaient
   le monde, les aventures en mode texte taient le jeu dans le vent
   des  gens duqus . On vous fournit un scnario et vous pouvez
   interagir avec le monde dans lequel vous vous trouvez :

 You are in a room.  It is pitch dark and you're likely
 to be eaten by a grue.
 > Light lantern with match.
 You light the lantern.  This room appears to be a kitchen.
 There's a table with a book in the center.  You
 also see an oven, refrigerator and a door leading east.
 > Open the oven.
 In the oven you see a brown paper bag.
 > Take the bag.  Open the bag.  Close the oven.
 Inside the bag is a clove of garlic and a cheese sandwich.
 The oven door is now closed.

    cette poque, les aventures en mode texte taient des
   excutables autonomes tenant entirement sur une disquette ou une
   cassette. Il y avait souvent un fichier de donnes et un
   interprteur. L'interprteur lit les fichiers de donnes et
   fournit l'interface de jeu. Les fichiers de donnes constituent le
   jeu en lui-mme,  la manire de la relation entre les jeux de
   combat  la premire personne et les fichiers wad.

   Le premier jeu d'aventure tait Adventure(TM) (en fait 
   ADVENT(TM) , crit sur un PDP-1 en 1972). Vous pouvez toujours
   jouer  Adventure (en fait,  un descendant) : il est fourni avec
   les  jeux bsd  sur la plupart des distributions Linux. Les
   aventures en mode texte ont t popularises par Scott Adams et
   ont atteint leur pic de popularit  la fin des annes 80 avec les
   jeux de Infocom auxquels on peut galement jouer sous Linux.

   Comme les modes graphiques se sont dvelopps et sont devenus plus
   puissants, les aventures en mode texte ont cd la place aux
   aventures en mode graphique. La mort de la fiction interactive a
   plus ou moins concid avec la faillite de Infocom.

  2.4. Aventures graphiques

   Les aventures graphiques sont, en fin de compte, des aventures en
   mode texte traites aux anabolisants. Leur degr d'utilisation des
   graphiques varie fortement. Dans les annes 80, ils n'taient
   qu'un peu plus que des aventures en mode texte et affichaient un
   cran rempli de graphiques statiques. Quand vous ramassiez un
   objet, l'arrire-plan tait repeint et l'objet disparaissait.
   L'exemple type pourrait tre les prtendues  aventures en haute
   rsolution  comme The Wizard And The Princess(TM). Plus tard, les
   aventures graphiques sophistiques faisaient dambuler votre
   personnage  l'cran, et vous pouviez mme utiliser une souris,
   mais l'interface restait purement textuelle.

   Ensuite, il y eut les  aventures pilotes  la souris  qui
   n'avaient plus d'interface textuelle, et disposaient souvent de
   graphiques dynamiques, comme un chat se baladant dans la pice
   pendant que vous dcidiez de la prochaine action  effectuer. Dans
   ce type de jeux, vous pointez un objet (p.ex. un livre) et vous
   pouvez choisir une action  partir d'une liste droulante de
   fonctions. Un genre d'aventure oriente objet. :) Il n'y a pas
   beaucoup d'aventures graphiques crites nativement pour Linux. La
   seule dont je me rappelle est Hopkins FBI(TM) (qui est mon jeu
   prfr sous Linux).

  2.5. Jeux de simulation

   Les simulations s'efforcent d'immerger le joueur dans un milieu
   auquel il n'aurait normalement pas accs. Cela peut tre quelque
   chose comme un avion de chasse ou quelque chose d'imaginaire comme
   une unit de combat mcanise. Dans tous les cas, les simulations
   recherchent le ralisme.

   Certaines simulations ne comportent que peu ou pas de stratgie.
   Elles vous placent simplement dans un cockpit pour vous donner la
   sensation de piloter un avion. Certaines sont extrmement
   complexes, et la frontire est souvent tnue entre les simulations
   et les jeux de stratgie. Un bon exemple serait Heavy Gear III(TM)
   ou Flight Gear(TM). De nos jours, les jeux de simulation et de
   stratgie sont pratiquement indissociables mais, il y a longtemps,
   les simulations se droulaient en temps rel alors que les jeux de
   stratgie se jouaient au tour  tour. Cette dnomination est
   maladroite de nos jours, car un jeu comme Warcraft(TM), que tout
   le monde considre tre un jeu de stratgie, serait une simulation
   par dfinition.

  2.6. Jeux de stratgie

   Les jeux de stratgie descendent des vieux jeux de plateau de type
   Avalon(TM) comme Panzer Leader(TM) et des vieux jeux de stratgie
   militaire publis par SSI. Gnralement, ils simulent quelque type
   de scnario. Il peut tre pacifique, comme la gestion russie
   d'une ville (SimCity(TM)), ou pas, comme la vente illgale de
   drogue (DrugWars(TM)) ou un jeu de stratgie militaire acharn
   comme Myth II(TM). Ce type de jeux a habituellement une longue
   dure de vie et requiert beaucoup de rflexion.

   Les jeux de stratgie peuvent tre  leur tour subdiviss en deux
   classes : le temps rel et le tour  tour. Les jeux de stratgie
   en temps rel sont bass sur le principe  un petit moment
   d'inattention, et c'est perdu . Par exemple, vous grez une ville
   et un incendie se dclenche quelque part. Au plus il vous faut du
   temps pour mobiliser les pompiers, au plus l'incendie fera du
   dgt. Les jeux de stratgie au tour  tour sont similaires aux
   checs : l'ordinateur joue, puis c'est au tour du joueur, et
   ctera.

  2.7. Jeux de combat  la premire personne (First Person Shooter, FPS)

   Quelle est cette lumire au loin ? Cela doit tre l'clair du
   fusil de chasse  double canon ! L'histoire des jeux FPS est
   longue et tortueuse et a commenc quand id Software a ouvert le
   code source de Doom(TM). Ce code a t repris (par d'autres
   quipes) et fusionn  de nombreuses reprises. D'autres moteurs
   prcdemment ferms se sont ouverts, beaucoup de moteurs sont
   jouables via des mulateurs, beaucoup de jeux FPS commerciaux ont
   t publis pour Linux et nombre de moteurs FPS taient des
   projets open source  l'origine. Bien qu'il se peut que vous ne
   puissiez pas jouer  votre jeu FPS prfr sous Linux
   (Half-Life(TM) marche trs bien sous winex), Linux ne prsente
   certainement aucune lacune dans ce domaine !

   Les FPS sont caractriss par deux choses. Primo, vous tirez  peu
   prs sur tout ce qui bouge. Secundo, l'action a lieu  la premire
   personne, c.--d. au travers des yeux du personnage que vous
   interprtez. Vous pouvez mme voir vos mains ou votre arme en bas
   de l'cran. Ils peuvent tre du type fantastique (Hexen(TM)),
   science-fiction (Quake II(TM)), raliste (Soldier Of Fortune(TM))
   parmi bien d'autres possibilits.

   Tout comme les aventures en mode texte, les FPS obissent au
   format moteur/fichier de donnes. Le moteur reprsente le jeu en
   lui-mme (Doom(TM), Quake(TM), Heretic2(TM)) et utilise les
   niveaux et les mchants dcrits par les fichiers de donnes
   (doom2.wad, pak0.pak, etc). Beaucoup de jeux FPS permettent de
   crer ses propres fichiers de donnes non commerciaux. Il y a des
   centaines, si pas des milliers, de fichiers de donnes pour
   Doom(TM) que vous pouvez tlcharger gratuitement depuis Internet.
   Souvent, les socits librent leurs moteurs afin que la
   communaut open source puisse les amliorer. Nanmoins, les
   fichiers de donnes originaux restent propritaires.  ce jour,
   vous devez toujours acheter doom.wad.

  2.8. Jeux  dfilement horizontal

   Les jeux  dfilement horizontal sont similaires aux FPS mais vous
   voyez votre personnage comme une figure 2D qui court sur plusieurs
   crans en tirant ou en effectuant d'autres tches. Par exemple, il
   y a Abuse(TM) pour Linux et le Duke Nukem(TM) original. Ils ne
   sont pas ncessairement violents, comme xscavenger(TM), un clone
   du vieux jeu 8 bits Lode Runner(TM).

  2.9. Jeux de combat  la troisime personne

   Similaires aux FPS, mais vous voyez votre personnage  la
   troisime personne et en 3D. Dans les jeux de combat  la
   troisime personne modernes, vous pouvez en gnral raliser des
   manuvres dvastatrices comme les retourns acrobatiques et les
   roulades  la Jackie Chan. L'exemple type serait Tomb Raider(TM).
   Sous Linux, on dispose de Heretic 2(TM) et de Heavy Metal
   FAKK2(TM).

  2.10. Jeux de rle (Role Playing Game, RPG)

   Quiconque a dj jou  des jeux du style Dungeons & Dragons(TM)
   ou Call of Cthulhu(TM) sait exactement ce qu'est un RPG. Vous
   interprtez un personnage (parfois plusieurs) dot de certaines
   caractristiques (p.ex. force, dextrit), d'aptitudes (p.ex.
   explosifs, confection de paniers, mcanique) et de proprits
   (niveaux, argent liquide). Au fil du temps, le personnage devient
   plus puissant et le jeu s'adapte en consquence : p.ex., au lieu
   de combattre des orcs, vous commencez  combattre des dragons
   noirs dans les plus hauts niveaux. Les rcompenses augmentent en
   consquence. Dans les bas niveaux, vous pourriez obtenir quelques
   pices d'or comme rcompense suite  la victoire dans une
   bataille ; plus loin, vous pourriez obtenir une pe magique ou un
   fusil d'assaut ravageur.

   Les RPG proposent gnralement une qute ayant un pilogue bien
   dtermin. Dans nethack(TM), vous devez retrouver l'amulette de
   Yendor pour votre dieu. Dans Ultima II(TM), vous dtruisez la
   sorcire malfique Minax.  un certain moment, votre personnage
   devient suffisamment puissant pour pouvoir vous lancer et essayer
   de terminer la qute.

   Bien que la srie immensment populaire des Ultima(TM), crite par
   Richard Garriot (alias Lord British) pour Origin, n'tait pas le
   premier RPG, elle a popularis et propuls le genre RPG sur le
   devant de la scne. Ultima I(TM) a t publi en 1987 et est le
   point de dpart de 9 (en fonction du mode de comptage) suites trs
   populaires, se terminant par Ultima IX: Ascension(TM). Vous pouvez
   jouer  Ultima VII(TM) sous Linux avec Exult.

   Le jeu RPG type sous Linux est Rogue(TM) (la bibliothque ncurses
   tait  l'origine une routine de traitement d'cran pour
   Rogue(TM) !) et on en dcline des tas de variantes comme
   Zangband(TM) et Nethack(TM) (qui a lui-mme de nombreuses
   variantes). Certains RPG sont assez compliqus et constituent de
   vritables exploits de programmation. Il semble y avoir une
   carence en RPG commerciaux sous Linux. Si l'on ne compte pas les
   variantes de Rogue(TM), c'est galement le cas des RPG open
   source.

3. Bibliothques

   Voici diffrentes bibliothques consacres au jeu que l'on peut
   trouver sous Linux.

  3.1. Glide2

   Glide2 est une API et un pilote graphiques de bas niveau qui
   accdent aux fonctions 3D acclres par matriel des cartes
   Voodoo I, II et III de 3dfx sous XFree86 3.x.

   Un programme ne peut utiliser les fonctionnalits spciales
   acclres matriellement de ces cartes qu'en utilisant la
   bibliothque Glide2 d'une des deux faons suivantes :

     o directement en utilisant Glide2 (Myth II(TM), Descent III(TM))

     o indirectement en utilisant Mesa construit avec un dorsal
       Glide2 pour simuler OpenGL (Rune(TM), Unreal Tournament(TM))

   3dfx a ouvert les spcifications et le code source  la communaut
   open source. Cela a permis  Daryll Strauss de porter Glide2 sous
   Linux, autorisant les utilisateurs de XFree86 3.x  utiliser les
   cartes Voodoo I, II et III sous Linux.

   Puisque Glide2 accde directement  la carte vido, les
   applications Glide2 doivent soit tre excutes par root, soit
   tre setuid-root. Une faon d'viter cela tait de crer le module
   noyau 3dfx. Ce module (et son fichier de priphrique /dev/3dfx)
   permet l'acclration graphique matrielle Glide2 pour les
   utilisateurs non-root d'applications non-setuid.

   Malheureusement, Glide2 n'est pas une solution d'avenir. Elle
   n'est utilise que pour les cartes Voodoo I, II et III (qui
   deviennent obsoltes), sous XFree86 3.x (la majorit utilise
   XFree86 4.x). Et tant donn que 3dfx est maintenant une socit
   dfunte, il est certain qu'aucun dveloppement n'aura dsormais
   lieu sur Glide2 et qu'aucun nouveau jeu ne sera crit en utilisant
   Glide2.

  3.2. Glide3

    la diffrence de Glide2, Glide3 n'est pas une API utilise pour
   la programmation de jeux. Elle n'existe que pour grer le DRI pour
   les cartes Voodoo III, IV et V sous XFree86 4.x. Aucun des jeux
   utilisant Glide2 ne fonctionnera avec Glide3. Cela ne devrait pas
   tre surprenant dans la mesure o Glide2 et Glide3 prennent en
   charge des cartes vido diffrentes et des versions de XFree86
   diffrentes. La seule carte vido pouvant utiliser  la fois
   Glide2 (sous XFree86 3.x) et Glide3 (sous XFree86 4.x) est la
   Voodoo III. On rapporte qu'une Voodoo III utilisant Glide2
   surpasse une Voodoo III utilisant Glide3.

   Quand vous utilisez une Voodoo III, IV ou V sous XFree86 4.x, vous
   devez utiliser une version de Mesa qui a t compile pour
   utiliser Glide3 comme dorsal afin de pouvoir utiliser
   l'acclration matrielle OpenGL sur votre systme.

  3.3. OpenGL

   OpenGL est une interface de programmation graphique de haut niveau
   dveloppe  l'origine par SGI, et qui est devenue un standard
   industriel pour la programmation 2D et 3D. Elle est dfinie et
   soutenue par le Architectural Revision Board (ARB), une
   organisation qui inclut des reprsentants de SGI, IBM, DEC et
   Microsoft. OpenGL fournit un jeu de fonctionnalits puissant,
   complet et gnrique pour les oprations graphiques 2D et 3D.

   OpenGL est constitu de 3 parties :

     o GL : les appels OpenGL de base

     o GLU : les appels utilitaires

     o GLUT : le traitement des vnements de fentre indpendants du
       systme (vnements de souris, du clavier, et ctera).

   OpenGL n'est pas seulement une API, c'est aussi une
   implmentation, crite par SGI. Elle essaie d'utiliser
   l'acclration matrielle pour diverses oprations graphiques
   quand elle est disponible, en fonction de de la carte vido dont
   vous disposez. Si l'acclration matrielle n'est pas possible
   pour une tche particulire, OpenGL retombe sur le rendu logiciel.
   Cela signifie que si vous vous procurez OpenGL chez SGI, et que
   vous voulez disposer d'une acclration matrielle quelconque,
   elle doit tre crite en OpenGL et compile spcifiquement pour
   une certaine carte graphique. Sinon, vous retomberez sur le rendu
   logiciel. Cela s'applique galement aux clones d'OpenGL, comme
   Mesa.

   OpenGL est l'quivalent open source de Direct3D, un composant de
   DirectX. Une diffrence importante est que puisque OpenGL est
   ouvert (et DirectX ferm), les jeux crits en OpenGL sont beaucoup
   plus faciles  porter et  co-dvelopper sous Linux que ne le sont
   les jeux utilisant DirectX.

  3.4. Mesa

   Mesa <http://www.mesa3d.org [http://www.mesa3d.org]> est une
   implmentation libre de l'API OpenGL, conue et crite par Brian
   Paul. Bien qu'elle ne soit pas officiellement certifie (cela
   ncessiterait plus d'argent que n'en dispose un projet open
   source), elle constitue une implmentation d'OpenGL presque
   totalement conforme aux spcifications de l'ARB. On rapporte que
   Mesa est mme plus rapide que la propre implmentation OpenGL de
   SGI.

   Tout comme OpenGL, Mesa utilise l'acclration matrielle quand
   c'est possible. Quand une tche graphique particulire ne peut
   tre acclre matriellement par la carte vido, elle est rendue
   en logiciel ; la tche est alors accomplie par votre processeur.
   Cela signifie qu'il existe diffrentes moutures de Mesa en
   fonction du type de carte vido dont vous disposez. Chaque mouture
   utilise une bibliothque diffrente comme moteur de rendu. Par
   exemple, si vous avez une Voodoo I, II ou III sous XFree86 3.x,
   vous devriez utiliser mesa+glide2 (crit par David Bucciarelli)
   qui est l'implmentation Mesa de OpenGL qui utilise Glide2 comme
   dorsal pour rendre les oprations graphiques.

  3.5. DRI

   Le rendu des graphiques comporte 3 protagonistes : l'application
   cliente (comme Quake 3(TM)), le serveur X et le matriel (la carte
   graphique). Auparavant, les applications clientes ne pouvaient pas
   crire directement sur le matriel, et il y avait une bonne raison
    cela : un programme  qui l'on permet un accs en criture
   direct sur le matriel peut faire planter le systme de plusieurs
   faons. Plutt que de faire confiance aux programmeurs pour crire
   des programmes (accdant au matriel) totalement exempts de bogues
   et coopratifs, Linux l'a tout simplement interdit. Nanmoins,
   cela a chang sous XFree 4.x avec l'infrastructure de rendu direct
   (Direct Rendering Infrastructure [http://www.dri.sourceforge.net],
   DRI). La DRI autorise les clients X  crire des informations de
   rendu 3D directement sur la carte vido d'une manire sre et
   cooprative.

   DRI fait abstraction du serveur X afin que le pilote 3D (Mesa ou
   OpenGL) puisse parler directement au matriel. Cela amliore les
   performances. Les informations de rendu 3D ne doivent mme pas
   subir d'acclration matrielle. D'un point de vue technique, cela
   a plusieurs avantages :

     o Les donnes associes aux sommets de polygones ne doivent pas
       tre codes/dcodes via GLX.

     o Les donnes graphiques ne sont pas envoyes via une socket au
       serveur X.

     o Sur les machines mono-processeur, le CPU ne doit pas changer
       de contexte entre XFree86 et son client pour rendre les
       graphiques.

  3.6. GLX

   GLX est l'extension X utilise par les programmes OpenGL ; c'est
   le liant entre l'OpenGL indpendant de la plate-forme, et X
   dpendant de la plate-forme.

  3.7. Utah GLX

   Utah-GLX est le prcurseur de DRI. Certaines dcisions de
   conception sont diffrentes en ce qui concerne la sparation des
   donnes et des mthodes d'accs  la carte vido, comme le repos
   sur l'accs root plutt que la cration de l'infrastructure noyau
   permettant un accs scuris. Il prend en charge quelques cartes
   qui ne sont pas bien gres par le DRI comme la famille ATI Rage
   Pro, la S3 Virge (bien que quiconque l'utilise pour jouer est pour
   ainsi dire cingl), et un pilote TNT/TNT2 open source (trs
   incomplet). Le pilote TNT/TNT2 est bas sur la rtro-ingnierie de
   la publication du code source obscurci des pilotes X 3.3 par
   nVidia. Nanmoins, ils sont trs incomplets et, pour tout dire,
   inutilisables.

  3.8. xlib

   De temps  autre, vous verrez quelques malades (dit avec respect)
   qui crivent un jeu en xlib. C'est un groupe de bibliothques C
   qui comportent l'interface de programmation du plus bas niveau
   pour XFree86. Toute programmation graphique sous X fait in fine
   usage de la bibliothque xlib.

   Il n'est pas exagr de dire que xlib est volumineux, mystrieux
   et compliqu. De ce fait, il existe des tas de bibliothques comme
   SDL pour les graphiques 2D, et OpenGL pour les graphiques 3D et
   les jeux d'lments graphiques (widgets) pour les lments
   graphiques  l'intrieur des fentres qui cachent les dtails de
   diffrents aspects de la programmation xlib.

   Bien que quelques jeux soient crits avec xlib, comme l'diteur
   Doom Yadex, xlib en lui-mme ne peut pas raisonnablement servir de
   bibliothque d'criture de jeux. La plupart des jeux n'ont pas
   besoin de l'interface de bas niveau fournie par xlib. De plus, en
   utilisant les bibliothques de plus haut niveau, un programmeur de
   jeux peut dvelopper son jeu sur plusieurs plates-formes, mme
   celles qui n'utilisent pas XFree86.

  3.9. Widgets

   Les lments graphiques (widgets) sont des objets qui constituent
   l'interface d'une application graphique. Ils incluent des choses
   comme les botes d'entre de texte, les menus droulants, les
   barres de dfilement, les boutons radio et bien d'autres choses.
   Un jeu d'lments graphiques (widget set) est une collection
   d'lments graphiques apparents qui sont conus pour avoir une
   interface commune et un aspect cohrent. Gtk est le jeu d'lments
   graphiques canonique sous Linux, mais il y en a beaucoup d'autres
   comme fltk (de petite taille, crit en C++), Xaw, Qt (le jeu
   d'lments graphiques de KDE) et Motif (celui utilis par
   Netscape). Motif rgnait dans le monde Unix, mais sa licence
   d'utilisation tait trs coteuse. L'Open Group a finalement
   ouvert la licence de Motif pour les systmes d'exploitation open
   source, mais c'tait trop tard. Il y a beaucoup de jeux d'lments
   graphiques compltement open source qui sont plus complets et plus
   beaux que Motif, y compris Lesstif, un clone totalement gratuit de
   Motif.

  3.10. SDL (Simple DirectMedia Layer)

   SDL [http://www.libsdl.org] est une bibliothque de Sam Lantiga
   (diplm de l'UCD !). C'est en fait une mta-bibliothque, c.--d.
   que ce n'est pas seulement une bibliothque graphique qui cache
   les dtails de la programmation xlib, mais c'est aussi une
   interface simple d'utilisation pour le traitement du son, de la
   musique et des vnements. Sa licence est la LGPL et elle prend
   galement en charge les joysticks et OpenGL.  la diffrence de
   xlib, SDL convient fort bien  la programmation de jeux.

   Le plus impressionnant dans SDL est son caractre
   multi-plates-formes. Mis  part quelques dtails, un programme
   crit en SDL compilera sous Linux, MS Windows, BeOS, MacOS, MacOS
   X, Solaris, IRIX, FreeBSD, QNX et OSF. Il existe diverses
   extensions permettant de manipuler  peu prs tous les formats
   graphiques, lire des vidos MPEG, afficher des polices truetype,
   grer les acteurs (sprites) et  peu prs tout ce qui est
   imaginable. SDL est un exemple de ce  quoi toutes les
   bibliothques graphiques devraient aspirer.

   Sam avait une motivation cache pour l'criture d'une si chouette
   bibliothque : il tait le programmeur en chef de Loki Software
   (il code maintenant pour Blizzard Software), qui utilisait SDL
   dans tous ses jeux sauf Quake3(TM).

  3.11. GGI

   GGI [http://www.ggi-project.org] est un projet qui vise 
   implmenter une couche d'abstraction graphique dans du code de bas
   niveau, de placer la prise en charge du matriel graphique dans
   une base de code commune, et d'apporter une plus grande stabilit
   et portabilit aux applications graphiques. Les applications
   LibGGI tournent entre autres sous SVGAlib, fb et X. Si l'on en
   juge  leurs captures d'cran, c'est une bibliothque assez
   puissante.

   Les applications qui utilisent LibGGI directement comportent
   Heroes(TM), Ultrapoint(TM), Quake(TM) et Berlin(TM). La plupart
   des applications qui utilisent SVGALib peuvent tre excutes sous
   X ou sous n'importe quel autre dorsal LibGGI en utilisant une
   bibliothque enveloppe qui rimplmente SVGALib en utilisant
   LibGGI. Les applications SDL et clanlib peuvent s'afficher avec
   LibGGI mais les pilotes natifs de ces bibliothques sont
   gnralement plus rapides ; nanmoins, c'est un bon moyen pour que
   des applications SDL, clanlib et SVGALib s'excutent l o elles
   n'auraient pas pu le faire auparavant.

   GGI a un projet sur, KGI, qui dveloppe une alternative de niveau
   noyau aux systmes du type framebuffer linux et DRI. Ce projet est
   beaucoup moins avanc que LibGGI lui-mme, mais promet de combiner
   les vitesses de niveau DRI  la stabilit et  la scurit
   auxquelles aspirent les utilisateurs UNIX.

  3.12. SVGAlib, framebuffer et console

   La console est l'cran noir non graphique que vous voyez lorsque
   votre ordinateur dmarre pour la premire fois (et qu'aucune
   application du genre xdm ou gdm ne tourne). C'est diffrent de
   l'environnement X qui comporte toutes sortes d'lments graphiques
   comme les xterm. Une ide fausse fort rpandue est de croire que X
   signifie  graphique  et que console signifie  non graphique .
   Il peut assurment y avoir des graphiques en mode console ; nous
   discuterons des deux manires les plus habituelles de procder.

   SVGAlib est une bibliothque graphique qui vous permet de dessiner
   des graphiques sur la console. Il existe beaucoup d'applications
   graphiques et de jeux utilisant SVGAlib comme zgv (un
   visualisateur d'images en mode console), prboom et hhexen.
   J'apprcie cette bibliothque et les jeux graphiques en mode
   console en gnral : ils sont extrmement rapides, plein cran et
   captivants. SVGAlib souffre de trois dfauts. Primo, les
   excutables SVGAlib doivent tre lancs par root ou tre
   setuid-root (nanmoins, la bibliothque abandonne les privilges
   root immdiatement aprs le dbut de l'excution). Secundo,
   SVGAlib est dpendant de la carte vido : si votre carte vido
   n'est pas prise en charge par SVGAlib, c'est pas de chance.
   Tertio, SVGAlib est spcifique  Linux : les jeux crits en
   SVGAlib ne fonctionneront que sous Linux.

   Les framebuffers sont des consoles implmentes par un mode
   graphique plutt qu'un mode texte du BIOS. Pourquoi simuler un
   mode texte dans un environnement graphique ? Cela permet
   d'excuter des applications graphiques en console, comme p.ex. de
   choisir la police affiche en console (qui est normalement fixe
   par le BIOS). On peut trouver un bon  Guide pratique du
   frame-buffer  (Framebuffer-HOWTO
   [http://www.traduc.org/docs/howto/lecture/Framebuffer-HOWTO.html])
   sur le LDP. Les jeux en console graphique crits en utilisant le
   framebuffer souffrent des mmes problmes que ceux utilisant
   SVGAlib : le support matriel est limit, et le code ne
   fonctionnera que sous Linux.

  3.13. OpenAL

   OpenAL [http://www.openal.org] a pour objectif d'tre au son ce
   que OpenGL est aux graphiques. Dvelopp conjointement par Loki
   Software et Creative Labs, elle a pour but d'tre une API neutre
   et multi-plates-formes pour le son. Sa licence est la LGPL et les
   spcifications peuvent tre obtenues gratuitement depuis le site
   web de OpenAL. OpenAL est entirement fonctionnel, mais depuis que
   Loki Software n'existe plus, son dveloppement futur est
   incertain.

  3.14. DirectX

   DirectX est une collection d'API multimdia propritaires,
   dveloppe  l'origine par Microsoft en 1995, pour ses diffrents
   systmes d'exploitation Windows. C'est une erreur de prtendre que
    DirectX est similaire  OpenGL  ou  DirectX est similaire 
   SDL , comme il est souvent dit dans les didacticiels DirectX. Les
   API multimdia sont plus centralises sous Windows qu'elles ne le
   sont sous Linux. Une formulation plus prcise serait :  DirectX
   est similaire  DRI, OpenGL et SDL combins . En juin 2003, la
   version la plus rcente de DirectX tait la 9.0. Les composants de
   DirectX sont :

   DirectDraw

           DirectDraw fournit un accs direct  la mmoire vido,
           comme DRI, de sorte que les graphiques 2D peuvent tre
           placs directement sur la carte vido. DirectDraw est
           similaire au composant graphique de SDL, mais l'accs
           direct  la carte vido est effectu par DRI plutt que
           par SDL. C'est pourquoi un jeu peut facilement faire
           tomber un systme Windows mais ne devrait pas le faire
           avec un systme Linux.

   Direct3D (D3D)

           Direct3D, comme OpenGL, fournit une API graphique 3D.
           Alors qu'OpenGL est open source, de plus bas niveau et
           compile sous une multitude de systmes d'exploitation, D3D
           est propritaire, de plus haut niveau et ne compile que
           sous Windows. D3D est d'abord apparu dans DirectX 2, en
           1996.

   DirectXAudio

           Direct Audio est une combinaison de deux API audio,
           DirectSound et DirectMusic, qui offrent un accs direct 
           la carte son pour jouer du son et de la musique.

   DirectInput

           DirectInput permet l'utilisation de priphriques d'entre
           de jeu comme les joysticks.

   DirectPlay

           DirectPlay offre une gestion rseau simplifie pour les
           jeux multi-joueurs.

   DirectShow

           DirectShow prend en charge les fichiers vido comme AVI et
           MPG. C'tait une API distincte de DirectX, mais elle a t
           intgre dans DirectX 8.

   DirectSetup

           Cette API facilite l'installation de DirectX  partir
           d'une application pour simplifier l'installation des jeux.

   DirectX est un peu pris en charge par winex, l'est mal par wine,
   l'est  peine par vmware et ne l'est pas du tout par Win4Lin.

   Remarque sur la portabilit : pour chaque composant de DirectX, on
   peut trouver plusieurs bibliothques correspondantes sous Linux.
   Mieux encore, un programmeur de jeux qui utilise des bibliothques
   comme OpenGL, GGI ou SDL crira un jeu qui compilera trivialement
   sous Windows, Linux et une multitude d'autres systmes
   d'exploitation. Pourtant, les socits productrices de jeux
   persistent  utiliser DirectX et limitent de ce fait leur public
   aux seuls utilisateurs Windows. Si vous crivez des jeux, veuillez
   envisager l'utilisation de bibliothques multi-plates-formes et
   rester loign de DirectX.

   Une socit nomme realtechVR a dmarr un projet open source,
   DirectX Port [http://www.v3x.net/directx] qui, comme wine, fournit
   une couche d'mulation de Direct3D qui implmente les appels
   Direct3D. Le projet se concentrait sur la plate-forme BeOS, mais
   l'est maintenant sur MacOS et Linux. Vous pouvez rcuprer la
   toute dernire mouture depuis leur rfrentiel CVS sur
   <http://sourceforge.net/projects/dxglwrap
   [http://sourceforge.net/projects/dxglwrap]>.

  3.15. Clanlib

   ClanLib est un kit d'outils de dveloppement de niveau
   intermdiaire. Au plus bas niveau, il fournit des outils
   indpendants de la plate-forme (dans la limite du possible en C++)
   de gestion de l'affichage, du son, des entres, du rseau, des
   fichiers, des threads, et ctera. ClanLib construit un cadre
   gnrique de dveloppement de jeu, vous offrant une gestion aise
   des ressources, une rplication des objets sur le rseau, des
   interfaces utilisateur graphiques (GUI) autorisant les thmes, les
   langages de scripts dans les jeux et plus encore.

4. XFree86 et vous

   Si vous avez l'intention de jouer sous X, il est primordial que
   vous le connaissiez quelque peu. Le  Guide pratique de
   l'utilisateur de X Window  (XWindow-User-HOWTO
   [http://www.traduc.org/docs/howto/lecture/XWindow-User-HOWTO.html]),
   et en particulier man XF86Config constituent des lectures
   requises. N'essayez pas d'y chapper : lisez-les. Elles ont un
   trs bon rapport signal/bruit. Beaucoup de problmes peuvent tre
   rsolus facilement si vous savez vous y retrouver dans XF86Config
   (ou XF86Config-4).

  4.1. Recueillir des informations sur votre systme X

   Que vous essayiez de diagnostiquer un problme X ou que vous
   requerriez de l'aide sur une liste de diffusion ou un groupe de
   discussion Usenet, vous devrez disposer d'un maximum
   d'informations. Voici quelques outils qui peuvent vous y aider :

    4.1.1. probeonly

   La sortie de probeonly constitue l'un des meilleurs outils de
   diagnostic et l'une des meilleures sources d'informations sur
   votre systme. Pour l'utiliser, arrtez X le cas chant et tapez
   depuis une console :

     X -probeonly 2> X.out
          

   La sortie de X va sur stderr, et il faut donc rediriger stderr
   avec  2>  dans un fichier nomm X.out. Ce fichier contiendra
   tout ce qu'il y a  savoir sur votre systme X. Il est crucial que
   vous connaissiez la diffrence entre les diffrentes marques que
   vous pourrez rencontrer dans la sortie de probeonly :

     (--) probed              (**) from config file    (==) default setting
     (++) from command line   (!!) notice              (II) informational
     (WW) warning             (EE) error               (??) unknown.
          

   Voici un exemple de quelques informations que j'ai pu glaner :

   J'utilise des couleurs 16 bits :

     (**) TDFX(0): Depth 16, (--) framebuffer bpp 16
          

   X a dtect que la puce et la mmoire RAM de ma carte vido sont :

     (--) Chipset 3dfx Voodoo5 found
     (--) TDFX(0): VideoRAM: 32768 kByte Mapping 65536 kByte
          

    4.1.2. Obtenir des informations sur votre configuration : xvidtune

   xvidtune est votre ami si votre cran X est un peu trop dcal sur
   la droite, ou si la hauteur est trop rduite pour remplir votre
   cran. Nanmoins, c'est galement un trs bon outil de diagnostic.
   Il affiche :

     o l'intervalle hsync/vsync (valeurs de synchronisation
       horizontale et verticale respectivement) spcifi dans votre
       fichier XF86Config.

     o les 4 nombres horizontaux et les 4 nombres verticaux qui
       dfinissent votre mode vido (le premier couple
       horizontal/vertical indique la rsolution de l'cran). Ces 8
       nombres vous indiqueront quelle ligne de mode (modeline) votre
       X utilise. Voyez le  Guide pratique de configuration vido de
       XFree86  (XFree86-Video-Timings-HOWTO
       [http://www.traduc.org/docs/howto/lecture/XWindow-User-HOWTO.html])
       pour plus d'informations. Notez que des spcifications
       explicites ne sont plus ncessaires, car XFree 4.0.1 (et les
       versions ultrieures) les calcule automatiquement  partir des
       possibilits de votre moniteur et de votre carte vido.
       Nanmoins, c'est parfois utile en cas de matriel exotique ou
       si vous voulez un peu bidouiller votre affichage.

     o La  frquence d'horloge   laquelle tourne votre carte
       vido.

    4.1.3. Obtenir des informations sur votre configuration : xwininfo

   xwininfo vous indique toutes sortes d'informations sur les
   fentres X. L'arrire-plan est galement assimil  une fentre.
   Ainsi, quand il vous demande de cliquer sur la fentre pour
   laquelle vous dsirez des informations, cliquez sur votre
   arrire-plan. Il vous indique entre autres la rsolution de
   l'cran et de la fentre, le nombre de couleurs (NdT : plus
   prcisment, le nombre de bits utiliss pour les reprsenter),
   l'tat de gravit de la fentre (qui donne une indication au
   gestionnaire de fentres sur l'endroit o placer les nouvelles
   fentres) et l'utilisation du cache d'affichage (backing store).

    4.1.4. Autres sources d'information

   xdpyinfo vous donne des informations intressantes, comme la
   version de X et les extensions charges (inestimable quand vous
   essayez de voir ce qui manque, comme GLX, DRI, XFree86-VidMode, et
   ctera).

    4.1.5. Obtenir des informations sur votre systme 3D

   glxinfo donne des tas d'informations utiles sur OpenGL comme
   l'utilisation ou non du rendu direct, les versions de glx et mesa
   actuellement installes, les chanes de vendeur/moteur de rendu,
   les fichiers de bibliothque GL utiliss, et ctera.

  4.2. Jouer  des jeux sous X sans gestionnaire de fentres

   Quand vous jouez  un jeu sous X, vous devriez envisager de ne pas
   utiliser de gestionnaire de fentres. Des  poids lourds  comme
   enlightenment produiront un ralentissement perceptible ; mme des
   plus lgers comme twm vous volent des cycles processeur (et dans
   le cas de twm, mme les jeux plein cran auront un cadre autour de
   leur fentre). Pour excuter un jeu sans gestionnaire de fentres,
   modifiez .xinitrc dans votre rpertoire personnel. Voici  quoi
   ressemble mon .xinitrc :

         #quake3 +set r_gldriver libGR.so.1
         #exec ut
         #lsdldoom -server 2
         #exec tribes2
         exec /usr/bin/enlightenment
      

   Vous y remarquerez gnralement un gestionnaire de fentres et/ou
   de bureau (GNOME ou KDE). Commentez les lignes contenant un
   gestionnaire de fentres et/ou de bureau avec un signe dise (#)
   et placez votre jeu sur une nouvelle ligne accompagn des
   arguments de ligne de commandes ventuels. Si votre jeu n'est pas
   situ dans votre $PATH, donnez le nom de chemin complet. Notez que
   ceci ne s'applique qu'aux personnes utilisant startx pour dmarrer
   X.

   Je n'utilise jamais des choses comme gdm ou le niveau d'excution
   5 (je ne suis donc pas sr de mon fait), mais je suspecte que si
   vous le faites, vous devrez agir un peu diffremment. Ma
   recommandation est d'aller en mode mono-utilisateur (niveau
   d'excution 1) avec :

     # telinit 1
    

   ensuite d'diter .xinitrc, et de revenir au niveau 5 avec

       # telinit 5
      

   Ensuite, quand vous arrtez de jouer, allez au niveau 1, modifiez
   .xinitrc et revenez au niveau 5. Je n'ai jamais expriment cela,
   et je ne peut donc pas me prononcer avec certitude, mais vous
   pourriez devoir tuer gdm. J'apprcierai du retour  ce sujet.

5. Divers

  5.1. Registres d'intervalles mmoire

    partir des processeurs de classe Pentium (y compris Athlon, K6-2
   et d'autres CPU), ces registres (Memory Type Range Registers,
   MTRR) contrlent la faon dont le processeur accde aux
   intervalles d'adresses mmoire. Pour rsumer, ce mcanisme
   remplace plusieurs petites critures spares sur la carte vido
   par une seule criture (une rafale). Cela amliore l'efficacit
   des critures sur la carte vido et peut acclrer le rendu
   graphique de 250 % voire plus !

   Voyez /usr/src/linux/Documentation/mtrr.txt pour les dtails.
   Notez que, depuis que ce fichier a t crit, XFree86 a t
   amlior pour dtecter automatiquement l'adresse de base et la
   taille de votre RAM vido et configurer les MTRR.

  5.2. Exploiter au maximum les ressources de votre systme

     o Si pour une raison quelconque, vous utilisez X 3.3, suivez les
       instructions donnes dans mtrr.txt (voyez la Section 5.1,
        Registres d'intervalles mmoire ) pour configurer les MTRR.
       X 4.0 fait cela automatiquement pour vous.

     o Si vous jouez sous X, n'excutez pas de gestionnaire de
       fentres, et certainement pas de gestionnaire de bureau comme
       GNOME ou KDE. Voyez la Section 4.2,  Jouer  des jeux sous X
       sans gestionnaire de fentres  pour plus de dtails.

       Arrtez tous les processus non essentiels (en tant que root)
       en utilisant les scripts de dmarrage de votre systme. Sous
       Debian, les scripts de dmarrage pour le niveau d'excution 2
       sont situs dans /etc/rc2.d/. Vous pouvez arrter un service
       d'une manire ordonne en envoyant  son script de dmarrage
       la commande  stop  :

     # cd /etc/rc2.d
     # ./ntpd stop
    

       Une autre possibilit (radicale) est de simplement vous placer
       en mode mono-utilisateur avec

     # telinit 1
    

       Cela vous dbarrassera mme de getty ; votre systme
       s'excutera avec uniquement ce qui est absolument crucial pour
       son fonctionnement. Il y aura quelque chose comme 10 processus
       en cours d'excution. L'inconvnient est que vous devez jouer
       en tant que root. Mais votre table de processus sera une ville
       fantme, et tous les cycles CPU supplmentaires bnficieront
        votre jeu.

  5.3.  propos des bibliothques sous Linux

   Un problme souvent rencontr est un fichier de bibliothque non
   trouv. Ils sont quelque peu mystrieux et ont des noms bizarres ;
   nous en parlerons donc un peu. Il y a deux types de bibliothques,
   les statiques et les dynamiques. Quand vous compilez un programme,
   gcc utilise par dfaut les bibliothques dynamiques, mais vous
   pouvez lui faire utiliser des bibliothques statiques en utilisant
   l'option -static.  moins que vous n'ayez l'intention de compiler
   des jeux  partir du code source, vous serez principalement
   intresss par les bibliothques dynamiques.

    5.3.1. Bibliothques dynamiques

   Les bibliothques dynamiques, aussi appeles  bibliothques
   partages , fournissent du code objet  une application alors
   qu'elle s'excute, c.--d. que le code est li  l'excutable au
   moment de l'excution, et non  celui de la compilation. Elles
   sont analogues aux .dll utilises sous Windows. Le programme
   responsable de la liaison du code  au vol  est appel
   /etc/ld.so, et les bibliothques dynamiques elles-mmes se
   terminent habituellement par .so avec un numro de version,
   comme :

     /usr/lib/libSDL.so
     /lib/libm.so.3
      

   Quand vous utilisez gcc, vous rfrencez ces bibliothques en
   enlevant les chanes de caractres lib, .so et tous les numros de
   version. Donc, pour utiliser ces deux bibliothques, vous devriez
   passer les options -lSDL -lm  gcc. Celui-ci placera alors une
   marque dans l'excutable indiquant d'examiner les fichiers
   /usr/lib/libSDL.so et /lib/libm.so.3  chaque fois qu'une fonction
   SDL ou une fonction mathmatique est utilise.

    5.3.2. Bibliothques statiques

   Contrairement aux bibliothques statiques qui fournissent du code
   alors que l'application s'excute, les bibliothques statiques
   contiennent du code qui est li (insr) dans le programme lors de
   sa compilation. Aucun code n'est insr au moment de l'excution :
   le code est compltement autonome. Les bibliothques statiques se
   terminent habituellement par .a suivi d'un numro de version,
   comme :

     /usr/lib/libSDL.a
     /usr/lib/libm.a
      

   Les fichiers .a forment rellement des archives de fichiers .o
   (objet),  la manire d'un fichier tar. Vous pouvez utiliser nm
   pour lister les fonctions contenues dans une bibliothque statique
   :

     % nm /usr/lib/libm.a
     ...
     e_atan2.o:
     00000000 T __ieee754_atan2
    
     e_atanh.o:
     00000000 T __ieee754_atanh
     00000000 r half
     00000010 r limit
     00000018 r ln2_2
     ...
      

   Quand vous utilisez gcc, vous rfrencez ces bibliothques en
   enlevant les chanes de caractres  lib ,  .a  et tous les
   numros de version. Donc, pour utiliser ces deux bibliothques,
   vous devriez passer les options -lSDL -lm  gcc. Celui-ci
   importera alors du code de /usr/lib/SDL.a et /usr/lib/libm.a 
   chaque fois qu'il rencontre une fonction mathmatique lors du
   processus de compilation.

    5.3.3. Localisation des fichiers de bibliothques

   Si vous compilez vos propres jeux, le problme principal avec les
   bibliothques sera soit que gcc ne trouve pas une bibliothque
   statique, soit que la bibliothque n'est pas prsente sur votre
   systme. Quand vous jouez  des jeux  partir du binaire, le
   problme sera soit que ld.so ne trouve pas la bibliothque, soit
   que la bibliothque n'est pas prsente sur votre systme. Il est
   donc opportun de d'abord parler de la faon dont gcc et ld.so s'y
   prennent pour trouver les bibliothques.

   gcc recherche les bibliothques dans les  rpertoires systme
   standard  ainsi que dans ceux spcifis avec l'option -L. Vous
   pouvez dterminer la liste des rpertoires systme standard avec
   gcc -print-search-dirs.

   ld.so examine un condens binaire contenu dans un fichier nomm
   /etc/ld.so.cache pour y trouver une liste de rpertoires contenant
   les bibliothques dynamiques disponibles. Puisqu'il contient des
   donnes binaires, vous ne pouvez pas modifier directement ce
   fichier. Nanmoins, le fichier est gnr  partir d'un fichier
   texte /etc/ld.so.conf que vous pouvez diter. Ce fichier contient
   la liste des rpertoires o ld.so doit rechercher les
   bibliothques dynamiques. Si vous voulez ajouter des bibliothques
   dynamiques dans /home/joecool/privatelibs, il faut ajouter ce
   rpertoire dans /etc/ld.so.conf. Votre modification n'est prise en
   compte dans /etc/ld.so.cache qu'aprs avoir excut ldconfig ; une
   fois fait, ld.so commencera  rechercher des bibliothques dans
   votre rpertoire priv.

   De plus, mme si vous ne faites qu'ajouter de nouvelles
   bibliothques  votre systme, vous devez mettre  jour
   ld.so.cache pour qu'il reflte la prsence des nouvelles
   bibliothques.

6. Quand de mauvaises choses arrivent  de bonnes gens

   Bien sr, il n'est pas possible de recouvrir tous les types de
   problmes, mais je vais souligner certains points de bon sens.

   Il y a deux types de problmes : les alatoires et les
   reproductibles. Il est difficile de diagnostiquer ou de corriger
   des problmes alatoires sur lesquels vous n'avez par dfinition
   aucun contrle. Nanmoins, si le problme est reproductible (ex :
    cela se produit quand j'appuie deux fois sur la flche
   gauche ), alors vous pouvez agir.

  6.1. RTFM !

   Relis ton fameux manuel. Le  manuel  peut revtir plusieurs
   formes. Pour les jeux open source, on peut trouver les fichiers
   readme ( lisez-moi ). Les jeux commerciaux sont accompagns d'un
   manuel imprim et ventuellement de quelques fichiers readme sur
   le CD. N'oubliez pas d'explorer le CD de votre jeu pour obtenir
   des astuces et des conseils utiles.

   N'oubliez pas le site web du jeu. Son auteur a probablement dj
   eu affaire  maintes reprises  des personnes ayant exactement le
   mme problme que vous, et il pourrait avoir plac des
   informations spcifiques  ce jeu sur son site web. Un bon
   exemple : les FAQ en ligne de Loki Software situes sur
   http://faqs.lokigames.com [http://faqs.lokigames.com].

  6.2. Recherchez des mises  jour et des correctifs

   Si vous jouez  un jeu open source que vous avez compil,
   assurez-vous de disposer de la version la plus rcente en visitant
   le site web du jeu. Si votre jeu fait partie d'une distribution,
   assurez-vous qu'il n'y ait pas de paquet rpm/deb plus  jour pour
   le jeu.

   Les socits produisant des jeux commerciaux comme Loki publient
   des correctifs pour leurs jeux (souvent nombreux, p.ex. pour
   Myth2(TM)), et certains sont mme injouables en leur absence
   (Heretic2(TM)). Recherchez des correctifs sur le site web du jeu
   que vous ayez un problme avec le jeu ou pas ; il peut y avoir une
   mise  jour pour un problme de scurit dont vous pourriez ne pas
   avoir eu connaissance.

    propos, Loki propose maintenant un utilitaire qui recherche les
   logiciels Loki sur votre disque dur et les met  jour
   automatiquement. Consultez http://updates.lokigames.com
   [http://updates.lokigames.com].

  6.3. Groupes de discussion

   Si vous ne savez pas ce que sont les News (Usenet), alors a vaut
   la peine de prendre 30 minutes pour vous y frotter. Installez un
   lecteur de News. Je prfre les outils en console, et j'utilise
   donc tin, mais slrn est galement populaire. Netscape propose
   galement un chouette lecteur de News graphique pilot  la
   souris.

   Par exemple, je peux me promener sur le serveur de News de Loki
   Software avec tin -g news.lokigames.com. Vous pouvez galement
   spcifier quel serveur de News utiliser grce  la variable
   d'environnement $NNTP ou le fichier /etc/nntpserver.

  6.4. Recherche sur Google Groupes

   Chaque soumission faite sur Usenet est archive dans la base de
   donnes de Google sur http://groups.google.fr
   [http://groups.google.fr]. Cette archive tait situe sur
   http://www.deja.com [http://www.deja.com], mais a t rachete par
   Google. Beaucoup de personnes parlent toujours de  deja .

   Il est presque sr que quel que soit le problme que vous avez
   avec Linux, qu'il ait ou pas un rapport avec le jeu, il a dj t
   report et solutionn sur Usenet, pas une, pas deux, mais de
   nombreuses fois. Si vous ne comprenez pas la premire rponse que
   vous voyez (ou si elle ne fonctionne pas), essayez l'une des
   suivantes. Si la page n'est pas dans une langue que vous
   comprenez, il existe des tas de sites de traduction qui
   convertiront le texte dans la langue que vous prfrez, comme
   http://www.freetranslation.com [http://www.freetranslation.com] et
   http://translation.lycos.com [http://translation.lycos.com]. Mon
   navigateur web prfr, Opera(TM) (disponible sur
   http://www.opera.com [http://www.opera.com]) vous permet
   d'utiliser le bouton droit de la souris pour slectionner un
   extrait de texte, et de cliquer avec le bouton gauche sur la
   slection pour le traduire. Trs utile quand une recherche sur
   Google Groupes renvoie une page en allemand qui semble utile et
   que ma petite amie (qui lit bien l'allemand) n'est pas disponible.

   La recherche sur Google Groupes propose une page de recherche
   lmentaire et avance. Ne perdez pas de temps avec la recherche
   simple. La recherche avance est situe sur
   http://groups.google.com/advanced_group_search
   [http://groups.google.com/advanced_group_search].

   C'est facile  utiliser. Par exemple, si mon problme est que
   Quake III(TM) plante  chaque fois que Lucy saute, j'entre  linux
   quake3 crash lucy saute  dans la bote de texte  Retrouver les
   messages avec tous les mots suivants .

   Certains champs permettent de limiter la porte de votre recherche
    un groupe de discussion. Prenez le temps de lire et de
   comprendre la signification de chaque champ. Je vous le promets :
   ce service ne vous dcevra pas. Utilisez-le, et vous serez
   quelqu'un de beaucoup plus heureux. Notez bien que les groupes de
   discussion privs ne sont pas archivs, comme le serveur de News
   de Loki Software. Nanmoins, vu que beaucoup de personnes
   utilisent Usenet, cela n'a gnralement que peu d'importance.

  6.5. Dbogage : traces d'appel et fichiers core

   Ce n'est gnralement pas quelque chose que vous ferez pour les
   jeux commerciaux. Pour les jeux open source, vous pouvez aider
   l'auteur en lui fournissant un fichier core ou une trace de la
   pile. En bref, un fichier core (dit  core dump ) est un fichier
   qui conserve l'tat du programme au moment o il s'est crash. Il
   contient des indices prcieux pour le programmeur relatifs  la
   nature du crash : ce qui l'a caus et ce que le programme faisait
   quand il s'est produit. Si vous voulez en savoir plus sur les
   fichiers core, j'ai un super tutoriel gdb disponible sur
   http://www.dirac.org/linux [http://www.dirac.org/linux].

   En dernier recours, l'auteur sera intress par la pile d'appels
   au moment du plantage du jeu. Voici comment procder :

   Il arrive que les distributions configurent leur systme
   d'exploitation en sorte que les fichiers core (qui sont
   principalement utiles aux programmeurs) ne sont pas gnrs. La
   premire tape est d'autoriser votre systme  gnrer des
   fichiers core de taille illimite :

     ulimit -c unlimited
      

   Vous devrez maintenant recompiler le programme et passer l'option
   -g  gcc (l'explication dpasse la porte de ce document). 
   prsent, excutez le jeu et rptez ce qui a fait planter le
   programme pour gnrer  nouveau un fichier core. Excutez le
   dbogueur avec le fichier core comme second argument :

     $ gdb ExcutableJeuChouette core
      

    l'invite, tapez backtrace. Vous verrez quelque chose comme :

     #0 printf (format=0x80484a4 "z is %d.\n") at printf.c:30
     #1 0x8048431 in display (z=5) at try1.c:11
     #2 0x8048406 in main () at try1.c:6
      

   Cela peut tre assez long, mais utilisez votre souris pour copier
   et coller ces informations dans un fichier. Envoyez-le par
   courriel  l'auteur et indiquez-lui :

    1. le nom du jeu

    2. le message d'erreur qui est apparu  l'cran quand le jeu a
       plant.

    3. ce qui a provoqu le plantage et s'il est reproductible ou
       non.

    4. la pile d'appels

   Si vous avez une bonne bande passante, demandez  l'auteur s'il
   souhaite le fichier core gnr par son programme. S'il est
   d'accord, envoyez-le lui. N'oubliez pas de lui demander au
   pralable, car les fichiers core peuvent tre trs, trs gros.

  6.6. Parties sauvegardes

   Si votre jeu permet de sauvegarder des parties, alors l'envoi 
   l'auteur d'une copie de la partie sauvegarde est utile car cela
   lui permet de reproduire le dysfonctionnement. Pour les jeux
   commerciaux, cette possibilit est plus fructueuse que d'envoyer
   un fichier core ou une pile d'appels car les jeux commerciaux ne
   peuvent tre recompils de sorte  inclure des informations de
   dbogage. Vous devriez imprativement demander avant d'envoyer une
   partie sauvegarde car ils ont tendance  tre gros, mais une
   socit comme Loki Software dispose de beaucoup de bande passante.
   Mike Phillips (un ancien de Loki Software) indique que l'envoi de
   sauvegardes de jeux  Loki est dfinitivement une bonne chose.

   videmment, cela ne s'applique que si votre jeu plante de faon
   reproductible dans certaines circonstances. Si le jeu vous donne
   une erreur de segmentation (segmentation fault)  chaque fois que
   vous l'excutez, ou est incroyablement lent, une sauvegarde de jeu
   n'aura que peu d'utilit.

  6.7. Que faire quand on ne trouve pas un fichier ou une bibliothque
  (ou se faciliter la vie avec strace)

   Parfois, vous verrez des messages d'erreur indiquant qu'un fichier
   n'a pu tre trouv. Le fichier pourrait tre une bibliothque :

     % ./exult
     ./exult: error while loading shared libraries: libSDL-1.2.so.0: cannot load shared object
     file: No such file or directory
      

   ou un fichier de donnes, comme un fichier wad ou map :

     % qf-client-sdl 
     IP address 192.168.0.2:27001 UDP Initialized Error: W_LoadWadFile: couldn't load gfx.wad
      

   Supposez que gfx.wad est dj sur mon systme, mais qu'il ne peut
   tre trouv tant donn qu'il n'est pas dans le bon rpertoire.
   Mais alors, o est le bon rpertoire ? Ne serait-il pas utile de
   savoir o ces programmes recherchent les fichiers manquants ?

   C'est ici que strace brille. Il vous indique quels appels systme
   sont effectus, avec quels arguments, et quelles sont les valeurs
   de retour. Dans mon  Guide de programmation de modules noyau  (
   paratre bientt sur le LDP), je souligne tout ce que vous devez
   savoir sur strace. Mais voici les grandes lignes : saisissez la
   commande

     strace -o ./LS_LOG /bin/ls
      

   L'option -o envoie la sortie de strace dans un fichier, ici
   LS_LOG. Le dernier argument de strace est le programme 
   surveiller, ici ls. Regardez le contenu de LS_LOG. Assez
   impressionnant, n'est-ce pas ? Voici une ligne typique :

     open(".", O_RDONLY|O_NONBLOCK|0x18000)  = 4
      

   Nous avons utilis l'appel systme open() pour ouvrir  .  avec
   divers arguments, et la valeur de retour de l'appel est 4. Quel
   est le rapport avec les fichiers non trouvs ?

   Supposez que je veuille regarder la dmo de StateOfMind(TM) car je
   ne m'en lasse pas. Un jour, j'essaie de l'excuter et quelque
   chose se passe mal :

 % ./mind.i86_linux.glibc2.1
 Loading & massaging...
 Error:Can't open data file 'mind.dat'.

   Utilisons strace pour dtecter l'endroit o le programme
   recherchait le fichier de donnes.

     strace ./mind.i86_linux.glibc2.1 2> ./StateOfMind_LOG
      

   Lanant vim et recherchant toutes les occurrences de mind.dat, je
   trouve les lignes suivantes :

     open("/usr/share/mind.dat",O_RDONLY) = -1 ENOENT (No such file)
     write(2, "Error:", 6Error:)   = 6
     write(2, "Can\'t open data file \'mind.dat\'."..., ) = 33
      

   Je ne recherchais mind.dat que dans un seul rpertoire. Il
   apparat clairement que mind.dat n'est pas dans /usr/share. Nous
   pouvons maintenant essayer de localiser mind.dat et de le dplacer
   dans /usr/share ou, mieux, crer un lien symbolique.

   Cette mthode fonctionne galement pour les bibliothques.
   Supposez que la bibliothque libmp3.so.2 est situe dans
   /usr/local/include mais que votre nouveau jeu Kill-Metallica(TM)
   ne le trouve pas. Vous pouvez utiliser strace pour dterminer o
   Kill-Metallica(TM) doit rechercher la bibliothque et crer un
   lien symbolique de /usr/local/include/libmp3.so.2 vers l'endroit
   o Kill-Metallica(TM) recherchait le fichier de bibliothque.

   strace est un utilitaire trs puissant. Quand vous essayez de
   savoir pourquoi quelque chose n'est pas trouv, il est votre
   meilleur alli, et est mme plus rapide que la consultation du
   code source. De plus, vous ne pouvez pas rechercher d'informations
   dans le code source des jeux commerciaux de Lokisoft ou Tribsoft.
   Mais vous pouvez toujours utiliser strace !

  6.8. Consoles corrompues

   Parfois, un jeu se termine anormalement et votre console se
   retrouve alors dans un tat bizarrode : le texte  l'cran est du
   charabia, votre bel cran noir habituel ressemble  un cran
   semi-graphique, et ctera. Quand vous tapez sur Entre, un retour
    la ligne n'est pas reproduit  l'cran. Parfois, certaines
   touches du clavier ne rpondent pas. La dconnexion suivie d'une
   reconnexion ne marche pas toujours, mais il y a d'autres
   possibilits :

     o Si aucun des caractres que vous tapez n'apparat  l'cran,
       les rglages de votre terminal peuvent tre incorrects.
       Essayez  stty echo . Cela devrait rtablir l'cho des
       caractres.

     o  l'invite, tapez reset. Cela devrait liminer beaucoup de
       problmes, y compris les consoles corrompues par un jeu bas
       sur SVGAlib ou ncurses.

     o Essayez de r-excuter le mme jeu normalement. Une fois, j'ai
       d tuer Quake III(TM) en toute hte, et j'ai donc effectu un
       ctrl+alt+backspace. La console tait corrompue et prsentait
       un cran quasi-graphique. Excuter Quake III(TM) et le quitter
       normalement a corrig le problme.

     o Les commandes deallocvt et openvt fonctionneront pour la
       plupart des autres problmes. deallocvt N tue entirement le
       terminal N, de sorte que Alt-FN ne fonctionne plus du tout.
       openvt -c N ou openvt -c N le redmarre.

     o Si certaines touches de votre clavier ne fonctionnent pas,
       faites preuve de crativit. Si vous voulez redmarrer mais
       que la touche o ne fonctionne pas, essayez d'employer halt.
       Une mthode que j'ai exprimente est de taper une commande 
       l'invite et d'utiliser des caractres  l'cran en utilisant
       le copier-coller avec la souris. Par exemple, vous pouvez
       taper ps ax, et vous tes sr(e) d'avoir un h, a, l et un t
       quelque part  l'cran. Vous pouvez utiliser la souris pour
       copier et coller le mot  halt .

     o L'option la plus regrettable est le redmarrage. Si c'est
       possible, un arrt ordonn est prfrable ; utilisez halt ou
       shutdown. Sinon, utilisez ssh depuis une autre machine. Cela
       fonctionne parfois quand votre console prsente d'importants
       dysfonctionnements. Dans le pire des cas, appuyez sur le
       bouton Reset ou Power (rinitialisation ou arrt de
       l'alimentation).

   Notez que si vous utilisez un systme de fichiers journalis comme
   ext3, reiserfs ou xfs, l'appui sur le bouton Power n'est pas aussi
   nfaste que cela. Vous tes toujours suppos arrter la machine
   d'une faon ordonne, mais l'intgrit du systme de fichiers sera
   prserve. Vous ne verrez normalement pas de fsck pour les
   partitions qui utilisent le systme de fichiers journalis.

  6.9. Systme bloqu

   Quand un ordinateur se bloque, le clavier et la souris ne
   rpondent plus du tout. C'est une consquence directe d'un bogue
   dans le noyau Linux. Bien que Linux soit rput pour sa stabilit,
   de telles choses peuvent arriver, en particulier avec les jeux qui
   occasionnent des vnements matriels extrmement synchroniss se
   produisant trs rapidement, mme pour un ordinateur. Quand un
   ordinateur se bloque, cela peut tre un  blocage total ,
   signifiant que le noyau a compltement cess de fonctionner. Cela
   indique souvent que le matriel est en cause. Le seul remde  ce
   type de blocage est d'appuyer sur le bouton Reset ou Power. Le
   blocage peut galement tre  lger ,  savoir que le noyau
   fonctionne toujours dans une certaine mesure. Il est possible de
   se remettre gracieusement de cette situation.

     o La premire chose  essayer est de taper control+alt+backspace
       qui tue X. Si vous rcuprez le contrle sur votre systme, le
       noyau n'tait pas rellement bloqu. Si cela ne fonctionne pas
       aprs quelques secondes, il faut alors redmarrer le systme
       en suivant les recommandations suivantes :

     o Utilisez control+alt+delete pour redmarrer le systme. Vous
       savez que cela a fonctionn si l'ordinateur met un bip aprs
       quelques secondes (c'est le BIOS qui dit  Tout est OK  au
       cours du cycle de dmarrage).

     o Connectez-vous  partir d'un autre systme via ssh. Si vous y
       parvenez, redmarrez ou arrtez le systme.

     o Si cela n'est pas possible, vous devrez utiliser la  touche
       magique SysRq  qui est documente dans
       /usr/src/linux/Documentation/sysrq.txt. Voici un rsum pour
       l'architecture x86 (consultez la documentation pour les autres
       architectures). Notez que si votre clavier n'a pas de touche
       SysRq, il vous faudra utiliser la touche PrintScreen :

         1. Tapez Alt+SysRq+s pour tenter de synchroniser vos
            systmes de fichiers monts afin que les changements
            apports aux fichiers soient effectus sur disque. Vous
            pouvez entendre de l'activit du disque dur. Si vous
            regardez sur une console, le systme devrait afficher le
            nom des priphriques pour lesquels cette opration a eu
            lieu.

         2. Quelques secondes plus tard, tapez Alt+SysRq+u pour
            essayer de remonter les systmes de fichiers monts en
            mode lecture seule. Vous devriez entendre de l'activit
            disque. Si vous examinez une console, le systme
            affichera les priphriques qui ont t remonts.

         3. Aprs un bref moment, utilisez Alt+SysRq+b pour
            redmarrer le systme.

         4. Vous pouvez aussi taper Alt+SysRq+h pour obtenir un cran
            d'aide ultra-concis.

   Pour prendre en charge la touche magique SysRq, votre noyau doit
   avoir t compil  cet effet. Vous trouverez cette option sous
    Kernel Hacking | Kernel Debugging | Magic SysRq key . Si la
   squence magique SysRq n'teint pas correctement votre systme,
   votre noyau s'est rellement bien plant et le seul remde est
   d'utiliser le bouton Reset ou Power.

7. Cartes vido

  7.1. Historique

   Il tait une fois, une socit de San Jose, en Californie, appele
   3dfx Interactive(TM) dominait le march des cartes vido destines
   au jeu. En octobre 1996, elle a mis sur le march la Voodoo I, qui
   a connu un succs phnomnal. C'tait la premire carte proposant
   une acclration matrielle, mais elle n'effectuait que du rendu
   3D ; il fallait une seconde carte vido 2D de haute qualit pour
   effectuer le rendu 2D (Matrox tait immensment populaire 
   l'poque) alors que les informations 3D (voyez Glide2,  la
   Section 3.1,  Glide2 ) sont transmises  la Voodoo I et rendues,
   en utilisant le matriel rapide de la Voodoo pour effectuer les
   calculs graphiques ncessaires. La Voodoo Rush est sortie en avril
   1996. Elle aurait d tre plus puissante, avec un GPU cadenc 
   50 Mhz et 8 Mo de RAM. Mieux encore, elle constituait leur
   premire carte combine 2D/3D, librant un port PCI prcieux (la
   plupart des PC n'avaient que deux ports PCI  l'poque) mais la
   Rush n'a pas t aussi populaire. 3dfx a supprim l'unit
   multi-textures de la Rush, qui a ds lors t surclasse par la
   Voodoo I. Pendant ce temps-l, ATI produisait sa srie de Rage et
   nVidia celle de Riva 128, mais la Voodoo I dominait toujours
   largement.

   C'tait une belle poque pour Linux. id Software avait libr le
   code source de Doom et port Quake I sous Linux (dcembre 1996).
   Nous gotions pour la premire fois au jeu commercial rel. Le
   choix tait vite fait : vous achetiez une Voodoo. Et vous vous
   sentiez bien, car 3dfx avait ouvert ses pilotes. La reine des
   cartes vido fonctionnait grce  des dveloppeurs Linux. Non
   seulement nous disposions des meilleures cartes vido, mais de
   plus leurs pilotes taient tous open source.

   En mars 1998, 3dfx lanait la Voodoo II, avec sa bande passante
   mmoire de 3.6 Go/sec, 12 Mo de mmoire vido et un cur
   fonctionnant  90 MHz. Elle permettait des rsolutions allant
   jusqu' 1024x768. C'tait 3dfx  son apoge. Comme la Voodoo I, la
   Voodoo II tait une carte ne s'occupant que de la 3D, et se
   reposant sur une autre carte vido pour la 2D. La Voodoo Banshee
   est sortie en septembre 1998 comme une carte combine 2D/3D, comme
   la Rush. Malgr un cur plus rapide fonctionnant  100 MHz, la
   Banshee tait dpasse par la Voodoo II du fait de la suppression
   de l'unit multi-textures, comme pour la Rush. Et  nouveau, comme
   la Rush, elle n'tait pas populaire. Mais 3dfx rgnait en matre,
   et personne ne pouvait leur faire de l'ombre.

   La Voodoo III est sortie en avril 1999. Il y en a eu plusieurs, au
   cur variant de 143  183 MHz. Certaines versions disposaient
   d'une sortie TV. Il y avait des versions PCI et AGP (c'tait la
   premire carte vido AGP). C'tait un autre succs, mais 3dfx
   commenait  perdre du terrain au profit de nVidia, qui produisait
   la TNT 2. Celle-ci surclassait la Voodoo II, et offrait une
   acclration 3D avec des couleurs 32 bits, alors que les Voodoo
   taient limites aux couleurs 16 bits. Mais la vie tait toujours
   belle pour Linux. Nous disposions d'une carte qui tait
   pratiquement au coude  coude avec nVidia, nos pilotes taient
   open source et, en dcembre 1999, id Software nous a fait un grand
   cadeau : ils ont ouvert le code source de Quake I.

   Ensuite, la GeForce 256 de nVidia est apparue en octobre 1999. La
   Voodoo IV de 3dfx, son concurrent direct, avait  peu prs une
   anne de retard, ce qui est pour le moins ennuyeux quand on se bat
   sur un march  de pointe . Alors que les travaux en recherche et
   dveloppement de nVidia taient appliqus  ses cartes, 3dfx ne
   faisait qu'ajouter de la RAM plus rapide. Les Voodoo IV et V
   rendaient les couleurs 32 bits, prenaient trs bien en charge
   l'anti-crnelage, proposaient un second GPU, plus de mmoire, et
   taient pour ainsi dire suprieures aux autres cartes vido.
   Nanmoins, la sortie tardive des Voodoo IV et V couple au fait
   qu'on pouvait obtenir la GeForce pour moiti moins explique le
   naufrage rapide de 3dfx. Pour Linux, les plus rcentes Voodoo ne
   pouvaient acclrer que pour les couleurs 16 et 24 bits. Pire
   encore, le second GPU de la Voodoo V n'tait pas exploit par le
   pilote Linux (et,  ce jour, la Voodoo V est fonctionnellement
   quivalente  la Voodoo IV sous Linux). La plupart des
   utilisateurs Windows sont passs  nVidia et, bien que les pilotes
   de cette dernire taient propritaires, mme les utilisateurs
   Linux commenaient  la choisir. VA Linux, le plus grand vendeur
   des serveurs Linux, plaait des nVidia dans ses machines.

   Ensuite, en avril 2000, 3dfx a t attaqu sur un autre front :
   ATI commenait  produire sa premire gnration de Radeon.
   Auparavant, ATI avait toujours t un fabricant de puces
   graphiques innovant (leurs propres puces acclratrices 3D datent
   de 1996,  peu prs au mme moment que 3dfx), mais fort discret.
   Les Radeon taient leur premire carte acclratrice 3D 
   rellement intresser les joueurs. Leurs Radeon crasaient  la
   fois nVidia et 3dfx. Ils ont collabor avec des dveloppeurs
   Linux, ont ouvert le code source de tous leurs pilotes et ont t
   acclams comme le grand espoir pour le jeu sous Linux. nVidia
   revint  la charge, et c'en tait trop pour 3dfx. Entre la dfaite
   dans les bancs d'essais contre la GeForce et la Radeon, leurs
   nouvelles cartes en retard et leurs prix levs, 3dfx avait perdu
   sa part de march et n'avait plus les fonds ncessaires pour
   continuer ses activits. Le 18 avril 2001, ils ont vendu la
   plupart des leurs avoirs et technologies  nVidia et, en octobre
   2002, ont finalement fait aveu de faillite.

   La disparition de 3dfx tait trs soudaine et une gifle pour la
   communaut open source. Je me souviens toujours de mon ami Gabe
   Rosa m'envoyant un courriel avec ces simples mots  Look at /. 
   (Va voir sur slashdot) et la vision de la nouvelle. C'tait le 2e
   jour le plus sombre de l'histoire du jeu sous Linux (aprs la mort
   de Loki). Et c'tait aussi vraiment dommage. 3dfx tait sur le
   point de sortir une nouvelle Voodoo V avec 4 GPU qui aurait cras
   les offres de ATI et nVidia, ainsi qu'une nouvelle carte au nom de
   code  Rampage  qui les auraient ramen sur le devant de la
   scne. On raconte que la technologie de Rampage (qui a t vendue
    nVidia) s'est retrouve dans la GeForce 5900. Pas trop mal pour
   une technologie vieille de 3 ans !

   Au dbut, tout tait simple. Les joueurs Linux gardaient soit
   leurs Voodoo open source, acquraient une Radeon open source ou
   une GeForce propritaire. Nanmoins, les jeux grossissant et
   s'amliorant, ce n'tait qu'une question de temps avant que les
   Voodoo ne soient plus viables pour les jeux modernes. Certains
   utilisaient toujours des Voodoo, mais ces personnes taient
   pratiquement hors du coup en ce qui concerne le jeu.

   ATI a produit un nombre incroyable de versions de chaque carte
   vido, et il devenait difficile de suivre l'volution de leur
   terminologie. ATI et nVidia dominaient le march. Leurs produits
   ont toujours t au coude  coude depuis lors, la GeForce prenant
   l'avantage un peu plus souvent que la Radeon. Mais les pilotes de
   la Radeon taient open source, et de nombreux utilisateurs Linux
   lui restaient fidles. Ensuite, cela s'est compliqu.

   ATI a commenc  devenir de plus en plus rticent aux pilotes open
   source pour leurs nouvelles cartes et, soudainement, il n'tait
   plus facile de savoir qui tait le  bon . L'excuse de nVidia
   tait qu'une partie de leur code GL est sous licence d'une autre
   socit, et ne peut par consquent pas tre  libre .
   Vraisemblablement, ATI ne veut pas collaborer afin de conserver
   ses secrets de fabrique. Et cela ne s'arrange pas. Les pilotes ATI
   Linux ont souffert de performances extrmement faibles. Mme quand
   une offre de ATI est meilleure que celle de la GeForce du moment
   pour Windows, la carte est toujours crase par la GeForce sous
   Linux. Du fait de pilotes ATI Linux calamiteux, les utilisateurs
   Linux ne peuvent se fier aux bancs d'essais ou aux tests de cartes
   prvus pour MS Windows. Ils ne sont tout simplement pas
   appropris. Et c'est  peu prs au point o nous en sommes pour le
   moment.

   Finalement, le seul vritable banc d'essais des cartes vido sous
   Linux date malheureusement,  ma connaissance, de mars 2001, entre
   une Radeon 32 DDR et une GeForce 2. Vous pouvez le consulter
   vous-mme sur
   http://www.linuxhardware.org/features/01/03/19/0357219.shtml
   [http://www.linuxhardware.org/features/01/03/19/0357219.shtml],
   mais la conclusion est que la GeForce 2 domine de la tte et des
   paules la Radeon 32 DDR.

  7.2. Situation actuelle (13 juillet 2003)

   La dernire offre de nVidia est la GeForce 5900, base sur le jeu
   de composants NV35. Elle est bien prise en charge sous Linux par
   des pilotes de haute qualit mais propritaires. Ils ne
   fournissent pas d'informations aux dveloppeurs Linux, et vous ne
   pourrez donc utiliser que leurs pilotes binaires ; ils ne font pas
   partie de XFree86. nVidia utilise une architecture unifie
   pratique : leurs pilotes prennent en charge de la TNT 2  la
   GeForce 5900.

   ATI a travaill avec les dveloppeurs Linux pour toutes les Radeon
   jusqu' la Radeon 9200. Ces cartes font l'objet d'une prise en
   charge 2D et 3D dans XFree86. Je ne suis pas entirement sr de la
   qualit de ces pilotes open source ; nanmoins, Soldier of Fortune
   I(TM) et Heavy Metal(TM) ont toujours des problmes de textures
   opaques avec la premire gnration de Radeon. Aprs la 9200, vous
   devez utiliser les pilotes binaires propritaires, disponibles au
   format rpm, depuis le site web de ATI. Ces pilotes sont
   abominables : un de mes amis m'affirme que sa GeForce 4400
   surclasse sa Radeon 9700 pro. C'est une honte !

   Sur le papier, et selon les bancs d'essais pour Windows, la Radeon
   9800 crase la mal-conue GeForce 5800 et dpasse lgrement la
   GeForce 5900. Sur le papier, elle est tout simplement la carte la
   plus impressionnante. Mais,  nouveau, le problme des pilotes ne
   nous permet pas d'en bnficier. Si vous dsirez acheter la
   meilleure carte pour Linux, vous devrez utiliser la GeForce 9800.
   Prparez-vous simplement  manger des nouilles pendant quelques
   mois : les deux cartes sont excessivement chres.

    7.2.1. Support de SVGAlib

   Au 30 juin 2002, la prise en charge par la SVGAlib des cartes
   Radeon est problmatique. Les dveloppeurs ont rapport que
   SVGAlib fonctionne avec les Radeon 7500 et Radeon QD (modle 64 Mo
   DDR) mais a quelques soucis avec la Radeon VE.

   Je ne dispose pas d'informations concernant les cartes GeForce.

  7.3. Quelle carte vido dois-je acheter ? (13 juillet 2003)

   La rponse tait trs difficile l'an dernier, mais voici mon
   opinion :

    1. Toutes les cartes GeForce requirent un pilote propritaire
       qui  salit  votre noyau. Nanmoins, c'est galement la cas
       de toutes les cartes ATI suivant la Radeon 9200.

    2. nVidia a prouv qu'elle se souciait suffisamment de Linux pour
       crire et actualiser des pilotes vido de haute qualit pour
       Linux. Mme quand ATI a ouvert le code source de ses pilotes,
       ils se reposaient sur les dveloppeurs Linux pour faire le
       sale boulot. Leurs pilotes propritaires actuels sont
       ignobles.

    3. La Radeon 9800 actuelle bat tout juste la GeForce 5900 dans
       les bancs d'essais et sur le plan des spcifications, mais les
       utilisateurs Linux ne pourront en bnficier du fait de la
       faiblesse des pilotes de la 9800.

    4. ATI a depuis longtemps l'habitude d'abandonner le support de
       son matriel ds que c'est possible.

    5. Sous MS Windows, quand la GeForce bat son principal adversaire
       Radeon, les critiques affirment gnralement que les
       graphismes de la Radeon taient plus soigns. Je ne sais pas
       si cela se ressent galement sous Linux.

   En fin de compte, la plupart devrait acheter une GeForce pour le
   moment.

  7.4. Dfinitions : carte vido et terminologie 3D

   Parlons  prsent de la terminologie des cartes vido et des
   graphiques 3D. Ce n'est pas primordial pour faire fonctionner un
   jeu en pratique, mais cela peut vous aider  dcider quelles
   options matrielles et logicielles vous conviennent le mieux.

    7.4.1. Textures

   Une scne rendue est constitue  la base de polygones et de
   lignes. Une texture est une image 2D (habituellement une bitmap)
   recouvrant les polygones d'un monde 3D. Pensez  une couche de
   peinture sur les polygones.

    7.4.2. T&L : Transform and Lighting

   Le T&L (transformation et clairage) est le processus de
   traduction de toutes les informations du monde 3D (position,
   distance et sources de lumire) en une image 2D effectivement
   affiche  l'cran.

    7.4.3. AA : Anti Aliasing

   L'anti-aliasing (anti-crnelage) est le lissage de l'effet
   d'escalier d'une courbe ou d'un polygone, apparaissant lors du
   dessin d'une ligne brise ou d'une courbe compose de pixels (de
   forme rectangulaire), aussi appel  crnelage . Il se produit
   quand les pixels forment une ligne crnele plutt qu'une courbe
   ou une ligne lisse. L'AA utilise un filtrage gourmand en temps CPU
   pour lisser de tels contours crnels. Cela amliore l'aspect
   visuel d'un jeu, mais peut galement grever dramatiquement les
   performances.

   L'AA est utilis dans diffrentes situations. Par exemple, quand
   vous grossissez une image, vous pouvez remarquer que des lignes
   qui taient lissent deviennent crneles (essayez avec The Gimp).
   Le rendu des polices de caractres est une autre grande
   application pour l'AA.

   L'AA peut tre fait soit par l'application elle-mme (comme avec
   The Gimp ou le systme de polices de XFree86), soit par le
   matriel, si votre carte le supporte. Puisque l'AA est gourmand en
   temps CPU, il vaut mieux l'effectuer en matriel, mais si nous
   parlons d'applications semi-statiques, comme The Gimp, cela ne
   pose pas vraiment de problme. Pour les situations dynamiques,
   comme les jeux, effectuer l'AA en matriel peut tre crucial.

    7.4.4. FSAA : Full Screen Anti-Aliasing

   Le FSAA (anti-crnelage plein cran) implique habituellement le
   dessin d'une version grossie de l'cran entier dans un framebuffer
   spar, en effectuant l'AA sur l'image entire puis en la ramenant
    la rsolution normale. Comme vous pouvez l'imaginer, c'est
   extrmement gourmand en temps CPU. Vous ne verrez jamais de FSAA
   non acclr matriellement.

    7.4.5. Mip Mapping

   Le  mip mapping  est une technique consistant  stocker diverses
   copies  l'chelle de la mme texture dans la mmoire de la carte
   vido, afin de reprsenter la texture  diffrentes distances.
   Quand la texture est trs loigne, une plus petite version de la
   texture est utilise. Quand la texture est proche, une plus grande
   est utilise. Le mip mapping peut tre utilis quelle que soit la
   mthode de filtrage. Il rduit non seulement les besoins en bande
   passante mmoire (puisque les images sont stockes sur le
   matriel), mais offre galement une meilleure qualit d'image.

    7.4.6. Filtrage de textures

   Le filtrage de textures est la fonctionnalit fondamentale requise
   pour fournir des graphiques 3D agrables. Il a plusieurs
   applications, comme mlanger sans encombre des textures
   adjacentes, et rendre raliste des textures vues depuis un angle
   (p.ex. regarder un panneau d'affichage depuis un angle extrme).
   Il existe plusieurs techniques de filtrage de textures incluant
   l'chantillonnage de points et les filtrages bilinaire,
   trilinaire et anisotrope.

   Quand je parle de  dgradation de performances , gardez 
   l'esprit qu'elle dpend de la rsolution utilise. Par exemple, 
   une basse rsolution, l'impact sur les performances de
   l'utilisation du filtrage trilinaire au lieu du filtrage
   bilinaire est ngligeable. Mais  de hautes rsolutions, il peut
   tre norme. De plus, je ne connais aucune carte qui utilise le
   filtrage de textures anisotrope. Les pilotes TNT le prtendent,
   mais j'ai lu que ces pilotes utilisent toujours le filtrage
   trilinaire au moment du rendu rel d'une image  l'cran.

      7.4.6.1. Filtrage de textures avec chantillonnage de points

   L'chantillonnage de points est rare de nos jours, mais si vous
   excutez un jeu avec le  rendu logiciel  (ce que vous devrez
   faire si vous excutez un jeu avec acclration 3D sans carte
   acclratrice 3D), vous constaterez probablement son utilisation.

      7.4.6.2. Filtrage de textures bilinaire

   Le filtrage bilinaire est un filtrage de textures peu exigeant en
   temps de calcul mais de basse qualit. Il approxime les
   diffrences entre les textures en chantillonnant la couleur des
   quatre texels les plus proches (suprieur, infrieur, gauche et
   droit). Toutes les cartes vido acclratrices 3D modernes peuvent
   effectuer du filtrage bilinaire en matriel sans chute des
   performances.

      7.4.6.3. Filtrage de textures trilinaire

   Le filtrage trilinaire est un filtre bilinaire de haute qualit
   qui utilise les quatre pixels les plus proches du deuxime niveau
   de mip map (mip map level) le plus appropri pour produire des
   transitions plus douces entre les niveaux. Le filtrage trilinaire
   chantillonne  partir de huit pixels et les intgre avant de
   calculer le rendu. Le filtrage trilinaire utilise toujours le mip
   mapping. Il limine l'effet de bandes qui apparat entre des
   niveaux adjacents. La plupart des cartes vido acclratrices 3D
   peuvent effectuer du filtrage trilinaire en matriel sans impact
   sur les performances.

      7.4.6.4. Filtrage de textures anisotrope

   Le filtrage anisotrope est la meilleure mais la plus demandeuse en
   temps de calcul des trois mthodes habituelles de filtrage de
   textures. Le filtrage trilinaire est capable de produire de beaux
   rsultats, mais il ne fait qu'chantillonner  partir d'une zone
   carre, ce qui n'est pas toujours la mthode idale. Anisotrope
   (signifiant  depuis n'importe quelle direction ) chantillonne 
   partir de plus de 8 pixels. Le nombre de pixels utiliss et
   lesquels sont utiliss dpendent de l'angle de vision de la
   surface par rapport  votre cran. Il fait des merveilles lors de
   la visualisation de caractres alphanumriques depuis un certain
   angle.

    7.4.7. Z-buffer

   Un Z-buffer est une partie de RAM qui reprsente la distance entre
   l'observateur (vous) et chaque pixel d'un objet. Beaucoup de
   cartes acclratrices 3D modernes disposent d'un z-buffer dans
   leur RAM vido, ce qui acclre considrablement les choses, mais
   il peut galement tre pris en charge par le moteur de rendu de
   l'application. Nanmoins, ce type de choses devrait clairement
   tre fait en mmoire  chaque fois que c'est possible.

   Chaque objet possde son ordre d'empilement,  la manire d'une
   pile de cartes. Quand des objets sont rendus dans un framebuffer
   2D, le moteur de rendu supprime les surfaces caches en utilisant
   le Z-buffer. Il y a deux faons de s'y prendre. Les moteurs
   stupides dessinent d'abord les objets loigns puis seulement les
   objets proches, cachant les objets situs en dessous d'eux dans le
   Z-buffer. Les moteurs intelligents calculent quelles portions des
   objets seront caches par les objets situs au-dessus et ne
   rendent tout simplement pas les portions que vous ne verriez de
   toute faon pas. Pour les textures compliques, cela offre des
   grandes conomies en temps processeur.

8. Son

  8.1. Quelle carte son est la meilleure ?

   Par  meilleure , j'entends  meilleure pour le jeu . Les
   joueurs demandent une haute qualit sonore sans trop de
   paramtrage  effectuer. Les musiciens ont par contre d'autres
   exigences : le concept de  meilleure carte son  sera
   probablement diffrent pour eux. Si vous tes un musicien, vous
   devriez consulter le  Guide pratique de la qualit du son sous
   Linux  (Linux Audio Quality HOWTO
   [http://www.linuxdj.com/audio/quality/]).

   Maintenant que Linux commence  mrir, cette question a perdu de
   son importance. Auparavant, les cartes son sans puce MIDI intgre
   (la plupart des cartes son PCI) ne pouvaient pas interprter le
   MIDI. C'tait principalement un problme pour les jeux comme
   xdoom(TM) ou lxdoom(TM) qui utilisent musserv. De nos jours, il
   existe des mulateurs MIDI comme Timidity et des bibliothques
   comme SDL qui ne requirent pas de support MIDI matriel.
   Franchement, j'ai eu beaucoup de cartes et je n'ai pas constat de
   diffrences en ce qui concerne le jeu. Si vous voulez des choses
   comme la conversion d'un enregistrement LP en format numrique,
   alors votre choix de carte son se portera sur un convertisseur
   analogique/numrique de niveau professionnel. Dans ce guide, nous
   supposerons que vous tes plus un joueur qu'un ingnieur du son.

   Votre dcision devrait se baser sur la facilit de configuration.
   Si vous avez dj une carte qui fonctionne bien, c'est suffisant.
   Si vous explorez le march pour acheter une carte son, prenez
   quelque chose qui ne prend qu'une seconde  configurer. Les cartes
   PCI sont beaucoup plus faciles  grer que les cartes ISA car vous
   ne devez pas indiquer  leur pilote quelles ressources systme
   (IRQ, DMA, adresses d'entre-sortie) utiliser. Certaines cartes
   ISA sont plug-n-play, comme la Creative AWE-64, et le noyau Linux
   a beaucoup volu pour les auto-configurer.

   Ma recommandation personnelle est une carte  base de es1370 ou
   es1371, qui utilise les pilotes son es1370 et es1371 sous Linux.
   Ces cartes vont de la plus ancienne Ensoniq es1370  la plus
   rcente Creative PCI-128. Ces cartes sont trs bon march et
   triviales  faire fonctionner sous Linux.

   J'tais un grand fan des cartes son Creative Soundblaster AWE 32,
   AWE 64 et AWE 64 gold. Ces cartes ISA PnP sont bien prises en
   charge  la fois par OSS et par Alsa. Elles utilisent toutes la
   mme puce de synthse sonore E-mu 8000 qui leur permet de jouer 32
   voix simultanment (elles ont 32  canaux ). Elles sont ISA, mais
   plug-n-play. Quelques remarques : primo, le Soundblaster AWE HOWTO
   est trs dpass. Secundo, la AWE 64 et la AWE 64 gold peuvent
   jouer jusqu' 64 voix simultanment, mais cela est fait en
   logiciel. Creative n'a jamais publi de pilote Linux pour ces
   cartes (ni n'ont publi d'informations de programmation  ce
   sujet), et les utilisateurs Linux ne peuvent donc pas utiliser les
   32 canaux supplmentaires de la AWE 64 et de la AWE 64 gold. Pour
   eux, ces trois cartes sont compltement identiques (bien que la
   AWE 64 gold ait des connecteurs plaqus or, qui offrent une
   meilleure qualit de son que les connecteurs en acier habituels).

   La Creative Soundblaster Live! est une carte son PCI extrmement
   populaire de nos jours. Je n'en ai jamais possd, et je ne peut
   donc pas vous donner mes impressions. Nanmoins, on a report  de
   nombreuses reprises des problmes srieux avec la Live! et les
   cartes mres AMD qui utilisent le southbridge 686b. Une recherche
   sur Google devrait produire un tas d'informations sur ce problme.

   Un lment plus pertinent est les haut-parleurs, mais mme ici la
   diffrence n'est pas norme. J'ai eu des haut-parleurs Altec
   Lansing coteux qui ne fonctionnent que lgrement mieux que les
   haut-parleurs bon march. Tout dpend du prix que vous tes
   dispos(e)  mettre, mais ne vous attendez pas  de grosses
   diffrences. Vous devriez vous procurer quelque chose avec un
   caisson de basses spar : les diffrences sont perceptibles au
   prix de cbles d'alimentation et de connecteurs supplmentaires.

  8.2. Pourquoi le son ne fonctionne-t-il pas ?

   Tout d'abord, votre jeu n'est probablement pas en cause ; il
   s'agit probablement de votre configuration.  ma connaissance, il
   y a 3 possibilits pour faire fonctionner une carte son configure
   sous Linux : les pilotes son libres OSS accompagnant le noyau
   Linux, les pilotes Alsa et les pilotes son OSS commerciaux.
   Personnellement, je prfre les pilotes OSS, mais beaucoup ne
   jurent que par Alsa. Les pilotes commerciaux sont bons quand vous
   avez du mal  faire fonctionner votre carte son avec des mthodes
   libres. Ne crachez pas dessus : ils sont trs bon march (du genre
   10 ou 20 $), supportent des cartes son du dernier cri et vitent
   beaucoup d'essai-erreur lors du processus de configuration.

   Il y a 5 choses qui peuvent mal se passer avec votre systme son :

    1. interruption partage

    2. pilote mal configur

    3. quelque chose accde dj  la carte son

    4. mauvais pilote utilis

    5. problme de permissions

    8.2.1. Interruption partage

   La premire chose  faire est de savoir s'il y a un conflit d'IRQ.
   Les cartes ISA ne peuvent pas partager de canaux d'interruption.
   Les cartes PCI le peuvent, mais certains types de cartes  grande
   bande passante n'aiment tout simplement pas partager, en ce
   compris les cartes rseau et son. Pour dterminer si vous avez un
   conflit, tapez cat /proc/interrupts. J'obtiens comme sortie sur
   mon systme :

     $ cat /proc/interrupts
                CPU0       CPU1
       0:   24185341          0          XT-PIC  timer
       1:     224714          0          XT-PIC  keyboard
       2:          0          0          XT-PIC  cascade
       5:    2478476          0          XT-PIC  soundblaster
       5:     325924          0          XT-PIC  eth0
      11:     131326          0          XT-PIC  aic7xxx
      12:    2457456          0          XT-PIC  PS/2 Mouse
      14:     556955          0          XT-PIC  ide0
     NMI:          0          0
     LOC:   24186046   24186026
     ERR:       1353
    

   La seconde colonne est prsente car j'ai 2 processeurs sur cette
   machine ; si vous n'en avez qu'un, vous n'aurez qu'une seule
   colonne CPU. Les nombres sur la gauche sont les IRQ attribues et
   les chanes de caractres sur la droite indiquent quel
   priphrique a t assign  cette IRQ. Vous pouvez voir que j'ai
   un conflit entre la carte son (soundblaster) et la carte rseau.
   Elles partagent l'IRQ 5. En fait, j'ai cr cet exemple de toutes
   pices car je voulais vous montrer  quoi ressemble un conflit
   d'IRQ. Mais si j'avais ce conflit, ni mon rseau ni mon son ne
   fonctionneraient correctement (ou ne fonctionneraient tout court
   !).

   Si la carte son est une PCI, le plus simple est de simplement
   dplacer l'une des cartes dans un port diffrent et d'esprer que
   le BIOS trie tout correctement. Une mthode plus avance serait
   d'aller dans le BIOS et d'attribuer des IRQ  des ports
   spcifiques. Les BIOS modernes en sont capables.

    8.2.2. Pilote mal configur

   Parfois, une carte utilisera toujours une certaine IRQ (uniquement
   pour les cartes ISA). Alternativement, certaines cartes ISA
   peuvent tre configures pour utiliser une IRQ spcifique en
   utilisant des cavaliers sur la carte elle-mme. Avec ce type de
   cartes, vous devez passer les IRQ, adresses mmoire et port
   d'entre-sortie corrects au pilote.

   C'est un sujet spcifique  la carte son, qui dpasse le cadre de
   ce guide.

    8.2.3. Quelque chose accde dj  votre carte son

   Peut-tre une application accde-t-elle dj  votre carte son ?
   Par exemple, peut-tre y a-t-il un lecteur MP3 qui est en mode
   pause... Si quelque chose accde dj  votre carte, d'autres
   applications ne pourront l'utiliser. Mme s'il a t conu pour
   partager la carte entre des applications, je trouve que esd (le
   serveur de son de Enlightenment) ne fonctionne pas toujours
   correctement. Le meilleur outil est lsof, qui montre quels
   processus accdent  un fichier. Votre carte son est reprsente
   par /dev/dsp.  l'instant, j'coute un MP3 (pas de Metallica bien
   sr...) avec mp3blaster.

     # lsof /dev/dsp
     COMMAND    PID USER   FD   TYPE DEVICE SIZE   NODE NAME
     mp3blaste 1108    p    6w   CHR   14,3      662302 /dev/dsp
    

   fuser est similaire, mais vous permet d'envoyer un signal  un
   processus quelconque accdant au fichier de priphrique.

     # fuser -vk /dev/dsp
    
                          USER        PID ACCESS COMMAND
     /dev/dsp             root       1225 f....  mp3blaster
                          root       1282 f....  mp3blaster
    

   Aprs avoir saisi la commande, mp3blaster a t tu par un signal
   SIGKILL. Voyez les pages de manuel de lsof et fuser ; elles sont
   trs utiles. Vous devrez les excuter en tant que root car vous
   demandez des informations concernant des processus pouvant
   appartenir  root.

    8.2.4. Mauvais pilote (ou aucun pilote) utilis

   Il n'y a que deux faons de configurer votre carte :

    1. La prise en charge doit tre compile directement dans le
       noyau

    2. Le bon pilote doit tre charg en mmoire

   Vous pouvez trouver quel pilote utilise votre carte son en
   utilisant lsmod ou en examinant la sortie de dmesg. tant donn
   que le son est de premire importance pour moi, je le compile
   toujours dans mes noyaux. Si aucun pilote n'est charg, vous devez
   dterminer ce qui a t compil dans votre noyau. Ce n'est pas si
   facile. Il vaut mieux compiler votre noyau.  propos, sachez que
   la compilation de votre propre noyau est la premire tape vers la
   comptence sous Linux. C'est pnible la premire fois, mais une
   fois que c'est fait correctement, cela devient trs facile, en
   particulier si vous conservez tous vos anciens fichiers .config et
   utilisez des choses comme make oldconfig. Voyez le  Guide
   pratique du noyau Linux  (Kernel-HOWTO
   [http://www.traduc.org/docs/howto/lecture/Kernel-HOWTO.html]) pour
   les dtails.

   Si vous n'avez pas compil votre noyau vous-mme, il est trs
   probable que votre systme soit configur de sorte  charger les
   pilotes son sous forme de modules. C'est ainsi que fonctionnent
   les distributions. Compilez tout ce qui est possible sous forme de
   module et essayez de les charger tous. Ainsi, si vous ne voyez pas
   le pilote de votre carte son avec lsmod, votre carte n'est
   probablement pas encore configure.

    8.2.5. Problme de permissions

   Si la carte son ne fonctionne que lorsque vous tes root, vous
   avez probablement un problme de permissions. Si c'est le cas,
   sous root, examinez le groupe propritaire de la carte son en
   utilisant ls -l /dev/dsp ; il s'agira probablement de audio.
   Ensuite, sous root, ajoutez votre utilisateur non-root au groupe
   audio dans /etc/group. Par exemple, j'ai ajout les utilisateurs
   toto et lulu au groupe audio sur mon systme :

     audio:x:29:toto,lulu
    

   N'oubliez pas d'utiliser grpconv si vous utilisez les mots de
   passe masqus (shadow passwords), ce qui devrait tre le cas sur
   la plupart des distributions rcentes, afin de prserver une
   configuration de groupes cohrente. Ensuite, dconnectez-vous et
   reconnectez-vous comme utilisateur normal. Votre carte son devrait
   fonctionner  prsent. Merci  James Barton pour m'avoir rappel
   d'ajouter ceci  ce guide.

9. Problmes divers

  9.1. Problmes d'acclration matrielle

   XFree86 4.x fournit une approche plus centralise et plus autonome
   en ce qui concerne la vido. Beaucoup des joyeusets comme les
   modules noyau pour un accs non root aux cartes vido ont,
   heureusement, disparu.

    9.1.1. L'acclration matrielle ne fonctionne pas du tout

   Si vous obtenez quelque chose comme 1 image par seconde, alors
   votre systme n'utilise pas d'acclration matrielle 3D. Voici
   deux causes possibles :

    1. votre systme 3D est mal configur (trs probable) ;

    2. le jeu X est mal configur (moins probable).

   La premire tape est dterminer ce qui se passe.

    1. Si vous utilisez X 4.0 (les utilisateurs de X 3.* passeront 
       l'tape 2), regardez la sortie de la commande X -probeonly.
       Vous verrez :

  (II) XXXXXX: direct rendering enabled

       ou

  (II) XXXXXX: direct rendering disabled

       o XXXXXXX dpend de la carte vido que vous possdez. Si le
       rendu direct est dsactiv, alors votre configuration X est en
       cause, et pas le jeu. Vous devez dterminer pourquoi le DRI
       est dsactiv. L'outil le plus important est le  Guide de
       l'utilisateur DRI  (DRI Users Guide). C'est un document trs
       bien crit qui vous donne des informations pas  pas sur la
       faon de configurer correctement le DRI pour votre machine.
       Une copie est disponible sur
       http://www.xfree86.org/4.0/DRI.html
       [http://www.xfree86.org/4.0/DRI.html].

       Notez que si vous russissez ce test, votre systme est
       capable de faire du rendu direct. Vos bibliothques peuvent
       toujours tre en cause. Passez donc  l'tape 2.

    2. Il existe un programme appel glxgears qui accompagne le
       paquet  mesademos . Vous pouvez obtenir mesademos sous
       Debian (apt-get install mesademos) ou vous pouvez chercher le
       rpm sur http://www.rpmfind.net [http://www.rpmfind.net]. Vous
       pouvez galement tlcharger les sources depuis le site
       officiel de mesa et les compiler vous-mme.

       L'excution de glxgears montrera des pignons en rotation. La
       xterm depuis laquelle vous excutez glxgears affichera  X
       frames in Y seconds = X/Y FPS  (X images en Y secondes). Vous
       pouvez comparer votre systme avec la liste de bancs d'essais
       ci-dessous.

       CPU TYPE     VIDEO CARD     X VERSION    AVERAGE FPS
      

       Compiler les modules Mesa et DRI vous-mme peut vous faire
       gagner 15 images par seconde, une grosse augmentation de
       performances ! Donc, si vous obtenez, disons, 20 images par
       seconde de moins qu'une machine comparable, il est possible
       que glxgears utilise le rendu logiciel. En d'autres termes,
       votre carte graphique n'acclre pas les graphiques 3D.

       Plus important encore que le nombre d'images par seconde, est
       la non-variation de ce nombre pour les petites et les grandes
       fentres. Si l'acclration matrielle fonctionne, le nombre
       d'images par seconde pour glxgears devrait tre pratiquement
       indpendant de la taille de fentre. Si ce n'est pas le cas,
       alors vous ne bnficiez d'aucune acclration matrielle.

  9.2. L'acclration matrielle ne fonctionne que pour root

    9.2.1. XFree86 4.x

   Si les lignes suivantes ne sont pas prsentes dans votre fichier
   XF86Config-4, placez-les y :

          Section "DRI"
                  Mode 0666
          EndSection
      

   Cela permet aux utilisateurs non-root d'utiliser le DRI. Pour les
   paranoaques, il est possible de restreindre l'utilisation du DRI
    seuls quelques utilisateurs non-root. Voyez le DRI User Guide.

    9.2.2. XFree86 3.x

      9.2.2.1. Cartes Voodoo

   L'acclration matrielle pour les cartes Voodoo a lieu uniquement
   en couleurs 16 bits et choue silencieusement lors du dmarrage de
   X avec un autre nombre de couleurs.

   De plus, les cartes Voodoo ont besoin du module noyau 3dfx.o et
   d'un fichier de priphrique /dev/3dfx (majeur 107, mineur 0) pour
   l'acclration matrielle pour les utilisateurs normaux (non
   root). Ni le module ni le fichier de priphrique ne sont utiliss
   sous XFree86 4.x.

10. mulation et machines virtuelles

   Linux est beaucoup critiqu du fait de l'absence de la profusion
   de jeux prsents sous d'autres plates-formes. Franchement, il y a
   assez de jeux pour moi, mme s'il serait trs chouette d'avoir
   certains des jeux du dernier cri et des classiques comme
   Half-life(TM) et Carmageddon(TM). Heureusement, il y a plus
   d'mulateurs que vous ne pouvez en tester. Bien que jouer  un jeu
   mul n'est pas aussi amusant que de le jouer sur la machine
   originale, et que faire fonctionner correctement certains
   mulateurs peut s'avrer difficile, ils existent, et il y en a
   beaucoup !

  10.1. Qu'est-ce qu'une machine virtuelle ?

   Un  vritable ordinateur  fournit beaucoup de choses  un
   systme d'exploitation : CPU, canaux d'entre-sortie, mmoire, un
   BIOS pour fournir un accs de bas niveau  la carte mre et aux
   ressources d'entre-sortie, et ctera. Quand un systme
   d'exploitation veut crire sur un disque dur, il communique par
   l'intermdiaire d'un pilote de priphrique qui fait l'interface
   directe avec le matriel.

   Nanmoins, il est possible de donner  un programme toutes les
   ressources matrielles dont il a besoin. Quand il veut accder 
   un disque dur, donnons-lui de la mmoire o crire. Quand il veut
   attribuer une IRQ, donnons-lui l'impression d'avoir attribu une
   IRQ. Si vous faites ceci correctement alors, en principe, la
   pauvre application est incapable de savoir si elle accde
   rellement au matriel ou si on la trompe en lui donnant des
   ressources qui simulent le matriel. Une machine virtuelle est
   l'environnement qui trompe les applications en leur faisant croire
   qu'elles tournent sur une machine relle. Elle fournit tous les
   services offerts par un vritable ordinateur.

   Les machines virtuelles ont t  l'origine utilises dans les
   annes 1960 pour muler les systmes d'exploitation  temps
   partag. De nos jours, nous les utilisons pour excuter des
   logiciels qui ont t conus pour des systmes d'exploitation
   diffrents, ou plus communment, pour muler un systme
   d'exploitation entier. Du fait de la nature des machines
   virtuelles, le systme d'exploitation tranger ne peut faire la
   diffrence entre fonctionnement  l'intrieur d'une machine
   virtuelle et fonctionnement dans une  vraie  machine.

  10.2. Apple 8 bits

   Tous les mulateurs Apple ][ 8 bits requirent une copie de la ROM
   originale, quel que soit le systme que vous voulez muler, dans
   un fichier. Si vous cherchez suffisamment bien, vous pouvez
   trouver des copies des ROM pour les Apple ][, ][+, ][e, ][c et
   //gs. Ils sont toujours proprit de Apple, et vous ne pouvez les
   utiliser lgalement que si vous possdez rellement un de ces
   ordinateurs.

    10.2.1. KEGS

   KEGS, de Kent Dickey <kentd CHEZ cup POINT hp POINT com>, est un
   mulateur Apple II qui a t crit  l'origine pour HP-UX, mais
   amlior et taill pour Linux. Il tourne sous X pour n'importe
   quel nombre de couleurs, et supporte des tailles de mmoire
   variables, les joysticks et le son. KEGS amorce toutes les
   variantes de Apple II, et prend en charge tous les modes
   graphiques des Apple ][. Je n'arrive pas  trouver de page
   d'accueil pour cette application.

    10.2.2. apple2 et xapple2

   apple2 bas sur SVGAlib et xapple2 utilisant X peuvent muler
   n'importe quelle variante de Apple ][ sauf le //gs. L'interface
   est assez originale, mais utilisable. La configuration est aussi
   un peu trange ; cet mulateur bnficierait d'un outil de
   configuration bas sur SVGA ou X. Il supporte la partie non
   documente du jeux d'instructions 6502 sur laquelle se basent
   certains jeux. apple2 est actuellement maintenu par Michael
   Deutschmann <michael CHEZ talamasca POINT ocis POINT net> et
   semble tre dvelopp  une allure lente mais constante. Je ne
   pense pas que cette application ait une page d'accueil.

  10.3. DOS

    10.3.1. dosemu

   dosemu [http://www.dosemu.org] est l'mulateur DOS canonique sous
   Linux. Quand vous pensez  DOS, ne pensez pas  des choses comme
   PROCOM PLUS OU D'AUTRES PROGRA~1 QUI ONT DES NOMS COURTS ET QUI
   SONT TOUS EN MAJUSCULES. Quelques classiques ont t crits pour
   DOS comme Carmageddon(TM), Redneck Rampage(TM) et Tomb Raider(TM).
   dosemu peut les faire tourner. Malheureusement, il peut tre
   malais de le faire fonctionner et, depuis janvier 2002, le code
   audio est quelque peu dfectueux. Pas un gros problme si vous
   essayez d'excuter Wordperfect(TM) ou une vieille application de
   base de donnes, mais a empche de jouer en pratique. Parvenir 
   faire fonctionner correctement dosemu n'est pas facile, mais c'est
   malheureusement le mieux qu'on puisse faire pour les jeux DOS.
   Bonne chance. Si vous utilisez avec succs dosemu, prvenez-moi.

  10.4. Win16

    10.4.1. Wabi

   Wabi est un mulateur Win16 commercial, c.--d. qu'il excute des
   applications Windows 16 bits prvues pour un environnement Windows
   3.1, Windows 3.11 ou Windows for Workgroups 3.11. Wabi a t
   initialement cr par SCO Unix il y a longtemps et a t achet
   par Caldera un beau jour vers la mi-2001.

   Wabi est rapide et fait bien son boulot, mme si j'ai entendu dire
   qu'il est plus stable sous Solaris que sous Linux. Il pourrait
   tre utile pour jouer  de plus anciens jeux Win16, mais il y a
   trois problmes :

     o vous devez possder une copie lgale de Windows 3.1/3.11 ou de
       Windows for Workgroups 3.11 ;

     o Wabi est affreusement cher pour ce qu'il fait ;

     o Wabi ne fonctionne pas en couleurs 24 ou 32 bits.

   Wabi ne gre pas DOS par lui-mme, mais il semble qu'il puisse
   utiliser un mulateur DOS comme dorsal pour excuter des
   programmes DOS. On a parl d'un Wabi 3.0 qui aurait effectu de
   l'mulation Win32, mais pour autant que je sache, ce projet est
   tomb aux oubliettes. Je pense que Wabi fonctionne sous Linux sur
   toutes les architectures (quelqu'un peut-il le vrifier ?).

  10.5. Win32

    10.5.1. wine

   wine [http://www.winehq.com], qui porte l'acronyme GNUide de Wine
   Is Not An Emulator (Wine n'est pas un mulateur) est une
   implmentation non commerciale de l'API Win32. La raison pour
   laquelle ce n'est pas un mulateur est subtile et pas du plus
   grand intrt pour la plupart des non-informaticiens, et nous
   parlerons donc d'mulateur ici (il s'agit en fait d'une traduction
   au moment de l'excution des appels de l'API Win32 en appels
   POSIX/X11). wine a beaucoup volu, et est capable d'muler
   beaucoup de jeux importants, ce qui est une bonne nouvelle pour
   les utilisateurs Linux intresss.

   wine ne fournit pas d'API DOS, et vous ne pouvez donc pas
   l'utiliser pour excuter des applications DOS. Pour cela, vous
   devriez jeter un il  dosemu. wine n'a jamais trs bien
   implment DirectX, bien que quelques jeux fonctionnent sous wine.
   Pour les jeux, vous devriez vous tourner vers winex.

   En plus de la traduction au moment de l'excution de l'API Win32
   vers POSIX/X11 (il excute des applications Windows sous Linux),
   wine effectue galement une traduction au moment de la compilation
   de l'API Win32 vers POSIX/X11 (il compile le code source d'une
   application Windows sous Linux). Vu sous cet angle, wine est un
   utilitaire de portage Windows-vers-Linux. L'architecture x86 n'est
   pas requise, mais est recommande car elle permet une excution
   binaire x86 relle ainsi qu'une utilisation directe des DLL.

   Vous pouvez utiliser wine  avec Windows , ce qui signifie qu'il
   utilise des bibliothques qui proviennent en ralit de Microsoft
   Windows lui-mme. Cela n'est lgal que si vous possdez une copie
   de Windows qui n'est pas actuellement utilise sur un ordinateur.
   On dit que wine fonctionne le mieux quand il est excut avec
   Windows. Vous pouvez galement utiliser wine sans Windows. Les
   gens de winehq [http://www.winehq.com] crivent leur propre jeu de
   bibliothques appel libwine qui implmente l'API Win32 sans aucun
   code provenant de Microsoft.

   wine tait  l'origine plac sous licence MIT/X11, et pouvait donc
   tre utilis  la fois  des fins commerciales et non
   commerciales.  la mi-2002, des parties de wine sont passes  la
   LGPL afin de ne plus pouvoir tre utilises  des fins
   commerciales. Cela pose un problme  des socits comme
   Transgaming (Section 10.5.3,  winex ) et a ouvert la voie  un
   nouveau projet issu de wine appel ReWind.

    10.5.2. rewind

   rewind [http://rewind.sourceforge.net/] a t dmarr par ric
   Pouech (un dveloppeur de wine) et Ove Kven (un dveloppeur de
   winex) en rponse au changement de licence de wine. Il a vu le
   jour comme un instantan de la dernire version de wine
   compltement place sous la licence MIT/X11. Le but est que rewind
   demeure sous licence MIT/X11 afin que des socits comme
   Transgaming puissent offrir des produits drivs de wine.

    10.5.3. winex

   winex est publi par une socit appele Transgaming
   [http://www.transgaming.com]. Ses dveloppeurs utilisent wine et y
   ajoutent le support DirectX/DirectDraw. Bien que winex soit
   commercial, leur modle conomique est intressant.

   L'utilisateur final (vous) peut tlcharger le code source
   gratuitement. Nanmoins, pour 5 $ US par mois, vous pouvez devenir
   un abonn de Transgaming, ce qui procure trois avantages
   principaux :

     o Les abonns peuvent  tout moment tlcharger des versions
       empaquetes de winex dans le format deb, rpm ou tar.gz (y
       compris les mises  jour). Elles sont galement plus
       fonctionnelles que le source publiquement disponible :
       celui-ci est une version antrieure qui ne dispose pas de
       certaines des fonctionnalits les plus rcentes, comme la
       prise en charge des programmes protgs contre la copie.

     o Les utilisateurs abonns peuvent indiquer lors de sondages
       mensuels quels sont les points qu'il faut amliorer en
       priorit dans winex. Par exemple, ils peuvent voter pour des
       choses comme  Amliorer la prise en charge des programmes
       protgs contre la copie ,  Meilleur support
       d'Installshield  ou  Amliorer la prise en charge de DirectX
       8.0 . Il me semble que les dveloppeurs coutent rellement
       les sondages.

     o Le site web de Transgaming comporte quelques forums
       d'assistance aux utilisateurs. D'un ct, ils utilisent le
       format le plus affreux, horrible, confus, dispendieux et idiot
       qu'il m'ait t donn de voir, et j'espre bien ne plus jamais
       revoir de forum ayant un format aussi mauvais que celui de
       Transgaming. D'un autre ct, vous pouvez demander de l'aide
       et les dveloppeurs sont trs bons pour trouver une rponse 
       votre question ; leur vigilance est assez impressionnante. Les
       non abonns peuvent parcourir les forums, mais seuls les
       abonns peuvent y crire (et, par consquent, y demander de
       l'aide).

   Les dveloppeurs de winex avaient l'intention de publier
   priodiquement leurs amliorations  Installshield, DirectX et
   DirectDraw dans wine. En contrepartie, au fur et  mesure de la
   maturation de wine, les dveloppeurs de winex auraient pris les
   nouvelles versions de wine pour les utiliser dans winex.
   Nanmoins, depuis la naissance de Transgaming, des parties de wine
   sont passes  la licence plus restrictive GNU LGPL. Cela signifie
   en gros que les versions de wine publies aprs la date du
   changement de licence ne peuvent plus tre utilises par winex.
   Par consquent, winex sera  prsent bas sur rewind.

    10.5.4. Win4Lin

   Win4Lin [http://www.netraverse.com] est un produit commercial de
   Netraverse. Comme vmware, il utilise l'approche de la machine
   virtuelle pour excuter des applications Windows, et affiche donc
   une grande fentre depuis laquelle vous pouvez dmarrer Windows et
   excuter toutes sortes d'applications Windows.  la diffrence de
   vmware, Win4Lin ne prend en charge que Windows 95/98/ME, mais cela
   s'avre tre mieux pour les joueurs. Puisque Win4Lin se concentre
   sur ces systmes d'exploitation, on dit qu'il est plus rapide et
   excute mieux les jeux sous ces systmes d'exploitation que
   vmware. Il est galement bien moins cher que ce dernier. Win4Lin,
   dont la version la plus rcente au 30 juin 2003 est la 5.0,
   souffre nanmoins de certaines limitations :

     o Il ne prend pas en charge DirectX ou DirectDraw, alors que
       vmware a un support  limit  pour DirectX.

     o Il ne prend en charge que les priphriques srie et
       parallle. C'est important pour ceux qui utilisent des
       joysticks USB. Notez que vmware peut grer jusqu' 2
       priphriques USB.

     o Au 30 juin 2003, comptez 89.99 $ sans documentation imprime
       et 99.99 $ avec. De plus, il n'y a pas de copie d'valuation
       disponible, bien qu'il y ait une garantie de remboursement
       sous 30 jours. Nanmoins, puisque c'est commercial, vous avez
       le support technique. vmware est beaucoup plus cher.

     o Comme pour vmware, vous devez possder une copie autorise de
       Win95 ou Win98. Win4Lin ne peut utiliser une installation
       existante de Windows  la manire de wine.

     o Il ne tourne que sur les architectures x86.

    10.5.5. VMWare

   VMWare [http://www.vmware.com] est une machine virtuelle qui peut
   excuter plusieurs systmes d'exploitation simultanment sur un PC
   standard : les systmes d'exploitation pris en charge comprennent
   ceux de Microsoft, Linux, Novell Netware et FreeBSD. Vous pouvez
   entre autres l'utiliser pour excuter un systme d'exploitation MS
   Windows et y lancer votre jeu favori. Vous pouvez mme faire
   tourner Linux sous Linux ; utile par exemple si vous voulez tester
   une autre distribution. Stupfiant ! Mais il y a des mauvais
   cts. Vous devriez assurment disposer d'une bonne configuration
   pour l'utiliser ; le minimum annonc est un CPU x86 500 Mhz avec
   128 Mo de RAM, mais un processeur plus rapide avec au moins 256 Mo
   de RAM semble le minimum absolu si vous dsirez des performances
   raisonnables. Toutes les distributions Linux ne sont pas prises en
   charge : les dernires RedHat, Mandrake et Suse le sont, mais
   c'est pas de chance si vous avez une autre version et/ou
   distribution (comme Debian). De plus, la prise en charge par
   vmware de DirectX est limite, et vous pourriez ne pas pouvoir
   jouer  des jeux rcents.

   Voyez http://www.vmware.com [http://www.vmware.com] pour plus
   d'informations. Ce n'est pas bon march (environ 300 $ pour la
   version Workstation), mais vous pouvez obtenir une version
   d'valuation limite  30 jours.

    10.5.6. Que choisir ?

   En premier lieu, vous devriez essayer un mulateur. Bien que
   certains jeux fonctionnent sous wine, vous aurez probablement le
   plus de succs avec winex : sa prise en charge de DirectX
   s'amliore constamment. Dans la version 3.1, la prise en charge de
   DirectX 8 est quasiment acheve, mais ce n'est pas forcment le
   cas des versions plus anciennes de DirectX (et donc des jeux plus
   anciens).

   Vous pourriez galement essayer une machine virtuelle comme
   Win4Lin ou VMWare au lieu d'un mulateur. Si votre but est
   d'excuter des applications Win95/98/ME sous Linux, sans USB et
   sur l'architecture x86, le cot et le centrage sur les systmes
   d'exploitation de type Win95 de Win4Lin en font un meilleur choix
   que vmware. Nanmoins, si vous devez avoir la prise en charge de
   l'USB ou excuter Linux sur une plate-forme autre que x86, vmware
   est votre seule possibilit.

   Maintenant, si votre but est d'excuter des jeux pour des systmes
   d'exploitation de type Win95 sous Linux, Win4Lin semble presque
   toujours meilleur que vmware. Le plus gros problme est que vmware
   a un support limit de DirectX alors que Win4Lin n'en a aucun. Ce
   fait seul rend tant Win4Lin que vmware inutilisables pour la
   plupart des jeux un tant soit peu volus. Mais si vous voulez
   essayer, vous aurez probablement plus de succs avec vmware.

11. Interprteurs

  11.1. Moteur SCUMM (LucasArts)

   Lucasarts a crit un moteur pour les aventures pilotes  la
   souris nomm SCUMM (Script Creation Utility for Maniac Mansion).
   Ils ont crit beaucoup d'aventures graphiques en utilisant SCUMM,
   comme leur clbre srie Monkey Island(TM) (tous les trois).
   Ludvig Strigeus <strigeus CHEZ users POINT sourceforge POINT net>
   a pu utiliser la rtro-ingnierie pour comprendre le format SCUMM
   et crire un interprteur pour les jeux l'utilisant qui compile
   sous Linux et Win32. Il s'agit de scummvm
   [http://scummvm.sourceforge.net/]. Leur site web est trs bon, et
   regorge d'informations sur SCUMM et l'utilisation de scummvm pour
   ce type de jeux.

   Une page de compatibilit peut tre trouve sur le site web de
   scummvm. a vaut ce que a vaut, mais j'ai pu finir beaucoup des
   jeux qui sont lists  90 % sans le moindre problme. scummvm est
   trs robuste, et vous permet d'acheter des jeux Lucas Arts
   utilisant le format SCUMM, copier les fichiers de donnes sur
   votre disque dur et les jouer sous Linux. En fvrier 2002, j'ai
   suivi leur CVS, et ce projet subit un dveloppement constant.
   Gloire  l'quipe de scummvm.

  11.2. AGI : Adventure Gaming Interface (Sierra)

   Les anciens jeux d'aventures graphiques DOS de Sierra utilisaient
   un langage de script appel AGI (Adventure Gaming Interface).
   Quelques jeux crits en AGI : Leisure Suit Larry I(TM) (EGA),
   Space Quest I(TM), Space Quest II(TM), King's Quest II(TM),
   Mixed-Up Mother Goose(TM), et ctera. On peut y jouer en utilisant
   sarien [http://sarien.sourceforge.net], un interprteur open
   source pour les jeux AGI.

   Sarien a t crit en SDL, et devrait donc tourner sur toute
   plate-forme qui peut compiler des programmes SDL. De plus, il y a
   des versions pour DOS, les PDA utilisant Strong-Arm, QNX (mon
   dieu ! du jeu embarqu !), les systmes  base de MIPS et les
   Pocket PC  base de SH3/4. Les dveloppeurs ont clairement perdu
   la tte (d'une bonne faon !). Sarien propose de nombreuses
   amliorations non trouves dans les jeux originaux, comme une
   console droulante du genre de celle de Quake, un visualisateur
   d'images et de dictionnaire, un son amlior et la prise en charge
   de AGDS, un clone russe de AGI. Sarien est en cours de
   dveloppement et les dveloppeurs ont trs bien document la
   conception interne de Sarien si jamais quelqu'un veut s'impliquer
   dans son dveloppement.

  11.3. SCI : SCript Interpreter ou Sierra Creative Interpreter (Sierra)

   Les jeux d'aventures graphiques plus rcents de Sierra (c.--d. de
   la fin des annes 80) utilisaient un interprteur appel SCI. Il y
   a beaucoup de versions de SCI puisque Sierra a constamment
   amlior son moteur. Les premiers jeux SCI s'excutaient sous DOS,
   mais Sierra s'est finalement tourn vers Win32. Quelques exemples
   de jeux crits avec SCI : Leisure Suit Larry 1(TM) (VGA), Leisure
   Suit Larry 2-7(TM), Space Quest 3-6(TM), King's Quest 4-6(TM),
   Quest For Glory 1-4(TM) et beaucoup d'autres. Compares aux jeux
   AGI, les aventures SCI ont une meilleure prise en charge de la
   musique, un moteur plus complexe et des tas de fioritures.

   Beaucoup de jeux utilisant SCI (crits en SCI0) peuvent tre jous
   en utilisant freesci, disponible sur http://freesci.linuxgames.com
   [http://freesci.linuxgames.com]. Comme Sarien(TM), FreeSCI peut
   utiliser beaucoup de cibles graphiques incluant SDL, xlib et GGI,
   de sorte que ce programme peut compiler et s'excuter sous un
   nombre incroyable de plates-formes. Les dveloppeurs ont trs bien
   document leur application.

  11.4. Infocom Adventures (Infocom, Activision)

   La Z-machine [http://www.gnelson.demon.co.uk/zspec/index.html] est
   une machine virtuelle bien documente conue par Infocom pour
   excuter leurs jeux de fiction interactive. Cela leur permet
   d'crire des fichiers de donnes de jeu d'une faon
   multi-plates-formes, car seul le moteur lui-mme, la Z-machine,
   est dpendant de la plate-forme. La Z-machine a subi diffrentes
   volutions durant la vie de Infocom, et deux rvisions
   supplmentaires (V7 et V8 cres par Graham Nelson) aprs la mort
   de Infocom. Les versions ultrieures disposaient mme d'une prise
   en charge limite du son et des graphiques !

   Un des interprteurs de Z-machine parmi les plus populaires est
   Frotz [http://www.cs.csubak.edu/~dgriffi/proj/frotz/]. Leur
   excellente page d'accueil regorge de liens sympas pour les
   amateurs de fiction interactive. Frotz est plac sous GPL, excute
   toutes les versions de la Z-machine et compile sur la plupart des
   versions de Unix. Frotz est  l'origine de nombreuses variantes,
   comme une version pour PalmOS et les PDA  base de Linux.

   jzip [http://jzip.sourceforge.net/] est un autre interprteur de
   Z-machine trs populaire qui excute les fichiers de donnes des
   Z-machine V1-V5 et V8. jzip est trs portable ; il compile sous
   tous les Unix, OS/2, Atari ST et DOS.

   Il y a en fait beaucoup d'autres interprteurs de Z-machine comme
   nitfol et rezrov (crit en Perl !). Chaque interprteur a ses
   points forts, et vous pouvez trouver des liens les rfrenant sur
   les pages d'accueil de Frotz et jzip.

  11.5. Scott Adams Adventures (Adventure International)

   On peut dire que Scott Adams est le pre de la fiction
   interactive. Bien qu'il ait lui-mme t inspir par la premire
   uvre de fiction interactive, Adventure(TM), Scott a propuls
   l'aventure au devant de la scne. Ses jeux taient disponibles
   pour Atari, Apple 2, Commodore, Sorcerer, TI et CPM. Sa socit,
   Adventure International, a publi quelques jeux trs apprcis
   entre 1978 et 1984 avant d'arrter. Elle a rcemment publi un
   nouveau jeu (une version Linux n'est pas disponible) mais depuis
   le dclin du jeu d'aventure, elle s'est plutt tenue  l'cart de
   l'industrie du jeu.

   Alan Cox a crit scottfree, un interprteur de fichier de jeux
   d'aventure du type Scott Adams pour Unix. En utilisant scottfree
   et l'un des fichiers de donnes du type Scott Adams qui peuvent
   tre tlchargs depuis le site web de Scott
   [http://www.msadams.com/], vous pouvez vous dlecter de ces
   classiques.

  11.6. Ultima Underworld : The Stygian Abyss (Origin, Blue Sky
  Productions)

   Le projet Underworld Adventures [http://uwadv.sourceforge.net/]
   est un effort visant  porter le classique de 1992, Ultima
   Underworld: The Stygian Abyss(TM) sur des systmes d'exploitation
   modernes comme Linux, MacOS X et Windows. Il utilise OpenGL pour
   les graphiques 3D, SDL pour les tches spcifiques  la
   plate-forme et est publi sous la GNU GPL. Underworld Adventures
   fournit un systme graphique impressionnant qui utilise les
   fichiers de jeu originaux, et vous avez donc besoin du disque de
   jeu original pour jouer.

   Underworld Adventures offre galement un tas d'outils pour
   afficher les cartes de niveaux, examiner les scripts de
   conversation uw1 et bien d'autres choses.

  11.7. Ultima 7 (Origin, Electronic Arts)

   Ultima 7(TM) en en fait constitu de 2 jeux : la partie I (The
   Black Gate(TM)) et la partie II (Serpent Island(TM)) qui utilise
   une version lgrement amliore du moteur de The Black Gate(TM).
   De plus, une disquette additionnelle a t publie  la fois pour
   la partie I (The Forge Of Virtue(TM)) et la partie II (The Silver
   Seed(TM)).

   Une quipe a dvelopp exult [http://exult.sourceforge.net/], un
   interprteur open source permettant d'excuter les deux parties de
   Ultima 7(TM) et leurs disquettes additionnelles. Exult est crit
   en C++ et utilise SDL, et compilera donc sur toute plate-forme
   pouvant compiler des programmes SDL. Il offre galement certaines
   amliorations par rapport aux versions originales du moteur de
   Ultima VII(TM). Vous devrez acheter une copie de Ultima 7(TM) pour
   pouvoir jouer. Les dveloppeurs n'ont pas l'intention d'tendre
   Exult pour interprter les autres Ultima tant donn que les
   moteurs ont chang radicalement entre les diffrentes versions.

   L'quipe d'Exult a galement travaill dur pour crer un diteur
   de niveaux, Exult Studio(TM), et un compilateur de scripts qui
   permettra aux utilisateurs de crer leurs propres RPG dans le
   style Ultima(TM).

  11.8. System Shock (Electronic Arts, Origin)

   System Shock(TM) est un jeu de combat  la premire
   personne/aventure classique datant de 1994, ce qui le place en
   contemporain de Doom(TM). Nanmoins, son moteur est beaucoup plus
   volu que celui du Doom(TM) original : par exemple, System
   Shock(TM) disposait d'acteurs (sprites) 3D, d'un angle de vue
   modifiable ( la souris), et de la possibilit d'empiler des
   objets, donnant l'illusion d'une carte 3D complte, comme
   Quake(TM). Les critiques que j'en ai lues sont trs positives.
   Elles concordent pour dire que ce jeu a les fonctionnalits de
   Quake(TM) avec une intrigue et un scnario plus convaincants que
   Half-life(TM). Le moteur de System Shock(TM) tait optimis pour
   la sophistication, alors que celui de Doom(TM) tait optimis pour
   vous balancer des tas de monstres  la figure : une approche
   compltement diffrente. Trs impressionnant pour un vieux jeu !

   Le System Shock Hack Project
   [http://madeira.physiol.ucl.ac.uk/tsshp/sshock.html] est une
   tentative de mise  jour du jeu pour les systmes d'exploitation
   modernes. Ce projet utilise SDL, et est publi sous une licence
   BSD modifie. Bien que vous ayez besoin des fichiers de jeu
   originaux pour jouer  SSHP, il devrait fonctionner avec la
   version de dmonstration de System Shock(TM), qui est disponible
   gratuitement.

12. Sites web et ressources

  12.1. Mta-sites web de jeux

   Voici quelques ressources gnrales pour les joueurs Linux :

   Le Linux Game Tome : http://www.happypenguin.org
   [http://www.happypenguin.org]

           Les jeux en eux-mmes.

   Linuxgames [http://www.linuxgames.com]

           Actualits sur les jeux Linux.

   http://www.holarse.net [http://www.holarse.net]

           Mta-site web sur les jeux Linux pour les germanophones.

   Mobygames [http://www.mobygames.com]

           Une base de donnes de tous les jeux vido informatiques
           connus. C'est un site trs complet et un des mes favoris.

  12.2. Jeux Linux commerciaux

    12.2.1. O acheter des jeux commerciaux

   ebgames [http://www.ebgames.com] ne vend plus de logiciels Linux.
   Ils ont cess de vendre des jeux et des distributions Linux  peu
   prs au mme moment o Loki Software a fait aveu de faillite, ce
   qui est une honte car ils avaient les plus bas prix sur les jeux
   Linux qu'il m'ait t donn de voir. Nanmoins, de temps en temps,
   ils proposent des choses comme Code Warrior ou Red Hat Linux.

   Tux Games [http://www.tuxgames.com]

           Votre magasin pour l'achat de jeux Linux commerciaux (les
           vendeurs de logiciel comme Tribsoft et Loki ont aussi des
           magasins en ligne sur leurs sites web).

    12.2.2. Qui publiait des jeux pour Linux

   Ce sont des socits qui publiaient des jeux pour Linux mais qui
   pour des raisons diverses ne sont plus actives dans l'industrie du
   jeu sous Linux.

   Loki Software : http://www.lokigames.com
   [http://www.lokigames.com]

           En tant que socit qui a apport CTP(TM) et Quake3(TM)
           sous Linux, Loki tait le pre du jeu sous Linux. Ils
           taient des pionniers et avaient, de loin, le plus de
           titres (je les ai tous). Loki a port des jeux sous Linux,
           principalement en utilisant la bibliothque SDL. La mort
           de Loki en janvier 2002 tait le plus grand revers subi
           par Linux dans sa tentative de conqute du march
           domestique. Linuxgames.com propose un bel historique de
           Loki sur http://www.linuxgames.com/articles/lokitimeline/
           [http://www.linuxgames.com/articles/lokitimeline/]

   Tribsoft : http://www.tribsoft.com [http://www.tribsoft.com]

           Tribsoft a publi Jagged Alliance 2(TM), un excellent jeu
           de rle/stratgie qui a rclam plus de 2 semaines de ma
           vie. Ils devaient publier Europai Universalis(TM),
           Majesty(TM) et Unfinished Business(TM). Nanmoins, en date
           du 3 janvier 2001, Mathieu Pinard de Tribsoft a dit qu'il
           faisait une pause et que Tribsoft ne publierait plus de
           jeux pour le moment. Il continuera toujours l'assistance
           pour JA2(TM) mais ne vous attendez pas  des correctifs ou
            des mises  jour.

   MP Entertainment : http://www.hopkinsfbi.com
   [http://www.hopkinsfbi.com]

           MP Entertainment a publi Hopkins FBI(TM), mon jeu prfr
           jamais publi pour Linux. Plus violent que Quake(TM). Plus
           de nudit que Hustler. Plus de mauvais got que Liberace
           [http://www.flatwaremedia.com/liberace/gallery.cfm]. C'est
           une bande dessine sur votre moniteur. Il tait prvu
           qu'ils publient Hopkins FBI II(TM) et quelques autres
           titres, mais les annonces datent dj de quelques annes
           sans aucun signe d'arrive prochaine du jeu. Ils ont
           ignor toutes mes demandes d'informations, et j'en ai donc
           conclu que MP Entertainment est dans la mme situation que
           Tribsoft. Vous pouvez toujours acheter ou tlcharger une
           dmo de Hopkins FBI(TM) depuis leur site web. Si quelqu'un
           a plus d'informations sur cette socit ou sur l'auteur de
           Hopkins FBI(TM), veuillez me contacter.

   Phantom EFX : http://www.phantomefx.com
   [http://www.phantomefx.com]

           Ils proposent Reel Deal Slots(TM), qui est trs bien
           fait ! Je ne suis pas trop amateur de jeux de cartes ou
           d'argent, mais ce jeu est impressionnant ! tant donn que
           leur seul spcialiste Linux a quitt la socit, Reel Deal
           Slots(TM) est leur seule, et  ce jour dernire,
           publication pour Linux.

  12.3. Autres ressources

   Cette section propose des URL qui devraient tre mentionnes mais
   qui ne trouvaient pas leur place dans une section spare 
   l'intrieur de ce guide, et que j'ai donc listes ici dans une
   sorte d'annexe.

   Linux Game Publishing : http://www.linuxgamepublishing.com
   [http://www.linuxgamepublishing.com]

           Linux Publishing ne vend pas directement au public, mais
           fournit des services professionnels de publication de jeux
           aux diteurs de jeux. Je pense que cela signifie la
           rplication de disques, l'emballage et la vente aux
           dtaillants.

   Site officiel de XFree86 : http://www.xfree86.org
   [http://www.xfree86.org]

           Page d'accueil de XFree86.

   Linux Game Development Center : http://lgdc.sunsite.dk/index.html
   [http://lgdc.sunsite.dk/index.html]

           C'est le site web de rfrence pour qui veut programmer
           des jeux sous Linux. C'est une montagne d'informations
           contenant des articles bien crits sur tous les aspects de
           la programmation de jeux (pas ncessairement spcifiques 
           Linux), des liens vers d'importantes ressources relatives
            la programmation de jeux, des interviews, tests,
           sondages et des tas d'autres trucs. Il est difficile
           d'imaginer un meilleur site web sur le sujet.

   La FAQ de Linux Gamers : http://www.icculus.org/lgfaq/
   [http://www.icculus.org/lgfaq/]

           Malgr le fait sidrant qu'elle ne mentionne nulle part ce
           prsent guide comme une ressource dans leur texte, je
           considre la FAQ comme un bon complment  ce guide. J'ai
           essay de ne garder que le strict minimum d'informations
           spcifiques  des jeux particuliers dans ce guide. La FAQ
           prend l'approche oppose : elle se concentre
           principalement sur les jeux eux-mmes, y compris des
           problmes spcifiques  certains jeux et l'endroit o les
           obtenir. La FAQ et le guide sont complmentaires  cet
           gard, et j'ai essay de ne pas reproduire leur contenu.
           Mme si les auteurs sont un peu hargneux, leur effort est
            souligner. Si vous voulez une source d'informations
           globale pour des questions spcifiques  certains jeux, la
           FAQ est un excellent point de dpart. De plus, elle donne
           des informations sur un assez grand nombre de jeux Linux.

   Le  Guide pratique de la qualit du son sous Linux  (Linux Audio
   Quality HOWTO) : http://www.linuxdj.com/audio/quality/
   [http://www.linuxdj.com/audio/quality/]

           Ce guide intressera principalement les musiciens qui
           utilisent des cartes professionnelles ou
           semi-professionnelles pour l'enregistrement et la cration
           de musique sur un ordinateur. Les informations sont trs
           dtailles, peut-tre mme trop pour les joueurs.

