<cadre type=alert> Cette documentation est considérée comme étant obsolète.
Cela signifie que la documentation sur cette page est dépassée. Léa-Linux vous incite à ne pas suivre cette documentation dans votre utilisation d'une distribution récente. Cette documentation est conservée uniquement dans un souci de curiosité et d'archive documentaire, mais au moins une partie des informations qui la compose n'est plus valide. </cadre>
Heureux possesseurs de cartes 3DfX, vous allez pouvoir faire fonctionner votre carte sous Linux !!!
(D'ailleurs, ce furent longtemps les seules cartes 3D complètement supportées ! même la Voodoo Rush !)
Mauvaises nouvelles pour les fans de 3Dfx : 3Dfx ayant été racheté par NVidia (le créateur de la TNT et des GE Force), c'est la fin de 3Dfx. Cause immédiate de ce rachat pour nous : de nombreux liens dans cette page risquent de ne plus fonctionner...
Vous aurez besoin de :
Nouveau : avec XFree 4.0.2, tout devient plus simple (voir chez Xfree, rubriques 3Dfx et Alliance) :
Normalement vous ne devriez donc pas avoir besoin d'aller plus loin dans la lecture de cet article, néanmoins, je le laisse ici pour référence. Attention, les liens vers les sites et les drivers peuvent être maintenant erronés.
Pour installer votre carte, allez sur le site de Linux 3DfX ou 3DfX gamers pour les drivers nécessaires (choisissez suivant votre carte, voodoo 1, 2, banshee, 3...) ; les liens pour les fichiers à télécharger sont [#liens à la fin] de ce document.
Remarque : Un nouveau serveur X vient de sortir chez 3dfx pour les Voodoo 3 et Voodoo Banshee (nommé DRI), qui implémente Glide version 3 et permet d'afficher en mode fenêtré. Comme peu d'applications sont compatibles à l'heure actuelle avec ce serveur X (voir la description sur linux.3dfx.com), nous détaillons l'installation de l'ancienne version.
Avec XFree 3.3.5, il suffit d'utiliser le serveur X SVGA standard. Les Rushlibs ne sont plus nécessaires. Il paraît que le serveur SVGA disponible sur 3Dfx gamers est plus stable, mais le serveur X standard fonctionne bien.
Attention : Pensez à spécifier les résolutions que vous souhaitez utiliser en mode 3D, car celles-ci doivent obligatoirement être disponibles pour le serveur X. Votre fichier /etc/X11/XF86Config doit donc contenir ces résolutions.
Par exemple, si vous voulez jouer à Quake II en 640x480, vous devez pouvoir afficher en 2D en 640x480 également.
N'allez pas plus loin avant que votre affichage 2D soit bien configuré ! Utilisez XF86Setup ou bien éditez /etc/X11/XF86Config à la main.
Remarque : lors de la mise à jour de votre distribution (par exemple vers une Mandrake 6.1), le serveur X SVGA version 3.3.5 standard convient parfaitement. De plus, il semble qu'il n'y ait plus besoin des rush libs. Par contre, la mise à jour de la Mandrake 6.1 installe une version de Mesa non optimisée pour les cartes 3Dfx. Il faut donc la remplacer par la version que vous compilerez vous-même (voir plus bas).
Et quelle que soit votre carte il faut installer :
téléchargez le fichier Glide suivant votre Glibcet votre carte :
Carte 3Dfx | système Glibc 2.1 | système Glibc 2.0 |
Voodoo 3Dfx | Glide_VG-2.46-3.i386.glibc2.1.1.rpm | Glide_VG-2.46-1.i386.glibc.rpm |
Voodoo Rush | Glide_VR-2.46-4.i386.glibc2.1.1.rpm | Glide_VR-2.46-3.i386.glibc.rpm |
Voodoo 3Dfx II | Glide_V2-2.53-2.i386.glibc2.1.1.rpm | Glide_V2-2.53-1.i386.glibc.rpm |
Voodoo Banshee ou Voodoo 3 | Glide_V3-2.60-8.i386.rpm | Glide_V3-2.60-7.i386.glibc20.rpm |
Remarque : pour les carte 3Dfx 1 et 2 ainsi que Rush, Glide existe aussi en version libc5.
exemple : dans le cas d'une Voodoo Banshee et d'un système Glibc 2.1 :
rpm --rebuild Device3Dfx-2.2-3.src.rpm
rpm -Uvh /usr/src/redhat/RPMS/i386/Device3Dfx-2.2-3.i386.rpm
Attention, vérifiez le chemin du fichier ci-dessus qui peut avoir été créé ailleurs suivant votre distribution.
Truc : Si l'installation de Device 3Dfx ne fonctionne pas, essayez le truc suivant :
dans le cas ou un "depmod -a" vous renvoie des messages d'erreur, localisez les modules fautifs (p.ex. /lib/modules/2.x.x/net/ne.o) et déplacez-les vers /tmp le temps d'installer le Device 3Dfx. Remettez-les en place ensuite. On ne sait jamais ;-)
Maintenant, nous avons installé un nouveau module. Pour le faire monter en mémoire, le plus simple est de rebooter (beurk).
Normalement, le module Device 3Dfx devrait se charger automatiquement lorsqu'on a besoin de lui. Une ligne dans /etc/conf.modules en témoigne (alias char-major-107 3dfx). Cependant, si ce n'est pas le cas chez vous, vous pouvez l'automatiser : ajoutez cette ligne à la main. Si cela ne fonctionne toujours pas, même après avoir rebooté, essayez la méthode bourrin : dans /etc/rc.d/rc.local (ce fichier existe normalement dans toute les distributions) ajoutez simplement "modprobe 3dfx" à la fin du fichier.
Voodoo Banshee et Voodoo 3 :
Lancez cette commande obligatoirement depuis un terminal sous X (xterm, konsole, and Co).
Si cela ne fonctionne pas, c'est peut-être que la résolution 640x480 n'est pas définie, essayez
/usr/local/glide/bin/test3Dfx -r 800x600
(remplacez 800x600 par votre résolution actuelle en 2D).
En plus, si vous avez du temps à perdre :-), vous pouvez aussi aller voir dans /usr/local/glide/src, il y a une trentaine de tests que vous pouvez compiler et essayer afin de voir si votre carte fonctionne correctement.
Si vous n'avez rien compris, le site Linux 3dfx ou encore 3DfX gamers explique également comment installer tout ça (drivers et device).
Mesa est une librairie donnant à Linux l'API OPEN GL, c'est une implémentation libre d'OPEN GL. Disons que OPEN GL est à Linux ce que Direct 3D est à Windows.
Récupérez Mesalib et Mesadémo sur le site de Mesa .
Le but du jeu est de recompiler ces librairies avec le support 3Dfx (Glide) pour faire marcher notre carte (prenez les .tar.gz).
Attention, votre distribution peut avoir déjà installé les librairies Mesa non optimisées 3Dfx. Dans ce cas, il faut au préalable les désinstaller. Par exemple, recherchez le/les packages mesa par :
rpm -qa | grep mesa
(mesa et/ou mesa-dev), puis désinstallez-les par :
rpm -e --nodeps le_package
Donc une fois les sources dé-zippées/détarées :
gzip -cd MesaLib-3.0.tar.Z | tar xfv -
ou
tar zxvf MesaLib-3.0.tar.gz
de même pour Mesadémo, puis allez dans le répertoire de Mesa (Mesa3.0) et lancez tout simplement
make linux-glide
afin de tout compiler.
La compilation devrait passer sans erreur. Si vous avez des erreurs du style "machin.h : no such file or directory", c'est que les fichiers provenant du SDK Glide ne sont pas trouvés. Deux solutions : copiez ces fichiers dans un répertoire où le PATH pointe (dans /usr/include par exemple) ou insérez à votre variable PATH le chemin ou les includes du SDK se situe (/usr/include/glide si mes souvenirs sont bons) par export PATH=$PATH:/usr/include/glide (sh, bash) ou setenv PATH $PATH:/usr/include/glide (csh, tcsh).
Normalement, si vous avez installé le rpm du SDK, tout doit bien se passer.
Une fois la compilation passée vous devez avoir un répertoire /lib dans le répertoire Mesa3.0.
Allez dans ce répertoire, vous devez avoir alors des choses du style :
libMesaGL.so.3.x libMesaGL.so.3 libMesagl.so
libMesaGLU.so.3.x libMesaGLU.so.3 libMesaGLU.so
libglut.so.3.x libglut.so.3 libglut.so
Il manque des liens par défaut que certaines applications risquent de chercher, ajoutez donc ces liens comme suit :
ln -s libMesaGL.so.3.x libGL.so.3
ln -s libMesaGL.so.3.x libGL.so
ln -s libMesaGLU.so.3.x libGLU.so.3
ln -s libMesaGLU.so.3.x libGLU.so
(Remplacez le x par la bonne valeur, bien sûr).
Puis, toujours dans ce répertoire, faites :
cp * /usr/X11R6/lib
ldconfig
Enfin, vérifiez que vous n'avez pas d'ancienne version de Mesa non optimisée Glide qui traîne :
ldconfig -v
Regardez dans la liste qui va s'afficher s'il se trouve encore des librairies "Mesa", si oui, supprimez ces fichiers, puis relancez la même commande.
Normalement, le module Device 3Dfx devrait se charger automatiquement lorsqu'on a besoin de lui. Cependant, si ce n'est pas le cas chez vous, vous pouvez l'automatiser : pour cela dans /etc/rc.d/rc.local (ce fichier existe normalement dans toutes les distributions) ajoutez simplement "modprobe 3dfx" à la fin du fichier. Le chargement automatique du module 3dfx se fait grâce à la ligne "alias char-major-107 3dfx" présente dans /etc/conf.modules (voir plus haut).
Tout devrait marcher maintenant. Pour le test on va charger le module 3dfx à la main (à moins que vous ayez déjà rebooté) par modprobe 3dfx. Allez dans le répertoire /demos sous le répertoire Mesa3.0, lancer la démo glu (me rappelle plus du nom, demoglu je crois, quelque chose de ce genre) sous X, en ouvrant un terminal X (oublier pas le ./ avant le nom du programme de la démo) et vous devez alors voir apparaitre une belle image 3d en plein écran qui utilise la 3dfx.
Remarque 1 : pour la Banshee et la Voodoo 3, il est nécessaire de positionner la variable d'environnement MESA_GLX_FX à la valeur fullscreen.
bash : export MESA_GLX_FX=fullscreen
tcsh : setenv MESA_GLX_FX fullscreen
Remarque 2 :
Votre distribution ou sa mise à jour, par exemple vers la Mandrake 6.1, peut installer des librairies Mesa non optimisées Glide. Vos programmes vont alors utiliser ces librairies, présentes dans /usr/X11R6/lib, au lieu des vôtres, optimisées Glide, et l'affichage ne sera plus accéléré, mais fenêtré. Bref, ça rame !!!
La solution consiste à désinstaller les packages mesa et mesa dev (par rpm -e package), de lancer ldconfig (par ldconfig -v, et verifier qu'il n'y a plus de lib MesaGL), puis copier les librairies compilées pour Glide dans /usr/X11R6/lib, et lancer ldconfig de nouveau.
Programmes testés avec brio (qui c'est çui-là ?) :
Astuce n°1 : (si vous étes riches avec plein d'écrans) Connectez votre carte vga sur un écran directement sans passer par la 3dfx et branchez la sortie de votre 3dfx sur un autre écran. Ca permet d'avoir tout affichage en 3d sur un écran séparer et de continuer de travailler sur un autre écran :
Astuce n°2 : en fait l'affichage 3D semble être planté souvent parce que la fenêtre qui sous X a permis de lancer l'application 3D a perdu le focus (p.ex. la souris a bougé et n'est plus sur la fenêtre).
Dépannage :
Voilà, bonne 3D !
Pour les downloads, allez plutôt voir sur linux.3dfx.com afin d'obtenir les dernières versions.
(from 3Dfx gamers)
Indispensable pour toutes les cartes :
Device3Dfx-2.2-3.src.rpm(26KB)
Voodoo 3Dfx
Glide_VG-2.46-1.i386.glibc.rpm (251KB)
Glide_VG-2.46-1.i386.rpm (224KB)
Glide_VG-2.46-3.i386.glibc2.1.1.rpm (247KB)
Voodoo Rush
Glide_VR-2.46-3.i386.glibc.rpm (475KB)
Glide_VR-2.46-3.i386.rpm (238KB)
Glide_VR-2.46-4.i386.glibc2.1.1.rpm (261KB)
XFree86-Rush-SVGA-3.3.2-1.i386.rpm (1717KB)
XFree86_Rush-libs-3.3.2-1.i386.rpm (781KB)
Voodoo 3Dfx II
Glide_V2-2.53-1.i386.glibc.rpm (511KB)
Glide_V2-2.53-1.i386.rpm (482KB)
Glide_V2-2.53-2.i386.glibc2.1.1.rpm (279KB)
Voodoo Banshee et Voodoo 3
Glide_V3-2.60-7.i386.glibc20.rpm (230KB)
Glide_V3-2.60-8.i386.rpm (424KB)
XFree86_3DFX-rushlib-3.3.3-5.i386.rpm (11KB)
XFree86_3DFX-SVGA-3.3.3-5.i386.rpm (1213KB)
XFree86_3DFX-XF86Setup-3.3.3-5.i386.rpm (181KB)
Mesa, à installer pour toutes les cartes (librairie 3D)
(from Mesa3d.org)
MesaLib-3.0.tar.gz(1,2 MB)
MesaDemos-3.0.tar.gz(0,7 MB)
@ Retour à la rubrique Matériel
Copyright © 04/10/1999, S. Tchesmeli & J.C. Cardot
![]() ![]() ![]() ![]() |
Ce document est publié sous licence Creative Commons Attribution, Partage à l'identique, Contexte non commercial 2.0 : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ |