NVIDIA Releases Open-Source GPU Kernel Modules

Well, it’s here, the day of the Linux Desktop.

Jokes aside, it was about time. Desktop cards are still “alpha quality” according to the post, but it’s a start I guess.
We’ll see if and when this will get to be a fully supported release. The article does state that it is planned to supplant the closed source driver eventually, so that’s a sign.

TLDR: nvidia not being shitty for once?

9 Likes

They released these drivers under a dual MIT and GPL license.

That’s actually very cool, because it’s suitable for inclusion into *BSD base systems as well as Linux.

5 Likes

maybe we can get AMD and Intel to make some chips without that accused Management Engine junk.

I doubt it. And the Kernel module being open source doesn’t mean they don’t still have a binary blob that interfaces with the actual hardware.

3 Likes

Finally! I’ve been banging my head in Fedora needlessly. I have moved back to Pop OS because of the kernel signing issue (that I’d rather not do each time there is a release).

I will stay for now, until it is out of beta. Hopefully just in time for Fedora 37.

Big news. I think?

I don’t really understand the architecture of the kernel well enough to know what this really means.

It feels a little bit like a “pre-announcement to the announcement”.

WTF I love Nvidia now?

2 Likes

It’s not really about the architecture of the kernel but mostly everything that is in userland. Historically due to the closed-source nature of the driver it has been difficult for various projects to implement certain open APIs because nvidia would not supply anything they could have built upon.

That being said, Open Sourcing the driver doesn’t necessarily mean that gets better. Whether nvidia accepts patches to improve on this situation remains to be seen. If not I guess we will just see a fork of the driver eventually that properly implements what the system needs.

2 Likes

True, but this can’t hurt the Nouveau driver who can apply their own patches and improvements based on this.

1 Like

Maxwell and Pascal are currently still screwed for Nouveau. Turing and up are all good though for an immediate solution. This means I’m buying a RTX 2080 Ti. (3070 Ti would dump too much heat into the case and they don’t have AIO versions of the 3070 Ti.)

HELL HAS FROZEN OVER.

Guess only virtualization gaming for old teslas for now

1 Like

They did say they will work with upstream Nouveau devs so there could be the possibility they give them the code to make Maxwell and Pascal work even though it’s not in the drivers.

However, if it’s a hard limit that prevents it, those generations are truly screwed.

Edit: Phoronix describes a specific thing that’s RISC-V on Turing and later called a GSP is required for the open source implementation currently, so the push now is to open source the Falcon micro processor code for Maxwell and Pascal.

Kinda gives more credence to Maxwell and Pascal are forever screwed. And they’re still locking the source of what’s running that RISC-V coprocessor.

I’ve found the catch. That RISC-V coprocessor firmware will be as locked down as a Apple T2 chip. After all, how are they going to implement LHR if they don’t close source the firmware?

Edit: More credence of how screwed Maxwell and Pascal are:

4 Likes

I’m tempted to try it on my Quadro A4000 and my Titan V cards to see how they are with the New OSS driver.

IDK if Volta even introduced that RISC-V coprocessor. The A4000 would be more successful.

With the binary kernel module nvidia developers had to implement each function that the kernel wanted to call. This meant new features took years to get in, or were missing entirely. Leading to blog posts like this. Here we’re talking about basic things like changing resolutions, and copying data to and from the CPU.

An open source kernel module means you can add and update the kernel functions as much as you need, even if all the actual “do stuff” code is hidden in a binary blob. If the interface to the binary blob is designed well, it should be easy to make new interfaces for new features in the future.

1 Like

You are making me sad. Are you implying that the performance isnt really going anywhere near the proprietary drivers and that this could be just some sort of virtue signaling?

Cross link for news thread

If the proprietary drivers also offload implementation to the card’s RISC-V core, then it should be no different performance-wise; I doubt that Nvidia would change hardware just to be able to make the kernel driver opensource, so the proprietary drivers likely functioned the same way.

The opensource enthusiasts’ complaint is that nothing significant was opensourced, since all the important pieces are now instead merely running on the card. This does increase security, since the GPU’s core can be isolated from kernel memory by IOMMU, but apparently we learn nothing more about how the driver actually works.

Though in theory, does moving the majority of Vulkan/DirectX→hardware translation to the other side of the PCIe connexion improve or decrease performance?
We probably will not know for years until a retrospective book is written or NDAs expire.

I think it could be possible that this entire offloading could be a way to better hide or keep from modification Nvidia’s driver code, and may in fact be a performance penalty that Nvidia is willing to pay for secrecy and control. This seems like excessive effort just for low-hash-rate, however.

Something to think about: as Nvidia adjusts drivers for new games and applications and patches their bugs in the driver, will these workarounds also now be mainly implemented in the card?

1 Like

Low level API optimizations vs DX11 and OpenGL optimizations gives preference to DX11 and OpenGL, so on Linux, if it’s DX11 it’s actually more DXVK’s job. OpenGL using a common LibGL means it loses Nvidia’s optimizations, but the community then picks up the slack there.

Big advantage of the open drivers though (if it gets to this point) is Flatpaks will work so much better on Nvidia with the bundled shared libraries in each Flatpak.

I had a 5850 about the time the open source drivers overtook the binary fglrx drivers.

Within about a 6-9 month window the open drivers left the binary drivers like a laser beam blowing by a parked car stuck in mud.

Fglrx supported opengl 2.1, iirc the hardware supported 4.5. bioshock infinite had recently been ported to Linux but Nvidia only (edit re-read old gamingonlinux/phoronix articles Nvidia or AMD 7000 series or newer initially, but even then amd ran crappily compared to big green). My 5850 ran the game, but slow as fuck and it’s like it was drawing only shadows and lights, no textures. I figured I’d try the open drivers. Bioshock infinite ran Just fine. Looked like antialiasing was off, but otherwise it was entirely playable.

Other games ran better, in some cases two to three times faster, open drivers added opengl 4. You could see the feature checklists fill out in near realtime watching the development.

It’s probably down to staffing and the effort amd was diverting to Linux at the time, but as an observer, I couldn’t help but somewhat feel embarrassed for amd at how bad their own drivers were compared to what the Linux community whipped up with partial source and documentation releases.
Just have a look at this phoronix article

This is a business move on Nvidia’s part 10000%. Internet infrastructure runs on open source. Let the open source community turbo charge the shit out of their drivers so they can cash in on subscription based game streaming services ran on foss infrastructure.

Also amd is in both Microsoft and Sony’s consoles, and now the steam deck. Sure the switch is big but Nvidia is probably always looking for new money printing opportunities.

For years its always seemed like amd threw beefier hardware designs at the performance challenge, Nvidia had more budget for devs and could maybe skimp in hardware with software optimizations.

I think the GPU wars are really just firing up.

With a world full of minds to work on and test open drivers for both vendors we’ll actually get an honest showdown without driver hacks and soft gimping giving one or the other an advantage.

The future is getting weirder and more interesting everyday.

3 Likes