XFree86, Vidéo & Cie

Avec Debian GNU/Linux

Nicolas Boos <nicolas.boos@wanadoo.fr>

Lundi 29 Janvier 2001, Dernière modification le 11 Juin 2001

La configuration de l'interface graphique XFree86 est encore l'un des grands points faibles des distributions GNU/Linux. Même si des progrès ont été réalisés ces derniers temps, mettre en place et faire fonctionner totalement l'ensemble X reste l'une des choses des plus ardues à effectuer, par l'utilisateur novice particulièrement. C'est surtout et encore plus vrai avec une Debian, plus qu'avec les autres distributions, notamment celles plus médiatiques et/ou "orientées grand public". J'ai très récemment installé (et déinstallé) une Mandrake 7.2 et il est vrai que la configuration de X y est beaucoup facilité en son sein (mais, il faut aimer les longues minutes d'installation...). Si il y a bien un point qu'il faudra améliorer à l'avenir sous Debian, c'est bien cette fichue installation de X et tout ce qui gravite autour par la même occasion ; pour l'utilisateur débutant ou voir même le récent initié, c'est encore beaucoup trop compliqué. La récente apparition de XF4 sur la scène changera elle les choses plus rapidement? Peut-être ; en tout cas, la tâche reste de taille et ce, pour encore un certain temps.

La facilité d'installation dépend aussi en grande partie de la carte graphique possédée. En général, plus celle-ci est récente plus on rencontrera des difficultés à la configurer ; obligation de passer par des drivers/serveurs en version de développement, etc. Il y a peut-être aussi une solution (si s'en est une !) pour éviter ce genre de problèmes ; utiliser des cartes de estampillées Matrox. Depuis déjà un certain temps, ce constructeur à une politique des plus ouvertes qui soit et fait des efforts pour supporter raisonnablement la communauté du Libre (contrairement à la plupart des autres acteurs du marché en question, même si cela bouge beaucoup en ce moment). Si ces cartes ne sont pas toujours les plus performantes, elles sont en général de qualité, supportées avant toutes les autres par XFree86 et souvent utilisées au maximum de leur possibilités. Réfléchissez y bien avant votre prochaine achat...

Voici donc, un petit résumé de ce qu'il est bon de savoir pour faire fonctionner et utiliser au mieux XFree86 sous Debian GNU/Linux (Potato 2.2). N'ayant pas les moyens de tester toutes les configurations possibles, je me suis concentré sur le cas d'une Matrox G400 (mais j'ai pu me procurer spécialement pour quelques jour un TNT2, une SIS6326, ainsi qu'un DVD, nécessaire lui pour la troisième partie de l'article). Vos remarques constructives et contributions abondantes sont comme à l'accoutumé des plus chaleureusement attendues.

Aussi, et si vous ne l'avez pas déjà fait, vous devriez lire ce brillant article sur la 3D avant de commencer: http://www.linux-france.org/article/3d/

1. XFree86 3.3.X

La dernière version de XFree86 distribuée sous Debian est la 3.3.6. Cette version reste jusqu'à présent l'une des plus complète en ce qui concerne le nombre de cartes graphiques supportées, en termes de gestion de la 2D ; pour le reste c'est une autre histoire...

1.1 Installer quelques paquets

C'est très simple. Installez tout d'abord le paquet task-x-window-system, sorte de "super-paquet" regroupant en gros une liste de paquets se rapportant au fonctionnement de XFree86 (Vous pouvez aussi installer à la place le paquet task-x-window-system-core, il prend moins de place, mais il vous manquera peut-être certains paquets). Ensuite, installez le serveur convenant à votre carte graphique. La plupart du temps le SVGA conviendra:

apt-get install xserver-svga

Il vous sera probablement posé une ou deux questions auxquelles vous répondrez consciencieusement. Enfin, vous ajouterez éventuellement un nouveau gestionnaire de fenêtres (à moins que vous n'affectionniez à ce point l'illustre twm...). Par exemple:

apt-get install wmaker

Voila, c'est tout. N'oubliez pas de retirer xdm si vous ne souhaitez pas redémarrer en mode graphique:

apt-get remove xdm

