This is the Linux 3Dfx HOWTO document. It is intended as a quick reference covering everything you need to know to install and configure 3Dfx support under Linux. Frequently asked questions regarding the 3Dfx support are answered, and references are given to some other sources of information on a variety of topics related to computer generated, hardware accelerated 3D graphics.
This information is only valid for Linux on the Intel platform. Some information may be applicable to other processor architectures, but I have no first hand experience or information on this. It is only applicable to boards based on 3Dfx technology, any other graphics accelerator hardware is beyond the scope of this document.
This document would not have been possible without all the information contributed by other people - those involved in the Linux Glide port and the beta testing process, in the development of Mesa and the Mesa Voodoo drivers, or rewieving the document on behalf of 3Dfx and Quantum3D. Some of them contributed entire sections to this document.
Daryll Strauss email@example.com did the port, Paul J. Metzger firstname.lastname@example.org modified the Mesa Voodoo driver (written by David Bucciarelli email@example.com) for Linux, Brian Paul brianp@RA.AVID.COM integrated it with his famous Mesa library. With respect to Voodoo Graphics (tm) accelerated Mesa, additional thanks has to go to Henri Fousse, Gary McTaggart, and the maintainer of the 3Dfx Mesa for DOS, Charlie Wallace Charlie.Wallace@unistudios.com. The folks at 3Dfx, notably Gary Sanders, Rod Hughes, and Marty Franz, provided valuable input, as did Ross Q. Smith of Quantum3D. The pages on the Voodoo Extreme and Operation 3Dfx websites provided useful info as well, and in some case I relied on the 3Dfx local Newsgroups. The Linux glQuake2 port that uses Linux Glide and Mesa is maintained by Dave Kirsch firstname.lastname@example.org. Thanks to all those who sent e-mail regarding corrections and updates, and special thanks to Mark Atkinson for reminding me of the dual cable setup.
Thanks to the SGML-Tools package (formerly known as Linuxdoc-SGML), this HOWTO is available in several formats, all generated from a common source file. For information on SGML-Tools see its homepage at pobox.com/~cg/sgmltools.
Linux is still not widely recognized as a professional platform despite countless installations representing a small, but increasingly significant market share. With respect to hardware accelerated 3D in general, and 3Dfx chipset based boards in particular, I decided to add a verbose section on which OEM does, and which does not, support use of their respective products with Linux in any way.
Notably, 3Dfx has committed some of their limited resources to support the Linux Glide port. This does not mean official support for using the chipset with Linux, as 3Dfx simply does not have support personnel for this. 3Dfx is also not responsible for supporting a particular board, or OEM product.
Quantum3D has publicly announced Linux support, and is in the process of porting proprietary software to Linux.
The following OEMs and their distributors have provided, or were willing to provide, hardware and/or assistance during the porting and beta testing of Glide for Voodoo Graphics (tm) to Linux: Quantum3D and Datapath (on behalf of Quantum3D), Micronics (on behalf of Orchid). Hercules offered assistance with respect to a Glide for Voodoo Rush (tm) port.
The following explicitely declined to provide any assisance whatsoever: Diamond Multimedia, Intergraph.
With respect to Voodoo 2 (tm), no OEM has so far committed to supporting the necessary Glide for Voodoo 2 (tm) port to Linux, or the extension and testing of Mesa to support Voodoo 2 (tm) specific features.
3Dfx, the 3Dfx Interactive logo, Voodoo Graphics (tm), and Voodoo Rush (tm) are registered trademarks of 3Dfx Interactive, Inc. Glide, TexUS, Pixelfx and Texelfx are trademarks of 3Dfx Interactive, Inc. OpenGL is a registered trademark of Silicon Graphics. Obsidian is a trademark of Quantum3D. Other product names are trademarks of the respective holders, and are hereby considered properly acknowledged.
First version for public release on 12.07.1997.
Second public release, on 6.2.1998.
Current version, as of 28. February 1998.
The verbose revision history below is for internal use only, to provide assistance during the review/copy editing process.
Version 0.1i First version; used for proof-reading purposes only. Version 0.2i Added Flash3D, added Orchid R3D to list of boards known to work, minor fixes. FAQ regarding grSstWinOpen() added, FAQ regarding Glide demos with ATB. Trademark acknowdlegments. Version 0.3i Added Quantum3D statements about Linux support, chipset definitions, Obsidian board. Added a bit on Voodoo architecture. Version 0.4i Official Obsidian taxonomy from Ross Q. Smith. Explanation on setuid from Daryll Strauss. Comments on Voodoo GLUT by David Bucciarelli. Version 0.5i Upgraded to 2.3.1, added Intergraph Intense. Version 1.0i Fixed news.3dfx hierarchy, added bug report group pointer, ready for release. Version 1.01i Corrections from Daryll, SST_DUALSCREEN, snapping vertices, removed setuid/device/XAA discussion. Version 1.02i P5 added to requirements. Removed Banshee. No Intergraph support. FAQ section overiew. Version 1.03 Corrected typos, added Macintosh. Changed wording on grSstOpen error - might be removed entirely. Added a Mesa compilation problems section. More trademarks from the Glide docs. TexUS. ATB doc mentioned. Upp'ed to pending 2.4 release. Version 1.10i Internal revision, for long overdue update. Removed some general accelerated 3D graphics explanations. Stripped some vendor references, as I am not going to keep track of that in all detail. Added some Pixelfx, Texelfx, SLI, AGP, and other 3Dfx specific technical backgrounder. Removed the outdated commercial Linux OpenGL details. Added some more URL's of 3Dfx web and FTP site, ATB info, miniport info. Added some details to the Rush support issue (DirectDraw, SSST96). Added Mesa window hack. Removed the deprecated mdw LDP URL. LDP license link, copyright changed. Link to Stingray FAQ. Added info@quantum3d. Added a memory/board(s) configuration formula. A few GGI changes, resolved SVGA duplicate. Corrected GLUT version number. Version 1.11i Internal revision. Added www.opengl.org, emphasized pointer to Gateway. Added Mark Kilgard to beta mail alias. Added OpenGL GameDev list and ListServ archive reference. Hercules FAQ maintained by Kertis Henderson (email@example.com) confirmed. Added TMU alias to Texelfx entry. FAQ on support for multi TMU in current release. Added mention of seperate VR/VG distributions to current version FAQ. No mention of any upcoming Glide revisions. Added Mesa/Glide combo portability, and Charlie Wallace' DOS port. Moved X vs. AT3D into the X11 section, added technical details on problem to pacify those bitching, mentioned XFree86 18.104.22.168. Added Dirk Hohndel to beta mail alias. Added assembly remark to Alpha port question. Added texture size entry. Replaced max res. 1280x960 for SLI with 1024x768. Added overclocking/cooling comments. Removed outdated Mesa-2.3.x and Glide 2.3 specifics like grSstWinOpen/grSstOpen. Added glQuake in window remark. Removed outdated VoodooGLUT in Mesa remark. Installed SGML-Tools v1.0.3. Added some minimal indexing for RedHat LDP compilation. Switched to Linuxdoc96 for release, as the nidx element has not been added to strict DTD, while idx has. Invisible indices cannot be created prior to ToC - bugger. Formatting: run into the familiar problem with LaTeX styles not updated properly, and a duplicate url.sty in a different location. Manual removal and copy. Run texconfig rehash, fixed read permit on style files. Formatting runs. The url attribute rendering screws up underscores and tilde character. OPP (other people's problem). Strange, a misspelled &3Dfx; entity slips through validation? Version 1.12i Rephrased multitexture in Mesa remark. Clarified the 1024x768 issue, ruled out 1280x960. Reworked info file for firstname.lastname@example.org proposal, rephrased entry. Fixed Glide version 2.4. ATB source hint, whatever it's worth. Fixed 3Dfx/ Quantum corporate entry. Added Linux Quake setuid, an GL related bugs/workarounds from Dave Kirsch's plan. Added LinuxQuake sites. Version 1.13i Added "Internal" marked section, moved revision history out of comment. Have to take out <nidx> indexing after submission to RedHat, because it breaks HTML output. Added "Indexing" marked section, might actually scatter some more indices throughout the document that way. Memory speed mentioned as overclocking issue, lot of typos fixed there. Fixed outdated SGML-Tools URL. Mesa 2.6b5 (current) and 3.0 (upcoming) mentioned. Made separate Mesa multitexturing entry. Also made LinuxQuake multitexturing entry. Version 1.14i Added blatant plug to "supported hardware" section, for Voodoo2 board loans and DEC Alpha. Reworded Glide multitexture section a bit, added Mesa single pass trilinear filtering. Added "as of 2.6b5" to Mesa statements. Version 1.15i Upped Mesa to 2.6b6. Feedback from Daryll, Paul, and Brian so far. Created a Contributors and Contacts section following Paul's suggestion, included all e-mails of those publicly visible (no 3Dfx/Quantum3D mailto). Added single screen dual cable as proposed by Mark Atkinson. Typos. Slightly reworded Quantum3D entry added to How do boards differ. Added two cross references to Mesa window hack. Added single board Obsidian SB SLI, added resetting dual and single board SLI reset problem. Glide 3.0 is publicly talked about, thus added a remark to current version. Keep linux-3dfx mailing list entry. Disclaimer with Mark Kilgards SGI address, GLUT mailing list. Version 1.16 Switched Internal to IGNORE, upped current version, notified LDP. Version 1.16r Indexing added for Red Hat compilation, kindly provided by "Edward C. Bailey" <email@example.com>. Version 1.17i Renamed to 3Dfx-HOWTO to match LDP name, incorporated indexing in my own source. Added dates of previous releases. Some additions to LinuxQuake, made some distinctions between Quake1 and Quake2. Added qkHack Library pointer. Added John Carmack multiTMU statement (omitted misleading memory controller part). Mesa-3.0 and multitexture/trilinear. Remark on trilinear vs. multitexture mutually exclusive with 2 TMU. Added verbose Company and OEM support acknowledgement. Also added "Which board should I buy?" statement. Update on GLX section (ftp.sigkill.org). Added clarifications to supported color depth section. Performance with PPro/PII (MTRR). Linux and AGP, AGP and V2. MMX and non-Intel CPU. Fixed the invisible index tag rendering in SGML-Tools v-1.0.3 locally for HTML and GROFF. Edited Makefile. Version 1.18i Mailing list.
You will find the most recent version of this document at www.gamers.org/dEngine/xf3D/.
New versions of this document will be periodically posted to the comp.os.linux.answers newsgroup. They will also be uploaded to various anonymous ftp sites that archive such information including ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/.
Hypertext versions of this and other Linux HOWTOs are available on
many World-Wide-Web sites, including
sunsite.unc.edu/LDP/. Most Linux CD-ROM
distributions include the HOWTOs, often under the
/usr/doc/directory, and you can also buy printed copies from
If you make a translation of this document into another language, let me know and I'll include a reference to it here.
I rely on you, the reader, to make this HOWTO useful. If you have any
suggestions, corrections, or comments, please send them to me (
firstname.lastname@example.org), and I will try to
incorporate them in the next revision. Please add
HOWTO 3Dfx to the Subject-line of the mail, so procmail
will dump it in the appropriate folder.
Before sending bug reports or questions, please read all of the information in this HOWTO, and send detailed information about the problem.
If you publish this document on a CD-ROM or in hardcopy form, a complimentary copy would be appreciated. Mail me for my postal address. Also consider making a donation to the Linux Documentation Project to help support free documentation for Linux. Contact the Linux HOWTO coordinator, Greg Hankins ( email@example.com), for more information.
Copyright (c) 1997, 1998 by Bernd Kreimeier. This document may be distributed under the terms set forth in the LDP license at sunsite.unc.edu/LDP/COPYRIGHT.html.
This HOWTO is free documentation; you can redistribute it and/or modify it under the terms of the LDP license. This document is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the LDP license for more details.