XFree86 Setup: Card Specific Setup

First, if you're running Red Hat 7.0, the included libGL.so files are actually from Mesa 3.3. This probably shouldn't be an issue since the files that usually come with XFree86 4.0.1 are also based on Mesa, but we experienced problems with some cards and had to manually replace the files with those from XFree86's FTP site.

Actually verifying that you have 3D acceleration enabled properly can be tricky. Keep an eye on your /var/log/XFree86.0.log file and make sure you see a line that says "direct rendering enabled." The DRI page has a lot of useful information and tools for verifying 3D acceleration.

For most cards, the only thing that needs to be modified is the Driver parameter of the Device section. Here's the rundown:

NVIDIA

NVIDIA cards: use nv to use the driver that comes with XFree86 4.0.1 (support for cards through the first GeForce cards only), or nvidia to use the drivers from NVIDIA's web site (support for GeForce2 cards as well). The driver difference has led to quite a bit of confusion. Much of this is due to the following excerpt from the NVIDIA driver FAQ:

Note: currently released versions of XFree86 4.0.x DO NOT support the newer GeForce2 family of NVIDIA cards. This includes cards such as the GeForce2 GTS, the GeForce2 MX, and the GeForce2 Ultra. This has been fixed in XFree86's CVS repository, but will take a new release before binary distributions pick the support up. If you have one of these cards, you will need to skip attempting to run the "nv" driver at this point.

This does not mean that GeForce2 cards do not work with XFree86 4.0.x. It simply means that the drivers shipped with all current releases of XFree86 won't work with GeForce2 cards. The NVIDIA drivers are easy enough to set up, so don't give up yet. Download the drivers from NVIDIA and install. The tricky part is that they ship different versions of libGL.so and libglx.a (the GLX module). Make sure you remove the previous files so as to avoid accidentally running a program with the wrong library (which would result in no hardware acceleration). XFree86's reside in /usr/X11R6/lib, while libglx.a is in /usr/X11R6/lib/modules/extensions. Note that Red Hat 7.0 includes them in /usr/lib with the Mesa-3.3 package, as mentioned above.

If you're running *BSD or another non-Linux operating system supported by XFree86, you are unable to use NVIDIA's drivers. Try the latest code in XFree86's CVS repository. This code is unstable development code, but we've found that it's generally far from troublesome. It should work with even GeForce2 based cards, but will not provide the performance you see in this article. NVIDIA does not release enough information about their card to even utilize DMA transfers.

Matrox

The XF86Config file listed earlier is actually for a Matrox card, so there is no modification necessary. However, we recommend that you upgrade your driver to the one distributed on Matrox's web site. This driver provides Dual Head functionality as well as improved OpenGL acceleration. If the "beta" status of Matrox's driver strikes you as too stable, DRI's driver (in CVS) adds support for 32bpp rendering.

ATI

For Rage 128 based cards, simply change the Driver line to use "r128". Note that there are hundreds of different ATI cards based on the Rage 128 and they can sometimes identify themselves differently. We've seen reports of people unable to get the drivers to work simply because the card isn't listed as supported. If this happens, you can always try the CVS code from DRI or XFree86.

Radeon drivers are in development but have not been released yet. The development of these drivers is said to also result in higher quality drivers for Rage 128 based cards. Rage Pro cards are not supported (from a 3D acceleration standpoint) at this time, although development is in progress. Support will likely be based on work done on the Utah-GLX project for XFree86 3.3.x. In the meantime, Rage Pro users may use XFree86 3.3.6 along with Utah-GLX and achieve good (for the card) performance.

According to the DRI User Guide, Rage 128 Pro cards are not currently supported. As the driver is being reworked for Radeon and Rage128 cards, we would assume that support will be added when this new driver is available, although we have not checked this with the DRI developers.

3dfx

For all Voodoo cards, use driver "tdfx" in the Driver line. Unfortunately, Red Hat 7.0 fails to include this driver and the corresponding libraries it requires. If you already have XFree86 4.0.1 installed and have the correct libglide3x.so.3 for your card, you can skip the following two paragraphs.

Driver support can actually be very tricky for these cards as they require both drivers and specific versions of the GLIDE library. If you have a Voodoo3 or Voodoo Banshee based card, see 3dfx's driver page located here. If you have a Voodoo5 based card, see 3dfx's driver page located here.

All tests in this article were done using the driver from DRI's CVS tree and GLIDE from CVS as well. This should represent the current state of the drivers currently in development.

Support for the Voodoo5 is fairly recent and only one CPU of the two on-board CPUs is supported. Keep that in mind when reviewing these benchmarks, as scores will improve dramatically as the driver progresses. It is expected that this limitation will be resolved in the future.

Also note that by default, the 3dfx driver caps frame rate to the monitor's refresh. For the purposes of benchmarking, we disabled this by defining the FX_GLIDE_SWAPINTERVAL environment variable to 0.

Intel 815

The on-board video on the Intel 815 chipset is supported by the i810 driver. Change the Driver line of the Device section of your XF86Config file to reference this driver. You must have the agpgart.o kernel module for this to work, so check /lib/modules/ for that file. Our test machine running Red Hat 7.0 came ready to go.

XFree86 Setup: General The Test
Comments Locked

0 Comments

View All Comments

Log in

Don't have an account? Sign up now