Ce document est le 3Dfx HOWTO pour Linux. Il contient toutes les informations n�cessaires � l'installation et la configuration du 3Dfx sous Linux. Des r�ponses aux questions les plus fr�quentes sur l'utilisation du 3Dfx ainsi que des pointeurs vers d'autres sources d'informations en rapport avec l'acc�l�ration mat�rielle du graphisme sur ordinateur sont fournies.
Ce document n'est valable que pour les architectures PC munies de Linux. Certaines informations peuvent �tre valables sur d'autres architectures mais je n'ai aucune exp�rience dans ce domaine. Seules sont couvertes les cartes � base de 3Dfx. L'utilisation d'autres cartes acc�l�ratrices d�borde du cadre de ce document.
Ce document n'existerait pas sans l'information glan�e par de multiples personnes : celles qui se sont impliqu�es dans le portage et le test de Glide pour Linux, les d�veloppeurs des pilotes Mesa et Mesa Voodoo et celles qui ont relu ce document pour le compte de 3Dfx et de Quantum3D. Ce texte leur est redevable de l'int�gralit� de certaines parties.
Daryll Strauss daryll@harlot.rb.ca.us a effectu� le portage, Paul J. Metzger pjm@rbd.com modifications du pilote Mesa Voodoo ( �crit par David Bucciarelli ) tech.hmw@plus.it) pour Linux, Brian Paul brianp@RA.AVID.COM a proc�d� � l'int�gration au sein de sa librairie Mesa. En ce qui concerne l'acc�l�ration Voodoo Graphics (tm) de Mesa, des remerciements suppl�mentaires sont dus � Henri Fousse, Gary McTaggart, et au d�veloppeur de 3Dfx Mesa pour DOS, Charlie Wallace Charlie.Wallace@unistudios.com. Le personnel de 3Dfx, et plus particuli�rement Gary Sanders, Rod Hughes, et Marty Franz, a fourni des informations importantes. On citera �galement Ross Q. Smith chez Quantum3D. Les pages des sites web traitant du Voodoo Extreme et de 3Dfx rec�lent des informations utiles. Je me suis �galement renseign� dans les forums Usenet 3Dfx. GlQuake2 pour Linux, qui repose sur Glide et Mesa, est maintenu par Dave Kirsch zoid@idsoftware.com. Merci � tout ceux qui ont envoy� des corrections et des mises � jours par courrier �lectronique et plus particuli�rement � Mark Atkinson pour m'avoir rappel� la m�thode de mise en oeuvre du c�ble vid�o.
Gr�ce aux outils SGML-Tools ( ex Linuxdoc-SGML ), ce HOWTO est disponible dans plusieurs formats qui reposent tous sur le contenu de ce fichier. Pour en savoir davantage sur SGML-Tools, reportez vous � la page suivante : pobox.com/~cg/sgmltools.
3Dfx, le logo 3Dfx Interactive , Voodoo Graphics (tm) et Voodoo Rush (tm) sont des marques d�pos�es appartenant � 3Dfx Interactive, Inc. Glide, TexUS, Pixelfx et Texelfx sont des marques d�pos�es par 3Dfx Interactive, Inc. OpenGL est une marque d�pos�e par Silicon Graphics. Obsidian est une marque d�pos�e par Quantum3D. Les autres noms de produits sont des marques d�pos�es de leurs propri�taires respectifs.
First version for public release.
Current version v1.16 6 February 1998.
Vous trouverez la version la plus r�cente de l'original en langue anglaise de ce document � la page web : www.gamers.org/dEngine/xf3D/.
Les nouvelles versions seront post�es p�riodiquement sur le forum Usenet comp.os.linux.answers. Des archives sont �galement disponibles sur divers serveurs ftp anonymes tels que ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/.
De nombreux sites web proposent des versions hypertextes, notamment
sunsite.unc.edu/LDP/. La plupart des distributions de Linux sur CD
incluent les HOWTO, en g�n�ral dans le r�pertoire /usr/doc/
.
Certains vendeurs proposent des versions imprim�es.
Si vous traduisez ce document dans une autre langue, faites le moi savoir que je puisse y faire r�f�rence.
Je m'en remets � vous, lecteur, pour rendre ce HOWTO utile. Envoyez les
corrections, suggestions et commentaires � mon adresse (
bk@gamers.org ) et je les prendrai en compte dans une nouvelle
version. Mentionnez HOWTO 3Dfx
dans le champ Sujet du courrier
afin que procmail le dirige vers le fichier ad�quat.
Avant de signaler un bug ou de poser une question, lisez ce HOWTO dans son int�gralit�. Vous pourrez ensuite envoyer un compte rendu d�taill� du probl�me.
Si ce document est publi� sous forme papier ou sur CD-ROM, j'appr�cierais une copie. Demandez moi mon adresse postale via le courrier �lectronique. Les dons de soutien au Linux Documentation Project ( LDP ) pour le d�veloppement de la documentation libre Linux seront appr�ci�s. Pour plus d'informations, contactez le responsable du projet Linux HOWTO, Tim Bynum Linux HOWTO coordinator, Tim Bynum ( linux-howto@sunsite.unc.edu).
Copyright (c) 1997, 1998 by Bernd Kreimeier. La distribution de ce document doit se conformer aux termes de la licence LDP tels que d�finis � l'adresse : sunsite.unc.edu/LDP/COPYRIGHT.html.
Il s'agit ici de survoler bri�vement les concepts de l'acc�l�ration graphique pour faciliter le reste de la lecture. Pour en apprendre plus, vous pourrez consulter des livres traitant d'OpenGL.
Les acc�l�rateurs graphiques se pr�sentent sous diverses formes : soit comme une carte PCI traitant les signaux vid�o issus d'une carte VGA ( usuelle ou acc�l�r�e ), soit comme une carte PCI g�rant le graphisme VGA et la 3D. Dans ce cas, l'ancien p�riph�rique VGA est mis hors circuit. Les cartes 3Dfx � base de composants Voodoo Graphics (tm) appartiennent � la premi�re cat�gorie. On y reviendra ult�rieurement.
S'il n'y a pas de conflit d'adresses, n'importe quelle carte acc�l�ratrice 3D peut �tre pr�sente dans la machine sans perturber son fonctionnement sous Linux. Cependant, l'acc�s aux fonctions acc�l�ratrices n�cessite un pilote sp�cifique. Une carte combinant les fonctions 2D et 3D peut se comporter diff�remment.
En g�n�ral, les acc�s � la m�moire de stockage des textures et au tampon m�moire vid�o constituent un s�rieux goulot d'�tranglement. Chaque pixel n�cessite au moins un ( sinon quatre voire huit ) acc�s en lecture � la m�moire de stockage des textures ainsi qu'un acc�s en lecture pour la profondeur et un acc�s en lecture/�criture � la m�moire vid�o.
L'architecture Voodoo Graphics (tm) s�pare l'espace m�moire d�di� aux textures de celui concern� par le stockage des pixels et introduit un rendu � deux niveaux, chacun disposant d'une unit� d�di�e ( Texelfx et Pixelfx ) qui g�re sa propre m�moire. Le rythme de fonctionnement d�passe ainsi la moyenne mais des restrictions quant � l'utilisation de la m�moire apparaissent : le stockage de textures dans la zone de m�moire �cran est impossible.
Enfin, le Voodoo Graphics (tm) est susceptible d'employer deux Texelfx (ou TMU pour texture management unit ) et on peut combiner deux syst�mes Voodoo Graphics (tm) par un m�canisme nomm� SLI ( Scan-Line Interleaving ). Le SLI consiste � ne faire traiter par chaque Pixelfx qu'une ligne sur deux, r�duisant ainsi la bande passante requise par chaque Pixelfx pour acc�der � sa propre m�moire.
La mise en place du 3Dfx sous Linux passe par les �tapes suivantes :
Les sections suivantes couvrent ces �tapes en d�tail.
Reportez vous aux instructions donn�es par le fabricant de votre mat�riel pour mettre la carte en place. Il ne devrait pas s'av�rer n�cessaire d'aller modifier les IRQ, les canaux DMA : le Plug&Plante (tm) ou les valeurs en sortie d'usine sont cens�s fonctionner. On acc�de aux cartes d�crites ci-apr�s via l'espace d'adressage m�moire. On n'a donc pas besoin d'interruption. Les chevauchements en m�moire avec d'autres p�riph�riques constituent les seuls conflits possibles.
Puisque 3Dfx n'intervient pas dans le d�veloppement et la fabrication de cartes, il est inutile de les contacter en cas de probl�mes.
Afin de v�rifier l'installation et l'adressage m�moire des p�riph�riques,
faites un cat /proc/pci
. La sortie devrait ressembler � ce qui suit :
Bus 0, device 12, function 0: VGA compatible controller: S3 Inc. Vision 968 (rev 0). Medium devsel. IRQ 11. Non-prefetchable 32 bit memory at 0xf4000000. Bus 0, device 9, function 0: Multimedia video controller: Unknown vendor Unknown device (rev 2). Vendor id=121a. Device id=1. Fast devsel. Fast back-to-back capable. Prefetchable 32 bit memory at 0xfb000000.
cat /proc/cpuinfo /proc/meminfo
aidera � r�soudre
les conflits et sera utile pour signaler un bug.
Les noyaux courants afficheront peut-�tre au d�marrage :
Jun 12 12:31:52 hal kernel: Warning : Unknown PCI device (121a:1). Please read include/linux/pci.h
/usr/include/linux/pci.h
afin de transmettre les informations utiles �
linux-pcisupport@cao-vlsi.ibp.fr.
Si des probl�mes se manifestent avec votre carte, examinez ce qui se passe sous DOS et/ou Windows. Il est peu probable qu'un constructeur prenne la peine de r�pondre � une demande d'aide ou au rapport d'un bug sous Linux. Pour avoir pratiqu� le service d'aide de Diamond via courrier �lectronique, je ne m'attendrais d'ailleurs pas trop � une r�action quel que soit le syst�me d'exploitation.
Seule la gestion du bus PCI est requise. Le Linux Kernel HOWTO fournit tous les d�tails relatifs � la compilation d'un noyau.
Pour l'instant, les pilotes ne n�cessitent pas de p�riph�riques particuliers.
Contrairement aux gestionnaires de cartes sons qui requi�rent les entr�es
/dev/dsp
et /dev/audio
dont la pr�sence n'est pas garantie,
les pilotes reposent ici sur le /dev/mem
qui est toujours disponible.
Il vous faudra bien s�r disposer des droits de super-utilisateur ou recourir
� setuid
pour acc�der � la carte acc�l�ratrice.
Deux configurations sont possibles avec les cartes acc�l�ratrices. Soit vous faites transiter les signaux vid�o issus de votre carte usuelle par l'acc�l�rateur graphique, soit vous employez simultan�ment deux �crans. Reportez vous aux manuels utilisateurs du constructeur de votre carte pour plus de d�tails. Les deux solutions ont �t� essay�es avec la Monster 3D.
Ce mode op�ratoire permet de v�rifier le bon fonctionnement de base de la carte acc�l�ratrice : si le signal vid�o n'est pas transmis � l'�cran, une d�faillance mat�rielle est � envisager.
Notez qu'il risque de se produire un affaiblissement sensible du signal. On a signal� le cas de c�bles de pi�tre qualit� fournis avec la Monster 3D ( par exemple ) et celui que j'ai essay� n'a pas fait exception.
Les configurations reposant sur un �cran unique rec�lent d'autres subtilit�s. Le passage d'un mode d'affichage VGA � l'affichage acc�l�r� modifie aussi bien la r�solution que la fr�quence du moniteur , et ce m�me si vous travaillez avec X11 en 640x480. De surcro�t, avec X11, votre application a la charge de g�rer les �v�nements souris et claviers sans quoi vous vous exposez � de s�rieuses difficult�s ( X reste naturellement invisible lorsque l'on a bascul� en mode acc�l�r� ). L'utilisation d'une console SVGA � la place de X11 est envisageable.
Si vous avez l'intention de n'utiliser qu'un seul �cran duquel vous exigerez des changements de mode fr�quents, n'oubliez pas que les composants de votre moniteur risquent de se fatiguer.
Certains moniteurs haut-de-gamme ( par exemple le EIZO F-784-T ) offrent deux connecteurs : un BNC � 5 broches ( RGB, HSync, VSync ) et un Sub-D VGA usuel. Ces �crans comportent g�n�ralement des boutons de s�lection de l'entr�e vid�o. Il est ainsi possible d'utiliser le connecteur BNC avec la carte graphique habituelle via un c�ble ad�quat et de relier l'acc�l�rateur 3Dfx � l'autre entr�e.
La carte acc�l�ratrice n'a nul besoin d'une entr�e VGA. Au lieu de faire transiter par cette derni�re le signal vid�o usuel, vous pouvez diriger les sorties vid�os vers deux moniteurs diff�rents. Cette solution est certes la plus dispendieuse mais elle donne les meilleurs r�sultats. Vous pourrez ainsi utiliser conjointement X11 et l'affichage acc�l�r� en plein �cran � des fins de d�boggage et de d�veloppement.
La carte acc�l�ratrice cesse de fournir le moindre signal vid�o lorsqu'elle n'est plus utilis�e. Par cons�quent, � chaque fois que l'application concern�e s'arr�te, les composants �conomiseurs d'�nergie risquent, selon la configuration de votre mat�riel, d'entrer en action. Le moniteur se lassera peut-�tre � la longue. Utilisez donc :
setenv SST_DUALSCREEN 1
Les pilotes et la librairie Glide sont r�unis dans un unique fichier
compress�. D�compactez/d�tarez les avec tar
et gzip
et suivez
les instructions fournies dans les fichiers README et INSTALL qui accompagnent
le logiciel. Par d�faut, les fichiers sont install�s dans les r�pertoires
lib, bin, include sous /usr/local/glide/
et le chemin d'acc�s aux librairies
correspondants est ajout� au ld.conf
. L'installation des fichiers et la
modification du ld.conf sont des �tapes ind�pendantes. Sans l'�tape de mise �
jour du ld.conf, vous devrez positionner manuellement la variable
d'environnement LD_LIBRARY_PATH.
Les fichiers d'en-t�te doivent �tre visibles par le compilateur si vous
souhaitez compiler vos propres applications graphiques ! Si l'installation par
d�faut ne vous satisfait pas, v�rifiez bien que les biblioth�ques dynamiques
sont accessibles sans quoi vous aurez droit � un
can't load library 'libglide.so'
.
detect
La distribution logicielle inclut le programme bin/detect
( les
sources ne sont pas disponibles ). Le lan�ant sous l'identit� root, vous
obtiendrez quelque chose dans le genre :
slot vendorId devId baseAddr0 command description ---- -------- ------ ---------- ------- ----------- 00 0x8086 0x122d 0x00000000 0x0006 Intel:430FX (Triton) 07 0x8086 0x122e 0x00000000 0x0007 Intel:ISA bridge 09 0x121a 0x0001 0xfb000008 0x0002 3Dfx:video multimedia adapter 10 0x1000 0x0001 0x0000e401 0x0007 ???:SCSI bus controller 11 0x9004 0x8178 0x0000e001 0x0017 Adaptec:SCSI bus controller 12 0x5333 0x88f0 0xf4000000 0x0083 S3:VGA-compatible display co
Permission denied: Failed to change I/O privilege. Are you root?
detect
.
La distribution Glide comprend un r�pertoire avec des programmes de test. Ces programmes sont soumis au copyright 3Dfx. Leur utilisation n'est licite que pour les possesseurs d'une carte munie d'un composant 3Dfx. Reportez vous au fichier LICENSE de la distribution ou au site web www.3dfx.com pour plus de d�tails.
Bien que des binaires soient disponibles, il est recommand� de compiler
soi-m�me les programmes. Certains ex�cutables ont besoins de fichiers tels
alpha.3df
que vous trouverez dans le m�me r�pertoire.
Tous les test ont lieu avec une r�solution de 640 par 480. Certains demanderont
des caract�res, d'autre se cantonneront � afficher
Press A Key To Begin Test
. M�fiez vous d'un �ventuel accaparement
des �v�nements de saisie par X11 si ce dernier fonctionne �galement sur le
m�me �cran.
Le fichier README.test donne la liste des programmes ainsi que divers d�tails.
Ce paragraphe reprend les r�ponses aux questions les plus fr�quemment pos�es sur Usenet ou dans les liste de diffusion. Dans un souci d'efficacit�, les questions ont �t� regroup�es dans diverses parties :
Un compatible PC sous Linux disposant d'un bus PCI compatible avec la sp�cification 2.1, un moniteur supportant le mode 640 par 480 et une carte acc�l�ratrice � base de composant Voodoo Graphics (tm) 3Dfx. Le fonctionnement sera le m�me sur un P5 ou un P6 qu'il poss�de les extension MMX ou non. Les versions actuelles des programmes n'utilisent pas le MMX mais elles ont �t� optimis�es pour le P6.
Certaines phrases pourraient conduire � penser qu'une distribution RedHat est n�cessaire. Bien que Glide pour Linux ait �t� initialement d�velopp� dans un environnement RedHat 4.1, il a �galement �t� utilis� avec d'autres distributions telles la Slackware ou la Debian 1.3.1 voire avec des installations maisons.
Pour l'instant, il n'y a pas de distribution Glide pour Linux hors des plateformes x86. Les sources Glide n'�tant pas disponibles, il vous faudra attendre les binaires. Quantum3D a annonc� une version DEC Alpha. Contactez Daryll Strauss si vous �tes pr�ts � participer au d�veloppement.
Se pose aussi la question du portage des modules �crits en assembleur. Bien qu'un code C �quivalent soit disponible, le module en assembleur de Glide permet une am�lioration significative des performances selon le type de microprocesseur P5.
Pour l'instant, le Voodoo Graphics (tm) 3Dfx est accept�. Le Voodoo Rush (tm) n'est pas encore g�r�.
La version actuelle de Glide pour Linux ne g�re pas le Voodoo Rush (tm). Une mise � jour est en cours de d�veloppement.
A l'origine, le pilote Voodoo Rush (tm) de Glide utilise Direct Draw. On devrait pouvoir utiliser une portion de la biblioth�que d'origine DOS d�s lors que les parties li�es � 2D/Direct Draw/D3D seront remplac�es.
Les cartes Voodoo Rush (tm) telles l'Hercules Stingray 128/3D ou l'Intergraph Intense Rush ne sont donc actuellement pas g�r�es.
Le portage actuel de la librairie Glide ne supporte pas le Voodoo 2 (tm).
Il n'existe pas de carte officielle ( 3Dfx ne fabrique pas de cartes ). Cette section ne vise pas � r�pertorier toutes les cartes disponibles mais seulement � donner un aper�u de ce qui existe en citant au besoin les fauteuses de troubles.
Notez que la gestion d'une carte donn�e sous Linux ne se limite pas � la disponibilit� d'un pilote pour le composant d'acc�l�ration 3D mais requiert �galement une bonne compatibilit� avec la librairie SVGA ou XFree86. Pour l'instant, une solution venant en compl�ment de la carte graphique est pr�f�rable en ce qu'elle vous laisse libre de choisir pour cette derni�re une carte correctement g�r�e sous Linux.
Toutes les cartes Quantum3D Obsidian, ind�pendemment de leur m�moire d�di�e aux textures, de celle affect�e au tampon de m�moire vid�o, du nombre d'unit�s Pixelfx, Texelfx ou SLI, devraient fonctionner. Idem pour les autres cartes � base de Voodoo Graphics (tm) telles la Righteous 3D d'Orchid, la Canopus Pure 3D, la Flash 3D ou la Monster 3D de Diamond. Les cartes reposant sur un Voodoo Rush (tm) ne sont pas support�es.
Les cartes qui ne reposent pas sur des composants fournis pas 3Dfx telles celles que fabriquent S3, Matrox, 3Dlabs et Videologic ne fonctionnent PAS avec les pilotes 3Dfx et d�bordent du cadre de ce document.
Les fabricants de cartes utilisant tous le m�me composant, les diff�rences sont li�es � la conception de la carte. La qualit� du c�ble et des connecteurs peuvent varier ( Orchid semble ainsi �tre meilleur sur ce point que Diamond ), une sortie vid�o suppl�mentaire pour la t�l�vision peut �tre disponible ( Canopus Pure 3D ) et, surtout, les quantit�s de m�moire diff�rent.
Les cartes les plus courantes sont d�di�es au jeu et ne comprennent que 2 Mo de m�moire. La Canopus Pure 3D est cependant fournie avec une m�moire pour les textures allant jusqu'� 4 Mo, ce qui am�liore nettement le rendu des jeux qui modifient dynamiquement les textures ou ont recours � des textures d'illumination ( Quake par exemple ).
Quantum 3D propose la palette de cartes 3Dfx la plus �tendue et vous irez surement chez eux si vous �tes � la recherche d'une carte haut de gamme. Quantum 3D vise le march� de la simulation tandis que la plupart des autres vendeurs se cantonnent au march� des utilisateurs courants de PC.
A ma connaissance il n'existe pas de carte AGP Voodoo Graphics (tm) ni Voodoo Rush (tm). Je ne sais pas o� en est la gestion de l'AGP sous Linux.
Le chipset Voodoo 2 (tm) est pr�vu pour le bus AGP. En fait, il le consid�re comme un bus PCI rapide, et n'utilise pas, � ma connaissance les sp�cificit�s du bus AGP. Le gain en performances est n�anmoins li� � l'augmentation de la vitesse du bus.
Le noyau Linux reconna�tra une carte AGP � base de Voodoo 2 (tm) comme si elle �tait sur un second bus PCI, comme c'est d�j� le cas avec la carte RIVA-128 AGP.
Voici ce que donne /proc/pci
:
Bus 1, device 0, function 0: VGA compatible controller: Unknown vendor Unknown device (rev 16). Vendor id=12d2. Device id=18. Medium devsel. Fast back-to-back capable. IRQ 9. Master Capable. Latency=64. Min Gnt=3.Max Lat=1. Non-prefetchable 32 bit memory at 0xfd000000. Prefetchable 32 bit memory at 0xf6000000.
3Dfx est un fabricant de composants pour l'acc�l�ration graphique 3D bas� � San Jose. Leur site officiel : www.3dfx.com. 3Dfx ne vend pas de cartes, contrairement � d'autres soci�t�s ( Quantum3D par exemple ).
Quantum3D est une entreprise issue de 3Dfx qui fabrique des cartes acc�l�ratrices haut de gamme � base de composants 3Dfx � usage personnel et professionnel. Quantum3D intervient �galement sur le march� des jeux d'arcade. Pour avoir davantage de renseignements, consultez donc leurs pages : www.quantum3d.com Pour toute question concernant Quantum3D, envoyez un message �lectronique � : info@quantum3d.
Le Voodoo Graphics (tm) est un composant �lectronique fabriqu� par 3Dfx. Il est employ� dans les cartes d'acc�l�ration graphique pour PC. Reportez vous � la section du HOWTO concernant le mat�riel.
Le Voodoo Rush (tm) est un d�riv� du Voodoo Graphics (tm) muni d'une interface pour op�rer de concert avec un acc�l�rateur graphique VGA 2D. Les fonctions acc�l�ratrices peuvent alors �tre restreintes � une fen�tre. Cette possibilit� n'est pas encore g�r�e sous Linux.
Le Voodoo 2 (tm) succ�de, avec des am�liorations, au Voodoo Graphics (tm). Quantum3D, Creative Labs, Orchid Technologies et Diamond Multimedia fournissent des cartes int�grant le Voodoo 2 (tm).
Bien que le Voodoo 2 (tm) soit cens� �tre compatible, une nouvelle version de Glide devra �tre d�velopp�e pour Linux.
Les cartes Voodoo Graphics (tm) ( mais pas les Voodoo Rush (tm) ) sont des cartes acc�l�ratrices cens�es travailler de concert avec une carte VGA 2D. Pour r�sumer, le signal vid�o en sortie de la carte VGA sert d'entr�e � la carte Voodoo Graphics (tm) qui par d�faut se contente de transmettre au moniteur. Si le Voodoo Graphics (tm) est activ� ( par exemple durant un jeu ), il intercepte le signal VGA, bascule l'�cran en 640 par 480, ajuste la fr�quence conform�ment aux exigences du pilote et g�n�re lui m�me le signal vid�o. La carte VGA n'a pas besoin d'�tre inform�e de ce qui se passe et, dans les faits, elle ne l'est pas.
Ce mode op�ratoire pr�sente plusieurs avantages : d'une part le choix de la carte vid�o reste libre, point d'importance sous Linux puisque XFree86 ne peut g�rer toutes les r�visions et variantes des jeux de composants, et d'autre part l'introduction du graphisme 3D acc�l�r� se fait au meilleur prix. La m�daille a son revers : le plantage d'un applicatif utilisant le Voodoo Graphics (tm) risque de bloquer la sortie vid�o usuelle et le signal vid�o transitant par l'interm�diaire VGA est d�t�rior�.
Les composants Voodoo Graphics (tm) comportent deux unit�s. La premi�re contr�le l'acc�s � la m�moire d�di�e aux textures, met en place les textures et passe la main � la seconde unit� qui assure la gestion du tampon de m�moire vid�o. La premi�re partie est nomm�e Texelfx. Il faut savoir que certaines cartes telles l'Obsidian de Quantum3D sont capables d'utiliser deux Texelfx. Selon l'application, on doublera ainsi la puissance de calcul.
Chaque Texelfx peut g�rer 4 Mo de m�moire pour ses textures. Une configuration munie de deux Texelfx dispose de 8 Mo utilisables et ce m�me si seule une unit� est requise par le logiciel. Les deux Texelfx op�rent de concert pour certaines op�rations tel le filtrage tri-lin�aire ou l'illumination qui ont lieu en une seule phase ( ex. GlQuake ). A charge des applications Glide d'utiliser correctement les Texelfx pour acc�der aux performances th�oriques.
On ne peut pas recourir � deux Texelfx afin d'afficher simultan�ment plusieurs triangles textur�s. Soit un triangle ne requiert qu'une seule texture, au tel cas un seul Texelfx est actif, soit deux textures sont utilis�es en une seule passe. Un Texelfx ne peut acc�der qu'� sa m�moire propre.
Il s'agit de la seconde partie d'un composant Voodoo Graphics (tm), charg�e de la gestion du tampon de m�moire vid�o ( mise � jour de la couleur des pixel, etc ... ). Deux Pixelfx peuvent coop�rer en mode dit SLI, doublant ainsi le rythme d'affichage. Les cartes Quantum3D Obsidian offrent cette fonctionnalit�.
Le SLI est une abr�viation pour "Scanline Interleave" ou entrelacement des lignes d'affichage. Dans ce mode de fonctionnement, on relie deux Pixelfx qui calculent le rendu, sur les lignes paires pour l'un, sur les lignes impaires pour l'autre. Chaque Pixelfx ne stocke plus que la moiti� de l'image et du tampon de calcul de profondeur dans sa zone de m�moire propre et le nombre de pixels affichables est ainsi doubl�.
Les Pixelfx peuvent �tre sur deux cartes distinctes reli�es de fa�on ad�quate. Certaines cartes Obsidian supportent le SLI avec le Voodoo Graphics (tm).
Plusieurs cartes pouvant d�coder simultan�ment les m�mes adresses PCI et recevoir les m�mes donn�es, le SLI ne n�cessite pas un surcro�t de bande passante. Sur un autre plan, les donn�es relatives aux textures doivent �tre pr�sentes sur les deux cartes.
Il existe � pr�sent deux types de cartes Quantum3D pour faire du SLI. A l'origine il fallait deux cartes, deux connecteurs PCI et un c�ble de liaison ( Obsidian 100-4440 ). La nouvelle version se comporte � l'identique mais ne n�cessite qu'un seul connecteur PCI ( Obsidian 100-4440SB ).
La diff�rence entre les cartes utilisant les composants Voodoo Graphics (tm) se fait essentiellement sur la quantit� de m�moire et sur son organisation. A cet �gard, les cartes Quantum3D sont d�crites par un sch�ma � trois niveaux. Le sch�ma suivant, qui anticipe le Voodoo 2 (tm), diff�re l�g�rement. A noter que si l'on utilise plusieurs Texelfx, tous doivent poss�der la m�me quantit� de m�moire ( pour les textures ). Idem en ce qui concerne l'utilisation simultan�e de plusieurs Pixelfx;.
"SLI / Pixelfx / Texelfx1 / Texelfx2 "
1/2/2/0
, la quantit� totale de m�moire �tant �gale au minimum
requis de 4Mo. Une Canopus Pure 3D, munie de 6 Mo, est du type
1/2/4/0
. Une Obsidian-2220 avec deux Texelfx; est du type
1/2/2/2
et � une Obsidian SLI-2440 board correspondrait
2/2/4/4
. Une carte double � 2 Pixelfx, chacun poss�dant 2 Texelfx
et 4 Mo de m�moire vid�o, les Texelfx ayant chacun 4 Mo pour les textures,
serait du type 2/4/4/4
pour une quantit� totale de m�moire de
SLI*(Pixelfx+Texelfx1+Texelfx2)
soit 24 Mo.
Non. L'architecture Voodoo Graphics (tm) fonctionne � 16 bpp en interne. Idem pour le Voodoo Rush (tm) et le Voodoo 2 (tm). Quantum3D affirme mettre en oeuvre un affichage � 22 bpp avec un tampon de m�moire vid�o ( 16 bpp ) compress�.
Non. L� encore, l'architecture interne est sur 16 bits. M�me chose pour le Voodoo Rush (tm) et le Voodoo 2 (tm). Quantum3D affirme obtenir une pr�cision effective de 22 bpp pour le tampon de profondeur ( Z-buffer ) avec des calculs en flottant sur 16 bits.
Le jeu de composants Voodoo Graphics (tm) g�re jusqu'� 4 Mo de m�moire vid�o. Avec un tampon double et un tampon de profondeur, 2 Mo de m�moire permettent du 640 par 480 et 4 Mo du 800 par 600.
Le 960 par 720 n'est malheureusement pas accessible. Le Voodoo Graphics (tm) ne peut op�rer que sur des r�solutions divisibles par 32 dans les deux directions, ce qui emm�ne le 960 par 720 � 960 par 736, soit 4,04 Mo de m�moire pour les trois zones de m�moire consid�r�es en 16 bit.
En utilisant deux cartes en SLI, ou une carte avec un double Pixelfx en SLI, chaque tampon de m�moire vid�o n'a plus � stocker qu'une moiti� de l'image. Dans ce cas, 2 fois 4 Mo permettent d'obtenir du 1024 par 768, ce qui constitue de toute fa�on le maximum accessible compte tenu de l'architecture mat�rielle. Vous pourrez certes faire du 1024 par 768 avec un triple tampon mais le mat�riel est incapable de tenir le 1280 par 960 avec un tampon double.
Notez que la pr�sence d'un tampon triple ( les applications ne n�cessitent par de signal VSync de synchronisation ), de m�moire interm�diaire pour la st�r�o ( avec des lunettes � LCD ) ou toute autre configuration particuli�re diminue d'autant la r�solution maximale.
Le composant Voodoo Graphics (tm) accepte au maximum des textures de 256 par 256. Les dimensions des textures doivent �tre des puissances de 2. Il est judicieux de regrouper les textures de petite taille ( 16x16 par exemple ) au sein de textures plus grandes et d'adapter le syst�me de coordonn�es des textures en cons�quence.
Les composants Voodoo Graphics (tm) et Glide g�rent l'extension correspondante de
OpenGL. La derni�re version de Mesa comporte les extensions
GL_EXT_paletted_texture
et
GL_EXT_shared_texture_palette
.
Mettant de c�t� les consid�rations relatives � la garantie et au risque de surchauffe, si vous voulez obtenir de meilleurs performances en augmentant la fr�quence d'horloge, des informations sont disponibles sur le web. Le m�canisme consiste � modifier certaines variables d'environnement Glide.
La fr�quence d'horloge recommand�e d�pend de la carte. Si la fr�quence d'horloge par d�faut de la Diamond Monster 3D est de 50 MHz, son feuillet de sp�cifications vous laisse l'emmener � 57 MHz. Tout d�pend des divers composants utilis�s et de la fa�on dont la carte a �t� con�ue ( en particulier au niveau des temps d'acc�s � la m�moire ). Si vous allez trop loin, des artefacts d'affichage feront leur apparition ( entre autre choses ). Une fr�quence de 57 MHz reste en g�n�ral admissible, ce qui est bien moins le cas du 60 MHz.
L'augmentation de la fr�quence d'horloge provoque un accroissement non-lin�aire de l'�nergie dissip�e. Si vous augmentez de fa�on permanente la fr�quence d'horloge, n'oubliez pas de revoir le m�canisme de refroidissement. Une bonne source de renseignements accessible via le Web est le "3Dfx Voodoo Heat Report" par Eric van Ballegoie. A vos risques et p�rils.
3Dfx a r�dig� une FAQ qui devrait se trouver � l'adresse suivante : web site. Vous trouverez des informations sur la vente aux adresses suivantes : www.3dfx.com et www.quantum3d.com.
Certains sites non-officiels sont bien renseign�s : www.ve3d.com, www.ve3d.com.
Glide comprend une API propri�taire et des pilotes pour la gestion des acc�l�rateurs graphiques 3D reposant sur les composants fabriqu�s par 3Dfx. Glide est disponible pour DOS, Windows et Macintosh. Daryll Strauss a effectu� le portage Linux.
La distribution comprend une biblioth�que libtexus.so
( 3Dfx Interactive Texture Utility Software ). Il s'agit d'une
biblioth�que de fonctions utilitaires et de traitement de l'image
qui met en forme les images avant leur traitement dans la
biblioth�que 3Dfx Interactive Glide. Cette biblioth�que
inclut des fonctions de conversion de formats de fichiers, la
cr�ation de mipmap et la gestion des textures 3Dfx compress�es
( 3Dfx Interactive Narrow Channel Compression ).
Le programme texus
lit les images dans divers formats
courants ( TGA, PPM, RGT ), g�n�re des mipmaps et �crit les images
sous forme de textures 3Dfx ( reportez vous par exemple
au fichier alpha.3df disponible dans la distribution ). Pour les
d�tails relatifs aux param�tres de texus
et � l'API,
reportez vous � la documentation TexUS.
Non. Glide n'est pas en GPL ni couvert par une quelconque license du m�me type. Tous les d�tails se trouvent dans le fichier LICENSE de la distribution. Dans les faits, en t�l�chargeant et en utilisant le logiciel, vous acceptez les termes de la license d'utilisateur final tel qu'il se trouve sur le site 3Dfx. Glide est fourni sous forme de binaires et vous ne devez pas utiliser ni distribuer d'autres fichiers que ceux accessibles publiquement si vous n'avez pas sign� un NDA. La distribution Glide comprenant les sources du programme de test est propri�t� de 3Dfx.
Il en est de m�me de toutes les sources disponibles dans la distribution Glide. Selon les termes de 3Dfx : les sources n'appartiennent pas au domaine public mais elles peuvent �tre fournies sans limitations aux possesseurs de produits 3Dfx. Pas de carte, pas de code !
Le SDK 3Dfx est t�l�chargeable via le web : www.3dfx.com/software/download_glide.html. Tout ce qui a trait � 3Dfx et qui est publiquement accessible, se trouve g�n�ralement sur le site 3Dfx.
Il y a �galement un site FTP : ftp.3dfx.com. Le temps de maintien de connexion du FTP est plus long et certains des fichiers les plus volumineux ont �t� d�coup�s en trois ( environ 3 Mo pour chaque partie ).
Non. L'acc�s aux sources de Glide requiert la signature d'un NDA avec 3Dfx.
Actuellement, il n'y a pas de support pour Linux Glide. La distribution est fournie dans les m�mes conditions que la DLL 3Dfx GL ( voir plus bas ).
3Dfx souhaite cependant fournir le meilleur support possible et met en place les outils ad�quats. Pour l'instant, vous devrez vous en remettre au forum USENET de 3Dfx ( voir plus bas ).
Enfin, la page web de Quantum3D annonce un support Linux concernant l'Obsidian sur les architectures Intel et AXP pour le second semestre 97.
Il existe des forums USENET fournis par 3Dfx : news.3dfx.com. Ils sont d�di�s � 3Dfx et � Glide de fa�on g�n�rale et fourniront surtout des indications pour DOS, Windows95 et NT. La liste actuelle est la suivante :
3dfx.events 3dfx.games.glquake 3dfx.glide 3dfx.glide.linux 3dfx.products 3dfx.test
3dfx.oem.products.*
pour les
diff�rentes cartes ( 3dfx.oem.products.quantum3d.obsidian
par exemple ).
Utilisez
news.3dfx.com/3dfx.glide.linux
pour toutes les questions ayant trait � Linux Glide.
Une liste de diffusion sp�cifique � Linux Glide est en
pr�paration pour 1998. Envoyez un courrier �lectronique � :
majordomo@gamers.org,
avec un champ sujet vide et comme corps de message :
info linux-3dfx
. Vous obtiendrez ainsi
des informations sur la liste ( comment souscrire, acc�s aux
archives, conseils de r�daction, etc ... ).
Pour l'instant, utilisez le forum USENET : news.3dfx.com/3dfx.glide.linux. Un support officiel par courrier �lectronique n'est pas encore disponible. Pour tout ce qui n'est pas sp�cifique � Linux Glide, postez dans les autres forums.
3Dfx nommera bient�t quelqu'un pour s'occuper officiellement de la maintenance. Le responsable ( officieux ) du portage reste pour le moment Daryll Strauss. Envoyez vos avis de bug dans le forum ad�quat ( cf ci-dessus ). Si vous �tes persuad� d'avoir identifi� un bug non-repertori�, �crivez � Daryll : daryll@harlot.rb.ca.us
Vous pouvez d�crire de fa�on pr�cise les bugs que vous remarquez. Il est �galement possible de fournir un programme d'exemple pour la distribution. L'am�lioration des sources du pilote Mesa Voodoo bas� sur Glide serait la bienvenue. Reportez vous � la section sur Mesa Voodoo plus bas.
Oui. Pour l'instant, il n'existe pas d'autre pilote Voodoo Graphics (tm) sous Linux. Glide est la seule interface pour dialoguer avec le mat�riel. Vous pouvez n�anmoins �crire du code OpenGL sans rien conna�tre � Glide et utiliser Mesa avec le pilote Mesa Voodoo reposant sur Glide. Savoir � quel point Glide est impliqu� aide cependant � identifier les bugs ainsi que les limitations du pilote.
Tout d�pend de l'application. Glide est une API propri�taire. Elle reste certes voisine d'OpenGL ou de Mesa, mais elle contient quand m�me certaines fonctionnalit�s qui, pour les unes, sont disponibles comme des extensions d'OpenGL et, pour les autres, n'existent nulle part ailleurs.
Si vous souhaitez utiliser l'API OpenGL, vous aurez besoin de Mesa ( cf. plus bas ). Mesa, ou plus exactement le pilote Mesa Voodoo, propose une API voisine de celle d'OpenGL, cette derni�re �tant assez r�pandue et plut�t bien document�e. Le pilote Mesa Voodoo est cependant en phase alpha et il vous faudra accepter des performances parfois limit�es ainsi que l'absence de certaines fonctionnalit�s.
En r�sum�, le choix vous appartient. Si vous voulez les meilleurs performances au prix d'�ventuelles difficult�s lors du portage vers des architectures non-3Dfx, Glide n'est pas un mauvais choix. Si vous vous souciez avant tout de portabilit�, OpenGL sera peut-�tre une meilleure solution � long terme.
La version actuelle de Linux Glide est 2.4. La version suivante sera vraisemblablement identique � la version actuelle pour DOS/Windows, � savoir la 2.4.3. Pour l'instant, certaines parties de Glide sont diff�rentes pour les cartes Voodoo Rush (tm) ( VR ) et Voodoo Graphics (tm) ( VG ). Sous Windows, vous devez donc r�cup�rer la distribution correspondante. Il en sera de m�me sous Linux. Il y aura surement une autre distribution pour les cartes Voodoo 2 (tm) ( V2 ).
Glide 3.0 �tendra l'API aux �ventails et aux rubans de triangles et g�rera les optimisations de changement d'�tat. La gestion des �ventails et des rubans diminuera notablement dans certains cas la quantit� de donn�es transmise par triangle. Le pilote Mesa en b�n�ficiera puisque l'API OpenGL dispose de modes sp�cifiques de ce type. Pour des explications plus d�taill�es, consultez la documentation OpenGL.
Des Texelfx ( ou TMU ) multiples peuvent 2 employ�s lors d'un filtrage tri-lin�aire ( de type mipmap ) avec Linux Glide. La qualit� de l'image est am�lior�e sans pertes de performances. Il vous faudra une carte munie de deux Texelfx ( une des cartes Obsidian de Quantum3D donc ). A charge de l'application de r�clamer l'utilisation des deux Texelfx. Il n'y a rien d'automatique.
Notez d�s � pr�sent que la plupart des applications visent les cartes grand public qui ne sont munies que d'un seul Texelfx. Elles n'envisagent pas l'�ventualit� de la pr�sence d'une seconde unit� et ne s'en servent donc pas. Il ne s'agit pas d'une limitation de Glide mais bien d'une mauvaise conception des applications.
La version publique de Linux Glide devrait �tre identique aux versions disponibles pour DOS/Windows. Les nouvelles versions pour Linux arriveront peut-�tre un peu apr�s celles pour DOS/Windows.
3Dfx fournit des informations exhaustives. Vous pouvez les t�l�charger via leur site web : www.3dfx.com/software/download_glide.html. Ces informations sont disponibles gratuitement d�s lors que vous avez achet� une carte � base de composant 3Dfx. Lisez attentivement les termes du contrat de licence.
Dans un premier temps, vous pouvez vous int�resser aux documents suivants :
Vous trouverez des sources de d�mos pour Glide parmi les programmes de test de la distribution et sur le site de 3Dfx. Certaines parmi ces derni�res n�cessitent ATB : le portage impliquerait la r��criture du gestionnaire d'�v�nements.
En outre, vous trouverez s�rement des choses int�ressantes dans les sources des d�mos OpenGL qui accompagnent Mesa et GLUT. Bien que les API Glide et OpenGL diff�rent, elles se destinent � des mat�riels dont les organisations sont voisines.
Certaines des d�mos 3Dfx pour Glide ne reposent pas seulement sur Glide mais �galement sur la boite � outils pour l'arcade 3Dfx ( ATB ou Arcade ToolBox ). Cette derni�re existe sous DOS et Win32 mais n'a pas encore �t� port�e sous Linux. Si vous �tes un d�veloppeur dans l'�me, les sources sont disponibles dans le cadre du programme "Total Immersion". Le portage devrait donc �tre possible.
En fait, les p�riph�riques Voodoo Graphics (tm) ne se pr�occupent pas de X. Le serveur X ne remarque d'ailleurs m�me pas que le signal vid�o issu du mat�riel VGA n'atteint pas le moniteur. Si vos applications ne font pas attention � X, le passage de Glide en plein �cran risque de soulever des difficult�s ( cf la section de r�solution des probl�mes ). Pour �viter le surcro�t de code charg� d'assurer la cohabitation avec X, utilisez plut�t la console SVGA.
Pour r�sumer, la bonne entente avec XFree86 est possible pour autant que vous vous en occupiez. Vous pouvez avoir recours au "hack de fen�tre" Mesa. Il est plus lent que le mode plein �cran mais reste plus rapide qu'un rendu purement logiciel ( cf la section suivante ).
Les p�riph�riques Voodoo Graphics (tm) ne se soucient gu�re de modes d'op�ration fen�tr�s. Il en est de m�me de Linux Glide. Le hack Mesa � venir permet cependant de copier le contenu du tampon de m�moire vid�o d'une carte Voodoo Graphics (tm) dans une fen�tre X11.
Le probl�me est inh�rent � l'utilisation des cartes Voodoo Rush (tm) sous Linux. A la base, elles sont cens�es jouer un r�le de cartes acc�l�ratrices VGA 2D/3D, que ce soit seules ou en tant que cartes filles. Le composant VGA li� au Voodoo Rush (tm) est un acc�l�rateur multim�dia Promotion-AT3D d'Alliance Semiconducteur. XFree86 requiert un pilote pour le composant AT3D.
Il existe une mailing list et un site web avec une FAQ � ce sujet : www.frozenwave.com/linux-stingray128. Vous y obtiendrez l'information la plus � jour. Suse maintient un pilote : ftp.suse.com/suse_update/special/xat3d.tgz. On signale que le serveur SVGA de XFree86 fonctionne �galement en 8, 16 et 32 bpp. Le support officiel sera vraisemblablement pr�sent dans la version 4.0 de la XFree86. XFree86 s'est d�cid� � mettre au point une distribution interm�diaire, la 3.3.2, qui pourrait tr�s bien r�soudre le probl�me.
La configuration suivante du XF86Config
est
cens�e fonctionner :
# device section settings Chipset "AT24" Videoram 4032 # modes vid�os test�s par Oliver Schaertel # 25.18 28.32 for 640 x 480 (70hz) # 61.60 for 1024 x 786 (60hz) # 120 for 1280 x 1024 (66hz)
Voici un peu plus de pr�cisions techniques : la gestion du Voodoo Rush (tm) exige de la part du serveur X la capacit� d'acc�der � une zone dans la m�moire vid�o de la carte AT3D tandis que le Voodoo Rush (tm) a �galement besoin de cette m�moire pour stocker son second buffer et celui du calcul de profondeur. Le besoin d'allocation et de v�rouillage de la m�moire n'est pas sp�cifique aux composants 3Dfx. On le rencontre �galement dans la gestion des cartes TV capables de saisir l'image. Les d�veloppements XFree86 sont actifs dans ce domaine. Cela implique des changements au niveau o� X est li� au mat�riel ( XAA ), changements qui sont � lors actuel mis en oeuvre via l'extension XFree86 DGA ( Direct Graphics Access ) aux sp�cifications X11R6.1. L'extension fera peut-�tre partie d'une r�alisation GLX d'XFree86. Les serveurs X actuels agissent comme s'ils �taient les seuls � acc�der au tampon de m�moire vid�o et affectent tout ce qui n'est pas directement utilis� pour l'affichage au stockage de pixmaps ( typiquement pour les fontes ).
Il y a quelques difficult�s.
Les p�riph�riques Voodoo Graphics (tm) g�r�s par la version actuelle de Linux Glide ne fonctionnent qu'en plein �cran et ne sont pas pr�vus pour partager leur tampon de m�moire vid�o dans un environnement multi-fen�tres. GLX, ou toute autre int�gration avec X11, n'est donc pas encore r�alisable.
Le Voodoo Rush (tm) devrait accepter de coop�rer avec XFree86 : une carte conforme aux sp�cifications SVGA fonctionnera avec le serveur SVGA XFree86. Cependant, Linux Glide ne supporte pas encore ce composant. Il en est de m�me du serveur S3 et des autres serveurs XFree86.
Enfin, GLX est intimement li� � OpenGL, ou, en ce qui concerne Linux, � Mesa. L'�quipe XFree86 travaille en ce moment � l'int�gration de Mesa avec leurs serveurs X. GLX est en b�ta et les points d'ancrage sont pr�sents dans XFree86 3.3. Reportez vous aux pages GLX de Steve Parker pour des informations les plus � jour : www.cs.utah.edu/~sparker/xfree86-3d/ De plus, XFree86 et SuSe ont joint leurs efforts dans la r�alisation d'un GLX. Cf : www.suse.de/~sim/. Pour l'instant, Mesa �mule toujours de fa�on logicielle GLX avec Linux.
Je n'ai re�u aucun courrier ayant trait � l'utilisation de Glide et/ou de Mesa avec des serveurs X commerciaux. Je suis int�ress� par toute information sur le sujet, notamment s'il existe un serveur X commercial offrant GLX.
Vous ne devriez pas rencontrer de probl�mes avec des applications Glide � un ou deux �crans dans les modes d'affichage VGA. Il peut �galement s'av�rer int�ressant d'activer une r�solution de 640 par 480 parmi les modes SVGA si vous travaillez avec un seul �cran.
Jon Taylor est en train de mettre au point un pilote GGI pour Glide. Il n'est pas encore distribu� officiellement et le restera jusqu'� ce que GGI 0.0.9 soit achev�. Pour davantage d'informations au sujet de GGI, consultez : synergy.caltech.edu/~ggi/. Si vous aimez vivre dangereusement, vous ne r�sisterez pas au charme de la combinaison XGGI ( serveur X pour XFree86 reposant sur GGI ) + GGI pour Glide. Il existe �galement un pilote GGI qui s'interface avec l'API OpenGL. Il a �t� test� avec Mesa sans acc�l�ration. Pour tout r�sumer, cela signifie que X11R6 est disponible sur Voodoo Graphics (tm) gr�ce � Mesa ou � Glide.
OpenGL est une API pour le graphisme de niveau interm�diaire d�velopp�e par SGI � partir de leur interface pr�c�dente Iris GL. OpenGL est devenu un standard il y a de �a quelques ann�es. Il est fourni et maintenu par l'ARB ( Architectural Revision Board ), une organisation � laquelle appartiennent par exemple SGI, IBM, DEC et Microsoft.
OpenGL fournit tout un ensemble de fonctions 2D et 3D pour le rendu de triangles et de polygones sur du mat�riel acc�l�rateur muni d'une architecture en pipeline. De fa�on plus g�n�rale, OpenGL forme un ensemble d'outils puissant pour le graphisme acc�l�r� sur ordinateur.
Le site officiel d'OpenGL, administr� par les membres de l'ARB : www.opengl.org,
On pr�f�rera peut �tre la passerelle vers OpenGL de Mark Kilgard : reality.sgi.com/mjk_asd/opengl-links.html. Ce site contient des pointeurs vers des livres, des pages de manuel en ligne, GLUT, GLE, Mesa, des portages sous divers OS ainsi que de nombreuses d�mos et des outils.
Si le d�veloppement de jeu utilisant OpenGL vous tente, il
existe une liste de diffusion OpenGL-GameDev-L@fatcity.com
accessible via Listserv@fatcity.com
. Il s'agit
d'une liste � contenu fortement technique et dont le d�bit est
tr�s �lev�. Vous recourerez s�rement � procmail
pour
ventiler la centaine de messages quotidiens qui en provient.
Pour r�duire le besoin en bande passante, servez vous de la
commande SET OpenGL-GameDev-L DIGEST
. Cette liste
est inappropri�e si vous cherchez des documents d'introduction.
L'archivage est assur� par le logiciel ListServ. Les commandes
INDEX OpenGL-GameDev-L
et
GET OpenGL-GameDev-L "filename"
permettent de se
faire un id�e avant de souscrire.
Non. Glide est une API propri�taire de 3Dfx dont plusieurs fonctions sont sp�cifiques aux composants Voodoo Graphics (tm) et Voodoo Rush (tm). Une librairie OpenGL 3Dfx est en cours de r�alisation ( voyez plus bas ). Diverses fonctionnalit�s Glide n�cessiteraient des extensions � OpenGL, certaines �tant d�j� disponibles par ailleurs ( les textures palettis�es par exemple ).
La librairie Mesa de Brian Paul et le pilote Mesa Voodoo de David Bucciarelli sont ce qui se rapproche le plus d'une version Linux d'OpenGL acc�l�r�e gr�ce � des p�riph�riques particuliers ( voyez plus bas ).
Les sites web de 3Dfx et de Quantum3D annoncent une version d'OpenGL pour Voodoo Graphics (tm) en fin d'ann�e 1997. Le pilote est actuellement en b�ta et seuls peuvent y acc�der les d�veloppeurs ayant souscrit � un accord de b�ta-test sp�cifique.
Aucun portage vers Linux n'a encore �t� annonc� pour l'instant.
Je n'ai entendu parler de rien de tel. La derni�re fois que je m'y suis int�ress�, ni MetroX, ni XInside ne proposaient OpenGL.
Mesa constitue une r�alisation libre de l'API OpenGL, dont l'auteur est Brian Paul, et � laquelle de nombreuses personnes ont contribu�. Ses performances sont respectables et bien qu'elle ne soit pas certifi�e de fa�on officielle, sa conformit� aux sp�cifications de l'ARB la rend, sinon parfaitement compatible avec OpenGL, du moins plus compl�te que bon nombre de produits commerciaux.
La derni�re version de Mesa 2.6 fonctionne avec Linux Glide 2.4. Bien que ce soit le cas depuis des versions plus anciennes, ce pilote est encore en d�veloppement. Attendez vous donc � des bugs et des performances �loign�es de l'optimum. Les progr�s sont cependant permanents et les correctifs aux bugs viennent souvent assez vite.
Il vous faudra l'archive de la biblioth�que Mesa : iris.ssec.wisc.edu FTP site. Il est �galement conseill� de s'abonner � la liste de diffusion, notamment pour d�busquer les bugs ou les limitations du pilote. V�rifiez que vous disposez bien de la version la plus r�cente. Mesa 3.0 est en pr�paration.
Mesa est disponible pour Linux et Win32. Une application qui s'appuie sur Mesa ne devrait �tre sp�cifique qu'en ce qui concerne le code li� au syst�me. Typiquement il s'agira de passer d'X � Windows ou de WGL � GLX. Si vous avez recours � GLUT ou � Qt, vous devriez �viter toutes les sp�cificit�s dues au syst�me pour une grande majorit� d'applications. Il n'y a que quelques domaines particuliers, comme l'�chantillonage des positions successives de la souris, qui ne sont pas couverts par les GUI portables dont on dispose.
Mesa/Glide est �galement disponible pour DOS. Il s'agit d'un portage 32 bits maintenu par Charlie Wallace qui assure la synchronisation avec Mesa. Pour la derni�re version, reportez vous � : www.geocities.com/~charlie_x/.
La page web de Mesa : www.ssec.wisc.edu/~brianp/Mesa.html. L'archive de la liste de distribution Mesa : www.iqm.unicamp.br/mesa/. Cette liste n'est certes pas d�di�e � 3Dfx ni � Glide mais il s'agit d'un bon point de d�part si le recours au mat�riel 3Dfx pour acc�l�rer Mesa vous int�resse.
Pour les informations les plus � jour sur le pilote Mesa Voodoo de David Bucciarelli tech.hmw@plus.it, reportez vous � la page web : www-hmw.caribel.pisa.it/fxmesa/.
Pas encore en ce qui concerne Mesa 2.6 mais la question est
� l'�tude. Vous disposerez probablement d'une extension OpenGL
EXT_multitexture
sous Mesa une fois qu'elle sera achev�e.
Il n'y a pas de sp�cifications fig�es pour le texturage multiple dans
OpenGL. La version 1.2 d'OpenGL est cens�e pr�ciser les choses.
Les prochaines versions de Mesa incluront peut �tre une mise en
oeuvre sp�cifique au pilote Glide mais ceci ne sera pas une
priorit� tant qu'il ne se trouvera que quelques cartes Obsidian
Quantum3D � int�grer plusieurs TMU. La banalisation des cartes
Voodoo 2 (tm) changera certainement la donne.
Linux Glide g�re cette op�ration mais ce n'est pas le cas de Mesa ( au moins jusqu'� la version 2.6 ). Le d�veloppement est en cours.
La derni�re version de Mesa incorpore une fonctionnalit�
exp�rimentale pour XFree86 sous Linux. L'�mulation GLX
de Mesa copie le dernier tampon de m�moire vid�o mis � jour
depuis la carte Voodoo Graphics (tm) vers la m�moire vid�o pour chaque
appel � la fonction glXSwapBuffers
. Mesa offre
�galement cette possibilit� sous Windows.
Il en r�sulte bien s�r une charge assez importante au niveau du bus PCI, et ce d'autant plus que le m�canisme utilise l'extension SHM du MIT � X11 et non pas le DGA XFree86 lors des acc�s � la m�moire vid�o. On pourrait th�oriquement employer la m�me technique avec SVGA par exemple. Le calcul du rendu limit� � une fen�tre peut donc tirer pleinement parti de la pr�sence d'une carte Voodoo Graphics (tm). De plus, on �vite l'interm�diation VGA qui d�grade le signal vid�o ( les moniteurs haut de gamme tels le EIZO F784-T l'illustrent tr�s bien ).
Notez que cette fonctionnalit� exp�rimentale n'a RIEN � voir avec le Voodoo Rush (tm). Elle ne concerne que les cartes Voodoo Rush (tm), un point c'est tout. Enfin, il est n�cessaire d'utiliser une version modifi�e de GLUT puisque la gestion des �v�nements et la cohabitation avec le gestionnaire de fen�tres sont alors du ressort de l'application ( et non du pilote ! ).
V�rifiez le positionnement des variables suivantes :
export SST_VGA_PASS=1 # to stop video signal switching export SST_NOSHUTDOWN=1 # to stop video signal switching export MESA_GLX_FX="window" # to initiate Mesa window mode
Pour clore le sujet, on remarquera que la biblioth�que libMesaGL.a ( ou celle en .so ) est susceptible de contenir les fonctions d'interfa�age pour diff�rents clients. Ainsi les fonctions GLX, OSMesa et fxMesa ( voir m�me SVGAMesa ) peuvent �tre compil�es au sein d'une unique biblioth�que libMesaGL.a. Un programme client attentif saura les appeler simultan�ment.
La distribution GLUT de Mark Kilgard constitue une excellente ressource pour ce qui est des applications type et des utilitaires. Vous la trouverez � : reality.sgi.com/mjk_asd/glut3/. La derni�re version est GLUT 3.6 et les discussions ont commenc� pour GLUT 3.7 ( alias GameGLUT ). Mark Kilgard ayant r�cemment quitt� SGI, il est possible que l'archive se d�place en cours d'ann�e; pour l'instant elle reste en place sur le site de SGI.
Il existe une liste de diffusion sp�cifique � GLUT :
glut@perp.com
. Envoyez �
majordomo@perp.com
le message suivant :
help info glut subscribe glut end
GLUT g�rant le d�doublement des tampons de m�moire, le fen�trage, les �v�nements et d'autres op�rations fortement li�es au mat�riel et au syst�me d'exploitation, la cohabitation de GLUT avec Voodoo Graphics (tm) n�cessite un support qui est encore en cours de d�veloppement au niveau de GLX pour Mesa. La plupart des situations sont d�j� prises en compte.
Quake GL, encore appel� mini-driver, ou miniport,
ou Game GL, ou GL alpha, ne met en oeuvre qu'un sous
ensemble d'OpenGL orient� vers Quake ( cf
http://www.cs.unc.edu/~martin/3dfx.html
pour une liste officieuse de programmes accept�s ).
Quake GL n'est maintenu par personne et ne b�n�ficie
d'aucun support. A l'origine il s'agissait d'une DLL
Win32 ( opengl32.dll
) fournie par 3Dfx.
Cette DLL n'a pas �t� port�e sous Linux et il n'est pas
pr�vu qu'elle le soit un jour.
Oui. Les binaires de linuxquake v0.97 supportent Mesa et Glide. L'ex�cutable du programme q2test de Quake2 pour Linux et Voodoo Graphics (tm) est �galement disponible. L'apparition en janvier 1998 de linuxquake2-3.10 offre une version compl�te de Quake2 pour Linux. Dave "Zoid" Kirsch est officiellement charg� de tenir � jour les portages Linux de Quake, Quakeworld, Quake2 ainsi les versions Mesa. Notez qu'aucune version de Quake pour Linux ne b�n�ficie du support officiel de la part d'Id Software.
Pour les derni�res versions : ftp.idsoftware.com/idstuff/quake/unix/.
Une mise � jour de Mesa et de la version associ�e de glQuake pour Linux est en cours. Mesa supporte le fen�trage via GLX mais glQuake pour Linux n'a pas recours � GLX.
Essayez d'utiliser le programme pass
fourni avec la distribution
Glide. Tout ce qu'il fait consiste � activer puis d�sactiver la carte.
Si la carte dialogue bien avec la machine, ceci devrait la r�initialiser
(la carte :)). Si la carte est belle et bien bloqu�e, ceci ne fonctionnera
pas et un red�marrage est � envisager.
Voici une liste, � jour au 7 janvier 1998, des probl�mes �ventuels. Est absent tout ce qui n'a pas trait au mat�riel 3Dfx.
Ainsi que Dave Kirsch l'a signal� le 28 janvier 1998, Quake2
pour Linux pr�sente un trou de s�curit�. M�me si le README ne
le mentionne pas particuli�rement, Quake2 ne doit pas �tre
setuid
.
Si vous d�sirez employer les routines de rendu ref_soft
et ref_gl
, il vous faudra ex�cuter Quake2 sous l'identit�
root. N'activez pas le droit attribuant les privil�ges de super
utilisateur � toute invocation du programme !
Le rendu sous X11 ne requiert pas les privil�ges root ( d�s lors
que le /dev/dsp
est accessible � tous en �criture ).
Le serveur associ� n'a bien entendu pas non plus besoin de droits
particuliers.
La question des droits root exig�s par certains jeux est r�currente �
Linux depuis plusieurs ann�es. Entre autre objectifs, le projet GGI
tente de r�soudre ce probl�me. L'avenir devrait apporter un
ref_ggi
.
glQuake offrira vraisemblablement une telle extension d�s lors que le pilote OpenGL impliqu� l'autorisera. Pour l'instant, Mesa et le pilote Glide pour Linux ne g�rent pas cette extension. Le texturage multiple n'est donc pas disponible. Reportez vous � la section sur Mesa et le texturage multiple pour davantage de d�tails.
Essayez les sites suivants : "The Linux Quake Resource" � linuxquake.telefragged.com, ou "Linux Quake Page" � www.planetquake.com/threewave/linux/. Jetez donc un oeil dans la base de donn�es "SlipgateCentral" pour trouver des sites Quake Linux : www.slipgatecentral.com.
Une liste suit. Je ne dispose pas d'une liste achev�e de vendeurs et de cartes vu que l'on n'a pas mis en �vidence de difficult�s li�es � une carte sp�cifique. Pour l'instant, seuls 3Dfx et Quantum3D ont procur� des cartes aux d�veloppeurs afin que ceux-ci les testent. Les cartes Quantum3D s'av�rent donc un choix raisonnable. Toutes les autres cartes � base de composants Voodoo Graphics (tm) sont cens�es fonctionner. Ont �t� signal�es la Righteous 3D d'Orchid, la Maxi 3D Gamer de Guillemot et la Monster 3D de Diamond.
Les fabricants souhaitant valider la compatibilit� de leurs cartes Voodoo Graphics (tm), Voodoo Rush (tm) ou Voodoo 2 (tm) avec les versions � venir de Linux, de XFree86, de Glide pour linux et de Mesa peuvent contacter l'auteur de ce document qui se fera un plaisir de transmettre leur requ�te aux personnes ayant la charge des pilotes concern�s. Si vous �tes tent� par le portage de Linux Glide sur une plateforme autre que les compatibles PC - DEC alpha par exemple -, prenez contact avec Daryll Strauss qui se charge de la mise � jour de Glide pour Linux : daryll@harlot.rb.ca.us
Il faut que vous soyez root ou bien que l'identit� associ�e � votre
application puisse �tre telle ( cf setuid
). Le pilote se
sert du p�riph�rique /dev/mem
pour les transferts DMA. Ce
n'est pas sans raisons que seul root en b�n�ficie du droit d'acc�s.
Reportez vous au README dans la distribution de Glide pour Linux.
Non. Des solutions de remplacement sont en cours de r�alisation.
Si votre configuration n�cessite un interm�diaire VGA analogique, la qualit� d'affichage avec SVGA ou X11 peut s'av�rer d�cevante. Essayez donc un autre c�ble. Ceux qui accompagnent la Monster 3D de Diamond sont notoirement plus mauvais que ceux livr�s avec la Righteous 3D d'Orchid. Quoi qu'il en soit, il y aura toujours une d�gradation r�siduelle.
Si la carte acc�l�ratrice d�livre une image m�diocre en 640 par 480 en plein �cran, un probl�me mat�riel est envisageable. Contactez le fabricant de la carte ( pas 3Dfx ! ) puisque la qualit� du signal vid�o, ind�pendamment du circuit acc�l�rateur, d�pend du choix de la RAMDAC et des composants de sortie.
Vous avez quitt� votre application via Ctrl-C ou d'une autre fa�on brutale. La carte acc�l�ratrice conserve le contenu de son tampon de m�moire vid�o comme source du signal vid�o tant qu'on ne lui demande pas explicitement d'arr�ter.
Lorsqu'une application s'ach�ve dans une configuration � deux �crans, la carte acc�l�ratrice ne fournit plus de signal vid�o et l'�conomiseur se d�clenche. Pour �viter �a :
setenv SST_DUALSCREEN 1
Si X fonctionne en m�me temps qu'une application Glide, la souris se retrouve surement � pointer hors de la fen�tre. Les �v�nements clavier n'atteignent donc plus l'application.
Si votre programme concurrence X11, il est conseill� d'installer une
fen�tre plein �cran ou de se servir des fonctions XGrabPointer
et XGrabServer
tandis que le serveur X est d�sactiv�. Notez
que le recours � XGrabPointer
et � XGrabServer
ne
qualifie pas une application comme particuli�rement propre � l'�gard
de X; le syst�me pourrait ainsi se retrouver bloqu�.
Si vous rencontrez ce probl�me alors que X n'est pas lanc�, v�rifiez qu'il n'y a pas de conflit mat�riel ( voir ci-dessous ).
Si le syst�me ne r�pond plus et que la perte de focus est � exclure, un conflit mat�riel plus ou moins subtil est � envisager. Reportez vous au paragraphe traitant des probl�mes d'installation pour plus de d�tails.
Les difficult�s ne se limitent pas aux conflits d'adresses ( cf ci-dessous ). Si vous �crivez vous m�me vos applications, oublier de fermer ses sommets est une cause courante de blocage. Reportez vous � la section "snapping" de la documentation Glide.
Il existe un probl�me de recouvrement de zones m�moires sp�cifique aux cartes S3. Le site web 3Dfx contient des informations et un patch au probl�me suscit� mais seul Windows est concern�. Certaines cartes S3, typiquement les Diamond Stealth S3 968 les plus anciennes, r�servent davantage de m�moire qu'elles n'en utilisent. Le Voodoo Graphics (tm) doit donc �tre plac� ailleurs. Comme rien de tel n'a �t� signal� avec Linux, peut-�tre s'agit-il d'une *sp�cificit�* Windows ?
Peut-�tre avez vous une carte qui ne g�re pas le PCI de fa�on tout � fait standard. L'ASUS TP4XE poss�de � cet �gard un connecteur dit "Media Slot" c'est-�-dire un connecteur PCI non standard qui �tend ce dernier de fa�on � accueillir certaines cartes ASUS combinant des fonctions son et SCSI. L'auteur de ce document a �prouv� de s�rieuses difficult�s avec une Monster 3D de chez Diamond � laquelle il avait affect� ce connecteur. Le d�placement de la carte vers un connecteur PCI standard a supprim� tous les dysfonctionnements. NdT: si le bios de votre carte ASUS comprend quelque chose sugg�rant un vague couplage des connecteurs PCI 3 et 4, lisez le manuel et essayez d'autre options sans quoi vous risquez des probl�mes d�s qu'une carte quelconque occupera le connecteur maudit !
V�rifiez que vous avez bien recompil� toutes les biblioth�ques,
notamment les paquetages requis par les d�mos. N'oubliez pas que
GLUT ne g�re pas encore le Voodoo Graphics (tm). V�rifiez que vous avez supprim�
les anciennes biblioth�ques, que vous avez relanc� ldconfig
et/ou positionn� correctement votre LD_LIBRARY_PATH
.
Mesa inclut plusieurs pilotes ( MIT SHM pour X11, rendu hors �cran,
Mesa Voodoo ) utilisables simultan�ment et il se peut que vous deviez
changer explicitement le pilote employ� ( reportez vous � la fonction
MakeCurrent
) si le Voodoo Graphics (tm) n'est pas choisi par d�faut.
Si le fonctionnement en mode SLI d'une carte Obsidian Quantum 3D
est interrompu brutalement, les cartes se retrouvent dans un �tat des
plus incertains. Si vous avez deux cartes, vous utiliserez un
programme nomm� resetsli
pour r�initialiser les cartes. Tant
que vous ne l'aurez pas appel�, la r�initialisation des cartes
Obsidian restera impossible.
Le programme resetsli
susmentionn� reste sans effet
sur une carte Obsidian SLI ( � savoir la 100-4440SB ). Rebootez en
appuyant sur le bouton reset pour r�initialiser compl�tement la carte.