Léa-Linux & amis :   LinuxFR   GCU-Squad   Zarb.Org   GNU
Configurer une carte 3DFX

Cette page est considérée comme étant obsolète.

Elle nécessite donc une mise à jour. Si vous en avez la compétence, n'hésitez pas à la mettre à jour. Avant de le faire, prenez le temps consulter les consignes de mise à jour.

3DfX: installation

3DfX: installation
par Serge & Jean-Christophe
Comment faire fonctionner une carte de chez 3DfX.

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 :
  • Un système Linux basé sur le noyau 2.x avec une Glibc 2.0 ou 2.1 (i.e. toute distribution récente), voire libc5 (uniquement Voodoo1, 2 et Rush).
    Remarque : Pour savoir sur quelle libc votre Linux est basé, dans /lib faites un ls libc*, si vous voyez libc5, c'est la libc5, libc6 c'est la glibc et libc-2.xx c'est la Glibc 2.xx. La Mandrake 6.0 utilise la glibc2.1 (tout comme la RedHat 6).
  • Une carte 3DFx, Voodoo 2, Voodoo Banshee, Rush ou Voodoo 3, 4 ou 5 (dans le désordre :-)

Nouveau : avec XFree 4.0.2, tout devient plus simple (voir chez Xfree, rubriques 3Dfx et Alliance) :

  • Le support pour les puces Voodoo Graphics et Voodoo 2 est disponible sur les plateformes où Glide est disponible (Linux et FreeBSD(?)) et est fourni par le driver "glide" (nécessite la version 2.x de la librairie Glide, qui ne fait pas partie de la distribution de XFree86, mais est en général fournie par votre distribution).
  • Le support (dont l'accéleration) pour les Voodoo Banshee, Voodoo3, Voodoo4, et Voodoo5 est fourni par le driver "tdfx".
  • Pour la Voodoo Rush, suivant votre chipset (les puces sur la carte) :
    • Utilisez Xfree 4.0.2 ou plus pour les chipsets AT24, AT25 et AT3D (cas général). Ce support (avec accéleration) est fourni par le driver "apm". Actuellement, le support du chipset AP6422 est incomplet dans ce driver.
    • Utilisez Xfree 3.3.6 pour le chipset AP6422 (supporte aussi AT24 et AT3D). Le support est accéléré et utilise le driver apm.

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.

Serveur X, /dev/3dfxet Glide

  • Voodoo 1 ou Voodoo 2
    Ces cartes sont uniquement des accélérateurs 3D, il n'y a pas de modification à faire sur votre serveur X.
  • Voodoo Banshee ou Voodoo 3
    Ces cartes sont des cartes 2D/3D : il faut installer le serveur X adéquat :
    • XFree 3.3.3XFree86_3DFX-SVGA-3.3.3-5.i386.rpm, et XFree86_3DFX-rushlib-3.3.3-5.i386.rpm
      (par rpm -Uvh XFree86_3DFX-SVGA-3.3.3-5.i386.rpm ; rpm -Uvh XFree86_3DFX-rushlib-3.3.3-5.i386.rpm)
      ainsi que XFree86_3DFX-XF86Setup-3.3.3-5.i386.rpm si vous souhaitez utiliser XF86Setup.
    • XFree 3.3.5 ou plus

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).

  • Voodoo Rush
    C'est également une carte 2D/3D, il faut installer le serveur X adéquat :
    rpm -Uvh XFree86_Rush-SVGA-3.3.2-1.i386.rpm
    rpm -Uvh XFree86_Rush-libs-3.3.2-1.i386.rpm
    Ce serveur fonctionne uniquement avec les cartes basées sur les chipsets Alliance AT25 ou AT3D.
    Les mêmes remarques s'appliquent à la carte Rush qu'aux cartes Banshee et Voodoo 3.

Et quelle que soit votre carte il faut installer :

    • Glide :

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 -Uvh Glide_V3-2.60-8.i386.rpm
  • Device 3DfX :
    Device3Dfx-2.2-3.src.rpm (ou plus récent)

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.

  • Test indispensable
    Lancez /usr/local/glide/bin/test3Dfx afin de voir si cela fonctionne : vous devriez voir un ecran bleu, avec en haut "press a key to quit".

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.

  • Récupérez aussi le SDK Glide pour linux (disponible dans la rubrique develop du site de 3Dfx), afin de pouvoir compiler des applications utilisant les cartes 3Dfx, et installez-le.
    Glide2x_SDK-2.1-3.i386.rpm

Si vous n'avez rien compris, le site Linux 3dfx ou encore 3DfX gamers explique également comment installer tout ça (drivers et device).


Librairies Mesa

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à ?) :

  • Toutes les démos de Glide et de Mesa (dont le magnifique morph3D, à comparer en vitesse avec la version software dispo sous NT et KDE !),
  • XMMS et son plugin de visualisation 3Dfx,
  • Quake II avec la lib Mesa livrée avec (./quake2 +set vid_ref glx +set gl_driver libMesaGL.so.2.6),
  • Q3test,
  • UltraHLE64 dans wine,
  • XRacer,
  • ...

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 :

  • Vous pouvez écouter des mp3 avec XMMS et son plugin de visualisation 3Dfx sur un écran tout en faisant autre chose sur l'autre (trop fun :-)
  • C'est pratique quand l'affichage 3D plante ou que la fenêtre, et croyez moi ça arrive assez souvent, cela permet de pouvoir continuer à travailler sans avoir perdu son affichage normal et de devoir débrancher/rebrancher son écran en direct sur la carte vga pour débloquer l'affichage.

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).

  • Sur Voodoo 1 ou Voodoo 2, lancez les applis 3D depuis une console texte (ALT-F2 à ALT-F6), vous n'aurez jamais ce problème !
  • Sur Voodoo Banshee ou Voodoo 3, au contraire, vous êtes obligés de lancer les programmes 3D depuis un terminal sous X, sinon ils refusent de démarrer. Alors pour limiter le risque de problème, maximisez la fenêtre qui vous a servi à lancer votre appli 3D...

Dépannage :

  • Couleurs abominable, scintillements, et bien que la 3Dfx fonctionne les couleurs sont pourries : vérifiez dans le BIOS les options PCI (Write back, PCI burst) et aussi dans les options de BIOS avancé le Shadow VGA BIOS, et le Snap color palette (activez/desactivez ces options jusqu'à ce que cela resolve le problème : ca dépend des cartes mères, des cartes Voodoo, etc.).
  • Les démos fonctionnent, mais uniquement en mode fenêtré et non pas en plein écran : elles n'utilisent pas la 3Dfx (ca rame !) : il reste sûrement des librairies Mesa non compilées pour Glide quelque part : tapez "ldconfig -v", regardez dans la liste qui va s'afficher s'il y a encore des librairies "Mesa", si oui, supprimez ces fichiers, puis relancez la même commande.

Voilà, bonne 3D !


Download

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

Cette page est issue de la documentation 'pré-wiki' de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par S. Tchesmeli & J.C. Cardot le 04/10/1999.

Copyright

Copyright © 04/10/1999, S. Tchesmeli & J.C. Cardot

Creative Commons License
Creative Commons Attribution iconCreative Commons Share Alike iconCreative Commons Noncommercial
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/
Affichages
(Redirigé depuis Hardware-hard image-3dfx)
Outils personnels

Serveur hébergé par ST-Hebergement et Lost-Oasis / IRC hébergé par FreeNode / NS secondaire hébergé par XName
Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons CC-BY-SA