8089
Comment:
|
10855
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
## page was renamed from Howto/nVidia | |
Line 10: | Line 11: |
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. | 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. |
Line 30: | Line 31: |
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 === Supported on current stable Xorg server release. 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 |
Supported on current stable Xorg server release. This driver is suitable for any GPU found in 2012 and later. {{{ dnf install xorg-x11-drv-nvidia akmod-nvidia dnf install xorg-x11-drv-nvidia-cuda #optional for cuda/nvdec/nvenc support dnf update -y }}} /!\ Please remember to wait after the RPM transaction ends, until the kmod get built. This can take up to 5 minutes on some systems. === Legacy GeForce 400/500 === Supported on current stable Xorg server release. This driver is suitable for any NVIDIA Fermi GPU found between 2010 and 2012 {{{ dnf install xorg-x11-drv-nvidia-390xx akmod-nvidia-390xx dnf install xorg-x11-drv-nvidia-390xx-cuda #optional for cuda up to 9.2 support dnf update -y }}} /!\ Please remember to wait after the RPM transaction ends, until the kmod get built. This can take up to 5 minutes on some systems. === Legacy GeForce 8/9/200/300 === Supported on current stable Xorg server release. {{{ dnf install xorg-x11-drv-nvidia-340xx akmod-nvidia-340xx dnf install xorg-x11-drv-nvidia-340xx-cuda #optional for cuda up to 6.5 support dnf update -y }}} /!\ Please remember to wait until the kmod get built earch time a new kernel rise up. This can take up to 5 minutes on some systems. |
Line 49: | Line 62: |
Supported on current stable Xorg server release. Including Fedora 25 {{{ dnf install xorg-x11-drv-nvidia-304xx akmod-nvidia-304xx "kernel-devel-uname-r == $(uname -r)" dnf update -y }}} |
Supported up to Fedora 27 - EOL, no more nvidia updates {{{ dnf install xorg-x11-drv-nvidia-304xx akmod-nvidia-304xx dnf update -y }}} /!\ Please remember to wait until the kmod get built each time a new kernel rise up. This can take up to 5 minutes on some systems. |
Line 57: | Line 72: |
yum install akmod-nvidia-173xx "kernel-devel-uname-r == $(uname -r)" | yum install akmod-nvidia-173xx |
Line 63: | Line 78: |
yum install akmod-nvidia-96xx "kernel-devel-uname-r == $(uname -r)" | yum install akmod-nvidia-96xx |
Line 70: | Line 85: |
There are additional steps required to work with optimus. Please see the dedicated [[Howto/nVidia_Optimus]]. |
With Fedora 25 and later, Optimus devices are supported automatically by default. Please see the dedicated [[Howto/Optimus|Optimus Howto]]. === Switching between nouveau/nvidia === With recent drivers as packaged with RPM Fusion, it is possible to switch easily between nouveau and nvidia while keeping the nvidia driver installed. When you are about to select the kernel at the grub menu step. You can edit the kernel entry, find the linux boot command line and manually remove the following options "rd.driver.blacklist=nouveau modprobe.blacklist=nouveau". This will allow you to boot using the nouveau driver instead of the nvidia binary driver. At this time, there is no way to make the switch at runtime. |
Line 75: | Line 96: |
Please have a look on the official NVIDIA [[http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/|getting started guide]] | Please have a look on the dedicated [[Howto/CUDA|CUDA Howto]] |
Line 81: | Line 102: |
=== VULKAN === The main package support vulkan, but you need to install the vulkan libraries if requested. |
=== KMS === KMS stands for "Kernel Mode Setting" which is the opposite of "Userland Mode Setting". This feature allows to set the screen resolution on the kernel side once (at boot), instead of after login from the display manager. This feature has early support in the main NVIDIA driver, but is not enabled by default yet as it may crash. To enable, use: {{{ grubby --update-kernel=ALL --args='nvidia-drm.modeset=1' }}} Please have a look at the Wayland section if using it (specially for gnome users). === Vulkan === The main package support Vulkan, but you need to install the vulkan libraries if requested. |
Line 87: | Line 117: |
=== Wayland === Gnome with Wayland and NVIDIA doesn't work by default at this point. With Fedora 29, mutter has support for NVIDIA eglstream but it's disabled at runtime by a udev rules. You need to comment the "DRIVER==nvidia" line in /usr/lib/udev/rules.d/64-gdm.rules. You will also have to comment "WaylandEnable=false" in /etc/gdm/custom.conf === NVENC/NVDEC === RPM Fusion support ffmpeg compiled with NVENC/NVDEC with Fedora 25 and later. You need to have a recent NVIDIA card (see the [[https://developer.nvidia.com/ffmpeg|support matrix]]), and install the cuda sub-package. {{{ dnf install xorg-x11-drv-nvidia-cuda-libs }}} Please have a look on the ffmpeg [[https://trac.ffmpeg.org/wiki/HWAccelIntro#NVENC|HWAccel introduction]] to the feature |
|
Line 93: | Line 136: |
dnf --enablerepo=rpmfusion-nonfree-rawhide install akmod-nvidia | dnf --enablerepo=rpmfusion-nonfree-rawhide install akmod-nvidia xorg-x11-drv-nvidia --nogpgcheck |
Line 100: | Line 143: |
dnf --releasever=25 install akmod-nvidia xorg-x11-drv-nvidia | dnf --releasever=28 install akmod-nvidia xorg-x11-drv-nvidia --nogpgcheck }}} === nvidia-xconfig === This tool is only meant to be used as a sample to create a xorg.conf files. But don't use this directly as the generated xorg.conf is known to broke with many default Fedora/RHEL Xorg server options. Instead, you should probably start with : {{{ cp /usr/share/X11/xorg.conf.d/nvidia.conf /etc/X11/xorg.conf.d/nvidia.conf |
Line 104: | Line 154: |
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'''. | 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. With Current Fedora (not EL), this is handled automatically by RPM (Boolean dependencies). |
Line 110: | Line 160: |
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: | 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: |
Line 115: | Line 165: |
With the native vdpau backend from a nvidia card, the output is similar to this: | With the native vdpau backend from a NVIDIA card, the output is similar to this: |
Line 120: | Line 170: |
Information string: NVIDIA VDPAU Driver Shared Library 280.13 Wed Jul 27 17:15:20 PDT 2011 | Information string: NVIDIA VDPAU Driver Shared Library 375.66 Mon May 1 14:32:38 PDT 2017 |
Line 127: | Line 177: |
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 |
libva info: VA-API version 0.40.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so libva info: Found init function __vaDriverInit_0_40 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.40 (libva ) vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4 |
Line 139: | Line 189: |
An [[Packaging/KernelModules/Akmods|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 '''a'''kmod-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. | An [[Packaging/KernelModules/Akmods|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. |
Line 150: | Line 200: |
Sometimes, Secure Boot blocks the kernel loading the nvidia driver. It can be disabled before booting the OS as a test. | Secure Boot currently blocks the kernel from loading the NVIDIA driver. It must be disabled before booting the OS. |
Line 153: | Line 203: |
Rawhide kernels are built with debug enabled GPL-only symbols which kernel is incompatible with the nvidia binary-only driver. | Rawhide kernels are built with debug enabled GPL-only symbols which kernel is incompatible with the NVIDIA binary-only driver. |
Line 155: | Line 205: |
{{{ dnf config-manager --add-repo=http://dl.fedoraproject.org/pub/alt/rawhide-kernel-nodebug/fedora-rawhide-kernel-nodebug.repo dnf update }}} |
|
Line 163: | Line 217: |
== Uninstall the nvidia driver == | == Uninstall the NVIDIA driver == |
Line 170: | Line 224: |
== 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: |
== 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: |
Line 175: | Line 229: |
dnf re-install xorg-x11-server-Xorg mesa-libGL mesa-libEGL | dnf reinstall xorg-x11-server-Xorg mesa-libGL mesa-libEGL libglvnd\* |
Line 181: | Line 235: |
If you still cannot make the driver to work, you can either report a problem to nVidia or to RPM Fusion packager team. | If you still cannot make the driver to work, you can either report a problem to NVIDIA or to RPM Fusion packager team. |
Line 183: | Line 237: |
Basically, you need to generate an archive and attach it to bugzilla or any paste service. {{{ sudo nvidia-bug-report.sh zcat nvidia-bug-report.log.gz | fpaste }}} |
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.
This driver is suitable for any GPU found in 2012 and later.
dnf install xorg-x11-drv-nvidia akmod-nvidia dnf install xorg-x11-drv-nvidia-cuda #optional for cuda/nvdec/nvenc support dnf update -y
Please remember to wait after the RPM transaction ends, until the kmod get built. This can take up to 5 minutes on some systems.
Legacy GeForce 400/500
Supported on current stable Xorg server release.
This driver is suitable for any NVIDIA Fermi GPU found between 2010 and 2012
dnf install xorg-x11-drv-nvidia-390xx akmod-nvidia-390xx dnf install xorg-x11-drv-nvidia-390xx-cuda #optional for cuda up to 9.2 support dnf update -y
Please remember to wait after the RPM transaction ends, until the kmod get built. This can take up to 5 minutes on some systems.
Legacy GeForce 8/9/200/300
Supported on current stable Xorg server release.
dnf install xorg-x11-drv-nvidia-340xx akmod-nvidia-340xx dnf install xorg-x11-drv-nvidia-340xx-cuda #optional for cuda up to 6.5 support dnf update -y
Please remember to wait until the kmod get built earch time a new kernel rise up. This can take up to 5 minutes on some systems.
Legacy GeForce 6/7
Supported up to Fedora 27 - EOL, no more nvidia updates
dnf install xorg-x11-drv-nvidia-304xx akmod-nvidia-304xx dnf update -y
Please remember to wait until the kmod get built each time a new kernel rise up. This can take up to 5 minutes on some systems.
Legacy GeForce 5 (FX series)
Supported up to Fedora 20 - EOL, no more nvidia updates
yum install akmod-nvidia-173xx yum update -y
Legacy GeForce 2 through GeForce 4
Supported up to Fedora 14 - EOL, no more nvidia updates
yum install akmod-nvidia-96xx yum update -y
Special notes
Optimus
With Fedora 25 and later, Optimus devices are supported automatically by default. Please see the dedicated Optimus Howto.
Switching between nouveau/nvidia
With recent drivers as packaged with RPM Fusion, it is possible to switch easily between nouveau and nvidia while keeping the nvidia driver installed. When you are about to select the kernel at the grub menu step. You can edit the kernel entry, find the linux boot command line and manually remove the following options "rd.driver.blacklist=nouveau modprobe.blacklist=nouveau". This will allow you to boot using the nouveau driver instead of the nvidia binary driver. At this time, there is no way to make the switch at runtime.
CUDA
The driver support CUDA when installing the xorg-x11-drv-nvidia-cuda subpackage. Please have a look on the dedicated CUDA Howto
dnf install xorg-x11-drv-nvidia-cuda
KMS
KMS stands for "Kernel Mode Setting" which is the opposite of "Userland Mode Setting". This feature allows to set the screen resolution on the kernel side once (at boot), instead of after login from the display manager. This feature has early support in the main NVIDIA driver, but is not enabled by default yet as it may crash. To enable, use:
grubby --update-kernel=ALL --args='nvidia-drm.modeset=1'
Please have a look at the Wayland section if using it (specially for gnome users).
Vulkan
The main package support Vulkan, but you need to install the vulkan libraries if requested.
dnf install vulkan
Wayland
Gnome with Wayland and NVIDIA doesn't work by default at this point.
With Fedora 29, mutter has support for NVIDIA eglstream but it's disabled at runtime by a udev rules. You need to comment the "DRIVER==nvidia" line in /usr/lib/udev/rules.d/64-gdm.rules. You will also have to comment "WaylandEnable=false" in /etc/gdm/custom.conf
NVENC/NVDEC
RPM Fusion support ffmpeg compiled with NVENC/NVDEC with Fedora 25 and later. You need to have a recent NVIDIA card (see the support matrix), and install the cuda sub-package.
dnf install xorg-x11-drv-nvidia-cuda-libs
Please have a look on the ffmpeg HWAccel introduction to the feature
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 xorg-x11-drv-nvidia --nogpgcheck
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=28 install akmod-nvidia xorg-x11-drv-nvidia --nogpgcheck
nvidia-xconfig
This tool is only meant to be used as a sample to create a xorg.conf files. But don't use this directly as the generated xorg.conf is known to broke with many default Fedora/RHEL Xorg server options. Instead, you should probably start with :
cp /usr/share/X11/xorg.conf.d/nvidia.conf /etc/X11/xorg.conf.d/nvidia.conf
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. With Current Fedora (not EL), this is handled automatically by RPM (Boolean dependencies).
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 375.66 Mon May 1 14:32:38 PDT 2017 ...
Here is an example of an accurate output of vainfo, when the bridge to the VAAPI is correctly installed.
$ vainfo libva info: VA-API version 0.40.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so libva info: Found init function __vaDriverInit_0_40 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.40 (libva ) vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4 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.
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
Secure Boot currently blocks the kernel from loading the NVIDIA driver. It must be disabled before booting the OS.
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.
dnf config-manager --add-repo=http://dl.fedoraproject.org/pub/alt/rawhide-kernel-nodebug/fedora-rawhide-kernel-nodebug.repo dnf update
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 reinstall xorg-x11-server-Xorg mesa-libGL mesa-libEGL libglvnd\* 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
Basically, you need to generate an archive and attach it to bugzilla or any paste service.
sudo nvidia-bug-report.sh zcat nvidia-bug-report.log.gz | fpaste