Fedora 23/22/21 nVidia Drivers Install Guide

Nvidia LogoThis is guide, howto install nVidia proprietary drivers on Fedora 23/22/21 and disable Nouveau driver. This guide works with GeForce 6/7/8/9/200/300/400/500/600/700/800/900 series cards.

  • GeForce 400/500/600/700/800/900 series cards works with 352.xx or 358.xx or 361.xx nVidia drivers
  • GeForce 8/9/200/300 series cards works with 340.xx nVidia drivers
  • GeForce 6/7 series cards works with 304.xx nVidia drivers

This is totally different guide than my earlier guides, like Fedora 20 nVidia driver install. This guide uses nVidia drivers directly from nVidia site and dkms to help on kernel updates. Have to say that I have had and heard strange problems with different repos (like RPMFusion) nVidia drivers. So that’s why I decided go back to old school (and bit ugly) method and install nVidia drivers “manually”. I have tested this guide with 304.xx, 340.xx, 352.xx, 358.xx and 361.xx drivers/cards.

With DKMS, you could just update your kernel and your nVidia drivers are compiled automatically. If you want upgrade nVidia drivers, then you have to download new package from nVidia site or use “nvidia-installer –update” option (this works only with latest 361.xx drivers). If you try –update method with 304.xx or 340.xx versions, then you get 361.xx drivers.

Let me know, if you have some problems?

Or if you succeed, you could post output of following commands:

Backup first important files before you start installation. And this is of course at your own risk, because graphic cards, components and monitors are different and some combinations might cause totally unexpected results.

1. Before nVidia drivers installation

1.1 Check is your nVidia card supported

List of Supported NVIDIA GPU Products, if your card found before 340.xx section, then use 352.xx, 358.xx or 361.xx drivers and if between 340.xx and 304.xx sections, then use 340.xx drivers and if after 304.xx section, then use 304.xx drivers.

If you see multiple VGA controllers, then check next step and sometimes you might see example Intel VGA controller which have nothing to do with Optimus, normally you can go to BIOS and simply disable it.

1.2 NVIDIA Optimus Technology

If your lspci |grep -E “VGA|3D” output looks like following:

Or

Or you know that your computer have NVIDIA Optimus Technology, and it is impossible to turn Intel Graphics / NVIDIA Optimus off in the BIOS then this guide might not work for you and it’s not tested. You should check Bumblebee Project.

2. Install nVidia proprietary drivers on Fedora 23/22/21 and disable the nouveau driver

2.1 Download nVidia Installer Package

Go to http://www.nvidia.com/Download/Find.aspx?lang=en-us and find latest version of installer package. When you use browser this is normally downloaded /home/<username>/Downloads/NVIDIA-Linux-xxxx.run location.

Tested versions:

Fedora 23

  • 364.19 (April 22, 2016)
  • 361.42 (March 30, 2016)
  • 358.16 (November 20, 2015)
  • 352.79 (January 25, 2016)
  • 340.96 (November 16, 2015)
  • 304.131 (November 16, 2015) – installs and boot, but doesn’t work with Gnome 3.18. Other DEs/WMs should work normally. nVidia 304.131 Needs also kernel < 4.3.
Fedora 22

  • 364.19 (April 22, 2016)
  • 361.42 (March 30, 2016)
  • 358.16 (November 20, 2015)
  • 355.11 (August 31, 2015)
  • 352.79 (January 25, 2016)
  • 340.96 (November 16, 2015)
  • 304.131 (November 16, 2015)
Fedora 21

  • 364.19 (April 22, 2016)
  • 361.42 (March 30, 2016)
  • 358.16 (November 20, 2015)
  • 355.11 (August 31, 2015)
  • 352.79 (January 25, 2016)
  • 340.96 (November 16, 2015)
  • 304.131 (November 16, 2015)

2.2 Make nVidia installer executable

2.3 Change root user

2.4 Make sure that you system is up-to-date and you are running latest kernel

If you have exclude=xorg-x11* row in your /etc/dnf/dnf.conf, then you can remove it now and update xorg too.

After update reboot your system and boot using latest kernel:

2.5 Install needed dependencies

2.6 Disable nouveau

2.6.1 Create or edit /etc/modprobe.d/blacklist.conf

Append ‘blacklist nouveau’

2.6.2 Edit /etc/sysconfig/grub

Append ‘rd.driver.blacklist=nouveau’ to end of ‘GRUB_CMDLINE_LINUX=”…”‘

2.6.3 Update grub2 conf

2.6.4 Remove xorg-x11-drv-nouveua

2.6.5 Generate initramfs

2.7 Reboot to runlevel 3

Note: You don’t have Desktop/GUI on runlevel 3. Make sure that you have some access to end of guide. (Print it, use lynx/links/w3m, save it to text file).

2.8 Install nVidia proprietary drivers for GeForce 6/7 & GeForce 8/9/200/300 & GeForce 400/500/600/700/800/900 series cards

2.8.1 Log in as root user

Or alternatively change root user (you shouldn’t have nouveua and xorg loaded)

2.8.2 Run NVIDIA Binary

Following command executes driver install routine. Use full file name command if you have multiple binaries on same directory.

2.8.3 nVidia Installer Accept License

Accept nVidia License

2.8.4 nVidia Installer Register the Kernel Source Modules with DKMS

nVidia Installer dkms

2.8.5 nVidia Installer 32-bit Compatibility Libraries

nVidia Installer 32-bit Compatibility

2.8.6 nVidia Installer Installing Drivers

nVidia Installer Installing Drivers

Note: Just ignore following errors:

This is bug and maybe fixed on next release. For more information check this.

2.8.7 nVidia Installer Xorg Backup

nVidia Installer Xorg Backup

2.8.8 nVidia Drivers Installation Complete

nVidia Drivers Installation Complete

2.9 All Is Done and Then Reboot Back to Runlevel 5

2.10 VDPAU/VAAPI support

To enable video acceleration support for your player (Note: you need Geforce 8 or later).

3. Some Screenshots Using Different Cards and Drivers

3.1 nVidia 358.16 drivers on Fedora 23 Gnome 3.18.2 with Kernel 4.2.6 and Xorg 1.18

nVidia 358.16 on Fedora 23 Gnome 3.18.2 Kernel 4.2.6

3.2 nVidia 352.63 drivers on Fedora 23 Gnome 3.18.1 with Kernel 4.2.5 and Xorg 1.18

nVidia 352.63 drivers on Fedora 23 Gnome 3.18.1 with Kernel 4.2.5 and Xorg 1.18

3.3 nVidia 340.96 drivers on Fedora 23 Gnome 3.18.1 with Kernel 4.2.5 and Xorg 1.18

nVidia 340.96 drivers on Fedora 23 Gnome 3.18.1 with Kernel 4.2.5 and Xorg 1.18

3.4 nVidia 355.11 drivers on Fedora 22 Gnome 3.16.2 with Kernel 4.1.10

nVidia 355.11 on Fedora 22 Gnome 3.16.2 with Kernel 4.1.10

3.5 nVidia 304.131 drivers on Fedora 22 Gnome 3.16.2

nVidia 304.131 on Fedora 22

3.6 nVidia 340.76 on Fedora 21 Gnome 3.14.2

nVidia 340.76 on Fedora 21 Gnome 3.14.2

3.7 nVidia 304.131 on Fedora 21 Gnome 3.14.2

nVidia 304.131 on Fedora 21

Let me know, if you have problems?

Or if you succeed, you could post output of following commands:

Check also Step 4. Restore/Change/Update Plymouth After nVidia Drivers Installation (BIOS/UEFI Users) and Step 5. Uninstall Fedora 23/22/21 nVidia drivers and Enable Nouveau

Share this post

738 Comments

  1. version 361.45.11 (buildmeister@swio-display-x86-rhel47-08)

    Linux localhost.localdomain 4.4.9-300.fc23.x86_64 #1 SMP Wed May 4 23:56:27 UTC
    2016 x86_64 x86_64 x86_64 GNU/Linux

    01:00.0 VGA compatible controller: NVIDIA Corporation GM200 [GeForce GTX 980 Ti] (rev a1)

    Thank you! Great guide and no blackscreens =)

    Reply
  2. Successful installation on the first try, thanks. Previous versions have needed a couple of whacks at it.

    [root@KD1YV3 log]# nvidia-installer -v |grep version
    nvidia-installer: version 340.96 (buildmeister@swio-display-x86-rhel47-05) Sun Nov 8 22:50:33 PST 2015
    [root@KD1YV3 log]#
    [root@KD1YV3 log]# uname -a
    Linux KD1YV3 4.4.9-300.fc23.x86_64 #1 SMP Wed May 4 23:56:27 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
    [root@KD1YV3 log]#
    [root@KD1YV3 log]# lspci |grep -i VGA
    01:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2)
    [root@KD1YV3 log]#

    Reply
  3. I am not sure where my last comment went. Signed up for emails for replies but when clicked they go to dns search. Searched comments and can’t find.

    Anyway great guide, however I ran into problems. 01:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 760] (rev a1)

    It said the nouveu driver was still running.

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *