NOTE: The content of this page may be outdated. Links may not be valid and the steps detailed may no longer work. This page is saved for archival purposes only.
NOTE: This guide only applies to Fedora 11 and newer all older versions are to be considered unsupported.
This guide is meant to help explain how to determine and install the proper kernel driver to enable hardware accelerated graphics on your Nvidia based video card. This guide is intended for Fedora users however much of the information applies to other Linux distributions as well.
NOTE: If you need the quick steps, please read: Determining PCI ID and Installation Using RPMFusion.
In newer versions of Fedora there are 3 options for video drivers that support or allow usage of Nvidia hardware in some form. They are:
The proprietary nvidia driver supports specific hardware in groups. Typically older hardware is supported through various legacy drivers. Currently there is 1 main driver for newest hardware, and 3 legacy drivers. The names of the drivers are not very informative, but according to Nvidia's website they are provided as:
Which driver depends on the specific hardware. The name of the product is typically useful (e.g. GeForce FX5900, Quaddro NV140M), however hardware is best identified using PCI ID's.
To find the PCI ID of a particular device use the lspci command. depending on the version and usage of the lspci command various output is shown. In Fedora, use the following to identify the PCI ID (Note: the grep is added to filter the output):
[mirandam@charon ~]$ /sbin/lspci -nn | grep 'VGA\|NV'
01:00.0 VGA compatible controller [0300]: nVidia Corporation NV34 [GeForce FX 5200] [10de:0322] (rev a1)
Use the PCI ID and look it up under Nvidia's Supported Product List OR using Appendix A. Supported NVIDIA GPU Products in any newer Nvidia driver documentation.
In this example the PCI ID is 0322. According to Appendix A, this ID corresponds to the Legacy version (173.xx series) driver.
Note: It is very important to know which driver your hardware requires. Typically many users will have newer hardware and NOT have to worry about this issue. However users with older hardware who install a newer driver may have non functional X-servers.
There are 2 common ways of installing a driver for Nvidia hardware. Both methods will work and install the driver, however each has advantages and disadvantages.
Using the installer from Nvidia will try to compile a driver for your setup and install it. It will also modify any configuration files required to load. The only requirements for the installer are the necessary kernel files (usually kernel headers and the gcc compiler). This installer is only available through the Nvidia website and has the filename in the form of: NVIDIA-Linux-x86-XYZ.AB.pkg1.run.
The advantage of this method is that it can be run in almost any version of linux and can be installed for custom kernels. It is usually immediately available.
The disadvantage of this method is that the installer is the only application that tracks the modification of the system. If you are using a distribution that uses packag management (i.e. RPM's for Fedora) then the installer may interfere with your package manager and cause problems when you add/remove other software. The most critical problem with this method is that since each install depends on a specific kernel version, if you update and boot into a new kernel the driver will not load. You must manually re-install the driver from the command line since the X-server will not load.
The Nvidia Installer can be extracted and reconfigured into an installable package which is specific to the distribution (RPM, DEB, etc.). Since Fedora uses RPM the driver would be an RPM package(s). The recommended 3rd Party Repository for the Nvidia driver with Fedora is RPMFusion.
The advantage of this method is that it can be installed faster and easier (often a smaller download) using the package manager e.g. YUM in Fedora. The packages can be automatically updated with new kernels and easily added or removed. The most beneficial advantage with this method is that if a newer kernel, X-server or driver is incompatible the package will automatically switch to an alternate driver. This way the X-server access is never lost.
The disadvantage of this method is that depends entirely on the 3rd Party Repository to ensure that updates are available on their servers and properly built to match current kernel releases. Typically in the past many problems relating to repositories, mirror syncing and build issues have reduced the advantages of this method of installation.
NOTE: It is recommended by most distribution developers to use the installation method that most closely aligns with the distribution's package management. Fedora users are strongly recommended to use the RPMFusion repository.
To install the nvidia driver using RPMFusion and YUM.
Install the repository configuration files for YUM.
Run the following commands (enter 'root' password when prompted):
[mirandam@charon ~]$ su -c 'rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm' [mirandam@charon ~]$ su -c 'rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'
Due to the inclusion of nouveau in Fedora 11 and newer, it must first be disabled. After this step, a reboot is recommended.
Edit (as root): /boot/grub/grub.conf
To the end of the default kernel (usually the first), edit the kernel line.
Add the following: rdblacklist=nouveau to the end of the kernel line.
-OR- Modify the initramfs:
[mirandam@charon ~]$ su - Password: [root@charon ~]# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img [root@charon ~]# dracut /boot/initramfs-$(uname -r).img $(uname -r) [root@charon ~]# exit
[mirandam@charon ~]$ su - Password: [root@charon ~]# mv /boot/initrd-$(uname -r).img /boot/initrd-$(uname -r)-nouveau.img [root@charon ~]# mkinitrd /boot/initrd-$(uname -r).img $(uname -r) [root@charon ~]# exit
A reboot is recommended.
Select the proper KMOD (Fedora Kernel Module) which matches the driver you need.
This MUST match the specific driver for the PCI ID you determined earlier.
The following lists what is SUPPORTED BY NVIDIA/RPMFUSION. If you cannot find your driver/hardware combination, then most likely it is not supported.
KMOD's for Fedora 13:
Latest Version | Legacy 173.xx |
kmod-nvidia | kmod-nvidia-173xx |
KMOD's for Fedora 11 and Fedora 12:
Latest Version | Legacy 173.xx | Legacy version 96.xx |
kmod-nvidia | kmod-nvidia-173xx | kmod-nvidia-96xx |
NOTE: (32-bit Users) Users with 'PAE' kernels should use that kmod. This for 32-bit users with 4GB of memory, or users running 32-bit Fedora on 64-bit hardware. Run:
Install the proper KMOD
Using the yum command (enter 'root' password when prompted):
[mirandam@charon ~]$ su -c 'yum install kmod-nvidia'
NOTE: YUM will automatically determine any extra packages needed for the installation. If a new kernel is needed, then a reboot is required before the Nvidia driver will load.
NOTE: Additionally if you prefer using the Graphical Boot Screen (rhgb), please see: Plymouth notes.
MORE INFORMATION: http://rpmfusion.org/Howto/nVidia
Comments, suggestions, questions or any feedback welcome for this page or any of my Resources. Please use the contact link.
Help Out: If you found this guide or any Resource helpful, please consider supporting this site by recommending this page to others or linking to this page. I appreciate all the support I receive. Thank you in advance.
Disclaimer: The author makes no claim to the accuracy of the information provided. This information is provided in the hope that it will be useful, but WITHOUT ANY WARRANTY. There is no implied support from referencing this guide. Any help that is provided is at will. Use this information at your own risk. Always make proper backups and use caution when modifying critical system files.
PLEASE DO NOT mirror, translate or duplicate this page without contacting me.
Copyright © 2003-2013 by Mauriat Miranda (mjmwired.net).