How to install Nvidia drivers in Fedora 30 guide

Updated: July 8, 2019

As it happens, every few years, I end up writing a new tutorial explaining how to configure proprietary drives in Fedora. The reason is, this has never been a smooth, straightforward process the likes of which you get in many Debian-based distributions. Back in the day, I wrote a relatively simple guide that relied on third-party software to get the job done for you. So far so good.

Then, about two years ago, I also wrote a guide on what you should expect when you upgrade the distribution, in this case from version 24 to version 25, the ensuing problems with the drivers, and the resolution. And now, just several days back, I did a thorough review of the latest edition of Fedora on my HP Pavilion laptop, and it also includes the various pitfalls I faced trying to get the Nvidia drivers installed. So it's time to revisit the topic. Follow me.

Teaser

Method 1: Gnome Software

This method will work only if you have a relatively modern card that can use the latest branch of Nvidia drivers, which happen to be 418.xx at the time of the writing. If you have an older box with an older card that can only use the legacy branch of Nvidia drivers (340.xx), this method is not suitable for you, and you will most likely end up with a black screen after reboot, as the Nvidia driver setup will fail, as it happened to me in my Fedora 29 experience on an Nvidia-powered LG RD510 laptop.

Step 1:

Launch Gnome Software. It will ask if you want to enable third-party repositories, which include nonfree, proprietary content like Nvidia drivers, Steam, etc. If you allow this, these software sources will be added but not enabled.

Third party repos

Step 2:

You will need to click on the hamburger menu, select Software Sources, and then in the list, click and enable the Nvidia entry. Then, you can search for the Nvidia driver.

Additional repos added, disabled

Step 3:

Install the driver. Double-check the version!

Install via Gnome Software

Method 2: Command line

This can always be used, both for new and legacy drivers. The setup is somewhat more convoluted, but it can be done relatively easily, and also gives you more control over what you do. You will need to add the third-party repos manually. I've explained this in detail in my Fedora 30 customization guide. To wit:

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

Once the RPM Fusion free and nonfree repos are enabled, you can install the drivers. Replace YYY with the version that matches your architecture. The legacy version will probably remain 340, and the latest branch will change, so the numbers will be something like 390, 396, 410, 418, etc. This means you will install packages with the following format: 418xx, 340xx, and so forth.

dnf install xorg-x11-drv-nvidia-YYYxx akmod-nvidia-YYYxx

Don't forget the 32-bit libs!

Even if you're running a 64-bit system, you still need the 32-bit libs, as many applications, especially games rely on them. For example, Steam will not run if you don't have these installed on your system. By default, dnf will not account for these as a dependency, so you will need to install them yourself:

dnf install xorg-x11-drv-nvidia-YYYxx-libs.i686

Method 3: Manual installation

You can always download the drivers from Nvidia directly and compile them yourself. This should always work, but it does require expertise. You will need the build tools installed first, and then run the installation from the command line, with the Nvidia wizard asking you various questions. The instructions are similar to what I've shown you for CentOS 7 back in the day.

The downside of this method is - you will need to recompile drivers every time there's a kernel update for your system. If you do not want to do this manually, you can try using the kmod package, again, as I've shown you in another CentOS 7 tutorial. There will be some, subtle differences between Fedora 30 and the information from those two articles (mostly naming convention), but this method is really your last resort.

Conclusion

There you go. I wish I could tell there was a simple solution for getting proprietary drivers sorted out in Fedora, but this is not the case. At the very least, you need to add third-party repos, enable them, and then install the drivers, and make sure you select the right version for your hardware. Then, you must also install 32-bit libs, otherwise your games might not work. There are three ways to get this done.

Hopefully, this article has provided you with the necessary steps to accomplish the desired. In general, you will have more luck and better compatibility with some other distros, but if you're keen on Fedora, you can still have Nvidia drivers, and enjoy a reasonably productive system. It takes some tweaking, that's all. And we're done.

Cheers.

You may also like: