How to install the NVIDIA drivers on Fedora 32

The NVIDIA Driver is a program needed for your NVIDIA Graphics GPU to function with better performance. It communicates between your Linux operating system, in this case Fedora 32, and your hardware, the NVIDIA Graphics GPU.

The NVIDIA drivers can be installed by using the bash command after stopping the GUI and disabling the nouveau driver by modifying the GRUB boot menu.

To install Nvidia driver on other Linux distributions, follow our Nvidia Linux Driver guide.

In this NVIDIA Drivers installation guide you will learn:

  • How to install NVIDIA graphic driver automatically using RPM Fusion and Manually using the official NVIDIA driver from nvidia.com.
  • How to identify your NVIDIA graphic card model on your operating system.
  • Where to download the NVIDIA driver package for Fedora 32.
  • How to install prerequisites for a successful Nvidia Driver compilation and installation on Fedora 32.
  • How to disable the nouveau driver.
  • How to successfully install NVIDIA Drivers on your Fedora 32 Linux operating system.
How to install the NVIDIA drivers on Fedora 32

How to install the NVIDIA drivers on Fedora 32

Software Requirements and Conventions Used

Software Requirements and Linux Command Line Conventions
Criteria Requirements
Operating System Fedora 32
Software Existing Desktop installation such as GNOME.
Other Privileged access to your Linux system as root or via the sudo command.
Conventions # – requires given linux commands to be executed with root privileges either directly as a root user or by use of sudo command
$ – requires given linux commands to be executed as a regular non-privileged user

How to install the NVIDIA drivers on Fedora 32 Workstation step by step instructions

Install Nvidia Driver using RPMFusion

Installing the Nvidia driver on Fedora Linux using RPM Fusion is the easiest and recommended way since you do not have to deal with driver re-compiling every-time there is a new kernel update.

  1. Open up the terminal and identify your Nvidia graphic card model by executing:
    $ lspci -vnn | grep VGA
    01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] [10de:1c03] (rev a1) (prog-if 00 [VGA controller])
    
  2. Fully update your system.
    $ sudo dnf update
    
    ATTENTION
    Failing to fully update your system may result in a kernel version mismatch producing the “NVIDIA kernel module missing. Falling back to nouveau.” error message after the nvidia driver installation and system reboot.
  3. Enable RPM fusion:
    $ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm 
    $ sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
    
  4. Lastly install a relevant Nvidia driver package by selecting one of the following options:
    For recent GeForce/Quadro/Tesla execute:
    $ sudo dnf install akmod-nvidia
    For Legacy GeForce 400/500 execute:
    $ sudo dnf install xorg-x11-drv-nvidia-390xx akmod-nvidia-390xx
    For Legacy GeForce 8/9/200/300 execute:
    $ sudo dnf install xorg-x11-drv-nvidia-340xx akmod-nvidia-340xx
    
  5. All done. Reboot your system:

    $ sudo reboot
    
NVIDIA driver on Fedora 32

NVIDIA driver on Fedora 32