1.2 Un exemple de fichier de configuration XF86Config

Si vous lisez la page de manuel XF86Config, vous ne devriez pas avoir trop de mal à décrypter le fichier de configuration ci-dessous. Les entrées de sections qui sont probablement les plus importantes sont celles de la section "Monitor". En particulier HorizSync, VertRefresh et les Modeline suivants. Ce sont vraisemblablement ces entrées que vous devrez adapter selon votre matériel (i.e ici votre écran). Si vous recopiez ce fichier, évitez de laisser les valeurs posées ; celles-ci étant relativement élevées, vous risqueriez d'endommager votre moniteur. Pour le reste, vous pouvez laisser tel quel le fichier, cela n'a que peu d'importance. Vous adapterez toutefois aussi la section "Pointer" si votre type de souris ne convenait pas correctement. Aussi, n'oubliez pas de consulter les HOWTOs pour plus d'informations ( http://www.traduc.org)

#
# /etc/XF86Config
#
 
Section "Files"
   ModulePath   "/usr/X11R6/lib/modules"
   RgbPath      "/usr/X11R6/lib/X11/rgb"
   FontPath     "/usr/X11R6/lib/X11/fonts/100dpi"
   FontPath     "/usr/X11R6/lib/X11/fonts/75dpi"
   FontPath     "/usr/X11R6/lib/X11/fonts/Speedo"
   FontPath     "/usr/X11R6/lib/X11/fonts/Type1"
   FontPath     "/usr/X11R6/lib/X11/fonts/cyrillic"
   FontPath     "/usr/X11R6/lib/X11/fonts/misc"
EndSection
 
Section "Keyboard"
   Protocol     "Standard"
   AutoRepeat   500 5
   XkbRules     "xfree86"
   XkbModel     "pc105"
   XkbLayout    "fr"
EndSection
 
Section "Pointer"
   Protocol     "PS/2"
   Device       "/dev/psaux"
EndSection
 
Section "Module"
   Load "glx.so"
EndSection
 
Section "Device"
   Identifier   "MGA G400 AGP"
   VendorName   "Matrox Graphics"
   BoardName    "Millennium G400 16Mo SDRAM"
   VideoRam     16384
EndSection
 
Section "Monitor"
   Identifier   "A701GT"
   VendorName   "Iiyama"
   ModelName    "Vision Master Pro 400"
   Bandwidth    160
   HorizSync    27.00-96.00
   VertRefresh  50.00-160.00
 
   Modeline     "640x480"    65.00  640 672 728 832       480 482 484 509
   Modeline     "800x600"    100.00  800 848 912 1064     600 601 604 631
   Modeline     "1024x768"   130.00  1024 1072 1168 1376  768 769 772 808
   Modeline     "1152x864"   150.00  1152 1216 1344 1568  864 866 868 911
   Modeline     "1280x1024"  157.50  1280 1344 1504 1728  1024 1026 1028 1072
   Modeline     "1600x1200"  202.50  1600 1664 1856 2160  1200 1202 1204 1250
EndSection
 
Section "Screen"
   Driver       "svga"
   Device       "MGA G400 AGP"
   Monitor      "A701GT"
 
   DefaultColorDepth 16
 
   Subsection   "Display"
      Depth     16
      Modes     "1024x768" "800x600" "640x480"
      ViewPort  0 0
   EndSubsection
 
   SubSection   "Display"
      Depth     24
      Modes     "1024x768"
      ViewPort  0 0
   EndSubSection
 
   Subsection   "Display"
      Depth     32
      Modes     "1280x1024" "1024x768" "800x600" "640x480"
      ViewPort  0 0
   EndSubsection
EndSection

1.3 L'accélération 3D avec utah-glx

Les seules cartes possédants un support 3D vraiment décent avec XFree86 3.3.X et utah-glx sont les Matrox G200 et G400. Si vous ne possédez pas ce type de carte, abstenez vous et passez plutôt à XF4 (hors cas des 3DFx...)

