Is there any point using the official NVIDIA drivers?

Hi,

Since I’ve migrated to Fedora (F28) I’ve been installing the Nvidia driver with almost every kernel upgrade. DKMS only a handful of times manages to compile the driver with the new kernel update. Most of the times I have to download the newest version of the driver from Nvidia’s website to make sure the kernel supports it.

If I don’t plan to do any gaming on Fedora (I dual-boot to Windows for that), is having the Nvidia driver installed worth all the hassle? Are there any features that make my Gnome shell be more performant/efficient/smooth? Wouldn’t the default nouveau driver be sufficient for normal dual-monitor work?

My main work includes coding and photo processing (which doesn’t require 3d power :slight_smile: )

thanks.

1 Like

Sometime last year I moved from using nouveau to the official Nvidia driver and I noticed a significant performance improvement in Gnome and desktop applications in general. All I can really tell you is to try it out and see, you can always go back if it’s not a big enough improvement for you to “taint” your kernel.

1 Like

@jhannafin
Thank you for sharing your experience.
When I first installed F28, installing the NVidia driver was top of my to do list, so I never had the chance to use nouveau. As you have pointed our, I also feel a very smooth and performant Gnome shell, so I wouldn’t want to change that unnecessarily.

I’ve installed the NVidia driver using this guide (valid for F30 as well) and i always get the latest build from NVidia’s website:
https://www.if-not-true-then-false.com/2015/fedora-nvidia-guide/

Since then I learned that Fedora added nvidia rpms in their non-free repos and apparently it should be a breeze to install it. I wonder how it behaves after a kernel update. Is it as simple as dnf reinstall nvidia...?

I’ve been using the akmod-nvidia package on my laptop I’m using right now, and it is even easier than that. A new kernel will cause it to automatically rebuild the kernel module.

2 Likes

Is the rebuild always successful? Fedora is known to push kernel updates often. Is the driver always compatible?

P.S. From what I see the current version of akmod-nvidia is 418.74, which is an older version. The newest one (that compiled on my 5.1.5 kernel) is 430.14

Oh, that’s interesting. I might go with what you’ve got going on right now, then.

1 Like

@jhannafin
Thanks anyway for your insights. I’ll probably stick to my current setup for now. If I do decide to uninstall Nvidia, try nouveau, and than go back to Nvidia again, I’ll probably use akmod-nvidia rpm straight from the repo. It sounds like it’s hassle free :slight_smile:

I use the proprietary nvidia drivers (currently 430.14) from the negativo17 repo. It also has other bits like CUDA.

I’ve never had issues with the driver updates or kernel updates, except that sometimes the dkms kernel module fails to compile for a new kernel due to some broken links when the previous driver was removed after a driver update. dkms status reveals the problem, and dkms autoinstall fixes it after removing the broken links.

I haven’t tried akmod or kmod, and honestly I forget why I chose dkms. It would be good to learn the pros/cons of these three options.

With nouveau, I had strange graphics glitches which prompted me to install the proprietary drivers instead.

In my opinion, considering your requirements, the default opensource nouveau driver is absolutely sufficient. The use case you describe does not seem to require the nvidia driver.

1 Like

@biosharkdev, I second the opinion that you should at least test free nouveau driver. While it’s less performant ten proprietary, especially with 3D, it’s performance should be sufficient for modern desktop. And nvidia’s driver is known for not supporting wayland and also some GLX extensions used for desktop compositing (I can be a bit wrong in technical details here, it can be some other extensions or the can be used for something other that compositing – but you’ll find the info about drawbacks of nvidia’s driver easily enough I think). Nouveau is better tested with modern desktops like Gnome and KDE.

On the other hand I’ve heard that nouveau don’t perform well on some chipsets. And I’ve had troubles with it in January after upgrade to 4.20 kernel, I think. And again it seemed like the problems affected only some GPUs and not all of them. The problems were resolved quite quickly after a couple of kernel updates, still I’ve had to install proprietary driver temporarily to be able to use Fedora hassle-free. I’ve removed it again afterwards.

I’ve used proprietary driver for quite a few years, used Fedora for gaming too. But about three to four releases back I’ve actually installed another Linux distro for gaming and since use my Fedora with nouveau and wayland.

Nvidia’s native vs. packaged driver

