Video Card Common Problems

Common Video Driver Problems

A common complaint with fresh Linux installs on modern hardware is the lack of an acceptable device driver to take advantage of the capabilities that modern graphics cards possess. While numerous possibilities exist to harness these capabilities, both the ATi and Nvidia companies provide binary drivers that enable the 3D portions of their graphics chips to work under Linux.

Specific information regarding ATi graphics cards can be found here

Linux drivers for ATi graphics cards can be found here.

Specific information regarding NVidia graphics cards can be found here (Intel x86 Platform)

Linux drivers for NVidia graphics cards can be found here: (General) (Intel x86 Platform)

Driver distribution among ATi and NVIDIA varies significantly. ATi provides a single RPM containing its drivers. Inside this RPM are a number of pre-compiled drivers for specific versions of the RedHat distribution. For setups sporting a custom kernel, or a distribution other than RedHat, ATi provides a script that compiles a driver suitable for the specific configuration. This compilation process will only work with the gcc compiler, version 2.96 or greater.

ATI provides only two driver downloads. One driver is designed for distributions running XFree86 version 4.1.0, and the other is designed for distributions running 4.2.0. Most recent distributions include 4.2.0. It is recommended that you check the specifics of your distribution to determine which version of XFree86 it uses.

Upon downloading the RPM, navigate to /lib/modules/fglrx , where the unpacked drivers now reside. As root, run the “make_install.sh” script. This can be accomplished by issuing the command “./make_install.sh”. This script detects whether an appropriate driver exists for your kernel. There are several mainstream kernels that are supported. On computers with unsupported kernels, make_install.sh will stop with an error message, indicating you need to build a custom module. Navigate to the build_mod directory, and type “make”. This will produce a module compiled specifically for your kernel. Now /lib/modules/fglrx/build_mod can be run without error.

ATI’s driver is now ready to be installed. Navigate to /usr/X11R6/bin. From there, run “fglrxconfig”. This script will update your xconfiguration to properly reflect the new drivers. Upon completing that, restart XFree86.

NVIDIA provides in two parts. The first is called the “GLX File.” This provides the OpenGL software layer to applications in Linux. To avoid version uncertainty with regards to these files, NVIDIA suggests downloading and running the “NVChooser” script available at their website.

The second part of NVIDIA’s driver is called the kernel driver. The kernel driver provides an interface between Linux’s “guts” (the kernel) and the hardware of your graphics card. Given that the kernel can be compiled numerous ways, NVIDIA provides distribution-specific drivers. These drivers are compatible with the default kernel of a number of versions of Redhat, Suse, Mandrake, and United Linux. If you have one of these distributions, sporting the original kernel, then simply download the driver appropriate for it. If you have compiled a custom kernel, or have a distribution other than those supported by NVIDIA, then download the Source Driver. The Source Driver provides a way to create drivers appropriate for your kernel, no matter which it is. The README file found in the Source Driver tarball gives directions for compiling this driver.

To make sure that new graphics drivers for 3D equipment have been properly installed, run “glxgears” from an X-Terminal. A frame rate around 2000fps indicates that hardware acceleration is being used. Also, “glxinfo” will display information regarding the 3D acceleration XFree86 is using. When 3D drivers have been installed, glxinfo will usually provide the name of the card and information about it. If 3D drivers have not been installed, it will simply display information about the Mesa 3D software library.