Pour le support de la 3D, il vous faut tout d'abord avoir le support de l'AGP. Pour cela, on passe par une compilation de noyau et/ou de ses modules. Pour n'avoir rien à patcher, prenez la dernière version stable en 2.2, i.e. la 2.2.18 ; vous en profiterez (éventuellement pour XF4) pour inclure le support DRM. Les options à activer sont situées dans la rubrique Character devices (Vous devez avoir le support EXPERIMENTAL actif). Par exemple (et adaptez selon votre matériel):

<*> /dev/agpgart (AGP Support) (EXPERIMENTAL)
   [*] Intel 440LX/BX/GX Support

<M> Direct Rendering Manager (XFree86 DRI Support)
   <M> Matrox g200/g400

Ensuite, créez le fichier de périphérique pour le support de l'AGP:

cd /dev
mknod agpgart c 10 175

Enfin ici, pour installer utah-glx, rien de bien méchant, uniquement trois paquets à installer. Malheureusement le lien qui menait à ces paquets sur http://utah-glx.sourceforge.net est mort ; aussi, vous trouverez les paquets nécessaires à cette adresse: http://nicolaxx.free.fr/pub/linux/utah-glx

dpkg -i utah-glx_0.0.20001019_i386.deb
dpkg -i libutahglx1_0.0.20001019_i386.deb
dpkg -i libutahglx-dev_0.0.20001019_i386.deb

Normalement, le processus d'installation va modifier automatiquement votre fichier /etc/X11/XF86Config (dans la section "Module") et y insérer la ligne suivante:

Load "glx"

Faites attention, souvent, si vous avez généré votre /etc/X11/XF86Config avec xf86setup ou XF86Setup, il vous faudra décommenter cette section (i.e virer les dièses mis par défaut devant Section "Module" et le EndSection suivant), sinon l'accélération 3D ne fonctionnera pas et vous risqueriez de ne pas pouvoir jouer avec Quake3 (catastrophe!).

2. Xfree86 4.X.X

2.1 Sources des paquets

La dernière version de Xfree86, série 4.X.X, n'est pas disponible de façon habituelle sous Potato, cette version de X n'étant actuellement qu'en cours d'intégration dans Woody. Il y a fallu donc faire un petit portage des paquets Woody vers Potato, ce qu'a fait sympathiquement pour vous un certain Charl P. Botha. Les paquets sont bien entendu disponible sur Internet. Si vous ne possédez qu'une connexion par modem, soyez patient pendant le rapatriement des paquets, certains étant relativement volumineux. Autre solution, trouvez autour de vous quelqu'un qui à la chance d'avoir un accès rapide au Net (ADSL, Câble...), et demandez lui de vous rapatrier les fichiers (faites ensuite un miroir "aptable" sur votre disque dur par exemple)

Donc, dans un premier temps, modifiez votre /etc/apt/sources.list en y ajoutant les deux lignes suivantes:

deb http://people.debian.org/~cpbotha xf402_potato/all/
deb http://people.debian.org/~cpbotha xf402_potato/i386/

Ensuite, comme d'habitude, mise à jour:

apt-get update

2.2 Installer les paquets

Ici, il n'y a pas de "super-paquet" comme pour l'installation de XFree86 3.3.X ; il va falloir y aller "à la main", et méthodiquement. Il faut essayer d'installer certains paquets avant d'autres, et ce malgré le travail d'APT. Sinon vous risquez d'avoir quelques surprises (par exemple, installer les paquets xfonts-* sans avoir le paquet xutils, posera quelques problèmes...). Si possible donc, il faut installer dans l'ordre:

apt-get install xutils
apt-get install xbase-clients
apt-get install xserver-xfree86

Ensuite au moins quelques fontes:

apt-get install xfonts-base
apt-get install xfonts-pex
apt-get install xfonts-scalable
apt-get install xfonts-100dpi
apt-get install xfonts-75dpi
apt-get install xfonts-cyrillic

Et enfin, quelques dernier paquets plus ou moins importants pour débuter:

apt-get install xterm
apt-get install menu
apt-get install wmaker

2.3 Le fichier de configuration XF86Config-4

Le fichier ci-dessous diffère un peu de celui de XFree86 3.3.X, mais en garde tout de même les grandes lignes. Les Modeline ne sont plus indispensables, X les devine souvent. Il vous faut simplement spécifier les plages des fréquences acceptées par votre moniteur (pour pouvoir afficher autre chose qu'une résolution de 640 par 480).

Il a une chose qui change beaucoup par rapport à XF3, c'est qu'il n'y a plus qu'un serveur unique (et pour vérifier que celui-ci supporte votre carte graphique, voir ici: http://www.xfree.org/current/Status.html). On indique maintenant le nom du pilote à utiliser par le serveur. Ici, pour une carte Matrox, il se nomme mga (voir la section "Device"). Vous devrez le changer selon votre carte graphique. Il existe pour l'instant un certain nombre de pilote dont (et entre autres): nv (Nvidia), i810 et i740 (Intel), ati et r128 (Ati), sis (Sis), tdfx (3DFx), fbdev, vesa et vga (jetez un coup d'oeil dans le répertoire /usr/X11R6/lib/modules/drivers pour voir tous les drivers 2D).

Aussi, pour les heureux possesseurs de mulot à molette, vous pouvez également rajouter l'option "ZAxisMapping" "4 5" dans la section "InputDevice" concernant la souris. Pour tout le reste, regardez bien entendu les pages de manuels correspondantes (man XF86Config, etc.).

#
# /etc/X11/XF86Config-4
#
 
Section "InputDevice"
   Identifier   "Souris PS/2 Mitsumi"
   Driver       "mouse"
 
   Option       "Protocol" "ps/2"
   Option       "Device" "/dev/psaux"
   Option       "Resolution" "400"
EndSection
 
Section "InputDevice"
   Identifier   "Clavier"
   Driver       "keyboard"
 
   Option       "AutoRepeat" "250 30"
   Option       "XkbModel" "pc105"
   Option       "XkbLayout" "fr"
EndSection
 
Section "Device"
   Identifier   "MGA G400 AGP"
   Driver       "mga"
   Screen       0
EndSection
 
Section "Monitor"
   Identifier   "A701GT"
   HorizSync    27.00-96.00
   VertRefresh  50.00-160.00
 
   Option       "DPMS" "1"
EndSection
 
Section "Screen"
   Identifier   "Affichage Primaire"
   Device       "MGA G400 AGP"
   Monitor      "A701GT"
 
   DefaultDepth 16
 
   SubSection "Display"
      Depth     16
      Modes     "1024x768" "800x600" "640x480"
   EndSubSection
EndSection
 
Section "Files"
   FontPath     "/usr/X11R6/lib/X11/fonts/misc/"
   FontPath     "/usr/X11R6/lib/X11/fonts/Type1/"
   FontPath     "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
   FontPath     "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
EndSection
 
Section "Module"
   Load "GLcore"
   Load "dbe"
   Load "dri"
   Load "glx"
   Load "xie"
   Load "extmod"
   Load "pex5"
   Load "record"
   Load "type1"
   Load "freetype"
EndSection
 
Section "DRI"
   Mode 0666
EndSection
 
Section "ServerFlags"
   Option       "OffTime" "1"
EndSection
 
Section "ServerLayout"
   Identifier   "Disposition Classique"
   Screen       0 "Affichage Primaire" 0 0
   InputDevice  "Souris PS/2 Mitsumi" "CorePointer"
   InputDevice  "Clavier" "CoreKeyboard"
EndSection

2.4 Support 3D

Assurez vous d'avoir intégré dans votre noyau les fonctionnalités comme décrites dans la section 1.3, à savoir le support AGP et DRM. Ensuite, pour pouvoir profiter d'un support 3D OpenGL convenable, installez le paquet suivant comme ceci:

apt-get install xlibmesa3

Cette opération est nécessaire (en tout cas avec les paquets fournis pour la 4.0.1) car la bibliothèque Mesa installée avec les paquets précédents correspond à celle de la distribution par défaut (i.e. ici mesag3+ggi). Elle ne supporte pas la DRI, il faut alors installer la version fournie avec les paquets pour XF4. Pour vérifier si votre version de Mesa intègre ce support DRI, faites:strings /usr/lib/libGL.so | grep DRI. Si vous n'observez rien, c'est que ce n'est probablement pas bon.

Ensuite n'oubliez pas de vous placez dans /usr/lib et de faire un lien libGL.so sur libGL.so.1 (indispensable pour faire fonctionner correctement Quake 3 par exemple)

cd /usr/lib
ln -s libGL.so.1 libGL.so

Voila, c'est tout!

2.5 Construire ses propres paquets Debian de XF4

Si vous êtes assez téméraire pour cela, vous pourrez compiler vous même XF4 pour votre potato. Pour construire vos propres paquets Debian, il existe une courte mais très complète documentation sur le sujet (mais uniquement en anglais), consultable à l'adresse suivante: http://cpbotha.net/building_xfree_4.0.2_debs_on_potato.HOWTO

2.6 Autres cartes graphiques

J'ai bien essayé pour vous d'autres cartes que la Matrox G400. J'avais alors en ma compagnie trois autres cartes: une Nvidia TNT2 M64, une S3 Savage 4 et une SIS 6326. Pour les deux dernières, seul le support 2D était correctement à l'appel, rien de spécial à noter de ce côté-ci (sauf avec la 6326 pour laquelle j'ai rajouté Option "SWcursor" à la section "Device", il y avait un léger bogue d'affichage avec le curseur de la souris). Pour la 3D, n'en parlons pas.

La carte qui me semblait la plus intéressante était la TNT2 M64. Malheureusement, ça n'a pas été de tout repos. J'ai cherché des paquets Debian tout faits, que j'ai trouvé, mais qui ne fonctionnait pas sur ma machine. Et pour cause, il faut que les pilotes soit spécifiquement compilés avec le version du noyau avec laquelle on tourne. Hors ce n'est pas trop ce que je souhaitais (la recompilation), j'avais espéré une simple opération avec dpkg -i <paquetXYs>, histoire de pouvoir expliquer une installation facile. Mais ça n'as pas été. J'ai donc du rapatrier les pilotes sur le site Nvidia, pour ensuite bidouiller un fichier (une sombre histoire de BIOS mal détecté...) nécessaire pour faire fonctionner la M64. Bref, si Nvidia avait fait un effort et publier les spécifications complètes de ses cartes, il n'y aurait probablement pas eu de problème (...). Pour les performances c'était correct, du même niveau que la G400 (curieusement pratiquement le même score sous Quake3 ; voir la fin de l'article). A noter que sous XF3 en 2D, j'ai du batailler ferme avec les fréquences pour estomper couleurs et pixels baveux affichés à l'écran. Pour finir donc, si vous devez acheter une carte graphique, tournez plutôt vers autres chose (et pourquoi pas vers une autre marque...).

3. Les vidéos (MPEGs, AVIs et autres DivXs)

Personnellement, je n'ai pas de lecteur de dévédérom (quelqu'un a t'il une traduction plus ... marrante?), mais j'ai fait un petit effort ; je suis allé asticoter mon revendeur informatique local qui m'a gentiment prêté pour quelques jours un lecteur de galettes versatiles (et puis suis allé louer un disque bien-entendu). Par chance le dvd loué n'était pas crypté avec CSS, je n'ai donc pas eu à jouer du patche, ravi donc (pour vérifier qu'une galette est cryptée ou non, essayez d'en copier le contenu sur votre disque ; si cela ne marche pas alors c'est qu'elle l'est).

