Monday, December 7, 2009

NVidia Drivers on Fedora 12

I'm not the only one who had problems installing the proprietary NVidia drivers on Fedora 12, so I thought I'd post the surprisingly simple solution here. The color profile options and OpenGL support are well worth it:

To save a lot of headaches, install the standard VESA video driver first. On a fresh install, select the second option for installation ("Install with a basic video driver" or something like that). This will allow the NVidia driver setup to load its kernel module without interference from other loaded modules such as the "nv" or "nouveau" drivers. Most errors during installation are a result of other modules being loaded. You can edit grub.conf and blacklist the loaded driver as suggested here, but starting with the VESA driver is much easier.

There has been some confusion surrounding the Supported Hardware lists for different driver versions on the NVidia site. These lists comprise the latest chipsets supported by the driver version; in almost all cases the unified drivers continue to support legacy GPUs. In my case, an NVidia Quadro NVS 135M in a Dell laptop, version 190.53 works fine. Download the latest driver for your platform.

Switch to a console session (e.g., Ctrl+Alt+F2) and shut down X. "init 3" should suffice.

Run the driver setup (sh ./NVIDIA-Linux-x86-190.42-pkg1.run). It should automatically compile the correct kernel module and configure your xorg.conf or equivalent.

Reboot. You should see the NVidia logo when the screen mode switches.

The driver also installs a .desktop launcher for the X Server Settings interface shown above. If you don't see it on your app menu or anywhere else, the utility is called nvidia-settings and can be launched from a terminal window.

Enjoy.

Notes:

To automatically apply any changes made in nvidia-settings when you start X, place the following in your .xinitrc or other startup script: nvidia-settings --load-config-only

There appeared to be a bug in KDE causing a huge delay in menu response when the proprietary NVidia driver is used. My solution was to use GNOME.

Fedora kernel updates may cause the video driver (and therefore X) not to load; if this happens simply reinstall the driver and it should recompile the kernel module.

I have since tried 190.52 and 190.53 on this laptop and found that the Fedora updates were slightly behind the driver releases. If you try a new driver version and it causes performance problems such as the smallest apps showing a "Starting " window for several seconds, wait for another system update then try the driver again.

1 comment:

In my case, based on the nvidia installation log, /var/log/nvidia-installer.log, I surmised that KMS was interfering with the nvidia driver. My solution was to set the "nomodeset" kernel parameter in /etc/grub.conf and to disable SELinux. Your solution is much more elegant.