Luis Chamberlain sent out the modules changes today for the Linux 6.6 merge window. Most notable with the modules update is a change that better builds up the defenses against NVIDIA’s proprietary kernel driver from using GPL-only symbols. Or in other words, bits that only true open-source drivers should be utilizing and not proprietary kernel drivers like NVIDIA’s default Linux driver in respecting the original kernel code author’s intent.
Back in 2020 when the original defense was added, NVIDIA recommended avoiding the Linux 5.9 for the time being. They ended up having a supported driver several weeks later. It will be interesting to see this time how long Linux 6.6+ thwarts their kernel driver.
Oh wow the comments on Phoronix for this one are bonkers.
From what I understand (because it wasn’t clear to me from either of the TLDRs posted here) Nvidia’s proprietary graphics driver has been calling parts of the kernel that they shouldn’t be, because their driver is closed source.
These seem to be parts of the kernel that another company may own patents to, but has only licensed it to the kernel for free use with GPL open source code only, i.e. closed source/proprietary code is not allowed to use it.
Nvidia seems to have open sourced a tiny communication shim to try and bypass this restriction, so their closed source driver talks to the shim, and the shim talks to the restricted code in the kernel, that Nvidia does not have a license to use. This is a DMCA violation, hence why the Kernel devs are putting in preventions to block the shim, as far as I can see.
I don’t understand the small minority of commenters there defending a la soulless corp Nvidia, who is blatantly in the wrong here. Some commenters have gone as far as to call the Linux kernel maintainers “zealots”, would not be surprised if they are alts for Nvidia devs…
Edit: typo
Then isn’t the correct solution to sue Nvidia?
It’s a legal issue with a legal solution.
You dont sue someone with deeper pockets than you.
This is what’s wrong in so many countries.
So you want the company that licensed the patents to the Linux kernel for open source use to have to sue Nvidia for wrongly using their code? You want the company to have to spend a bunch of money suing Nvidia and possibly lose which would open the flood gates to more closed source code leeching off the Linux kernel?
Yeah that’s going to make them want to keep licensing their IP to the Linux Foundation (which they’re probably doing for free).
Or the maintainers can just submit a fairly simple patch to ensure that the kernel and the patents are being respected. Do you really think the first approach is the way to go?
Because sueing is never great
Neither is having your copyright infringed. Neither is wasting volunteer manpower playing a technical game of cat and mouse
apparently suing in these cases would mean having authorization from ALL contributors…
Yeah probably, but Nvidia can afford lawyers and delays for years. Much longer than any oss group could afford
Just a perspective on why people would support NVIDIA here:
-
They don’t believe in copyright law so they don’t mind whoever infringe on them. Especially since here it would make the proprietary driver work better.
-
They do care about copyright law but think having a working driver outweighs respecting them.
Not my opinion here just saying that for some people usability trumps any other aspects.
They don’t believe in copyright law so they don’t mind whoever infringe on them. Especially since here it would make the proprietary driver work better.
I don’t believe in copyright law, but I especially don’t believe in partially enforced copyright law. Nvidia doesn’t get to use copyright to protect their proprietary code while infringing on the copyright of FOSS.
deleted by creator
Good read. I think the root is simply, don’t care about the rights of others if it is going to cost them something personally.
Also, some of us are using Nvidia because we rely on software that doesn’t work on AMD. I really enjoy using Linux, but if it’s going to make my life difficult I’ll go back to using Windows with WSL.
I agree Nvidia should resolve the licensing issues, but man GPL zealots get a such a raging hard-on for anything Nvidia related it’s funny to watch.
Or maybe we should keep companies, which rake in billions of dollars, to a much higher standard??
Nvidia could be better at open-sourcing their stuff. But they don’t. Blame them, not GPL.
I mean we do, but blaming them doesn’t make Linux more viable for high end GPU applications.
Linux is the gold standard in many high end GPU applications, like AI, though?
deleted by creator
It’s not going to effect you. No distro is going to ship a kernel that doesn’t work with the Nvidia driver, besides maybe some rolling ones, in which case you can just use the LTS kernel. This is drama between Nvidia and the rest of the kernel maintainers, and Nvidia will update their driver to deal with it, as they have done in the past.
Shitting on people who care about FOSS because they don’t want to see massive companies get away with blatant copyright infringement is crazy.
we rely on software that doesn’t work on AMD
Which software?
3D rendering software using iRay. I’ve started trying to learn Blender, but I’ve still got thousands spent on assets and hardware which means I’m not going to run out tomorrow and pickup a new card. It all works fine under Wine, but the amount of Nvidia hate on here is just tiring.
So you use iRay as the rendering engine for Blender? And (I’m assuming a lot here) iRay doesn’t use CUDA, OpenCL etc, but straight talks to the GPU via graphics drivers, thus having hardware depency for nvidia GPU?
-
I don’t understand the small minority of commenters there defending a la soulless corp Nvidia, who is blatantly in the wrong here.
They think they’re gonna get a free 4090 in the mail any day now.
Phoronix comments are always wild
Remind me of those who supports Red Hat for blocking sources and telling those who downstreams “code thief with no contribution to open source” lol.
I did not “support” Red Hat but I was pretty vocally in opposition to most of the reaction to it. I found the willful inaccuracy and even flagrant dishonestly from the “community” close to disgusting at times. So, you may be including people like me in your comment.
In this case, it seems very straight-forward that NVIDIA is in the wrong. Not just ethically but legally as well.
My own read is that some of the people slamming Red Hat are defending NVIDIA now. Coming away from that experience, I the over-arching principle that many adhere to most is simply whatever is best for them. Red Hat was wrong because people felt entitled to something. The kernel devs are wrong ( and NVIDIA right ) because people feel entitled to something.
I need to upgrade my computer soon… this crap makes me not want to go Nvidia again. (Running a looooong in the tooth 1060.)
Go ahead, I just ordered a new build specifically with a non-Nvidia card for the same reasons.
The new 150$ range Amd cards are enticing. I could bring new life into my rx5500 htpc.
Thanks for the ELI5. I read the article but had a hard time parsing the significance other than Nvidia proprietary drivers bad
https://www.youtube.com/watch?v=iYWzMvlj2RQ
“I’m also very happy to point out that nVidia has been the worst […] so nVidia, “fuck you!””
Here is an alternative Piped link(s): https://piped.video/watch?v=iYWzMvlj2RQ
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source, check me out at GitHub.
Agree with your analysis, just pointing out that Phoronix forums have always been like this, or at least the tendency is to insult each other. Their culture is more toxic than any other Linux forums I’ve seen, maybe besides /g/.
deleted by creator
But why is it a problem if they call on parts of the kernal they shouldn’t? is it just a privacy concern, does it also impact performance? i don’t understand
As the commenter stated, it is a copyright issue. Nvidia is not allowed to use this code in a proprietary driver.
Wouldn’t that automatically make their code GPL?
No it would just make Nvidia guilty of copyright infringement
If they want to use that code legally they should make their code GPL but i doubt there proprietary code gets automatically overrules. I wish it did.
I do wonder what would happen if someone would hack and leak Nvidia’s code under the defense that they thought Nvidia to be operating legally therefor assuming there code is GPL, I presume Nvidia would need to officially confess their crime as a legal defense that they never ment to open source their own code.
Free Software Foundation, Inc. Vs Cisco Systems Inc. disagrees. The FSF sued Linksys for violating the license for GCC, libc etc.
And they were forced in court to release all their WRT stuff under GPL, which is how OpenWRT got its start.
Just the idea of nvidia being forced to open source there drivers makes me drool in sweet winners justice.
But realistically, Nvidia feels like one of the more powerful corporations around do we stand a chance? I do hope FSF tries regardless.
Linksys was part of Cisco. They had veryy deep pockets, but the FSF & SFC prevailed regardless.
I doubt the FSF or SFC will go after Nvidia, this has been a long standing issue and I haven’t heard about any lawsuits being brought because of it, even before Nvidia had more money than God.
They weren’t forced to do it. They did it as part of a settlement. The outcome if they had gone to trial and lost could well have been different.
(Also how do you even violate the license for gcc while making a router?)
I don’t remember the details but a lot centered around the build system IIRC.
I don’t see how the copyright mechanism works here. The GPL has rules about linking to GPL code, enforced by the notion that the linked binary is a protected derivative work. Going and finding out where in memory some functions are and jumping to them is not going to create a derivative work.
The Linux devs just have a rule about who they want to call these symbols and are trying to enforce it themselves.
You not seeing how this violates the copyright does not mean you are correct
https://www.gnu.org/licenses/gpl-violation.en.html
Is the available source code complete, or is it designed for linking in other nonfree modules?
Had this clause been found enforceable in any court case? (I’m not saying it hasn’t been - I don’t know.)
I don’t know if there has been a specific case surrounding a shim like Nvidia is using, but since it is in the license it should fall under a simple copyright violation.
Which they technically didn’t. I’m sure Nvidia has a legal team that vetted their solution, they certainly have the money for it. At this point the “protection” against the proprietary driver is just anti-consumer.
And I’m sure Nvidia’s legal team knows that Linux is not going to take them to court for this because it isn’t worth it. Nvidia absolutely did violate the GPL, but they have the funds to avoid any legal trouble, hence why Linux goes this other router. I don’t see how this is anti-consumer, it will not significantly effect the consumer. Nvidia will simply have to update their driver like they did when these protections were first implemented.
Because the license for the patents that the Linux kernel is utilizing says that the code utilizing those patents must be open source. So therefore Nvidia is accessing those parts of the kernel illegally and against the license the Linux Foundation has. The Linux Foundation could lose the rights to use those patents if they’re not respecting the license.
Cause the GPL is a virus
And it’s a good thing. Fuck proprietary software 😎
We’ll be down voted, but agreed.
If it’s a dmca violation then sue them. Do not create software “defenses” and do not make my computer experience worse.
Because we don’t care about open source drama, we want an operating system that just works™ with our existing graphics cards and doesn’t get in the way of gaming.
From a legal perspective, nvidia has been illegally bypassing a software license by exploiting a loophole. Linux devs fixed the loophole.
I don’t see why I would be annoyed at Linux devs in these circumstances.
It’s not going to effect 99% of users. Nvidia will update it as they have in the past. The large majority of distros use stable kernels by default, and it will be fixed before this makes it to one. You’re getting upset over something completely irrelevant to you.
That’s a fair point, I’m not super familiar with how the Linux dev cycle works beyond “I download Mint or Ubuntu because I don’t feel like shelling out for Windows 10”.
Distros like Ubuntu and Debian (and by extension Mint) will have their own kernel and driver packages. They will test to ensure that the package combinations they are shipping will work. I am certain they would not ship and update without functional nvidia drivers. Nvidia will most likely update their driver to function with these new protection before this change reaches a stable kernel anyways.
Just so we’re clear, you don’t feel like shelling for Microsoft but are okay to do so for NVIDIA? Don’t get me wrong, I also want a system that just works and I had never had a problem with using proprietary drivers, but if this doesn’t get “fixed” by the time that kernel becomes stable I’m switching to open source rather than keep an outdated kernel version, and I’m switching to AMD asap. Over a decade ago I switched to NVIDIA for a similar reason, and I discovered back then that it’s just not worth fighting against a proprietary driver that doesn’t co-operate with the system.
I’m still rocking the Windows 10 education license I got for “free” through college, but once Microsoft deprecates it I’ll consider switching to Linux. I have a Nvida card I got a long time ago, and I’d prefer to keep using it if possible. I haven’t looked into upgrading yet but when I do I’ve got to shell out no matter what brand I pick.
Depending on the card and your use case the open source drivers might be good enough, although more modern NVIDIA cards are clock locked to the proprietary driver. Nevertheless it’s almost a guarantee that NVIDIA will do something before this kernel goes live for any major distro.
In short NVIDIA has been a crappy company in Linux support unfortunately until very recently they were the least worse option, but now with all of the other manufacturers open sourcing their drivers and not locking their GPUs NVIDIA is less and less appealing so the kernel developers can start to push back against their bullshit.
Okay, then continue not caring as the people who do take care of things. Don’t worry your pretty little head about it.
This thing exists.
But you have to pay for it.
Otherwise you might have to deal with the wishes of the people you aren’t paying.
And that’s why I’m happy to see that the lock on modifying the Nvidia BIOS for their old graphics cards has finally been decrypted. That means that Nouveau will have a much easier route to make their open-source drivers work properly on the 10xx and 20xx cards, so we don’t have to rely on the tainted crumbs that Nvidia offered here. (Then again, I eventually moved to a 6600 specifically to no longer have to deal with this kind of shenanigans)
Man, that would be so nice. I forgot actually for a while that I was using Nouveau after I switched cause nvidia-dkms wouldn’t let me boot (1050ti). The only thing that reminds me is game performance. Wayland is great though.
Perfect timing buying an AMD card yesterday to replace my old NVidia. Installed today, works like a champ. Issue resolved
I’ve had a mixed experience with my newer AMD card, and that’s being charitable.
To be fair AMD closed-source drivers were much worse
That doesn’t surprise me in the slightest
Oh those times were truly horrible.
What were some of the positives and negatives? Me personally, I have an RDNA2 card and got bitten by the gamma being too dark on hardware cursors (now resolved) and memory clock stuck at 1 GHz with some refresh rates (workaround is not to use refresh above ~144 Hz).
I had an rx480 that worked fantasic until a firmware update made it start freezing my pc in games after suspend, solution was to rollback that package to an older one or never use suspend. I currently have a 6650xt and that just crashes whenever it wants to sometimes, works fine for a few months then decides to freeze my whole pc, playing bg3 atm it froze on me like 3 times already
Ah, I just upgraded from RX580 to 6600XT and haven’t had any freezes so far. On RX580 I sometimes had games that managed to freeze the system complete with random pixel noise and VRAM fragments shown on screen for seconds before it rebooted, but that was a long time back and only on bleeding-edge Mesa and Proton Experimental so my own fault.
Mesa 22 and 23 have been great so far. Maybe the firmware got more stable as well (I’m on Debian). I’d definitely recommend an RDNA2 card over any Nvidia today despite some of these hiccups.
The GTX 1070 in my other machine has given me more headaches (kernel modules not compatible with newer kernels, random Vulkan issues resulting in broken shaders showing nonsense like sparkles or black areas, etc.).
My rx 480 worked way better in terms of not crashing, it did have graphical glitches in games but i guessed thats down to using Wine. Im also using Arch so maybe that in combination with the 6650 is making it more unstable, i gotta revert to using LTS kernel every few months to stop my system crashing randomly
deleted by creator
I dont have the error message atm unfortunately cause to have more disk space i set my system to delete the logs quite often (ill probably revert this now as ive got way more space), but the one part i do have is this “GCVM_L2_PROTECTION_FAULT_STATUS” , thats 95% of the times the error that shows up whenever my pc freezes
I looked it up and theres a bunch of mesa bugtracker issues listing the same error but honestly gpu driver stuff is so complex who knows whats really going on. baldurs gate 3 has crashed my whole system 3 times in 20-30 hours played, but except for that this past month ive also started getting blackscreens waking up from suspend sometimes on the non LTS kernel, luckily LTS fixes that for now, but not baldurs gate. The past year i’ve had this gpu theres been like 5 times where an update made the amd drivers unstable and ive had to change back to the LTS kernel to resolve it, maybe thats cause im using arch and stuff is more bleeding edge, but i havent had this many issues on my rx 480
I’ve had over twenty crashes in BG3 at this point. Crashing soeems to be more prevalent in certain areas of the game - Grymforge, especially.
Is your entire system crashing?, for me i have to do a hard reboot once it happens. if it gets too bad i can always play the game in a windows VM as im playing with a friend and crashing all the time would be annoying
On Linux it’s usually just X that completely crashes and I get kicked back to login, but I’ve had more than one hard crash.
Windows will usually just crash to desktop and close any hardware-accelerated applications. Have also had the odd hard crash here.
I have an RDNA3 card (upgraded from a 1080) and am running a multi-boot triple-head setup with mixed refresh rates (60, 144).
Pros: most things work and work well. Installation of the physical card went without a hitch and it was relatively simple to install the drivers. No issues with web video, streaming, video encoding, or standard use.
Cons: mesa, amdgpu, and Windows drivers are all lacking significant features - I am still unable to reliably control fan curves/speeds, clock speeds, etc. FreeSync is unusable as well. I have also been experiencing regular crashes on certain games (BG3, Apex Legends, etc.) and support has been nonexistent, despite similar complaints from other users. When the card does crash, it usually results in a ring timeout and an accompanied total session crash. AMD does not seem to be responsive to these issues in either their official forum or any other space where people are lodging complaints.
The hardware seems fine; the drivers are the main issue. If I had to do it over again, I’d hold my nose and buy NVIDIA.
EDIT: regarding the cursor issue, I’ve had to switch to a software cursor on Linux. The hardware cursor wasn’t showing up at all.
Regarding game-specific issues, it seems a lot of problems stem from either a greedy low power mode or DirectX issues. I’ve had to set udev rules to alleviate some of my issues, but it hasn’t solved everything.
EDIT 2: For anyone who comes across this post, it seems like the vast majority of the crashes on linux have been resolved as of kernel 6.7. Still lacking fine-grained control over fans/clocks, but stability seems much improved.
The ring issues are killing me right now on my Radeon 680M. This isn’t brought up enough when people talk about using AMD on Linux.
Odd, Freesync should work for you though? What’s the issue you’re experiencing?
Agreed, AMD is not perfect, it’s still an arguably better experience than Nvidia, but it’s still not great at times
I don’t really see the better experience to be honest. Sure, AMD is a lot better on laptops, but on desktops I still prefer Nvidia. DLSS, raytracing, Optix, CUDA are all killer features that I need that AMD doesn’t really have an answer for. Sure Wayland is great, but it doesn’t outweigh the disadvantages of not having those technologies.
Meanwhile both my AMD GPUs (Vega 64 and Radeon 680M) have been crash happy with gfx timeouts and ring0 errors.
deleted by creator
It was inconsistently causing gamma flickering with certain fullscreen applications. I haven’t seen it since disabling it on my monitor.
Are you using wayland by any chance? Freesync was also causing flickering when i was trying out wayland recently, so i guess i’ll be staying on xorg lol.
Nope, X and i3 here.
So the cursor really was darker! It seemed that way after switching to a new laptop, but I wasn’t sure.
There’s been some oddball nasty issues with Mesa recently. SteamVR causing the driver to crash (and the display just won’t come back :/) H265 encoding causing driver crashing, just weird stuff. Simple things like Wayland work great, but if you have even a slightly unique workload you may run into major issues
I’ve had lost of issues with SteamVR too but not with anything else. I suspect those issues are actually SteamVR’s fault tho because it’s pretty buggy on Linux in general.
Nah, straight up driver crashes are on Mesa’s side, not SteamVR’s. No userland software should be able to permanently bring down your driver.
Riddle me this, why is there such a thing as proprietary drivers for anything? Especially consumer facing products like this?
Don’t you want anyone and anything using your product in any situation? Help me understand NVIDIA’s bit with this?
Driver code might expose some underlying secret sauce they’re using in the hardware. That’s the justification they always used to give, at any rate. At this point, though, it’s probably some code they’ve inherited from an acquisition that has a bunch of legal encumbrance stopping it from being open sources.
If they have to rely on obscuring stuff on their user side to keep their secret sauce, I’d say they’re bad at it.
This is coming from someone who deals with APIs for living.
They don’t have to do it well, just enough to satisfy the lawyers.
deleted by creator
AMD isn’t, and they used to be significantly worse than Nvidia about proprietary drivers.
deleted by creator
People held the same opinion about them though. How is that not relevant?
deleted by creator
Whatever, dude.
Likely a combination of 4 things:
-
They have third party firmware in their blobs that they are under NDA regarding the source code.
-
They believe in the source code is a large part of their success and don’t want to reveal it.
-
They believe giving out the source code will allow many inferior variants of the software, impacting their brand.
-
Control; the more source code they have in mesa the more of their code can be rejected by mesa. Keeping their stuff as blobs allows them to put in whatever hacks they want.
-
They can open their code without merging into mesa
-
They don’t want you to use “old” GPUs
Sure but why open their code without getting the integration benefits?
- Getting to use GPL-only symbols
- Still much easier for distros
- Example of drivers
And again we are talling about code not being rejected as main goal.
-
-
They don’t want you to see the “if benchmark_xyz { do less work }” blocks of code.
I assume nVidia have licensed other code that they don’t have the rights to distribute the source code for.
I get what the GPL fans want here, but it’s just going to lead to a gimped driver, no driver, or an even larger shim between the open and closed source bits. The Linux market is too small for nVidia to care.
The Linux market is too small for nVidia to care.
The Linux gaming market is too small for Nvidia to care, but the GPU computing market isn’t.
So we can add “use an older kernel” and “use a modified kernel with that protection removed” to the list of options.
Using an older kernel isn’t a long-term solution. And according to the kernel devs, either using and older kernel in that way or modifying the kernel to remove these protections still violates the license even if it bypasses the technical protections.
(I’m guessing Nvidia will keep shimming and rely on either not being sued or winning the lawsuit.)
deleted by creator
As long as they get support for it. Big corps don’t buy anything without 7 layers of scapegoats to point at.
The Linux community is literally Nvidia’s biggest market. The current Linux market share in data centers is currently estimated to be 77%.
Sure but they don’t play 3d video games do they?
And how many of those plans use GPU rendering?
Come on…
There’s obviously use cases for Nvidia on Linux but Linux desktop gamers aren’t even a blip on the radar. The reason Nvidia bothers to release free Linux drivers is for public beta testing not for the revenue.
Well, gaming as a whole is likely just a blip to Nvidia nowadays. It doesn’t make them money anymore like it used to, data center is where most of the money flows in. It’s just that we’ll buy anything Nvidia sells so we’re basically guinea pigs for their public beta testing.
It’s honestly amazing to me that some Linux gamers don’t understand how lucky we are and can act so… entitled I guess is the word? We live in a golden age of gaming on Linux but that age is entirely dependent on the whims of several companies. Nvidia can discontinue their free Linux driver at any time with almost zero impact to them but extremely heavy disruption to the Linux desktop, which is 80% Nvidia. Microsoft can decide to force all game developers to develop for their new API going forward and sub-sum PC gaming into their console operation, relegating Linux forever to retro boxes. Valve can turn to the dark side and sell out to any of the vultures circling it.
How in the hell is being a customer mistaken for entitled?
“Corps can fuck you over” - but they always do, and always will.
Fortunately they also ‘suck’ at development, since even Xbox is nowadays using same CPU architecture as desktops, so good luck locking that in. And it’s not even like we don’t emulate every other architecture that’s popular enough.
Also dunno why you left out AMD, they are doing a much better things for Linux than Nvidia.
Valve is the main one, and god knows what will happen once Gaben quits, though Valve always hated MS and tried to remove their dependency of then for years for their own benefit. But let’s not pretend Nvidia or Microsoft can just decide to remove Linux gaming at whim, as that’s just not true.
deleted by creator
Yeah as if Nvidia never benefited a lot from open-source. So Vulkan isn’t open-source, who knows? Maybe go back to the days of fragmentation, kill portability.
You’re acting as if Nvidia, Microsoft, and Valve are related. Good luck to Microsoft making a new proprietary API besides DirectX, an already proprietary API. It would only show they haven’t learned anything from UWP. And Valve has always contributed to open-source because they don’t want to depend on Windows. You don’t recognize Steam Deck and SteamOS 3? You haven’t been here long enough to recognize LunarG.
If Nvidia decides to be hostile or selfish, nobody cares? Can’t we be wary of being exploited by companies?
Just say when you’re shilling, don’t spread misinformation with your own made up scenarios.
The Linux market is massive for Nvidia. Nobody is using Windows for ML and everybody is using Nvidia for ML.
And the relation between graphical drivers and ML is?..
GPUs are the primary hardware used for ML workloads…
Yes, but you don’t need graphical drivers to do ML on a GPU, you just need the part of the drivers that lets you do ML. Accelerated graphics are almost completely unrelated. Nvidia can stop offering graphics drivers while still ofering ML drivers and still make a very good living.
Even if they continue offering graphics drivers they don’t have to offer them for free. Their main clients are people who do professional graphical and video editing, who can drop hefty sums on driver licensing because they already pay a lot for the hardware and support. Gamers are a tiny amount of their revenue, and over 90% of that tiny revenue is Windows anyway.
At this point Nvidia can snap their fingers and discontinue all their support for the consumer market just like that and won’t even feel it. The only reason they bother with free Windows graphics is that Windows gamers still generate a non-negligible amount of revenue by buying the overpriced desktop cards, and the only reason they bother with Linux graphics drivers is because it’s free beta testing. The Linux desktop market is a ridiculously tiny population in terms of gamers, but it’s a sizable population in terms of QA.
Yes but this article is talking about the entire nvidia kernel driver… Why are you assuming this doesn’t apply to the parts necessary for ML?
The top level comment in this thread is talking about “consumer facing products”. ML is not a mainstream consumer use of Nvidia drivers. Most of the people who got a bee in their bonnet about Nvidia drivers not being open source are desktop users interested in the graphics drivers.
Either way, I don’t understand the issue. If people don’t like the fact Nvidia has proprietary drivers they can choose not to buy their hardware. To buy their hardware and then be upset about it makes no sense.
Same for the kernel developers, they either want proprietary drivers to work with Linux or not. If they don’t they can give Nvidia the finger outright instead of pussyfooting around – but Nvidia is not the only one with proprietary drivers and I think we all know how quickly Linux would go the way of the dodo if it didn’t support proprietary stuff.
This whole topic has always been rife with posturing, entitlement and hypocrisy. People love to enjoy all the benefits from Nvidia hardware while bitching about the drivers. You can’t force a company to use open source. Take it or leave it.
It also a red herring. People love to point to AMD as a counter-example, but are AMD drivers so much better? They’re open source but you can’t write AMD’s drivers for them, and AMD’s people are slow to release them and to fix bugs so at the end of the day it’s the exact same thing as far as I am concerned as a user.
Cheap vector operations.
Life’s too short to do ML on a CPU. In some cases literally. You can’t do any reasonable ML without a GPU. And you need drivers for that.
With GPUs being used for AI stuff and all sane people using Linux for servers, no, Linux market isn’t small at all for Nvidia.
The Linux market is too small for nVidia to care
I’ll fix it for you: “The Linux gaming market”
Linux AI market is their bread, butter and red caviar. Shim itself is enough proof they care.
deleted by creator
What ever happened to the source code nvidia did release. Was it released in such a way to where it is not helpful?
They are not legally allowed to build drivers from the illegally acquired source code.
couldnt they do the thing where one team analyzes the leaked code and documents functions.
and a nother, clean room team, creates independent fresh code to achieve the same results as the original?
I mean, clean room activity like that has a strong precedent, going back to EA vs Sega at least. where EA stole a sega genesis dev kit, had one team document the functions, had another team independently create code to execute those functions,and made their own dev kid and put out non-approved sega carts (which is why the EA sega carts were taller and had the yellow plastic tag)
Sega sued and EA won due the clean room engineering and sega and EA came to some kind of sweetheart deal/comrpromise/settlement.
Sounds a lot like what I call blackbox reverse engineering.
I’ve always heard cleanroom, since you keep your coders completely isolated from the investigation team so there can be no question of code pollinating across, Just documentation to be reimplemented in a unique and different way.
This whole process just backs up my notion that software patents are generally BS anyway, doesn’t it.
I don’t think they meant the hacked and released source code, I think they meant the kernel modules that Nvidia actually opensourced in may of '22
I have not had a look at it myself, but my understanding is, that that was/is only glue code to the closed source blob.
You are correct, it while it was technically driver for kernel, meaning it is using kernel driver api, it was not driver for graphic card. Just a bit different way to load binary blob.
That’s only for never generation cards, from 20xx series upwards I think.
But there’s still the proprietary driver for everything before that, including 1080 and such.I belive the NVK work is where that headed. The released code wasn’t up to snuff for true kernel intergration on it own, but offered a lot of insights for devs working on the problem.
So what does that mean for me on Arch, how will it affect me?
ELI5?
If they don’t fix it before 6.6 comes out on Arch, you may have to use the LTS kernel.
I don’t use arch but I would guess you should avoid kernel 6.6 if you are using an nvidia card until we get more info about that.
Lousy criminals. NVIDIA, I mean. If I wrote code like that, I’d be dragged in front of a judge and made to answer for breaking the DMCA. But if you’re a big, rich company, the government won’t touch you.
It seems they just fixed symbol_get() so GPL-only symbols are avaliable to GPL driver
Phoronix thinks I’m using ad blocker. In fact I’m not. I don’t have any kind of adblocker on my network… *sigh*
Meanwhile me using ublock adblocker and flawlessly reading the content on firefox
Which browser are you using? Perhaps it has some built in blocking
Firefox 102.14.0esr.
I believe the standard amount of blocking in Firefox is:
- Social media trackers
- Cross-site cookies in all windows
- Tracking content in Private Windows
- Cryptominers
- Fingerprinters
Since the line between “ads” and “tracking everything people do on the internet” has been pretty blurred, perhaps the anti-adblock checker triggers on any of those.
a) Good for them
b) How long before NVIDIA throws up their hands at the whole thing and does their own Linux distro + pushes all their cloud AI customers to use it? (it doesn’t seem like they’re ever going to be shamed / coerced into actually open-sourcing their driver)
There’s an interesting discussion about the whole topic on the Phoronix forums about this. Some people claim that removing them and Nvidia’s current behavior is a DMCA violation:
- The kernel includes IP only licensed under GPLv2.
- While a module linked against the kernel isn’t necessarily a derived work which in turn would need to be licensed GPLv2 as well, there are specific interfaces that are meant for internal use and by their very nature would make your work derived if using them. These are the interfaces marked EXPORT_GPL_ONLY.
- Using these interfaces with a module not licensed GPLv2, you taint the kernel and violate the licensing.
- Removing the check, you aren’t necessarily yet violating GPLv2, but you’re removing a technical protection measure which is a violation of the DMCA.
It also raises the question why you’d remove checks that only prevent a possible GPLv2 violation if you’re not violating GPLv2 anyways as Nvidia claims.
you aren’t necessarily yet violating GPLv2, but you’re removing a technical protection measure which is a violation of the DMCA.
Isn’t overcoming a technical limit a violation itself? That’s what made DeCSS illegal. They didn’t have to prove anyone was actually copying DVDs with it, just that DeCSS could allow you to copy a DVD
Yes, even if it’s a dialog box with only a “No” button, despite how easy it would be to get it to return a different value.
DISCLAIMER: IANAL, this is not legal advice.
Would having their own distro even help? It seems like working around this would require forking from Linux at a lower level, and even that would only circumvent technical (rather than copyright) barriers.
They can probably just drop some kernel packages in their driver PPAs or whatever. You don’t need to fork the whole distro to customize the kernel. But it will still be a huge pain.
They can beef of linux support of freebsd a little and do some other help to the desktop experience there. Freebsd has always been more pragmatic, and for most uses of an os you can’t tell a real world difference. (pkg instead of apt, and other such differences are minor)
B) can’t happen because of gpl. Even if it could, not many customers will move to an nvidia distro. ML people need good distros and good drivers.
If a hypothetical nvidia distro would speed up training by 10% but cause drop of productivity of humans of as small as 5%, no many will “buy” it. We can throw more hardware, people are the bottleneck nowadays
They already provide custom images for their Jetson modules, I think more NVIDIA distros are likely to happen one way or another.
Not to be contrarian, but b) could well be a full decade of work and numerous individual projects
That’s just such a great image!
Yeah they’d do that with a card that looks like it’s from 2003 with those classic dual DVI ports. Stole it right out of some kid’s Quake 3 box. Try that with a 4090.
Give the gigantic heatsink, that might actually work just fine. The PCI brackets are just stamped aluminium after all.
Made me lol
Just installed the nvidia-driver for my 2080 SUPER and my system isn’t starting now. I’m using Debian 12.1 and after installing the driver, it crashes after entering in my password for my encrypted drive.
I will load up a Live USB and see if I can fix the issue. Any help would be appreciated!
That’s unrelated to this.
Blacklist the Nvidia driver and un-blacklist nouveau. I’m going from memory, but I think if you can get to GRUB, you can append ‘single’ to your kernel parameters. That should get you into a system with minimal drivers loaded.
Noveau supports 2080 since 2019.
Nouveau is slow
Slow is better than broken.
This is the best summary I could come up with:
The Linux 6.6 modules infrastructure is changing to better protect against the illicit behavior of NVIDIA’s proprietary kernel driver.
Most notable with the modules update is a change that better builds up the defenses against NVIDIA’s proprietary kernel driver from using GPL-only symbols.
Given that symbol_get was only ever intended for tightly cooperating modules using very internal symbols it is logical to restrict it to being used on EXPORY_SYMBOL_GPL and prevent nvidia from costly DMCA circumvention of access controls lawsuits.
Luis Chamberlain further added in today’s pull request: "Christoph Hellwig’s symbol_get() fix to Nvidia’s efforts to circumvent the protection he put in place in year 2020 to prevent proprietary modules from using GPL only symbols, and also ensuring proprietary modules which export symbols grandfather their taint.
The circumvention tactic used by Nvidia was to use symbol_get() to purposely swift through proprietary module symbols and completley bypass our traditional EXPORT_SYMBOL*() annotations and community agreed upon restrictions."
Back in 2020 when the original defense was added, NVIDIA recommended avoiding the Linux 5.9 for the time being.
The original article contains 476 words, the summary contains 174 words. Saved 63%. I’m a bot and I’m open source!
Can someone ELI5 what this is about? Why does Nvidia wants to access parts if the Linux kernel and why are linux kernel maintainers against it? Wouldn’t it be good if Nvidia uses more open-source stuff?
Open source software is given with specific licenses. The Linux kernel is made of many smaller open-source components that each can have their own license. Some of the licenses used disallow the partial or full usage of the licensed software or components in proprietary settings, or in general given usage for specific cases only (in this case, the Nvidia driver using components they are not licensed to use.).
TAINT_PROPRIETARY_MODULE & GPL Condom has to be intentional double entendre right?