February 20, 2019

3D Graphics Hardware in Linux - page 3


  • May 25, 1999
  • By Will Weisner
3Dfx was the first company whose 3D cards were supported in Linux. This is because the proprietary API they use, called Glide, has recently been ported to Linux. In order to use these cards, one must install Glide, then recompile Mesa to use Glide as a renderer.

The Glide for Linux homepage contains links to the Glide libraries for Voodoo1, Voodoo2, and Voodoo Rush chipsets. The Glide libraries for the Voodoo Banshee and Voodoo3 are found elsewhere at this site. Since the Voodoo 3, Rush and Banshee cards are both 2D and 3D, these pages also contain links to 2D X servers which run with these cards. Installing Glide is as easy as downloading the correct rpm and installing it using:

rpm -Uvh Glide*.rpm

If you are on a system that does not have rpm, then follow the instructions at http://glide.xxedgexx.com/3DfxN oRPMS.html to convert the rpms to a usable package.

The next step is to download Mesa from The Mesa Homepage. The very latest version of Mesa, as of this writing, is 3.1b2, which is available in the "beta" directory on the Mesa ftp site. Optionally, you can download Mesa 3.0, which is the latest stable version. Mesa comes as two tar.gz files, MesaLib and MesaDemos. Download them both and unzip them wherever you wish. They will both unzip into a single directory, Mesa-3.x, where x is the minor version number. I would suggest reading the README, README.LINUX, and README.3DFX files before continuing. When you are ready, type:

make linux-glide

to compile Mesa.

When done, copy the include files and the libraries to where they need to go on your system. To do this, make sure there is no other version of Mesa which might have been installed by your distribution, then:

cd include/
cp -r GL/ /usr/include/

cd ..
cd lib/
cp -d * /usr/lib/

Once this is done, your 3Dfx board will be fully installed.

Some 3Dfx Notes

Because the Glide libraries access the underlying 3D hardware directly, any programs that want to use a 3Dfx board must be run as root. Since this can be somewhat inconvenient, not to mention a large security risk, there exists a good work-around in the form of a 3Dfx kernel module. Once this module is installed, programs write to the device file /dev/3dfx in order to send the card commands. This is very convenient, since allowing or disallowing users access to the 3D card is as easy as changing permissions on the device file.

The 3Dfx kernel module is available at http://www.xs4all.nl/~carlo17/3dfx/. To install it, download the tar.gz and issue the following commands:

mkdir dev3dfx
cd dev3dfx/
tar -zxvf ../Dev3Dfx-2.7.tar.gz
cp 3dfx.o /lib/modules/`uname -r`/misc
mknod /dev/3dfx c 107 0
insmod 3dfx

Then, edit your init scripts so that the "insmod 3dfx" line gets executed at each boot.

Further notes: GlideControl is a utility for tuning a voodoo1 or voodoo2 board under Linux. Simply run it and select the options you would like, and it will set the correct variables for your card.

Finally, an excellent resource for trouble with 3Dfx boards under Linux is the 3Dfx Linux newsgroup. If you are having trouble with a Glide related issue, then post a polite question and wait a day or so for an answer to appear.

Most Popular LinuxPlanet Stories