Go to TogaWare.com Home Page.
GNU/Linux Desktop Survival Guide
by Graham Williams
Google

nVidia Video Driver


nVidia does not supply Open Source drivers for GNU/Linux. Thus some extra work is required to get nVidia graphics chips working. Bartok (104.8) has an nVidia Riva Ultra 64 graphics chip. The appropriate driver was installed and configured.

  $ wajig install nvidia-kernel-2.4.25-1-686-smp nvidia-glx

Then edit Path[]/etc/X11/XF86Config-4 to remove the two lines:

  Load    "GLcore"
  Load    "dri"

and to replace:

    Driver          "nv"

with

    Driver          "nvidia"

The nVidia splash screen should then be displayed when X is started.

Compiling the Driver

If the package for your kernel is not available yo ucan compile your own. The process of installing the video drivers for GEForce 256 (Velox (104.33)) and TNT2 (Mint (104.34)) is straightforward. Note that this is no longer required for standard Debian kernels which supply the nvidia-kernel-2.4.25-1-686-smp and nvidia-glx packages. See section 98.1.1 for details.

Install the appropriate Debian packages (with the kernel-headers package that matches your installed kernel):

  $ wajig install nvidia-kernel-src nvidia-glx-src
  $ wajig install kernel-headers-2.4.20-686

Then, assuming you've installed a standard Debian kernel (e.g., kernel-image-2.4.20-686) go to the kernel source directory and unpack the downloaded archives:

  # cd /usr/src
  # tar zxvf nvidia-kernel-src.tar.gz

Debian packages are now generated from these sources with the following steps. First build the nvidia kernel package. As part of this step the file NVIDIA_kernel-1.0-4349.tar.gz (about 700K) will be downloaded from the nVidia archive:

  # export KSRC=/usr/src/kernel-headers-2.4.20-686
  # export KVERS=2.4.20-686
  # cd modules/nvidia-kernel-1.0.4349
  # CC=gcc-2.95 debian/rules binary_modules
  # cd ../.. 
  # wajig install nvidia-kernel-2.4.20-686_1.0.4349-1+_i386.deb

Next build and install the nVidia GLX package. Again, during this step the file NVIDIA_GLX-1.0-4349.tar.gz (about 4.2M) will be retrieved from the nNidia archive:

  # cd nvidia-glx-1.0.4349
  # dpkg-buildpackage -us -uc
  # cd .. 
  # wajig install nvidia-glx_1.0.4349-1_i386.deb

If not already modified, edit /etc/X11/XF86Config-4 to replace

  Driver          "nv"

with

  Driver          "nvidia"

Remove from the Modules section the:

  Load    "GLcore"
  Load    "dri"

Make sure to load the new nVidia module:

  modprobe NVdriver

To have this loaded at boot time add the following line to /etc/modules:

  NVdriver

You can check that it all works by loading some of the GL graphics from xscreensaver. Or run them directly, e.g., "gears" or "evas-demo".

On Mint (104.34) with version 0.9.769 of the nVidia driver there were problems with system freezes. It generally happened in the xscreensaver preferences when trying some of the GL savers (in full screen mode). In window mode outside of xscreensaver they work just fine. Also freezes were occurring when switching between multiple X Window Sessions (C-A-F7 and C-A-F8, for example). The screen would go black. The problem appears to have gone away with version 1.0.2314 of the nVidia driver.

On Velox (104.33) with version 0.9.769 of the nVidia driver running the evas_test demo command crashed the xserver on exit from evas-demo!

Copyright © 1995-2006 Graham.Williams@togaware.com
Contribue and access the PDF Version