posted by Robert C. Dowdy on Tue 8th Oct 2002 02:36 UTC

"Nvidia Drivers"
If you have an nVidia graphics card and intend to do any 3D gaming or rendering that benefit from hardware acceleration, you might want to switch over to the latest official nVidia reference drivers. If you do not explicitly need this 3D functionality there is no need to make the switch. In that case you would probably be better served by the default drivers, since those provided by nVidia are widely reported to be less stable than the admittedly less functional drivers XFree86 ships with. That isn't to say that the nVidia drivers are unstable, merely that they introduce extra layers of complexity to your system, and with all such things you should only make changes that serve a vital purpose.

nVidia has yet to provide pre-built drivers for Psyche, so we'll have to build them from source packages. If that sounds intimidating, don't worry, it's actually a fairly trivial matter. First, visit the Linux section of the nVidia driver download area and get the following two files:

NVIDIA_GLX-1.0-3123.src.rpm (at top of page)
NVIDIA_kernel-1.0-3123.src.rpm (at bottom of page)

Save these files to your machine. Now, open up a terminal (konsole, gnome-terminal) and become root (also called superuser). Change to the directory containing the packages and install them with:

cd /path/to/packages

rpm -i NVIDIA* (or rpm -ivh NVIDIA* for verbose output and to print hash marks [#] indicating installation progress)

Since these are only source packages, we haven't actually installed any drivers yet, we've just placed the necessary files onto the system to get us started. To verify that everything is where it should be, issue the command:

ls /usr/src/redhat/SPECS/

You should see two files listed: NVIDIA_GLX.spec and NVIDIA_kernel.spec These two files simply tell RPM how to create packages using the source files. These source files were installed into /usr/src/redhat/SOURCES. Once you're satisfied everything went according to plan:

cd /usr/src/redhat/SPECS

This is the directory the source packages were installed into. /usr/src also contains the source code for the Linux kernel itself (assuming it was selected when you installed Psyche). Once inside the /usr/src/redhat directory, you might want to take a look around and see if you can get a feel for what the various directories are for. If you aren't comfortable with that, don't worry, it's not necessary. Next, the hard part (if you've been exploring, before you proceed make sure your working directory is /usr/src/redhat/SPECS – you can use the pwd command to display this for you):

rpmbuild -bb NVIDIA* (“rpmbuild” should be self-explanatory, the bb means “build binary” -- man rpmbuild at the console or #rpmbuild into Konqueror's address bar or a command box for more information)

It should only take a few minutes for the two packages to be built. You'll see information scrolling by as your request is carried out. Don't worry if you don't know what any of it means, since not many people do. Once the build process finishes, you're almost there. Now, to install the packages we just built:

cd /usr/src/redhat/RPMS/i386/ (this is where rpmbuild puts the packages after they are ready)

rpm -Uvh NVIDIA*

RPM will process for a moment, indicating its progress with hash marks and by displaying a percentage. If all has gone well, you should see both packages install and then be returned to a command prompt. At this point, I would suggest you view the README located on nVidia's website, as it contains a great deal of information about using, troubleshooting and customizing the nVidia drivers. For the impatient, I'll include here the minimum changes you need to make to your system to get the drivers working.

At this point the drivers themselves are installed and ready to go. Now all we have to do is tell XFree86 we want to use them instead of its own drivers. Since this requires making changes to the (vitally important!) XFree86 configuration file, we'll make a backup copy of it before going any further. This is extremely important! Without a clean working copy of this file, you will not be able to access your desktop.

cp /etc/X11/XF86Config /etc/X11/XF86Config-original

Now if you manage to mangle XF86Config you can copy XF86Config-original to XF86Config and start over with a known-good configuration. For those of us who aren't vi or emacs aficionados, Red Hat has included an excellent screen-based text editor called pico. Considering the number of capable and friendly GUI-based editors included with modern Linux distributions, you might question the need for using or even being aware of console-based alternatives -- until, like now, you're doing something that has the potential to render your GUI unavailable. As a general rule, you should always have a familiar console-based editor available for just such times. There are few things more frustrating than needing to make a simple change to a configuration file and being stumped because you have no idea how to do so from the command line. That being said, still as root user, issue the command:

pico -w /etc/X11/XF86Config (always use the -w switch with configuration files, since it prevents pico from applying any line wrapping and thus mangling the file)

Locate the line containing Driver "nv" and replace it with Driver "nvidia". To search in pico you press CTRL+W and enter the search term (shortcuts are displayed at the bottom of the interface). Now, find the section called Module and make sure Load "glx" is one of the entries. If not, add it to the list. Also in the Module section, remove or comment out any lines that contain Load "dri" and Load "GLcore". (You comment out a line by prefacing it with a hash mark, as in #Load "GLcore".)

That's it! You should be ready to go. Save all your work, and press CTRL-ALT-BACKSPACE to restart the X server. If all went well, you should see the nVidia splash screen pop up briefly and then be presented with the standard GDM login screen. Once your desktop has loaded, press ALT+F2 to bring up a command box and type in tuxracer (this assumes TuxRacer is installed, of course) to test your new drivers. If something has gone wrong along the way, make sure the nVidia packages are installed correctly and that your changes to XF86Config are correct (now you'll see why I pointed out the need for a backup file and an easy-to-use editor!).

rpm -qa |grep NVIDIA will query the RPM database for any installed package with "NVIDIA" in its name (as always, case matters). If you don't see both packages listed, something has gone wrong. Back up to the section that explains building the packages and try again.

Table of contents
  1. "Introduction"
  2. "Nvidia Drivers"
  3. "Fonts"
  4. "APT, Mp3 and DVD Playback - Part I"
  5. "APT, Mp3 and DVD Playback - Part II"
  6. "Yes, it is still KDE - Part I"
  7. "Yes, it is still KDE - Part II"
  8. "Red Hat Ambition, Modified KDE"
e p (0)    120 Comment(s)

Technology White Papers

See More