CSUF LogoCSUF Site Navigation

F14 Multimedia-Based Applications & Setup Nvidia Driver

Department of Electrical and Computer Engineering
Associate Professor Gregory R. Kriehn
F14 Nvidia Driver

As of Fedora 11, the default "nv" driver has been replaced with the "nouveau" driver. The goal of the "nouveau" driver is to provide 3D hardware accelerated graphics, but it currently only supports 2D. The "nouveau" driver is certainly much better than the old 2D "nv" driver, but I still enjoy having 3D hardware acclerated support. However, before you go trotting off to www.nvidia.com, there is an important warning that has been given with respect to third party proprietary video drivers:


As a result of this, it is strongly advisable that you do not install a driver directly from nvidia. Instead, install the kmod-nvidia module from RPM Fusion.

The "nvidia" driver has recently been broken into separate groups, with older hardware supported by legacy drivers. There is currently one main driver for the newest hardware, and 3 legacy drivers. These include the current version, and the 173.xx, 96.xx, and 71.xx series of legacy drivers.

To determine which driver needs to be installed on your system, you can use lspci to identify your hardware
~> lspci -nn |grep 'VGA\|NV'
01:00.0 VGA compatible controller [0300]: nVidia Corporation Quadro NVS 160M [10de:06eb] (rev a1)
From there, head over to Appendix A. Supported NVIDIA GPU Products, find your device, and check to see which driver supports it. The PCI ID for my card happens to be 06EB, which is the Quadro NVS 160M, and is supported by their main driver. Next, check to see which kernel module (KMOD) supports your driver:

KMOD's Supported under Fedora 14
Latest NVIDIA Driver
Legacy Version 173.xx
Legacy Version 96.xx

At this point, normally all that is required is to install the appropriate driver via yum and you are off and running:
~> sudo yum install kmod-nvidia
Hit Enter, and and 'y' when asked if you want to install the rpm package and any dependencies.

If you get an error, it is probably because your kernel is more recent than the kernels for which livna has built its Nvidia kernel modules. If this is the case, simply switch back to an older kernel on your Fedora boot menu (I typically keep 2 kernels around), or wait a few days until RPM Fusion builds the most recent graphics acceleration module rpm for your respective kernel. If your kernel is updated, yum should automatically resolve the dependencies and install a new kmod-nvidia module as well. Once installed, reboot, and the Nvidia driver should automatically load. You should see the Nvidia logo quickly flash on your screen before your Login Manager launches.

Removing Old kmod-nvidia modules

After a while you will start to accumulate a number of older nvidia kernel modules. To check how many you have on your system, type:
~> rpm -q kmod-nvidia
Compare these against the kernels installed under /boot, or against the kernel you are currently running:
~> ls /boot
Any kernel modules that are installed that no longer correspond to kernels on your system can be deleted. For example, if I wanted to delete the kernel module associated with the kernel, I would type:
~> sudo rpm -e kmod-nvidia-
Repeat this process for all of your old nvidia kernel modules to keep your system clean. That's about it. The next time you reboot, your nvidia driver should load. To verify, take a look at /etc/X11/xorg.conf, and look for a line that says:
Driver    "nvidia"
If you want to get a feel for how well it performs, there is a nifty little program called glxgears that draws three rotating gears and prints out frame rate information based upon its performance. It is a nice way to get a feel for how fast your graphics card is working. I typically only get about 2000 FPS or so, but that is because I am using a single video card to drive both an analog and digital monitor simultaneously (I've setup a dual head system on my server). On other computers, I've seen it reach much higher. To use the program, type:
~> glxgears
Close the window when finished. On the whole, you should notice X responding much more quickly than it was before.