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 daryll@harlot.rb.ca.us did the port, Paul J. Metzger pjm@rbd.com modified the Mesa Voodoo driver (written by David Bucciarelli tech.hmw@plus.it) 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 zoid@idsoftware.com. 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
(kertis@frozenwave.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 3.3.3.2. 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 linux-3dfx@gamers.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" <ed@redhat.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
several vendors.
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 (
bk@gamers.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 ( gregh@sunsite.unc.edu), 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.