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…
Wow! MIT is about as clean as you can go, with no real reserved advantage to dual license etc using Affero GPLv3 or similar. Not bad.
Nvidia releases open-source GPU kernel modules
101–110 of 415 posts
Re: Nvidia releases open-source GPU kernel modules
#102Earlier 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?
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
#103Earlier quoted context omitted.
No way they're releasing CUDA or Nvidia RTX code. That'll stay closed source (and I respect that)
Well, the libre GNU world world will be able to use OpenCL with even more performance.
I guess the nintendo switch "may" benefit from GPU assembly programing... that said, AMD GPU isa documentation is top notch and I wonder if nvidia will follow up to there.
Re: Nvidia releases open-source GPU kernel modules
#104For 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…
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 drivers are somehow buggy: the "sleep" doesn't work correctly, failing to reinitialize the correct video mode when waking up. It's always, always, always the same with NVidia GPUs on Linux. Thankfully I can switch to tty2, then back to graphical mode but I hate the inconvenience.
I'm thinking about selling my 3700X and getting a 12th gen Intel with an integrated GPU (I don't game and really couldn't care less about fast GPUs).
Re: Nvidia releases open-source GPU kernel modules
#105Re: Nvidia releases open-source GPU kernel modules
#106The kernel modules are the first stage I guess, since a massive amount of hardware programing knowledge is in user space like with AMD/intel GPUs. I wonder how much LAPSUS$ hack has to do with it. I wonder if nvidia hardware programing interface is a mess like AMD one, just curious.
Re: Nvidia releases open-source GPU kernel modules
#107Would love to hear from folks who worked on this! Was this an ongoing thing? Did it have to be pitched hard? What finally made the difference? I'm assuming here it's not because of LAPSUS as some speculate. This seems like it must have been in the making for quite a while.
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…
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 in any case, particularly given the coverage and significant collective awareness it's attracted.
Also, I found https://www.phoronix.com/scan.php?page=news_item&px=Big-New-... in another comment - 22 May to 12 May, that's some serious stamina lol
Re: Nvidia releases open-source GPU kernel modules
#108Earlier 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.
You quickly get into something similar the ship of theseus (or Trigger's broom) argument. You write some code that must link to a GPL library to functon; that code is now GPL because it's a derivative work of the library. You rewrite that library under an MIT license, so now your code can link to that and run. Is your original code still a derivative work?
> You are not required to accept this License, since you have not signed it.
So to answer your question: no, unless you've copied bits of GPL library into your code (or similar that would be judged as a copyright violation).
There's also a crappy situation of Oracle vs Google that made APIs copyrightable, so now it's not entirely clear if your code + your rewrite of library is still yours if it uses an API of the GPL library.
Re: Nvidia releases open-source GPU kernel modules
#109For 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…
Re: Nvidia releases open-source GPU kernel modules
#110For 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…
Don't suppose you're in Ireland/UK/EU? Looking at building a low/mid-range gaming rig for a sibling, and a 3700X would fit fine if you're looking to sell.