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.