J'ai en partie fait cette démarche car j'ai trop souvent vu conter que l'on ne pouvait visionner les DVD sous Linux ; cela donnait surtout par la même un argument à certains pour laisser installé Kiplante sur leur machine. Je voulais voir ce qu'il en était vraiment des possibilités de lecture MPEG2 sous Linux, en avoir ainsi le coeur net (et aussi tenter de fournir à certains une bonne raison de faire de la place définitivement!)

Résultat, je suis assez agréablement surpris, le support dans le domaine est plutôt très correct, vraiment bien même! D'ailleurs, dans le rayon "visionnage vidéo" sous Linux, depuis quelques mois, d'énormes progrès ont été réalisés. Rares sont maintenant les films et autres séquences vidéos que l'on ne puisse plus regarder. Rapidement, voici donc quelques possibilités du moment.

3.1 Le prometteur Xine

A l'heure (tardive!) où j'écris ces lignes, ce logiciel en est à sa version 0.3.6. Elle est déjà très fonctionnelle, possède un large éventail de formats reconnus et surtout (et c'est aussi en partie pourquoi je vous en parle) est debianisable très facilement. Pour cela, rapatriez la dernière archive en date à l'adresse suivante: http://xine.sourceforge.net

Décompressez là comme comme ceci:

tar xvfz xine_0.3.6.tar.gz

Ensuite, assurez vous d'abord d'avoir installé le "super paquet" task-debian-devel, ainsi que le paquet imlib-dev. Placez vous alors dans le répertoire crée lors de la décompression et exécutez la commande suivante:

dpkg-buildpackage

Tout un processus de compilation s'enchaîne et si tout se passe bien, vous vous retrouverez avec un nouveau fichier, xine_0.3.6.deb situé dans le répertoire inférieur à celui où vous êtes normalement. C'est un paquet Debian qui s'installe facilement, comme tous les autres:

dpkg -i xine_0.3.6_i386.deb

Aussi, n'oubliez pas de récupérer l'archive (normalement le fichier binaries-001222.zip) contenant les codecs Win32 pour pouvoir bénéficier du support AVI ; disponible à l'adresse suivante: http://divx.euro.ru/. Vous devrez ensuite la décompresser avec unzip dans le répertoire /usr/lib/win32.

Pour finir, voici une petite capture d'écran faite lors de l'exécution de xine, pour les curieux: Ils en bavent les lascars!

3.2 LiViD/OMS

C'est encore un projet en développement actif ; consultez le site http://www.linuxvideo.org pour vous en faire une idée. Si vous êtes passé à Woody (uniquement), vous pourrez essayer de profiter du travail effectué par toute l'équipe des développeurs en essayant le paquet oms (Open Media System). Pour cela, modifiez votre /etc/apt/sources.list en y ajoutant les lignes suivantes:

deb http://linuxvideo.org/oms/data/debian/ ./

Et ensuite, comme d'habitude:

apt-get update

Enfin, vous pourrez installer deux paquets: oms qui contient les bases d'un lecteur multimédia (avec une interface texte rudimentaire) et éventuellement une surcouche/interface graphique à OMS avec le paquet oms-omi.

apt-get install oms
apt-get install oms-omi

3.3 Le "couteau suisse" MPlayer

Ici, cela ne concerne plus trop Debian spécifiquement mais Linux en général. Je n'ai pu m'empêcher de vous présenter ce petit logiciel (qui en apparence ne payait pas de mine) tant il est indispensable, tant au moins, nécessaire de le connaître. Il est téléchargeable à l'adresse suivante: ftp://thot.banki.hu/esp-team/linux/MPlayer.

Une fois rapatriée l'archive, compilé les sources et tout le tralala qui va avec (il n'y pas encore de version debianisable, priez pour qu'un volontaire s'y attelle au plus vite...), vous vous retrouverez alors avec un binaire mplayer, base de l'ensemble que je vais essayer de vous décrire. Aussi, n'oubliez pas de rapatrier le fichier w32codec.zip (présent sur le même site) pour pouvoir profiter du support AVI. Décompressez le bien sûr à l'aide du programme unzip et ce dans le répertoire /usr/lib/win32.