Install Nvidia Driver manually

    In case from some reason the installation of Nvidia Driver using RPM fusion fails or you simply wish to have the latest Nvidia driver version which may not be available via RPM fusion channel you might attempt the Nvidia driver manual install.

  1. Open up the terminal and identify your Nvidia graphic card model by executing:
    $ lspci -vnn | grep VGA
    01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] [10de:1c03] (rev a1) (prog-if 00 [VGA controller])
    
  2. Download the Nvidia driver package from nvidia.com using search criteria based on your Nvidia card model and the Linux operating system.
    Download an appropriate Nvidia driver for your VGA card.

    Download an appropriate Nvidia driver for your VGA card.

    Linux Long Lived Branch (LLB) vs Linux Short Lived Branch (SLB)

    Long-Lived Branch drivers provide ISV certification and optimal stability and performance for Unix customers. This driver is most commonly deployed at enterprises, providing support for the sustained bug fix and security updates commonly required.

    Short-Lived Branch drivers provide early adopters and bleeding edge developers access to the latest driver features before they are integrated into the Long-Lived Branches.
    REF: nvidia.com

    Alternatively, if you know what you are doing you can download the driver directly from the Nvidia Linux driver list. Once ready you should end up with a file similar to the one shown below:

    $ ls NVIDIA-Linux-x86_64-*
    NVIDIA-Linux-x86_64-430.50.run
    
  3. Next, install package prerequisites for a successful Nvidia driver compilation and installation.
    $ sudo dnf groupinstall "Development Tools"
    $ sudo dnf install libglvnd-devel
    
  4. Permanently disable the nouveau driver by modifying the GRUB boot menu:
    $ sudo grub2-editenv - set "$(sudo grub2-editenv - list | grep kernelopts) nouveau.modeset=0"
    
  5. Reboot your Fedora 32 Desktop:
    WARNING
    Depending on your Nvidia VGA model your system might misbehave. At this stage be ready to get your hands dirty. After the reboot you may end up without GUI at all. Be sure that you have the SSH Server enabled on your system to be able login remotely or use CTRL+ALT+F2 to switch TTY console and continue with the installation.
    $ sudo reboot
    
  6. The Nvidia drivers must be installed while the Xorg server is stopped. Switch to the text mode by:
    $ sudo  systemctl isolate multi-user.target
    
  7. Install the Nvidia driver by executing the following command via TTY console or remote SSH login:
    $ sudo bash NVIDIA-Linux-x86_64-*
    

    When prompted answer YES to installation of NVIDIA’s 32-bit compatibility libraries and automatic update of your X configuration file.

    NOTE
    ERROR: Unable to find the kernel source tree for the currently running kernel
    In case you receive the above error message during the execution of the below command, follow the kernel source instructions on how to install kernel source on CentOS / RHEL Linux system.
  8. Reboot your system one more time.
    $ sudo reboot

    All done. The Nvidia driver should now be installed on your Fedora 31 Desktop. Reboot your system now, login and run nvidia-settings to further configure your Nvidia graphic card settings.

  9. Installed Nvidia drivers on Fedora 31 Linux GNOME Workstation

    Installed Nvidia drivers on Fedora 32 Linux GNOME Workstation running graphic card benchmark.



Troubleshooting

GDM on Xorg server does not start after user login and user ends up with black screen. The Xorg log contains the following or similar error messages:

[  3515.464] (II) systemd-logind: got pause for 13:68
[  3515.738] (II) systemd-logind: got resume for 13:64
[  3515.757] (II) NVIDIA(0): Setting mode "DFP-1:nvidia-auto-select"
[  3515.793] (II) NVIDIA(0): ACPI: failed to connect to the ACPI event daemon; the daemon
[  3515.793] (II) NVIDIA(0):     may not be running or the "AcpidSocketPath" X
[  3515.793] (II) NVIDIA(0):     configuration option may not be set correctly.  When the
[  3515.793] (II) NVIDIA(0):     ACPI event daemon is available, the NVIDIA X driver will
[  3515.793] (II) NVIDIA(0):     try to use it to receive ACPI event notifications.  For
[  3515.793] (II) NVIDIA(0):     details, please see the "ConnectToAcpid" and
[  3515.793] (II) NVIDIA(0):     "AcpidSocketPath" X configuration options in Appendix B: X
[  3515.793] (II) NVIDIA(0):     Config Options in the README.
[  3515.793] [dix] couldn't enable device 8
[  3515.793] (II) systemd-logind: got resume for 13:66
[  3515.793] [dix] couldn't enable device 6
[  3515.794] (II) systemd-logind: got resume for 13:65
[  3515.794] [dix] couldn't enable device 7
[  3515.794] (II) systemd-logind: got resume for 13:72
[  3515.794] [dix] couldn't enable device 14
[  3515.794] [dix] couldn't enable device 17
[  3515.794] (II) systemd-logind: got resume for 13:71
[  3515.794] [dix] couldn't enable device 13
[  3515.794] (II) systemd-logind: got resume for 13:67
[  3515.794] [dix] couldn't enable device 9
[  3515.794] (II) systemd-logind: got resume for 13:73
[  3515.794] [dix] couldn't enable device 15
[  3515.794] (II) systemd-logind: got resume for 13:69
[  3515.794] [dix] couldn't enable device 11
[  3515.794] [dix] couldn't enable device 16
[  3515.794] (II) systemd-logind: got resume for 13:70
[  3515.794] [dix] couldn't enable device 12
[  3515.794] (II) systemd-logind: got resume for 13:68
[  3515.794] [dix] couldn't enable device 10

Try restart the systemd’s systemd-logind service:

$ sudo systemctl restart systemd-logind