I strongly second @fasulia, I’m quite sure that almost in all cases you’re much better off using packaged drivers either from rpmfusion or from negativo17. I’ve used both for some time (negativo’s at home for newer GPU, rpmfusion’s and work for older GPU). Generally they rebuild for new kernel ok, and the packages update automatically wherever maintainer publishes an update.

You also can always remove them without leaving piles of junk all over you system.

I’ve experienced some build failures for modules from rpmfusion’s legacy driver, maybe going from 4.19 to 4.20 or from 4.20 to 5.0 kernel, don’t remember now. I’ve had to wait for a few day for updated driver package (which again installed automatically during system update). I was able to use older kernel during these few day, so it wasn’t a big deal.

Free software / contributing angle

I add one more point to consider. If you want to contribute to Fedora, even a little, by filing bugreports let’s say, then you’re better off using nouveau driver. nvidia’s drivers are known to have problems, are not supported officially by Fedora, are frown to by at least some developers.

When you file a graphics/desktop related bug or ask for assistance and you say you’re using proprietary driver, quite often people will answer that it’s likely to be caused by your driver and developers can’t waste your time helping with proprietary driver’s problem.

If you’re using open source drivers then with troubleshooting your issue you can help all the open source community. )

1 Like

As far as I know, akmods and dkms are just two different ways of achieving the same results: automatically rebuilding and installing kernel modules for new kernels. I don’t know technical details or differences. Ubuntu/Debian use dkms more widely, I think. Rpmfusion always recommended akmods, so I went with akmods :slight_smile:

And akmods vs. kmods is simple. Kmods are already compiled kernel modules you get directly from the repo. If you install kmod package for your driver (without corresponding akmod), then you have to wait for package maintainer to compile and push new kmod package to the repo for you to get it.

Akmods builds kmods automatically for each new kernel without waiting for package maintainer. If you look for which nvidia packages you have installed on your computer, you’ll see kmod packages built by akmods in the list.

By the way, this maybe the difference between dkms and akmods. Akmods builds packages – i.e. actual rpms – upgradable and deletable by yum/dnf. I don’t know if dkms can do this. I think (I’m not sure) when I saw dkms used, it compiled and installed kernel modules without building packages out of them.

2 Likes

@nightromantic

Thank you for your detailed response.
As I’ve mentioned in this post I have security related concerns when dealing with 3rd party repos. And especially about negativo17’s driver there were some worrisome reports.

However, back to the topic at hand. As soon as I have some free time, I will uninstall the Nvidia driver and give nouveau a go.

You were mentioning Wayland not being supported with Nvidia cards. I have to admit that I don’t know much about Wayland vs. X server so could you give tell me in a nutshell why would this matter? Why would Wayland be better than good old X server?

P.S. Contributing to Fedora (or to the Free Software world in general) is a noble thing one to strive for. So, I agree with you 100% on this one.

As a general note, we always suggest people use this howto instead of others on the internet:

https://rpmfusion.org/Howto/NVIDIA

RPMFusion is a Fedora community initiative. The lag that occurs between a new kernel release in Fedora and the kmods appearing in RPMFusion is because:

  • RPMFusion builds the kernel module (kmod) specifically for the Fedora kernel after the kernel has been tested and has been pushed to stable. (When I’d used the nvidia binary installer last, this was not the case—it had recompiled bits of the kernel. If it still does so, a kernel update will still make the driver not work.)
  • RPMFusion tests and receives feedback from the community (one can help here!)
  • It takes time for the mirrors to sync globally.

So, in general, it is better to use RPMFusion kmods + akmods. That way one always uses dnf, and installs packages via rpms which implies that your system remains clean, and removing these files in the future is not a problem. Using the nvidia installer does not use a package management tool. So, I have no idea how these files are to be removed in the future, for example.

Please consider contributing to RPMFusion. It is a very small set of Fedora community volunteers:

https://rpmfusion.org/Contribute

https://rpmfusion.org/RPM%20Fusion

Edit: since RPMFusion is a Fedora community volunteer initiative, the same security and packaging policies that apply to Fedora apply to RPMFusion. So if one is OK with using Fedora packages, they should not be worried about using RPMFusion packages too.

1 Like

@FranciscoD