L'avantage de ce fameux MPlayer c'est qu'il s'accommode d'un éventail de situations impressionnant. Que vous soyez sous XF3 ou XF4, ou même encore sous bash avec le tampon de mémoire vidéo (Matrox framebuffer, plutôt), il s'adapte de façon optimale à votre configuration.

Mplayer supporte les entrées/sources MPEG1/2, AVI (MPEG4, Indeo, Divx...) et bientôt ASF. Pour ce qui est des codecs audio: AC3, MP3, PCM, Win32 ACM... Maintenant pour terminer, je vais simplement vous énumérer quelques sorties (vidéos) disponibles.

xmga

Utilisation des fonctions matérielles des cartes G200/G400 (YUV overlay) pour l'affichage sous X. L'avantage, même avec une version de XFree86 3.3.X, vous avez accès à des fonctions similaires à celle offertes par l'extension Xv sous XF4 (i.e. en autre le redimensionement, plein écran et... la fluidité...). Lisez bien le fichier DOCS/INSTALL/ contenu dans le répertoire de l'archive extraite pour pouvoir tirer parti de toutes les possibilités de votre Matrox.

mga

Même chose que précédemment mais sous la console avec le tampon de mémoire vidéo Matrox (matroxfb). Vous permet l'affichage des vidéos parfaitement, pour peu que vous ayez configuré la taille de votre écran correctement. Jetez un oeil dans le répertoire TVout. Pour profiter de cette sortie, il vous faut avoir le module Matrox chargé (ou intégré directement dans le noyau) avec la commande modprobe matroxfb, puis un deuxième, mga_vid.o situé et que vous aurez préalablement compilé dans le répertoire drivers/ de l'archive. N'oubliez pas de créer le fichier de périphérique /dev/mga_vid. Voila, à noter aussi que cette sortie est souvent l'une des plus rapide.

