Live data from Hacker News

Nvidia releases open-source GPU kernel modules

developer.nvidia.com

151–160 of 415 posts

Re: Nvidia releases open-source GPU kernel modules

#151
post #120

Earlier quoted context omitted.

The license is abundantly clear about this and answers all your questions. It matters who is doing the rewriting and how they got the code in the first place.

I think one of the matters that confused me about it was the CLISP question. IIRC, CLISP linked to readline, but was released under a non-GPL license. RMS contacted them, and asked them to relicense. They suggested either reimplementing a stub readline-library, or rewriting their line editing code against another lib instead. RMS insisted that they would still be a GPL-derivative, resulting in the current license sit…

RMS may have believed or wanted that, but it is my understanding (IANAL!) that the case law has been settled differently. If you are found in violation of the GPL due to a dependency you weren't aware was released under the GPL, you can fix that violation by rewriting your application to avoid the GPL dependency.

CLISP et al cannot be forced to distribute their code under the GPL. It's their code and their choice; contract law cannot compel someone who has never entered into the contract to do something against their will -- CLISP didn't knowingly distribute GPL code, so that distribution doesn't trigger acceptance of the GPL terms. They just have to make the situation right once they're made aware of the violation.

Re: Nvidia releases open-source GPU kernel modules

#152
post #84

Earlier quoted context omitted.

> 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?

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 because
    they weren't designed for Linux and don't depend on any special Linux
    behaviour.
    
    Basically:
     - anything that was written with Linux in mind (whether it then _also_
       works on other operating systems or not) is clearly partially a derived
       work.
     - anything that has knowledge of and plays with fundamental internal
       Linux behaviour is clearly a derived work. If you need to muck around
       with core code, you're derived, no question about it.
* https://yarchive.net/comp/linux/gpl_modules.html

Then you have things like (Open)ZFS and DTrace.

Re: Nvidia releases open-source GPU kernel modules

#153
post #8

Had to do a few doubletakes on this, but even with the recent hacks and progress on NVIDIA releasing Tegra source code, I didn't expect this for another few years. Holy shit. It's even licensed as MIT. Even OpenBSD could conceivably port this with enough manpower. Adding enough just emulation for the userspace driver would be a lot easier than maintaining a complete linux emulator. This is one of the biggest things t…

That might not even be overstatement. The last few big desktop linux crash-and-burns I've run into all had display drivers as a common component. I like back-foot, underdog NVIDIA. Ascendent AMD hasn't drawn my ire yet, let's hope power corrupts slowly.

Amd changed their windows drivers to not output video if it detects its running in a VM. Nvidia went the other way and stopped doing so.

Both can/could be bypassed with some libvirtd xml magic, but still. Nvidia seem to slowly stop being assholes, AMD started already.

Re: Nvidia releases open-source GPU kernel modules

#154

Earlier quoted context omitted.

> the open source ATI drivers were always a bit buggy and it wasn't that easy getting them installed either. No. Once mainlined, you had to do absolutely nothing to get the hardware working.

The part about them being buggy is definitely true. Up until somewhere around 2016-2017 the ATI/AMD drivers were really bad. I had an "HD 7850" GPU on Linux around that time and it was barely usable. The performance was less than half of what you got on Windows, and the drivers would crash very often, sometimes several times a day if I was trying to play games like Team Fortress 2. It was so bad that I decided to rep…

Just bought a 6600XT, and it's been great.

Literally just plugged it in and installed the driver packages I didn't on initial setup, on most distros it would've literally been plug and play.

Re: Nvidia releases open-source GPU kernel modules

#155
post #34

Hell is freezing? Serious, does it means we won't need Nouveau anymore? How many and which binary blobs it still needs? Are they encrypted or require signing?

Nouveau is still needed if you want open-source userland; the new nvidia open source thingy is only kernel-side and presumably works only with their own userspace drivers.

> presumably works only with their own userspace drivers.

For now, the plan is to replicate the way AMD drivers

Work, with having shared firmware but separate user lands, one closed and the other libre(MESA for AMD, Nouveau++ for nvidia?)

More details here from Red hats Christian schaller

https://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-so...

Re: Nvidia releases open-source GPU kernel modules

#157
post #36

I wonder if it is the result of the LAPSUS$ hack. This was their statement from early March: "After evaluating our position and Nvidia's, we decided to add one more requirement. " "We request that Nvidia commits to completely Open Source (an distribute under a FOSS License) ther GPU drivers for Windows, macOS and Linux, from now on and forever." "If this request is not met, on Friday we will release the complete Sili…

This doesn't actually solve the major standing issue with Nvidia's drivers as far as I'm aware, because the biggest thorn has been the secretful FALCON units, and the code signing of firmware blobs that's kept projects like nouveau from being able to gain traction. Remember, it isn't enough that the kernel module is FOSS. The firmware is where the crux is.

Radeons have the same issue, tho.

Re: Nvidia releases open-source GPU kernel modules

#159

Note that this is just the kernel modules, not the actual graphics driver. IIRC these sources were already released under a permissive license along with their driver distribution. This just seems to be them putting those sources on GitHub and being more open to contributions.

The same could be said of a lot of Nvidia IP which was leaked a few months ago.

But this is different, it's voluntary.

Re: Nvidia releases open-source GPU kernel modules

#160
Wow! I literally never thought I'd see the day.

I've been on linux for at least a couple of decades now, and this has been a thorn in my side from the get-go. I can't overstate how huge this is!

Great work Nvidia, seriously. It does look like it's not perfect, but damn it's a great step.

Post reply on HN