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.
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.
Because we are talking about two different companies. I am talking about what Nvidia is doing currently. Not what AMD has done in the past. That’s like talking about Burger King because McDonald’s is currently dealing with this weird ice cream machine fight. Bringing up the previous behavior of a Company A and speculating as to the motivations and drivers of Company B doesn’t make a whole lot of sense unless we are comparing companies A and B. Which we are not.
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.
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.
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.)
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.
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'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.
Yeah! Let's not care about the possibilities where companies can exploit people's free work and let them do as they wish. Better yet, divide the gaming community again, bring back console gaming with exclusive games, discontinue Vulkan/OpenCL because nobody should care about the open-source just so we can recognize the "goodness of the hearts" of the executives, not the individuals that actually do the work regardless of them being under that same company or not. Let's software development a living hell. Let's forget preserving games, or even making games in the first place.
Or maybe be careful what you wish for. Nobody wishes for fragmentation, that's why maybe...stop making shit proprietary or patent shit in the first place so that you don't have to maintain a proprietary software in the first place?
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 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