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.
deleted by creator
Apple reserves the sole and exclusive right to that privilege.
I know this isn’t going to stop people like you from continually telling me “Apple is bad,“ but I literally said in my other comment, “Apple has a lot of problems” lol
It’s not that “Apple is bad” it’s that you’re commenting about how you’re glad that companies like Nvidia can’t fuck with you, while being seemingly oblivious to the fact that Apple absolutely can fuck with you because you’re running a proprietary OS using proprietary drivers on proprietary hardware. Apple has more power over you than Nvidia does over Linux users, yet you’re commenting here like Apple is a better choice.
Dude please read what I said. This is what I’m talking about. Apple screws with me in other ways. I am saying this is one specific angle they do not. It does not mean I think they’re squeaky clean. Actually read the words I’m writing. These aren’t long comments.
You specifically state that you’re glad that your CPU and GPU aren’t a vector for companies to fuck with you, but they are a vector for Apple to fuck with you. Apple just hasn’t done it (yet?)
Apple just hasn’t done it (yet)
DINGDINGDING.
One company is doing it. The other isn’t. If Apple starts doing it, then I will change over. Why is this difficult? 
Your argument is sound, people question your rationalization.
Honestly, I’m not a graphical designer, so I can’t judge, and I suffer similarly by being forced to use Windows due to chimp-IT in my workplace,
but in general - using these vendor lock-in products should be avoided.
When did I write that Apple is bad? That’s a weird response.
Yeah, you’re just running an entirely proprietary GPU that only Apple makes proprietary drivers for. Don’t see how that’s a win in any way?
Apple’s GPU at least isn’t maliciously designed to be difficult to write open-source drivers for. It’s up to the community to figure out how it works and write a driver, but Apple isn’t actively trying to stop them like NVIDIA is.
This is a fair point, and I’m not trying to defend NVIDIA’s behavior. I use an AMD GPU on Linux for a reason 😅
The progress on Asahi Linux has me considering a M1 MacBook Air for real.
The progress on Asahi Linux is a demonstration of the difference I mentioned. People have been working on open-source NVIDIA drivers for ages and still can’t get the GPU out of first gear, whereas the M1 GPU driver is mostly functional after only a couple of years.
deleted by creator
What cards are supported because GF 1660s is PITA without proprietary drivers.
I use Nvidia’s proprietary driver because the open-source Nouveau driver won’t work with my display. Will this update break the driver, or just make it slower?
I’d love to stop using Nvidia, but I don’t have much choice about using their proprietary driver until I get my next video card, or Nouveau starts working for me.
It probably means it’ll take longer for Nvidia to release a driver for Linux 6.6 and might stop them from doing so. They’ll probably find a way to circumvent this and continue to violate the GPLv2 the kernel is licensed under.
If your on a distro which gets a new kernel quickly it might be a good idea to pin Linux 6.5 so the system doesn’t update to a kernel which the driver doesn’t support. But whether that’s necessary woll probably be talked about more once 6.6 actually releases.
PS: If your on a 2000 series or later GPU you might actually be able to use nouveau at some point, since there’s ongoing work on an open source Vulkan driver with actually useable performance. Thanks to Nvidia it definitely won’t work on Pascal and earlier.
It probably means it’ll take longer for Nvidia to release a driver for Linux 6.6 and might stop them from doing so.
This does not sound reasonable to me. Cloud AI is really strongly dependent on both Nvidia and Linux. In the building across from my office is an AI research lab with about $2M worth of Nvidia cards and using Linux is 100% non-negotiable. And that lab is small potatoes in the grand scheme of things. Think about all the data centres and research labs out there that are completely dependent on both Nvidia and Linux. I don’t think Nvidia would so flippantly say “welp, the kernel developers are being mean, so we’re going to stop participating in the cloud computing and research market”.
This is twisting the screws on their revenue stream in a significant way. I don’t know what they’ll do: comply, get more sneaky, try to sue. But I don’t think they’ll just give up.
TAINT_PROPRIETARY_MODULE & GPL Condom has to be intentional double entendre right?
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.
That’s just such a great image!
Made me lol
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.
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!
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)
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
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.
Not to be contrarian, but b) could well be a full decade of work and numerous individual projects
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)
The userland differences are not too great, but I would assume a kernel module as significant as a modern GPU driver is pretty deeply tied to Linux’s kernel internals.
deleted by creator
They already provide custom images for their Jetson modules, I think more NVIDIA distros are likely to happen one way or another.
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
Thanks for the ELI5. I read the article but had a hard time parsing the significance other than Nvidia proprietary drivers bad
deleted by creator
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.
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.
Then let Nvidia deal with this drama of their own making. Linux works as intended.
So intentionally harmful to user experience. As usual.
The user experience is based around audited, reviewed, open source software. Everything from the licenses, distro policies, and kernel maintainership is based around that model and it has benefitted users far more than if Linux was a mess binary blobs that do not interoperate with each other in a well-defined and transparent manner.
AMD and Intel both manage just fine, along with hundreds of other companies supporting hundreds of other pieces of hardware on top of dozens of different CPU architectures. If Nvidia insists on being a special snowflake about this then it is 100% their problem.
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.
deleted by creator
Then go install Windows.
Okay, then continue not caring as the people who do take care of things. Don’t worry your pretty little head about it.
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.
If that is the case, then you should be very happy to leave Linux for a proprietary OS that Nvidia works on and properly supports.
If it’s a dmca violation then sue them. Do not create software “defenses” and do not make my computer experience worse.
With what money are they supposed to fight the multi billion dollar mega corpo exactly with dozens of lawyers??
Also, if they fight this in court then that would mean less money for development thus making your experience even worse….
Well then don’t! Revenge code which makes it worse for people who actually use Linux isn’t a way to do this.
Yeah just roll over and set a precedent for large companies to violate the kernel’s license! It’s so much easier!
Nvidia shipping proprietary code is what makes it worse for people who actually use Linux. They should open source their driver.
Then isn’t the correct solution to sue Nvidia?
It’s a legal issue with a legal solution.
apparently suing in these cases would mean having authorization from ALL contributors…
You dont sue someone with deeper pockets than you.
This is what’s wrong in so many countries.
Because sueing is never great
Neither is having your copyright infringed. Neither is wasting volunteer manpower playing a technical game of cat and mouse
Yeah probably, but Nvidia can afford lawyers and delays for years. Much longer than any oss group could afford
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?
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
Cause the GPL is a virus
We’ll be down voted, but agreed.
And it’s a good thing. Fuck proprietary software 😎
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.
It is copyright infringement. Nvidia (and everyone writing kernel modules) has to choose between:
- using the GPL-covered parts of the kernel interface and sharing their own source code under the GPL (a free software license)
- not using the GPL-covered parts of the kernel interface
Remember that the kernel is maintained by volunteers and by engineers funded by/working for many companies, including Nvidia’s direct competitors, and Nvidia is worth billions of dollars. Nvidia is incredibly obnoxious to infringe on the kernel’s copyright. To me it is 100% the appropriate response to show them zero tolerance for their copyright infringement.
To expand a bit:
The GPL-only symbols restriction is there for the benefit of proprietary developers. It ensures that their work doesn’t become a “derivative work” of the kernel’s internals, by sticking to using only the published and documented interfaces. Using published APIs doesn’t make your work a legally derivative work of the system behind those APIs (i.e. the kernel).
If your code needs to mess around in the kernel internals, it is very likely a derivative work of the kernel; which means you need the permission of the kernel authors if you want to publish that code legally.
The only terms under which the kernel authors grant that permission are the terms of the GPL.
By circumventing the GPL-only symbols restriction, Nvidia is demonstrating that their driver code needs to mess with kernel internals, not just the published APIs. And that means that it probably is a derivative work of the kernel. Which, in turn, means that those drivers must be published under the GPL in order to avoid violating the kernel copyrights.
Basically: Linus drew a line in the sand and said “As long as you don’t step over this line, you’re not pirating the kernel by releasing proprietary drivers.” And Nvidia stepped over that line.
As the commenter stated, it is a copyright issue. Nvidia is not allowed to use this code in a proprietary driver.
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.
Wouldn’t that automatically make their code GPL?
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.
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.
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.
There are lots of problems here. First, if you have to “hack” something to get the code, then it likely invalidates your own defense that you thought you were allowed to release it. Second, even if you can prove that nVidia knows that they should have to GPL their code, you still have no legal right to hack something to get it. If the hacking is illegal, then it’s illegal, even if it’s done to enable an otherwise legal activity.
No it would just make Nvidia guilty of copyright infringement
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.
I need to upgrade my computer soon… this crap makes me not want to go Nvidia again. (Running a looooong in the tooth 1060.)
The new 150$ range Amd cards are enticing. I could bring new life into my rx5500 htpc.
Go ahead, I just ordered a new build specifically with a non-Nvidia card for the same reasons.
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.
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/.
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.
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.
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?
Them becoming raging zealots is kind of the only realistic way to defend the GPL though. If they don’t, it’s just going to get treated like toilet paper. I’d much rather have the angry hate mob than to be disrespected by big companies who can otherwise just get away with whatever they want.
And I’d like hardware that works, and proprietary drivers are really the only way that happens
deleted by creator
AMD and Intel both have fully featured, full performance open source graphics drivers.
Not to knock on your point but the AMD drivers on Linux don’t support hardware video encoding unfortunately, so technically it’s not full-featured
I take advantage of hardware video encoding on linux with amd’s open source drivers almost every day.
Depends on your distro. Fedora and Manjaro removed it.
Why do you think that? Companies can open source their drivers at will, in fact at this point NVIDIA is the only major player in GPU market who hasn’t done this, what do you think makes this particular hardware so special that needs a closed source driver when every other competitor doesn’t? In fact what could possibly be the reason for a driver to need to be closed source?
Ehm, not at all??
There’s so much hardware with non-proprietary drivers.
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.
deleted by creator
Linux is the gold standard in many high end GPU applications, like AI, though?
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.
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.
-
Intentionally pushing changes that could brick a bunch of systems over legal complaints is imo reckless.
This should be a last resort move. Has the Linux foundation started chasing nVidia over this? because it sounds like this is coming out of nowhere.
Get pissed at NVIDIA. They’re the problem.
But when NVIDIA or gamedevs do it, it is different.
I get why the Linux folks are doing this, but I don’t expect that it will make them popular with anyone who actually uses Nvidia drivers on Linux (which is a lot of people). I’m sure that my employer will choose up-to-date Nvidia drivers over up-to-date versions of the kernel, at least in the short term. In the long term it probably won’t be an issue since Nvidia will figure something out, but if it did become an issue then ultimately Nvidia driver support is non-negotiable for the company where I work.
(No one cares what a small tech company does, but the big guys need Nvidia too so it should be possible to piggyback on whatever they do.)
I think end users wouldn’t care either, they probably wouldn’t even understand what’s actually happening, they’ll only notice performance degrading (if this is the case) and blame Linux for it.
That’s not to say this shouldn’t be done, I just wish there was better control on license violations and those doing it on purpose, like Nvidia in this case, would be seriously punished to make them think twice next time.
don’t expect that it will make them popular with anyone who actually uses Nvidia drivers on Linux
The group to be annoyed at are Nvidia. Plain and simple.
From my closed-source corporate perspective, Nvidia is trying to improve performance and the Linux kernel maintainers are trying to stop them. I don’t see why I would be annoyed at Nvidia in these circumstances.
You can always make your own kernel and enforce whatever stupid laws you want on it then.
From a corporate perspective you should be VERY worried about this, GPL is infectious, so if NVIDIA drivers are using GPL only parts of the kernel they become GPL, and because NVIDIA doesn’t offer GPL only endpoint the license applies to everything, meaning that if your company is using the NVIDIA driver in any way shape or form anything you produce becomes GPL as well. NVIDIA has enough lawyers to delay the enforcing of this, which is why they’ll never get sued, does YOUR company has enough lawyers to keep FSF at bay? If not you should be very annoyed at NVIDIA for not providing a license term for their GPL driver (and legally their driver IS GPL if it uses those endpoints).
And here’s the thing, for a home user not updating the kernel is good enough, for a company it’s not because this is a bug fix, not new implementation, NVIDIA is already in breach of license.
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.
Nvidia is undermining patent law. That should be an issue that big corpos can understand.
Via breaking the law. Which in a reasonable system would push people away from participating
I did say that I get why the Linux folks are doing this. The problem is that Nvidia drivers that obey these restrictions and as a result have significantly worse performance than Nvidia drivers on other operating systems aren’t the solution either. Anyone who does serious GPU computing will still have to switch away from Linux.
(IMO Nvidia would be insane to open-source their drivers. Like sue-corporate-officers-for-breach-of-duty level insane. So they can’t do more than what they’re already doing: coming up with workarounds.)
Would they though? They sell their hardware, not their drivers, or am I misunderstanding something about Nvidia?
Of course I can’t know for sure because the driver is closed-source, but I’d bet that a lot of what makes Nvidia hardware work fast is actually in the driver rather than the hardware itself. Plus, a proprietary driver lets them lock people in to buying their hardware. The company where I work doesn’t use Nvidia software because it buys Nvidia GPUs. It buys Nvidia GPUs because it uses Nvidia software.
I don’t believe that even for a second. Software doesn’t make hardware run faster. It can certainly slow it down. But it doesn’t make it run better.
Oh yes sure, the software make nvidia gpu better, something that probably most of the hundred if not thousand of contributor to the mesa driver and in the list we have amd, intel, collabora, redhat, nouveau, google, valve and many others didn’t see, they were the only one in the entire silicon valley to find this secret sauce to make gpus better with software.
Is it possible that by revealing their drivers they would also reveal something about their industry designs?
I mean, just building the hardware and letting the community do all the work on drivers for free would be better, if they don’t do it there must be a valid reason I think.
Their drivers were already leaked, any secrets they were trying to hide are out in the wild, so that point is moot.
I mean, they make money of selling the hardware from what I understand. Maybe I’m misunderstanding, and that’s the problem. Maybe they make money off the driver’s too.
AMD’s doing pretty well with their open source drivers, I suppose its up to nvidia if they want to offer a worse product simply so they can keep as much profits as possible.
But leveraging other peoples work via open source code, to improve their product - then still not donating nor contributing back to the source? Not only illegal but scummy as hell.
We may not be as offended as the kernel devs, but theyre the ones whos work is being stolen, so I wouldn’t be so quick to tell them what to do
I wouldn’t say AMD is doing pretty well - it isn’t a serious competitor to Nvidia in the GPU computing market.
No idea why you’re getting downvoted. Outside of the increasingly small desktop gpu market AMD is completely irrelevant in professional GPU use. They’re not even remotely close to being a competitor
Because they’re breaking the law while taking advantage of open source software.
Nvidia could choose to improve performance using non-illegal tactics.
They haven’t.
I’m happy to live in a society wherev we support those upholding the law.
For most people, principle takes a backseat to pragmatics. If your livelihood is training ML models on thousands of nVidia cards or whatever, you care less about who to be mad at and more about not laying off your staff and shutting the doors. You can’t replace nVidia. You can replace the latest kernel.
If your livelihood depends on a company breaking the law, you’ve got other issues.
Nvidia could choose to follow the law, their customers could choose to support them in that.
Part of the reason you can’t replace Nvidia, is because they get ahead by breaking the law. This makes it harder to compete with them.
Now you’re stuck with only Nvidia, and welcome to monopoly hell. A bit exaggerated I know, but it’s his it happens.
If your livelihood depends on a company breaking the law, you’ve got other issues.
That’s a pretty naive view of the world. If I buy 50,000 Android devices to support my company’s field sales operation, I’m not going to collect them all and put them in a trash compactor just because Oracle decides to pick a copyright fight with Google. If you work for any large-ish company, your employer is probably engaged in dozens of active lawsuits right now. That’s just how the world works.
That’s just how the world works.
And that’s kind of the discussion here.
Some people are annoyed at the Linux Devs because “fuck it, everyone breaks the law and it doesn’t matter”. Some people are annoyed at Nvidia because they’d like to uphold or social contracts.
In don’t think it’s naive to want to live in a world and support a society that supports the law. I do think we have bigger issues that people are happy with this behaviour and are actively defending it.
I’m not saying you shouldn’t want companies to obey the laws. I’m specifically responding to the idea of “if your business relies on companies breaking the law, you have bigger problems”. The idea that you’ll dramatically tear apart and rebuild your supply chain literally every week as one company or another is sued for something that doesn’t concern you is what’s naive. Even just looking at patents, every company that writes software is a time bomb, because there are hundreds of thousands of bullshit patents that cover extremely broad and obvious ideas. This can’t be your problem, or you’ll never actually get around to doing the thing your company does.
I use Nvidia drivers on Linux and fully support it. You know what else is non-negotiable? Linux support for Nvidia. Huge chunk of their money comes from people using their GPUs on Linux for machine learning. And while they can use older kernels for now (because they’re still supported), they won’t be able to forever. And corporates will want a supported OS with their Nvidia card.
And while they can use older kernels for now (because they’re still supported), they won’t be able to forever.
It might even happen that the change gets back ported upstream; that would mean that every supported kernel has the changes in place, regardless of version.
It might, though I don’t really see it happening with this change.
I’d rather have working proprietary drivers than broken open source ones, which seem to be our only options. I find it real hard to side with Linux here as they’re going to make performance worse for a platform that already struggles.
And people wonder why Linux will never take off on the desktop. Stuff as basic as this will make sure anyone semi-casual about pc use will have issues with Linux.
Or maybe to keep doing social pressure on nvidia and make them feel guilty ,that they finally realse and did support of open version drivers not only for gtx 1650+ and fot more old cards.Because their source codes was published when hackers hacked their infrastructure and leaked source code.
Just the existence of CUDA means Linux must remain a target for Nvidia.
Also, this can be quite easily compared to Windows changing their driver’s structure and functionality. And Microsoft did it many times in the past.
Or maybe we shouldn’t just accept trillion dollar companies doing whatever the fuck they want?
Nvidia is clearly in the wrong here, and infringing on copyright. Do you want to set the precedent that companies can just ignore copyright? Meanwhile when we certainly can’t ignore theirs?
Maybe we should hold the companies to a higher standard. And not roll over and give in basically as soon as they do something we don’t like, compromising the foundation and good parts of what we already have, in this case Linux. Open source and GPL is the lifeblood of Linux, it’s what makes it as good and useful as it is.
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.
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 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.
It’s sad to see the 100500th confrontation between the people who have never contributed to the kernel, yet they want to deprive others of using their existing GPU with Linux and instead force them to buy a new GPU. This screams of of being elitist and haughty but I just don’t care any longer. Too tired of hatred, aggression, animosity and verbal attacks. This has really propelled Linux, oh, wait, it’s only shown what kind of people represent Open Source.
It’s kind of like using DRM to combat piracy in regards to multimedia. The Linux kernel is under a certain license and the kernel developers feel NVidia is encroaching on their IP in a way that is against the copyright. They won’t give NVidia an exemption despite their obvious importance in the hardware industry.
It may seem aggressive but look at how Nintendo, Disney, etc. regard those who break their own plans/trademarks. If you don’t take your own IP seriously, the law won’t either.
DRM is a good comparison, imagine there exists a DRM measure that doesn’t affect rightful owners in any way shape or form but prevents piracy, would you be against it?
Personally I would be 100% okay with that, the problem is that DRM usually causes issues to rightful users and doesn’t prevent piracy. This change on the Kernel seems to be that perfect DRM, it won’t affect any rightful driver but prevents companies from pirating the Linux Kernel.
Those “haughty” “elitists” wrote your operating system and gave it to you for free. Have some gratitude, and direct your complaints to the uncooperative scoundrels in charge of NVIDIA who created this whole problem.
Will someone please think of the mega corporation. 😢
Dude are you Avis from the phoronix forums¿? This comment is the exact copy of his/her comment there.
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.).