Next Previous Contents

1. Introduction

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.

1.1 Contributors and Contacts

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.

1.2 Company and OEM support

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.

1.3 Acknowledgments

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.

1.4 Revision History

Version 1.03

First version for public release on 12.07.1997.

Version 1.16

Second public release, on 6.2.1998.

Version 1.18i

Current version, as of 28. February 1998.

Internal Revision History

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.

   

1.5 New versions of this document

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.

1.6 Feedback

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.

1.7 Distribution Policy

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.


Next Previous Contents