Installing proprietary graphics card drivers for GNU/Linux

matevz.tadel@cern.ch, 15.4.2005

For distributions using rpm and apt (Scientific Linux and all Fedoras).

Vendor provided drivers drastically increase the performance of OpenGL rendering as many of the GL operations are implemented directly in hardware. Further they optimize usage of memory and AGP/PCI bus. Typically the package consists of a kernel module for low-level communication with the hardware, optimized implementation of the OpenGL library (libGL.so) and a GLX module for the X-server allowing direct GL rendering into an X window.

Both vendors provide driver installation instructions. They are more complete and possibly more up to date.

Use 'lspci' to determine type of graphics card:

 # lspci
 NVIDIA: 01:05.0 VGA compatible controller: nVidia Corporation NV28 [GeForce4 Ti 4800 SE] (rev a1)
 ATI:    01:00.0 VGA compatible controller: ATI Technologies Inc: Unknown device 5b60

Before starting, backup you X config file /etc/X11/XF86Config (or XF86Config-4 or xorg.conf). In case something goes wrong you can restore the old state by putting it back in its place.

NVIDIA

  1. Go to http://www.nvidia.com/ and navigate to Drivers, Linux, select architecture and download the driver package (shell script with binary encoded archive).

  2. Login into the text console as root, stop the X (e.g. type 'telinit 4').

  3. In most cases you'll want to compile the driver locally and you need a configured Linux kernel source for that. Use:

     # rpm -q kernel-source

    to check if it's installed. If not, install by:

     # apt-get install kernel-source
  4. Run the downloaded script: it will guide you through the installation procedure. It's advisable to select local compilation of the kernel module and not to attempt the retrieval of pre-prepared binaries (it will most likely fail).

  5. Edit the X config file /etc/X11/XF86Config (or XF86Config-4 or xorg.conf):

    Complete config file example.

  6. To test settings, type 'X' or, in case of problems, 'X >xout 2>xerr' to inspect the problem.

    If you have no clue, try using a search engine with a query string like

     linux nvidia <paste-your-error-here>

    Search the newsgroups as well.

    When X starts, you can use Ctrl-Alt-Backspace to kill it.

  7. Assuming that everything works, type 'telinit 5' to restart the graphical login. Use 'glxinfo' to get more information about installed GL versions.

ATI

  1. Go to http://www.ati.com/ and navigate Drivers, Linux, then choose FireGL or RADEON, depending on your hardware. The RADEON driver DOES NOT support cards older than 8500.

    After that select appropriate version of X: XFree or XOrg (type 'X -version' or use system package manager if in doubt). There is also a check script provided on the ATI page itself.

  2. Login into the text console as root, stop the X (e.g. type 'telinit 4').

  3. Run fglrxconfig. It will ask you loads of questions and create a rather lengthy X config file /etc/X11/XF86Config (or XF86Config-4 or xorg.conf). Accepting defaults is usually a safe option.

    Complete config file example.

  4. Follow steps 5. and 6. for NVIDIA.