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.
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?
And again we are talling about code not being rejected as main goal.
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 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.)
Removed by mod
As long as they get support for it. Big corps don’t buy anything without 7 layers of scapegoats to point at.
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.
Consumer facing products still includes products being sold to companies, who are the consumers in this case. Of course the average user isn’t using the cards for ML, but Nvidia makes the most profit from datacenters, not gamers. Most of this comment is not relevant to my comment at all, which was simply refuting the statement that the Linux market is not large for Nvidia.
Also, what do you mean you can’t write AMDs drivers? You certainly could write and submit code for the AMD kernel or mesa drivers.
There are a lot of people who are not amd employees who contribute to the Radeon drivers in mesa
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.
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.
All ml, ai, hpc is done on Linux. They are getting a lot of money because of the hype.
They need Linux drivers. No way hpc can be done on windows. But it can be done on amd
They don’t have to offer Linux drivers for free to the general public though. Ask yourself why they do that.
The problem is not mine. Is theirs. They want to use functionality written by others with certain requirements (i.e. that using that code requires disclosing the source code).
If they are not happy with that, that’s fine. They shouldn’t use those functionalities.
Problem is that they depends on Linux kernel for their biggest business (data centers). If they don’t support linux, market will shift to amd. As ML user, I am absolutely fine. I can use amd for our gpu cluster. I absolutely cannot use a non linux OS.
That’s their problem, not linux maintainers’ problem
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.
That’s all I see happening too. The Nvidia Linux drivers will just get worse and not solve anything.
It’s already a huge pain in the ass to use the proprietary drivers, the open source ones barely work as is.
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
They don’t want you to see the “if benchmark_xyz { do less work }” blocks of code.