5274
Comment: Add option for easier way to disable nouveau
|
8043
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
This howto will help you install the correct nVidia driver for your graphics card as well as troubleshoot common driver problems. | This howto will help you install the correct NVIDIA driver on Fedora for your graphics card as well as troubleshoot common driver problems. The prerequisite is to have followed the [[Configuration]] page to have at least the RPM Fusion nonfree section available. |
Line 11: | Line 14: |
/sbin/lspci | grep VGA | /sbin/lspci | grep -e VGA }}} You can also check the [[http://us.download.nvidia.com/XFree86/Linux-x86/367.57/README/supportedchips.html|supported chips]] section and see which series is recommended for you card, then install the appropriate driver series. Please remember that you need additional steps for optimus. You are probably in the Optimus case if your NVIDIA card is found with the next command: {{{ /sbin/lspci | grep -e 3D |
Line 15: | Line 26: |
== Fedora version notes == <<Anchor(fedora_version_notes)>> === Fedora 12 === Note: nVidia currently doesn't support cards older than Geforce6 on the xorg-x11-server used by Fedora 12. Please verify that the nouveau driver will fit your needs while upgrading. |
== Installing the drivers == Please remember that once the driver is installed, there is no need to configure xorg.conf by default unless you are using an Optimus device. Changes will take effect after a '''''full reboot''''' on the newest kernel. |
Line 21: | Line 29: |
In order to keep [[#nouveau|compatibility with nouveau]], you either need to recreate the initrd manually after the driver has been installed, or add a command line option to the kernel. To recreate the initrd: | === Current GeForce/Quadro/Tesla === Supported on current stable Xorg server release. Including Fedora 25 This driver is suitable for any GPU found in 2010 and later. |
Line 23: | Line 34: |
su - mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img dracut /boot/initramfs-$(uname -r).img $(uname -r) |
dnf install xorg-x11-drv-nvidia akmod-nvidia "kernel-devel-uname-r == $(uname -r)" dnf update -y |
Line 27: | Line 37: |
To use the default initrd, but disable the nouveau driver, edit /etc/grub.conf and add the following to the end of the line(s) starting with 'kernel': | or kmod-nvidia/kmod-nvidia-PAE if using pre-built kmod for kernel/kernel-PAE === Legacy GeForce 8/9/200 === Available up to Fedora 24. Including Fedora 25 |
Line 29: | Line 43: |
rdblacklist=nouveau | dnf install xorg-x11-drv-nvidia-340xx akmod-nvidia-340xx "kernel-devel-uname-r == $(uname -r)" dnf update -y }}} or kmod-nvidia/kmod-nvidia-PAE if using pre-built kmod for kernel/kernel-PAE === Legacy GeForce 6/7 === Available up to Fedora 24. Including Fedora 25 {{{ dnf install xorg-x11-drv-nvidia-304xx akmod-nvidia-304xx "kernel-devel-uname-r == $(uname -r)" dnf update -y }}} === Legacy GeForce 5 (FX series) === Supported up to Fedora 20 - EOL, no more nvidia updates {{{ yum install akmod-nvidia-173xx "kernel-devel-uname-r == $(uname -r)" yum update -y }}} === Legacy GeForce 2 through GeForce 4 === Supported up to Fedora 14 - EOL, no more nvidia updates {{{ yum install akmod-nvidia-96xx "kernel-devel-uname-r == $(uname -r)" yum update -y |
Line 32: | Line 67: |
Before using the driver, you need to lower your system protection so SElinux doesn't prevent the driver to load. {{{ setsebool -P allow_execstack on }}} |
== Special notes == |
Line 37: | Line 69: |
=== Fedora 11 === In order to keep [[#nouveau|compatibility with nouveau]], you need to recreate the initrd manually after the driver has been installed. {{{ su - mv /boot/initrd-$(uname -r).img /boot/initrd-$(uname -r)-nouveau.img mkinitrd /boot/initrd-$(uname -r).img $(uname -r) reboot }}} === Fedora 10 === Unfortunately, nVidia has not released a driver for card older than Geforce 2 that is compatible with Fedora 10 and beyond. |
=== Optimus === There are additional steps required to work with optimus. Please see the dedicated [[Howto/nVidia_Optimus]]. |
Line 50: | Line 73: |
== Installing the drivers == Please remember that once the driver is installed, it will configure your xorg.conf automatically and changes will take effect after a full reboot on the newest kernel. Using nvidia-xconfig or nvidia-settings before the reboot will garanty you problems. === GeForce 6 and newer === |
=== CUDA === The driver support CUDA when installing the xorg-x11-drv-nvidia-cuda subpackage. Please have a look on the official NVIDIA [[http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/|getting started guide]] |
Line 56: | Line 77: |
yum install kmod-nvidia-PAE (or kmod-nvidia if not using kernel-PAE) }}} === GeForce 5 (FX series) === {{{ yum install kmod-nvidia-173xx }}} === GeForce 2 through GeForce 4 === {{{ yum install kmod-nvidia-96xx }}} === Older === For Fedora 9 and older, you can do: {{{ yum install kmod-nvidia-legacy |
dnf install xorg-x11-drv-nvidia-cuda |
Line 74: | Line 81: |
== Special notes == | === VULKAN === The main package support vulkan, but you need to install the vulkan libraries if requested. {{{ dnf install vulkan }}} === Latest/Beta driver === You can install the latest drivers from Rawhide using the following command: {{{ dnf install "kernel-devel == $(uname -r)" dnf update -y dnf --enablerepo=rpmfusion-nonfree-rawhide install akmod-nvidia }}} Or if you want to grab it from the latest fedora stable release: {{{ dnf install "kernel-devel-uname-r == $(uname -r)" dnf update -y dnf --releasever=25 install akmod-nvidia xorg-x11-drv-nvidia }}} |
Line 76: | Line 104: |
If you wish to have 3D acceleration in 32bit packages such as Wine, be sure to install the xorg-x11-drv-nvidia-libs.i386 package for your driver variant. For example, if you installed kmod-nvidia then you will require xorg-x11-drv-nvidia-libs.i386, but if you install kmod-nvidia-'''96xx''', you will need xorg-x11-drv-nvidia-'''96xx'''-libs.i386. | If you wish to have 3D acceleration in 32bit packages such as Wine, be sure to install the appropriate 32bit version of the xorg-x11-drv-nvidia-libs package for your driver variant. For example, if you installed kmod-nvidia then you will require xorg-x11-drv-nvidia-libs.i686, but if you install kmod-nvidia-'''96xx''', you will need xorg-x11-drv-nvidia-'''96xx'''-libs.i686. If using Fedora 11 you will need to use xorg-x11-drv-nvidia-libs.'''i586''', with Fedora 10 or older use xorg-x11-drv-nvidia-libs.'''i386'''. |
Line 78: | Line 107: |
If you are on a 32bit (i686) system and have the PAE kernel installed to access more RAM, please append '''-PAE''' to all the "kmod" pacakges above. For example, '''kmod-nvidia-PAE''' or '''kmod-nvidia-96xx-PAE'''. This will install the kernel module for the PAE kernel instead of the regular 32bit kernel. Please note that this step is not required for any 64bit (x64_64) users. | If you are on a 32bit (i686) system and have the kernel-PAE installed to access more RAM, please install kernel-PAE-devel. Please note that this step is not required for any 64bit (x64_64) users. === VDPAU/VAAPI === In order to enable video acceleration support for your player and if your nvidia card is recent enough (Geforce 8 and later is needed). You can install theses packages: {{{ # dnf install vdpauinfo libva-vdpau-driver libva-utils }}} With the native vdpau backend from a nvidia card, the output is similar to this: {{{ $ vdpauinfo display: :0.0 screen: 0 API version: 1 Information string: NVIDIA VDPAU Driver Shared Library 280.13 Wed Jul 27 17:15:20 PDT 2011 ... }}} Here is an example of an accurate output of vainfo, when the bridge to the VAAPI is correctly installed. {{{ $ vainfo libva: libva version 0.32.0 Xlib: extension "XFree86-DRI" missing on display ":0.0". libva: va_getDriverName() returns 0 libva: Trying to open /usr/lib64/dri/nvidia_drv_video.so libva: va_openDriver() returns 0 vainfo: VA API version: 0.32 vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.3 vainfo: Supported profile and entrypoints ... }}} |
Line 85: | Line 143: |
As nouveau is enabled by default starting with Fedora 11, you may experience problem which is caused by the nouveau kernel module being present in the initrd image. To avoid such problem, after you have installed the right series of the nvidia driver for your hardware and execute the [[#fedora_version_notes|commands specifics]] for a given Fedora version: After the reboot, this command should not output anything: |
As nouveau is enabled by default starting with Fedora 11, you may experience problem which is caused by the nouveau kernel module being present in the initrd image. Once the driver is installed and after the reboot, this command should not output anything: |
Line 92: | Line 149: |
=== Secure Boot === Sometimes, Secure Boot blocks the kernel loading the nvidia driver. It can be disabled before booting the OS as a test. |
|
Line 93: | Line 152: |
== Troubleshooting == If you're experiencing problems with the drivers (in particular, lack of 3D after using nvidia-xconfig or nvidia-settings), try executing these commands: |
=== Rawhide === Rawhide kernels are built with debug enabled GPL-only symbols which kernel is incompatible with the nvidia binary-only driver. You need to use the [[http://fedoraproject.org/wiki/RawhideKernelNodebug|Rawhide nodebug repository]]. Please remind that Xorg server version is also to take into consideration. In the case of incompatibilities with the xorg-server, you might need to downgrade to the previous fedora release: |
Line 96: | Line 158: |
nvidia-config-display disable nvidia-config-display enable |
dnf downgrade xorg-x11-server\* --releasever=22 --allowerasing echo "exclude=xorg-x11*" >> /etc/dnf/dnf.conf |
Line 99: | Line 161: |
This will re-configure xorg.conf for use with the RPM Fusion drivers. | == Uninstall the nvidia driver == {{{ dnf remove xorg-x11-drv-nvidia\* }}} == Recover from nvidia installer == The nvidia binary driver installer overwrite some configuration and libraries. If you want to recover to a clean state, either to use nouveau or the packaged driver, use: {{{ rm -f /usr/lib{,64}/libGL.so.* /usr/lib{,64}/libEGL.so.* rm -f /usr/lib{,64}/xorg/modules/extensions/libglx.so dnf re-install xorg-x11-server-Xorg mesa-libGL mesa-libEGL mv /etc/X11/xorg.conf /etc/X11/xorg.conf.saved }}} |
Line 103: | Line 181: |
If you still cannot make the driver to work, you can either report a problem to nVidia or to rpmfusion packager team. Please read: [[http://www.nvnews.net/vbulletin/showthread.php?t=46678|How to report a problem about the nVidia proprietary driver]] |
If you still cannot make the driver to work, you can either report a problem to nVidia or to RPM Fusion packager team. Please read: [[https://devtalk.nvidia.com/default/topic/522835/linux/if-you-have-a-problem-please-read-this-first/|If you have a problem, PLEASE read this first]] |
Contents
About this Howto
This howto will help you install the correct NVIDIA driver on Fedora for your graphics card as well as troubleshoot common driver problems.
The prerequisite is to have followed the Configuration page to have at least the RPM Fusion nonfree section available.
Determining your card model
nVidia has several driver series, each of which has different hardware support. To determine which driver you need to install, you'll first need to find your graphics card model.
If you don't know it, open a Terminal (Applications > System Tools > Terminal) and type:
/sbin/lspci | grep -e VGA
You can also check the supported chips section and see which series is recommended for you card, then install the appropriate driver series. Please remember that you need additional steps for optimus.
You are probably in the Optimus case if your NVIDIA card is found with the next command:
/sbin/lspci | grep -e 3D
Installing the drivers
Please remember that once the driver is installed, there is no need to configure xorg.conf by default unless you are using an Optimus device. Changes will take effect after a full reboot on the newest kernel.
Current GeForce/Quadro/Tesla
Supported on current stable Xorg server release. Including Fedora 25
This driver is suitable for any GPU found in 2010 and later.
dnf install xorg-x11-drv-nvidia akmod-nvidia "kernel-devel-uname-r == $(uname -r)" dnf update -y
or kmod-nvidia/kmod-nvidia-PAE if using pre-built kmod for kernel/kernel-PAE
Legacy GeForce 8/9/200
Available up to Fedora 24. Including Fedora 25
dnf install xorg-x11-drv-nvidia-340xx akmod-nvidia-340xx "kernel-devel-uname-r == $(uname -r)" dnf update -y
or kmod-nvidia/kmod-nvidia-PAE if using pre-built kmod for kernel/kernel-PAE
Legacy GeForce 6/7
Available up to Fedora 24. Including Fedora 25
dnf install xorg-x11-drv-nvidia-304xx akmod-nvidia-304xx "kernel-devel-uname-r == $(uname -r)" dnf update -y
Legacy GeForce 5 (FX series)
Supported up to Fedora 20 - EOL, no more nvidia updates
yum install akmod-nvidia-173xx "kernel-devel-uname-r == $(uname -r)" yum update -y
Legacy GeForce 2 through GeForce 4
Supported up to Fedora 14 - EOL, no more nvidia updates
yum install akmod-nvidia-96xx "kernel-devel-uname-r == $(uname -r)" yum update -y
Special notes
Optimus
There are additional steps required to work with optimus. Please see the dedicated Howto/nVidia_Optimus.
CUDA
The driver support CUDA when installing the xorg-x11-drv-nvidia-cuda subpackage. Please have a look on the official NVIDIA getting started guide
dnf install xorg-x11-drv-nvidia-cuda
VULKAN
The main package support vulkan, but you need to install the vulkan libraries if requested.
dnf install vulkan
Latest/Beta driver
You can install the latest drivers from Rawhide using the following command:
dnf install "kernel-devel == $(uname -r)" dnf update -y dnf --enablerepo=rpmfusion-nonfree-rawhide install akmod-nvidia
Or if you want to grab it from the latest fedora stable release:
dnf install "kernel-devel-uname-r == $(uname -r)" dnf update -y dnf --releasever=25 install akmod-nvidia xorg-x11-drv-nvidia
x86_64 (64bit) users
If you wish to have 3D acceleration in 32bit packages such as Wine, be sure to install the appropriate 32bit version of the xorg-x11-drv-nvidia-libs package for your driver variant. For example, if you installed kmod-nvidia then you will require xorg-x11-drv-nvidia-libs.i686, but if you install kmod-nvidia-96xx, you will need xorg-x11-drv-nvidia-96xx-libs.i686. If using Fedora 11 you will need to use xorg-x11-drv-nvidia-libs.i586, with Fedora 10 or older use xorg-x11-drv-nvidia-libs.i386.
PAE (Physical Address Extension) kernel users
If you are on a 32bit (i686) system and have the kernel-PAE installed to access more RAM, please install kernel-PAE-devel. Please note that this step is not required for any 64bit (x64_64) users.
VDPAU/VAAPI
In order to enable video acceleration support for your player and if your nvidia card is recent enough (Geforce 8 and later is needed). You can install theses packages:
# dnf install vdpauinfo libva-vdpau-driver libva-utils
With the native vdpau backend from a nvidia card, the output is similar to this:
$ vdpauinfo display: :0.0 screen: 0 API version: 1 Information string: NVIDIA VDPAU Driver Shared Library 280.13 Wed Jul 27 17:15:20 PDT 2011 ...
Here is an example of an accurate output of vainfo, when the bridge to the VAAPI is correctly installed.
$ vainfo libva: libva version 0.32.0 Xlib: extension "XFree86-DRI" missing on display ":0.0". libva: va_getDriverName() returns 0 libva: Trying to open /usr/lib64/dri/nvidia_drv_video.so libva: va_openDriver() returns 0 vainfo: VA API version: 0.32 vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.3 vainfo: Supported profile and entrypoints ...
Akmods
An akmod is a type of package similar to dkms. As you start your computer, the akmod system will check if there are any missing kmods and if so, rebuild a new kmod for you. Akmods have more overhead than regular kmod packages as they require a few development tools such as gcc and automake in order to be able to build new kmods locally. If you think you'd like to try akmods, simply replace kmod with akmod in the instructions above and run them again. For example, kmod-nvidia-96xx becomes akmod-nvidia-96xx. Akmods are fully compatible with regular kmods, so you can switch between the two or even use both at once without any problems.
Nouveau compatibility
As nouveau is enabled by default starting with Fedora 11, you may experience problem which is caused by the nouveau kernel module being present in the initrd image. Once the driver is installed and after the reboot, this command should not output anything:
lsmod |grep nouveau
Secure Boot
Sometimes, Secure Boot blocks the kernel loading the nvidia driver. It can be disabled before booting the OS as a test.
Rawhide
Rawhide kernels are built with debug enabled GPL-only symbols which kernel is incompatible with the nvidia binary-only driver. You need to use the Rawhide nodebug repository.
Please remind that Xorg server version is also to take into consideration. In the case of incompatibilities with the xorg-server, you might need to downgrade to the previous fedora release:
dnf downgrade xorg-x11-server\* --releasever=22 --allowerasing echo "exclude=xorg-x11*" >> /etc/dnf/dnf.conf
Uninstall the nvidia driver
dnf remove xorg-x11-drv-nvidia\*
Recover from nvidia installer
The nvidia binary driver installer overwrite some configuration and libraries. If you want to recover to a clean state, either to use nouveau or the packaged driver, use:
rm -f /usr/lib{,64}/libGL.so.* /usr/lib{,64}/libEGL.so.* rm -f /usr/lib{,64}/xorg/modules/extensions/libglx.so dnf re-install xorg-x11-server-Xorg mesa-libGL mesa-libEGL mv /etc/X11/xorg.conf /etc/X11/xorg.conf.saved
Bug Report
If you still cannot make the driver to work, you can either report a problem to nVidia or to RPM Fusion packager team. Please read: If you have a problem, PLEASE read this first