NOTE: These drivers will NOT work on Voodoo Rush, Voodoo 2 or Voodoo Graphics based cards.
System Requirements:
A Working Install of Linux based on the 2.x kernel with Glibc 2.0 or 2.1
Voodoo Banshee or Voodoo 3 Accelerator
What's new :
10-11-99 - Corrected a few filenames on the page.
9-28-99 - Posted XFree86-3.3.5 server. You only need these files if you are running XFree86-3.3.5.
9-28-99 - Posted Glide_V3-2.60-9.i386.glibc20.rpm. The previous release, Glide_V3-2.60-7.i386-7.glibc20.rpm, had an unnecessary dependency on libNoVersion. This release removes that dependency and simplifies the installation process. However, there are no functional changes in this release, so if you were able to install the previous revision you have no need to upgrade.
Download and installation instructions:
These RPMS should be considered Beta quality as they are still being tested. Installation of a newer Glide package will automatically remove the older Glide package if it is encountered.
3Dfx Device Driver
The 3dfx device driver for /dev/3dfx allows Glide applications to run without root privileges. This package is distributed as a source RPM, as device drivers need to be compiled for each version of the kernel. Your kernel must support modules to use this device driver. You must have development tools installed on your system to create the module. No changes to existing applications are required to use this driver.
All efforts were made to make this device driver stable and safe, but there is no guarantee that problems will not arise. Also note that malicious use of this device driver can be used to crash a Linux system. Access to the device should be limited to those users who need it.
XF86Setup
You may want to use the setup program to help with setting up the server. You'll need to have TCL and the VGA16 server installed on your system to use this setup program. Otherwise you can use whatever setup program comes with your distribution. Just tell the setup program that you have a card it doesn't know about and that it should use the SVGA server. The rest of the information such as ramdac, memory, and clock speeds should be left alone, as the server will determine these automatically.
Determining Glibc Version
To install the 3D driver, you will need to determine if you're running Glibc 2.0 or 2.1. Execute the command "ls /lib/libc*" to see what versions it prints. The most likely choices are 2.0.7 (on RedHat 5.x versions primarily) or 2.1.1 (on most newer distributions).
Determining Xfree86 Version
Before beginning the install, you will need to determine what version of Xfree86 you're running. Voodoo Banshee and Voodoo 3 are only supported on Xfree86 3.3.3 or higher.
If you're running X, execute the command "xdpyinfo | grep vendor". The output should say something like "vendor release number : XXXX". Where XXXX is the version of XFree86 you're running.
If you're not running X, you'll need to check your distribution for the version information. If you're distribution has RPM you can try executing the command "rpm -qi XFree86 | more" and search through the results looking for the text "Version : XXXX" Where XXXX is the version of XFree86 you have installed.
Keep in Mind
There are a few things you need to keep in mind when using the X server :
It's recommended that you run with the 3DFX X server. Other X servers may work, but there is no guarantee.
All 3D applications must be run from within X.
For each full screen 3D resolution you want to use, you must define an X resolution of the same size. We recommend defining at least 640x480 and 800x600 modes. You can use XF86Setup to do this by selecting multiple resolutions in the mode section.
The 2D X server may be run at any depth.
Full screen 3D resolutions always run in 16 bits per pixel.
Installation with RPM
These install instructions are for users who are using RPM to do the install.
Downloading necessary files :
Download Device3Dfx-2.2-3.src.rpm
If you have Glibc 2.1, download Glide_V3-2.60-8.i386.rpm
If you have Glibc 2.0, download Glide_V3-2.60-7.i386.glibc20.rpm0
If you're running XFree86 3.3.3 :
Download XFree86_3DFX-SVGA-3.3.3-5.i386.rpm, and XFree86_3DFX-rushlib-3.3.3-5.i386.rpm.
If you would like to use XF86Setup, download XFree86_3DFX-XF86Setup-3.3.3-5.i386.rpm
If you're running XFree86 3.3.5 :
Download XFree86-SVGA-3.3.5-0.6.1.i386.rpm
If you would like to use XF86Setup, download XFree86-XF86Setup-3.3.5-0.6.1.i386.rpm.
Installing the files
Become root.
configuring the 2D X server :
If you're running XFree86 3.3.3 :
execute the following commands :
rpm -Uvh XFree86_3DFX-SVGA-3.3.3-5.i386.rpm
rpm -Uvh XFree86_3DFX-rushlib-3.3.3-5.i386.rpm
If you would like to use XF86Setup to assist with setting up the X server, execute the following command :
rpm -Uvh XFree86_3DFX-XF86Setup-3.3.3-5.i386.rpm
If you're running XFree86 3.3.5 :
execute the following commands :
rpm -Uvh XFree86-SVGA-3.3.5-0.6.1.i386.rpm
If you would like to use XF86Setup to assist with setting up the X server, execute the following command :
rpm -Uvh XFree86-XF86Setup-3.3.5-0.6.1.i386.rpm
This concludes the installation of the 2D display drivers. Do not continue to the install of the 3D driver until the 2D driver is properly configured. Use XF86Setup to assist with the configuration, or edit the /etc/X11/XF86Config file by hand.
To configure the full screen 3D driver, execute the following commands :
Depending on what Glibc version you're using, execute one of the following commands :
If your system is Glibc 2.1 based, execute the command :
rpm -Uvh Glide_V3-2.60-8.i386.rpm
Otherwise, if your system is Glibc 2.0 based, execute the command :
rpm -Uvh Glide_V3-2.60-7.i386.glibc20.rpm
Because we have installed a new kernel module, you will need to reboot the system or restart the device3dfx kernel module. For ease of installation, it's recommended that you restart the computer with the command "shutdown -r now"
Now we need to test the configuration. **do not skip this step** If you can't run this simple test, no games will function. Execute the following command :
/usr/local/glide/bin/test3Dfx
You should see a soothing blue screen with the text "press a key to quit" in the upper left.
A few other things worth noting:
The 3D driver does appear to play Quake3 Arena Test correctly.
There is a bug in the version of Mesa shipped with the Quake3 test release that will cause a crash if trilinear filtering is used. Either disable trilinear filtering or use the latest snapshot of Mesa.
There is now an environment variable SST_NO_DEV3DFX that tells Glide not to use the device. This means root now uses the device by default.
There is now the ability to place a configuration file in /etc/conf.3dfx/voodoo3 that has values for the form:
# This is a comment
name=value
It is very picky about the format.
FAQ
Q: Why does it use so much memory?
Ps and top report the amount of memory being used by the number of pages mapped to your process. Because the Banshee/Voodoo 3 has 16MB of framebuffer and 32MB of control registers the process size will be at least 48MB. Of course, this is using almost no RAM in your system since it is real memory or registers on the board.
Q: How do I collect the output of the server when it starts up?
If you use sh: startx 2>&1 | tee /usr/tmp/X.log
If you use csh: startx |& tee /usr/tmp/X.log
Q: How do I know if I have glibc or libc5?
Do ls /lib/lib* if it returns /lib/libc.so.5 then you have libc5. If it returns /lib/libc.so.6 then you have glibc (aka libc6).
Installation Difficulties
Should you experience difficulties with installation of the drivers, it is recommended that you direct your questions to the 3dfx linux news groups.