Live data from Hacker News

Nvidia releases open-source GPU kernel modules

developer.nvidia.com

81–90 of 415 posts

Re: Nvidia releases open-source GPU kernel modules

#81

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?

I'm not sure about the details, but to write a linux kernel module you must include some .h files under the GPL license. You really have to include it because linux ABI is intentionally not stable exactly to prevent proprietary abuse. So, AFAIK, every functional linux kernel driver must be released under the GPL.

Re: Nvidia releases open-source GPU kernel modules

#82
post #72

I did a double take because the title is almost clickbait for us desktop Linux users, and immediately wondered "what's the catch?". It's a significant catch, but also a significant step in the right direction.

It sounds like this "GSP" lets them binary blob their "secret sauce" on the controller itself, so the rest of the driver can be open source now.

Probably all their "enterprise" feature lockouts(vgpu etc..) are in the gigantic firmware that's loaded into GSP. But things that matter to desktop users probably aren't going to be locked out this way.

Re: Nvidia releases open-source GPU kernel modules

#83

Earlier quoted context omitted.

Quoted post unavailable.

Nvidia have always shipped closed-source drivers, despite AMD and Intel providing open source drivers for their GPUs. This made the experience on Linux second class to Windows, where while also closed source, at least you knew that bugs would probably get fixed. Various non-core features simply wouldn't have support on Linux, e.g. Optimus. Also, shipping closed source binaries would limit which kernel you could run t…

> where while also closed source, at least you knew that bugs would probably get fixed.

Yeah, I waited just 18 months (IIRC) for proper DisplayPort DPMS signalling, so my monitor can sleep.

Linux driver bugs get fixed, albeit accidentally.

Re: Nvidia releases open-source GPU kernel modules

#84

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?

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.

Re: Nvidia releases open-source GPU kernel modules

#85
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.

> I like back-foot, underdog NVIDIA. Ascendent AMD hasn't drawn my ire yet, let's hope power corrupts slowly.

That "back-foot" "underdog" nVidia has the edge in the video market still... and 3x the market cap of AMD.

Re: Nvidia releases open-source GPU kernel modules

#86

With this announcement, I'm now interested in trying out some Nvidia graphics cards on the Pi again. Nouveau had some issues, and the official drivers had no source available, so I couldn't hack them to work. With the source available... it could be possible! Of course, CUDA support may never happen there, at least not using open source code.

Which ones are connectable to it? And does this rely on the "replace the USB3 controller with a PCIe bridge" hardware mod?

Re: Nvidia releases open-source GPU kernel modules

#88

With the kernel driver open source + redistributeble firmware I guess the graphics APIs can be provided by mesa.

Nouveau has very close to 100% openGL and ES support. It has a deficit of out of specs extensions support though. Also no opensource nvidia vulkan implementation??

https://mesamatrix.net/

Re: Nvidia releases open-source GPU kernel modules

#89

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…

If I remember correctly, the open source ATI drivers were always a bit buggy and it wasn't that easy getting them installed either. The tradeoff was always Nvidia: proprietary but works well, ATI: open but buggy.

Re: Nvidia releases open-source GPU kernel modules

#90

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?

It means Nouveau will finally can get good I think.

Nope, nouveau is still hosed because they've been blocked ny Nvidia's secrutful FALCON's which have the reclocking and power management API's locked away behind proprietary firmware blobs.
Post reply on HN