Edit Info Other
Login

NVIDIA"

Differences between revisions 8 and 97 (spanning 89 versions)
Revision 8 as of 2009-11-03 21:40:54
Size: 4656
Comment: Add F12 specific steps for fixing the initrd
Revision 97 as of 2018-02-24 10:50:53
Size: 9771
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from Howto/nVidia
Line 3: Line 4:
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 6: 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 10: Line 15:
/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 13: Line 28:
=== Fedora 10 and 11 ===
Please remember that once the drivers are installed, they will configure your xorg.conf automatically and changes will take effect after a full reboot. There is no need to run nvidia-xconfig or other tools.

==== GeForce 6 and higher ====
{{{
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 ====
Unfortunately, nVidia has not yet released a 71.xx legacy driver compatible with Fedora 10.


=== Fedora 8 and 9 ===
==== GeForce 6 and higher ====
{{{
yum install kmod-nvidia
}}}
==== GeForce 5 (FX series) ====
{{{
yum install kmod-nvidia-173xx
}}}
==== GeForce 2 through GeForce 4 ====
{{{
yum install kmod-nvidia-96xx
}}}
==== Older ====
{{{
yum install kmod-nvidia-legacy
}}}

=== Special notes ===
==== x86_64 (64bit) users ====
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.
==== PAE (Physical Address Extension) kernel users ====
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.

==== Akmods ====
An [[Package/akmod|akmod]] is a new 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.

==== 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. To avoid such problem, after you have installed the right series of the nvidia driver for your hardware, execute the following commands:

'''Fedora 11'''
{{{
su -
mv /boot/initrd-$(uname -r).img /boot/initrd-$(uname -r)-nouveau.img
mkinitrd /boot/initrd-$(uname -r).img $(uname -r)
reboot
}}}

'''Fedora 12'''
{{{
su -
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)
reboot
}}}

After the reboot, this command should not output anything:
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 2010 and later.
{{{
dnf install xorg-x11-drv-nvidia akmod-nvidia
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 8/9/200 ===
Supported on current stable Xorg server release.
{{{
dnf install xorg-x11-drv-nvidia-340xx akmod-nvidia-340xx
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 [[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.

=== CUDA ===
The driver support CUDA when installing the xorg-x11-drv-nvidia-cuda subpackage.
Please have a look on the dedicated [[Howto/CUDA|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. There is a need to have a special version of mutter built with eglstream support.
{{{
dnf copr enable mati865/mutter-eglstream
dnf --disablerepo="*" --enablerepo="mati865-mutter-eglstream" reinstall mutter
}}}
Since wayland is the default with GNOME, if you do not want to install the alternate mutter package, better to uncomment "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
}}}

Please have a look on the ffmpeg [[https://trac.ffmpeg.org/wiki/HWAccelIntro#NVENC|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
}}}

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=27 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. 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 [[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.

=== Nouveau compatibility ===
<<Anchor(nouveau)>>
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 83: Line 183:
==== Race condition with drivers 180.xx and 185.xx ====
If you've experienced hangs with these version, you should consider to add this line to the device section of the xorg.conf file:
{{{
 Option "ConstantFrameRateHint" "True"
}}}
This problem was initilialy reported in our bugzilla as [[http://bugzilla.rpmfusion.org/show_bug.cgi?id=671|potential race condition(?) in binary nvidia 180.xx and 185.xx drivers]]. This will probably be added as a default option unless fixed in a future nvidia driver release.


== 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:
{{{
nvidia-config-display disable
nvidia-config-display enable
}}}
This will re-configure xorg.conf for use with the RPM Fusion drivers.
=== 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 [[http://fedoraproject.org/wiki/RawhideKernelNodebug|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: [[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]]

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 2010 and later.

dnf install xorg-x11-drv-nvidia akmod-nvidia
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 8/9/200

Supported on current stable Xorg server release.

dnf install xorg-x11-drv-nvidia-340xx akmod-nvidia-340xx
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. There is a need to have a special version of mutter built with eglstream support.

dnf copr enable mati865/mutter-eglstream
dnf --disablerepo="*" --enablerepo="mati865-mutter-eglstream" reinstall mutter

Since wayland is the default with GNOME, if you do not want to install the alternate mutter package, better to uncomment "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

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 

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=27 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. 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


CategoryHowto

Howto/NVIDIA (last edited 2024-08-30 16:31:12 by NicolasChauvet)