|
Il existe donc de multiples façons
d'installer les drivers sous Linux en fonction de la carte 3D utilisée.
Je ne parlerai pas des anciennes cartes 3Dfx Voodoo 1 et 2 maintenant
largement obsolètes et pour lesquelles il existe un HOWTO.
Je vais simplement commencer par lister les drivers disponibles en
fonction du type de carte. Je précise pour ceux qui n'auraient pas remarqué le sujet de l'article que je ne parle ici que du support de l'accélération 3D :-)
| Carte \ Driver | Utah-GLX XFree 3 | DRI XFree 4 | NVidia XFree 4 |
| 3Dfx Voodoo3 et Voodoo5 | | Oui | |
| ATI Rage/Rage Pro/XPert | Oui | | |
| ATI 128/XPert 2000/Rage Fury | | Oui | |
| ATI Radeon | | Bientôt... | |
| Intel i810 | Oui | Oui | |
| Matrox G200, G400, G400Max | Oui | Oui (pas au point) | |
| Nvidia Riva/TNT/TNT2 | Oui (limité) | | Oui |
| Nvidia GeForce 256/II GTS/II MX/Quadro /2 | | | Oui |
| S3 ViRGE | Oui | | |
| S3 Savage3D | Oui | | |
| SiS 6326 | Oui | Oui | |
Je ne donne ce tableau qu'a titre indicatif. Merci de ne pas m'écrire pour
me demander si la carte "Bidule Anihilator Twin Turbo de la mort" est supportée.
Je n'en sais rien et je ne connais pas les noms commerciaux tous plus ridicules
les uns que les autres de toutes les cartes 3D du marché ! Pour trouver la réponse :
lisez la doc de votre carte, trouvez quelle est la puce utilisée par cette carte
et consultez le tableau ci-dessus. Si je ne l'indique pas, c'est probablement
que ça ne marche pas... Je répondrai à toute demande d'information sur le sujet
par l'URL de cette page :-)
Quel driver choisir...
Je vais peu parler ici des drivers DRI pour XFree 4. Leur configuration est
simple par contre je ne les conseille définitivement pas dans leur version
actuelle (XFree 4.01) pour les cartes Matrox : support limité des cartes G400,
forte limitation en résolution pour les G200 et instabilité globale. Si vous
avez une carte Matrox : utilisez Utah-GLX et XFree86 3.3.6 !
Pour les autres
chipsets supportés à la fois par Utah GLX et DRI (i810, Sis), je ne suis pas en mesure de vous
conseiller. Si quelqu'un a fait des comparaisons, je suis intéressé par l'information.
Si vous avez une carte NVidia, c'est simple : Utilisez le driver Nvidia !.
L'équipe Utah-GLX n'a jamais pu avoir toutes les informations nécessaires sur les
puces Nvidia, le driver Utah-GLX pour NVidia est donc très limité et lent (pas de
support des transferts DMA ni AGP).
Configuration DRI XFree 4
La documentation officielle d'installation DRI
décrit déjà très bien la procédure donc je ne vais pas dupliquer ces informations dans cet article. Disons simplement pour résumer que vous devez installer le noyau Linux 2.4 (pas encore définitif
à la date de rédaction de cet article) pour les cartes Matrox ou Intel i810 avec le module adapté à votre carte.
Une fois que XFRee 4 est configuré en 2D pour votre carte, vérifiez que dans la section "Module" du fichier /etc/X11/XF86Config-4, vous ayez bien quelque chose de la forme :
Section "Module"
...
# This loads the GLX module
Load "glx"
# This loads the DRI module
Load "dri"
EndSection
et c'est tout. Simple non ?
Configuration NVidia XFree 4
Nvidia a publié une bonne documentation sur l'installation qu'il suffit de suivre. Je vais surtout insister sur les points qui posent souvent des problèmes lors de l'installation :
- Installer le module NVidia pour le noyau. Soit directement via le package NVIDIA_kernel-0.9-5.i386.rpm, soit en tapant make dans le répertoire extrait de l'archive NVIDIA_kernel-0.9-5.tar.gz
- Vérifier que les devices nécessaires sont bien présents dans /dev ou les créer si nécessaire avec le script makedevices.sh contenu dans le répertoire NVIDIA_kernel-0.9-5 :
# ls -l /dev/nvidia*
crw-rw-rw- 1 root root 195, 0 Apr 24 18:46 /dev/nvidia0
crw-rw-rw- 1 root root 195, 1 Apr 24 18:46 /dev/nvidia1
crw-rw-rw- 1 root root 195, 2 Apr 24 18:46 /dev/nvidia2
crw-rw-rw- 1 root root 195, 3 Apr 24 18:46 /dev/nvidia3
crw-rw-rw- 1 root root 195, 255 Apr 24 18:46 /dev/nvidiactl
- Installer les librairies GLX NVidia. Soit directement via le package NVIDIA_GLX-0.9-5.i386.rpm, soit en tapant make dans le répertoire extrait de l'archive NVIDIA_GLX-0.9-5.tar.gz
- Modifier le fichier de configuration de XFree (/etc/X11/XF86Config-4) pour remplacer dans la ligne
Driver "nv" par Driver "nvidia"
- Dans ce même fichier, il faut désactiver le chargement des modules DRI et GLcore puisque le driver NVidia n'utilise pas l'architecture DRI standard. La section "Module" devrait ressembler à ça :
Section "Module"
Load "dbe"
Load "extmod"
# DGA est buggué dans la version actuelle du driver NVidia
SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection
Load "/usr/X11R6/lib/modules/extensions/libglx.so"
Load "pex5"
Load "record"
Load "xie"
Load "freetype"
Load "type1"
Load "speedo"
EndSection
- Enlever la version de libGL provenant de l'installation de Mesa. Vérifiez bien que vous n'avez que les fichiers et liens suivants dans /usr/lib :
# ls -l /usr/lib/*GL*
/usr/lib/libGL.a
/usr/lib/libGL.la
/usr/lib/libGL.so -> libGL.so.1.0.5
/usr/lib/libGL.so.1 -> libGL.so.1.0.5
/usr/lib/libGL.so.1.0.5
/usr/lib/libGLU.a
/usr/lib/libGLU.la
/usr/lib/libGLU.so -> libGLU.so.1.2.030300
/usr/lib/libGLU.so.1 -> libGLU.so.1.2.030300
/usr/lib/libGLU.so.1.2.030300
/usr/lib/libGLU.so.3 -> /usr/lib/libGLU.so.1
/usr/lib/libGLcore.so.1 -> libGLcore.so.1.0.5
/usr/lib/libGLcore.so.1.0.5
Le package Mesa-3.3-5 installé avec une RedHat 7.0 par exemple comporte la librairie /usr/lib/libGL.so.1.2.030300 qu'il faut détruire, sinon, vos applications ne seront pas accélérées et continueront d'utiliser le moteur Mesa pour le rendu 3D logiciel.
Note importante pour les utilisateurs de machine multiprocesseurs :
Le driver NVidia peut utiliser le bus AGP de 2 façons : soit via le module agpgart développé initialement pour le projet Utah-GLX et présent par exemple dans le noyau fourni avec la RedHat 7, soit via le driver AGP intégré au driver NVidia lui même.
J'ai rencontré de nombreux problèmes de crashs en utilisant agpgart (Kernel panic: agpgart: timed out waiting for the other CPUs!) et aucun ennui en utilisant le driver AGP NVidia. Je vous conseille donc
de désactiver le module agpgart sur une machine multi processeurs avec une carte NVidia. Ceci évoluera peut-être avec de futures versions du module agpgart ou du driver NVidia...
Configuration Utah-GLX XFree 3
Terminons par le moins simple à installer :-) Comme Utah-GLX est toujours en développement, il faut en récupérer les sources via CVS et le recompiler soi même. Si votre noyau ne comporte pas le module agpgart, il faudra aussi patcher le noyau Linux et le recompiler avec ce module. Je vous conseille de suivre la documentation d'installation. En résumé, il faut :
Page suivante : Tests Quake III
|