Editorial: Using NVIDIA On Linux For The First Time In 10 Years
Written by Eric Griffith in Display Drivers on 26 November 2016. Page 2 of 2. 128 Comments

After loading up RPMFusion and the Negativo17 repositories, installation is relatively simple. A quick ‘dnf search nvidia’ will return a laundry list of possible packages, and it can be a little daunting to figure out which ones are necessary. Luckily, the negativio page supplies installation instructions that will satisfy most setups.

There are a few gotcha’s though, that the page does cover, but they may bite users who make assumptions, or don’t read carefully.

First off, the Nvidia driver comes packaged in three versions: the DKMS, or Dynamic Kernel Module Service, version; the kmod or Kernel Module, version; and the akmod, or Automatic Kernel Module, version. While the kmod has clear differences between the akmod and dkms version, the line between those latter two is a bit more blurred. Which should you pick? That is largely up to you. I opted for the dkms version. I did that partially because it was what Negativio’s page recommended, but also partially because if you use the official Nvidia driver, then they also make use of DKMS when the support is present on the system, otherwise it falls back to a traditional kernel module build.

Something I did notice while playing with the nvidia driver is a ‘dkms.service’ systemd file. The service comes disabled by default, and the Negativio page does not say whether or not this service file matters for the continued rebuilding of the module. To be on the safe side, I enabled it.

A reboot after I was up and running, right? No, not quite. It took me a bit of time, fiddling with various configuration options, rebuilding of the initramfs, and generally struggling with trying to figure out why the Nvidia module failed to load. Until I noticed a one line error in the boot log. An error message saying something to the effect of “Module: nvidia has invalid or missing signature.”

Secure Boot… One more quick reboot and a trip into my motherboard’s firmware configuration, and we seemed to be good. Both monitors activated, proper resolution. The boot process was still a bit shaky, with plymouth flickering in and out, since the Nvidia driver does not support KMS by default. There is a boot option available, but it is not feature-complete as of yet. Now we’re good, right?

On a standard 64-bit system, if you simply install the nvidia-driver-libs package, you will get the 64-bit version of the libraries. If a user attempts to launch Steam with only the 64-bit drivers, it will silently fail. Attempt to launch Steam from the command line, and it will error out with the error below. Rather unhelpful.

Thankfully, a solution to the errors was only a Google search away. Steam is a 32-bit app, it can’t use the 64-bit libraries. The solution? Install the 32-bit libraries.

NOW are we finally good? Yes. Or at least it seems so. Steam launches successfully, I am able to game.

Now that the proper driver is loaded up, I have to say, at 1080p, this card is an absolute beast. Most games I am running at 1080p at either high, or completely maxed out. Noise is significantly lower than my R9 290, power usage is lower by a considerable amount, and by extension so are my GPU temperatures. In fact, the only statistic that isn’t lower across the board… are my frames per second.

So how does the experience compare to the AMD drivers? Well, if you care about using open source and free software, then the experience is a complete loss. Though, even the AMD experience is not an exactly a win in that scenario, as the firmware files are firmly closed.

The setup of the Nvidia drivers, compared to the closed source ones, are also a loss. While the AMD drivers will usually ‘just work,’ unless you have a brand new card, the Nvidia drivers require user intervention to function properly.

Post installation and setup, however, Nvidia most definitely wins when it comes to the actual experience of using the card. Frame rates are higher, game compatibility is better, power usage is better. To be fair to AMD, their experience is getting better day by day, and it won’t be long until the ‘it just works-- and works well’ will be a significant selling point for AMD’s Linux users.

So what is a Linux gamer to do? Nvidia or AMD? Truthfully, you can’t go wrong either vendor.

AMD’s cards -are- getting better day by day, and their “It just works” experience is a powerful selling point. Maybe it doesn’t work -well-, but you probably won’t be debugging “Why didn’t my graphics session start?” following a kernel update.

That isn’t to say Nvidia’s user experience is bad. It took some time to get setup, but once it -is- setup, it seems to just work. This holds true especially for Linux distributions that don’t upgrade the kernel, or X, very often. Combine that with better frame rates and better game compatibility—for now anyway-- and we have a powerful combination.

As I said, a Linux gamer can’t really go wrong either way. Choose the vendor you trust more, choose the vendor with the better deals on that day, choose the vendor that follows your philosophical views more closely.

Those interested in the particular GTX 1060 card being used by Eric, it's the EVGA GeForce GTX 1060 GAMING 6G.



Related Articles
Trending Linux News