Live data from Hacker News

Nvidia releases open-source GPU kernel modules

developer.nvidia.com

161–170 of 415 posts

Re: Nvidia releases open-source GPU kernel modules

#162

For those who didn't use Nvidia on linux in the old times: The driver was a proprietary binary. Since a kernel module requires interfacing with the kernel API, it could be considered a derivative work and a breach of the GPL license. So, Nvidia provided a small open source shim which interfaced between the kernel and the proprietary module. You had to compile that shim yourself with the right arcane command line inca…

> The module was a proprietary binary. Since a kernel module requires interfacing with the kernel API, it could be considered a derivative work and a breach of the GPL license. I never quite understood this logic: the same (?) binary blob is used for the FreeBSD and Solaris drivers. * https://www.nvidia.com/en-us/drivers/unix/ So how can it be a 'derivative' of the GPL Linux if it it also used on non-GPL systems?

"Derivate" I think here is red herring. The biggest problem is that the combination of kernel + nvidia modules could never be redistributed, which means that technically no distro should have been able to ship these drivers by default.

Re: Nvidia releases open-source GPU kernel modules

#163
post #84

Earlier quoted context omitted.

Because to make a driver work with Linux you have to add Linux-specific code that typically uses Linux's source code, and that combination of the driver and Linux-specific code could be considered a "derivative". Note that the word "derivative" is used here as defined by the license, not in its plain English meaning.

Linus Torvalds: But one gray area in particular is something like a driver that was originally written for another operating system (ie clearly not a derived work of Linux in origin). At exactly what point does it become a derived work of the kernel (and thus fall under the GPL)? THAT is a gray area, and _that_ is the area where I personally believe that some modules may be considered to not be derived works simply b…

> don't depend on any special Linux behaviour.

This is the key point, and it is nearly impossible for firmware blobs to depend on any OS behavior, let alone "special Linux behavior". The only way they could do so is via the open-source part, so it should be easy enough to check that.

Re: Nvidia releases open-source GPU kernel modules

#164

It seems the modules bridge the kernel with the driver [1], so it is this part that is GPL/MIT, the driver itself is still a binary blob. AMD probably does the same? Correct me if I'm wrong. [1] https://github.com/NVIDIA/open-gpu-kernel-modules/tree/main/...

You're looking at the wrong thing. https://github.com/NVIDIA/open-gpu-kernel-modules/tree/main/... contains the largest parts of the driver.

Re: Nvidia releases open-source GPU kernel modules

#165

It will probably end up like how AMD cards work. The closed source driver still exists but there will hopefully be a completely open source stack (Nouveau++?) For nvidia. This blog has more details about red hats plans for this driver. https://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-so...

> The closed source driver still exists but there will hopefully be a completely open source stack (Nouveau++?) For nvidia.

I can only hope they change name to aidivn, like any sane driver should.

Re: Nvidia releases open-source GPU kernel modules

#166

Earlier quoted context omitted.

> I used and recommended ATI and INTEL for most of the people I could for a long time because of this. Same here but recently I somehow got a 3700X and there's no integrated GPU so I had to look for a GPU. I like my PC not just quiet but nearly silent, so a GPU with a fan was a big no-no. I couldn't find any single GPU able to drive 3840x1600 without a fan... Except for a NVidia one. Of course the proprietary Linux d…

The 3700x with a GPU with a fan is going to be a lot easier to make silent than a 12th gen Intel is going to be. Also many GPUs support the fan turning off when idle.

I was about to post this. The fans on my AMD RX 580 never turn on unless I'm gaming or doing some crazy WebGL stuff. I can only imagine that newer ones are even more efficient in this regard.

Re: Nvidia releases open-source GPU kernel modules

#167

For those who didn't use Nvidia on linux in the old times: The driver was a proprietary binary. Since a kernel module requires interfacing with the kernel API, it could be considered a derivative work and a breach of the GPL license. So, Nvidia provided a small open source shim which interfaced between the kernel and the proprietary module. You had to compile that shim yourself with the right arcane command line inca…

> I used and recommended ATI and INTEL for most of the people I could for a long time because of this. Same here but recently I somehow got a 3700X and there's no integrated GPU so I had to look for a GPU. I like my PC not just quiet but nearly silent, so a GPU with a fan was a big no-no. I couldn't find any single GPU able to drive 3840x1600 without a fan... Except for a NVidia one. Of course the proprietary Linux d…

> I couldn't find any single GPU able to drive 3840x1600 without a fan

> I don't game

Let me help. https://www.ebay.com/itm/194948432276 that's a full DP 1.2 port in there https://www.techpowerup.com/gpu-specs/sapphire-ultimate-r7-2... so it'll drive 3840 x 1600 up to 108 Hz even without custom mode shenanigans.

Re: Nvidia releases open-source GPU kernel modules

#168
post #7

I wonder if this has been in the works for years, or if this is a reaction to the recent Lapsus hack.

The datacenter focus here probably just means that $$$$ did the talking somewhere. AKA some large customer/former customer/potentially former customer said "open source or else" and they decided that having a couple people clean up, and push the special bits into the firmware/etc was a good way to solve the problem and keep $ALTERNATIVE at bay for the next generation or two.

Re: Nvidia releases open-source GPU kernel modules

#169

Earlier quoted context omitted.

I didn't work on this but I have watched it with interest for a very long time. It has been a strategic initiative in order to improve the GPU compute ecosystem. No one loves having a tainted kernel and everyone who uses a GPU with Linux (which is almost all data center GPUs) would prefer to have the kernel modules open source. It took a lot of work and planning to figure out how to do this over many teams for a very…

It could be quite interesting to outline just how far back in time this started (with lots of details), considering those demands to open-source certain code that were apparently made around March 3rd this year. My own motivation is to believe that NVidia isn't as broken as everyone insists it is, I guess :) and more broadly speaking it honestly seems like a Good And Interesting Idea to make the situation more clear…

This functionality has been rolled out (shipping) for the past year. From the blog post: "This was made possible by the phased rollout of the GSP driver architecture over the past year, designed to make the transition easy for NVIDIA customers. https://download.nvidia.com/XFree86/Linux-x86_64/510.39.01/R..."
Post reply on HN