syncfb

C'est en gros (relativement) la même chose que la sortie /dev/mga_vid. Le fichier de périphérique est exactement le même sauf qu'il se nomme /dev/syncfb. Plus de précision sur cette fonctionnalité à l'adresse suivante: http://teletux.sourceforge.net

x11

Sortie courante de XFree86. Elle touche en général la majorité des configurations mais conduit souvent à des performances décevantes et ne donne pas la possibilité de faire du redimensionnent/plein-écran. A n'utiliser qu'en dernier recours.

xv

C'est la sortie par excellence sous XF4. Elle offre comme certaines précédemment citées les possibilités de redimensionnement/plein-écran, rapidité, etc. Elle permet en général l'utilisation au maximum des fonctions matérielles mises à disposition par les cartes graphiques (quand le driver est adapté). On peut dire que c'est une des sorties "qui a de l'avenir".

gl

On utilise ici les possibilités OpenGL de votre machine (marche avec utah-glx). Très pratique, encore du même type que les sortie Xv ou xmga (voir ci-dessus). Elle marche relativement bien sauf pour les vidéos demandant beaucoup de ressources (i.e Divx et Mpeg2). Dans ce cas, on réservera plutôt son utilisation aux possesseurs de configurations suffisamment musclées.

sdl

Exploite la bibliothèque SDL. Je n'ai pas testé, car la version 1.1.7 requise n'est pas disponible avec Potato (rajoutez l'option --disable-sdl lors de l'exécution du ./configure). Elle peut néanmoins être intéressante pour certaines personnes.

null

Tout va dans un énorme trou noir au fin fond de l'univers...

odivx

Mplayer supporte déjà en partie OpenDivX. Cette sortie vous permet de coder toutes vos sources MPEG et AVI au format DivX. Ni la qualité ni le son (ni la vitesse!) ne sont encore au rendez-vous mais tout cela à déjà le mérite d'être intégré et de fonctionner dès maintenant ( Si vous vous intéressez au codage vidéo DivX, vous pourrez aussi allez faire un tour à cette adresse. http://www.emulinks.de/divx/; le son marche, pour la qualité je ne suis pas expert mais ça me semble tout juste correct. N'hésitez pas à donner un coup de main à l'auteur).

Il reste encore quelques autres sorties possibles, consultez la documentation fournit avec l'archive pour plus de précisions.

Pour ce qui est des performances, avec une configuration comprenant un Celeron 466, 128 Mo de mémoire vive et une Matrox G400 16 Mo, voici ce que l'on obtient pour la charge du processeur lors de la lecture d'un DVD:

Voila, pour finir, j'ai effectué deux captures d'écran pour vous donner un aperçu de ce que pouvait donner MPlayer: Sortie X11 et Sortie Xv.

Amusez vous bien!

4. Installer le plus important: Quake 3 :)

4.1 Récupérer le cédé

Vous n'êtes pas obligés d'acheter la version Linux de Quake 3 Arena pour pouvoir y jouer. Il vous suffit d'acquérir n'importe quel cédé du jeu, quelque soit sa plateforme d'exécution. Procurez vous donc en un et montez celui-ci dans /cdrom (par exemple):

mount /cdrom

Créez ensuite un répertoire où vous installerez le jeu, ainsi qu'un sous-répertoire nommé baseq3 (dans le premier). Par exemple (pour ce cas, vérifiez ici que vous avez déjà bien un répertoire /opt de crée):

mkdir /opt/q3a
mkdir /opt/q3a/baseq3

Dans ce dernier sous-répertoire, copiez le fichier pak0.pk3 (un énorme fichier de plus de 470 Mo présent sur le cédé), ou bien faites un lien symbolique sur ce dernier si vous n'avez pas assez de place sur votre disque dur par exemple (dans ce cas, n'oubliez pas de monter le cédé à chaque fois que vous voulez jouer). Donc, et toujours par exemple:

cp /cdrom/Quake3/baseq3/pak0.pk3 /opt/q3a/baseq3

ou

ln -s /cdrom/Quake3/baseq3/pak0.pk3 /opt/q3a/baseq3/pak0.pk3

4.2 Rapatrier la version Linux du jeu

Si vous n'avez pas en votre possession la version Linux de cédé. de Quake 3, il est impérativement nécessaire de mettre la main sur l'archive qui contient (en particulier) l'exécutable principal du jeu. Pour notre exemple, il s'agit de la version 1.17, mais celle-ci évoluera au cours du temps. Dans tous les cas, pour récupérer la dernière version utilisable de votre jeu préféré, une seule adresse : http://www.quake3arena.com.

Un fois l'archive rapatriée, il vous suffit d'en installer logiquement le contenu intégral dans le répertoire racine du jeu et, qui est ici /opt/q3a

./linuxq3apoint-1.17.x86.run

Après avoir répondu à quelques questions, l'installation touche à sa fin. Alors enfin, pour lancer le jeu, sous X, faites simplement:

/opt/q3a/quake3

4.3 Régler la luminosité

Si vous trouvez que le jeu est trop sombre (ou trop clair, mais ce cas là m'étonnerait fortement...), vous voudrez augmenter la luminosité de celui-ci. Malheureusement le réglage normalement disponible dans les menus du jeu est grisé, non disponible avec la version Linux.

Plusieurs solutions s'offrent alors à vous ; modifier votre fichier XF86Config (mais si vous êtes satisfait de votre affichage sous X, c'est un peu contrariant), (dé)régler votre écran (idem précédemment) ou changer la valeur d'une variable du jeu, r_gamma précisément. A l'aide de console du jeu, vous pourrez modifier le valeur de cet variable qui s'échelonne de 0.5 (plus sombre) à 3.0 (plus clair), la valeur par défaut étant 1. Ensuite, vous réinitialiserez l'affichage avec la commande vid_restart. Petite démonstration pour plus de ... clarté:

/r_gamma 1.7
/vid_restart

4.4 Performances 3D

Pour évaluer les performances de votre ensemble 3D sous Quake 3, placez vous dans la console du jeu (touches Ctrl + ²) et exécutez les commandes suivantes:

/timedemo 1
/demo demo001

Le jeu lance alors une démonstration en essayant d'afficher celle-ci le plus rapidement possible. Une fois terminé, retournez dans la console pour constater le chiffre correspondant au nombre moyen d'images par seconde (ips) affichées pendant l'opération. J'ai effectué quelques comparaisons avec une machine dotée d'un Celeron 466 et 128 Mo de mémoire vive ; en voici les résultats:

Matrox G400 16 Mo, XFree86 3.3.6 et Utah-glx:   41,2 ips
Matrox G400 16 Mo, XFree86 4.0.1:               37,4 ips
Nvidia TNT2 M64 32 Mo, XFree86 4.0.1:           37,2 ips

Vous pouvez conclure que si on est détenteur d'une Matrox G400, pour jouer à Quake3, il vaut mieux rester sous XF 3.3.6...

4.5 Ressources

5. Pour finir

Voila, c'est déjà fini. J'espère que cette courte introduction aura permise à certains d'éclairer un peu plus leur esprit. Si vous voyez quelque chose à ajouter ou modifier (y compris les fautes de français...), n'hésitez pas à me contacter. Aussi, pour terminer je tenais à remercier toutes celles et tout ceux qui ont pu contribuer à ce petit article.