Thank you for your response. You pinpointed the issue accurately. I also agree with you that if one should use a packaged Nvidia driver, the one from RPMFusion is the way to go.

So as for my own road: I will uninstall the driver and if nouveau is not enough for me (or it doesn’t behave performant) than I’ll switch back to the one from RPMFusion.

1 Like

Francisco, I’ve pointed people at this FedoraMagazine article:

as well as to rpmfusion’s howto. Thinking that FedoraMagazine is good enough source too. Though I personally don’t agree with several points from the article, they aren’t big mistakes.

What do you think about this source?

1 Like

That should also work. What the workstation SIG did was provide a way to install the same RPMFusion packages via Gnome-software. You’ll see that the repository they mention is also provided by RPMFusion. I think, but am not sure, that Gnome-software has some support to detect hardware and suggest what driver to install. The related packages must include some metadata for this to work, of course. So that way, it is able to suggest which package is required by the present hardware for the user. In cases where it does not work, the post does suggest the RPMfusion howto.

There’s more information on the “third party repositories” that the workstation includes for users here:

https://fedoraproject.org/wiki/Workstation/Third_Party_Software_Repositories

I don’t have an nvidia card any more so I cannot verify the post. If you do see errors there, please get in touch with the magazine team and let them know.

https://fedoraproject.org/wiki/Magazine#Join_the_Magazine_Team

Please also note that posts on the magazine apply to particular fedora releases. So, what is documented for Fedora 28 may not work for Fedora 30.

Yep, its a subset of rpmfusion’s repo. It’s exactly the same driver.

The article itself is more beginner-friendly and explains several things for new users. On the other hand, rpmfusion’s how-to contains additional things not covered by the article. They complement each other quite nicely: seasoned users will take commands they need from how-to, new ones can read detailed instructions with additional background info from
the article.

They explain this in the article and point the way to install driver using Gnome Software with screenshots.

They were not errors per say, some unnecessary actions that can confuse new users. The most obvious ones were pointed out in the comments, maybe even I added my two cents :slight_smile:

You’re right, of course. If remember correctly and judging from my own experience with Nvidia cards/drivers I consider the instructions given in this exact article release-agnostic enough for them to work well. And as I said authors give some background information which is useful for understanding of the process regardless of Fedora release.

1 Like

I’m not very qualified to talk about this topic, my understanding is neither very deep nor very extensive. With this caveat this is how I understand the topic.

The X.Org server is very old, was modified and extended heavily. It’s a huge codebase that’s hard to maintain and to develop further. It contains quite a number of features that were included at some point and aren’t used anymore (but can be hard to remove). Also due to it’s age it wasn’t designed with modern security considerations in place. And you do understand that trying to add security features aftewards is not the same as including them in the original design.

Wayland aims to resolve all this issues, it’s modern, designed with security in mind from the very beginning, with simpler and cleaner codebase. From what I heard pretty much everyone in the industry agrees that it’s the way forward.

It’s still not ready for the prime time, but it’s getting there. It still doesn’t implement all the features the developers want. It is default in Fedora for two to four releases now (I don’t remember which Fedora was the first to make it default, it’s easy to find). I’m using it without any major issue.

Still one more thing to note is that majority of GUI applications (especially older ones which aren’t actively developed) are still made for X.Org only and don’t support Wayland natively. XWayland – sort of compatibility layer – is used to run them under Wayland now. It all works pretty well, but you can encounter some unexpected behavior, especially when using some older or niche/specialized software that can be untested with Wayland.

Generally speaking imaginary “ordinary user” won’t see the difference between X.Org session or Wayland session. But the technology underneath is very different indeed )

Also I think I need to say that X.Org can be more stable, Wayland is still sort of experimental. Most distributions don’t use it still. But in Fedora it works quite well, and it’s interesting for me as the tech of the future)

1 Like

Additional reading:

https://wayland.freedesktop.org/faq.html

https://wiki.archlinux.org/index.php/Wayland

https://blogs.gnome.org/mclasen/2016/03/04/why-wayland-anyway/

2 Likes

@FranciscoD Thank you for the links, informative reads. I now know more about Wayland. And yes, from security point of view it’s the way to go.

This makes my choice of using nouveau quite clear, seeing that Nvidia doesn’t support it yet.

1 Like