this post was submitted on 30 Aug 2023
478 points (98.4% liked)

Linux

45885 readers
373 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 158 points 10 months ago* (last edited 10 months ago) (43 children)

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

[–] [email protected] 43 points 10 months ago (6 children)

Then isn't the correct solution to sue Nvidia?

It's a legal issue with a legal solution.

[–] [email protected] 75 points 10 months ago (1 children)

You dont sue someone with deeper pockets than you.

[–] [email protected] 58 points 10 months ago

This is what's wrong in so many countries.

[–] [email protected] 17 points 10 months ago

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?

load more comments (4 replies)
[–] [email protected] 38 points 10 months ago (11 children)

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.

[–] [email protected] 90 points 10 months ago (1 children)

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.

load more comments (1 replies)
load more comments (10 replies)
[–] [email protected] 21 points 10 months ago

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.

[–] [email protected] 14 points 10 months ago (2 children)

Phoronix comments are always wild

load more comments (2 replies)
load more comments (39 replies)
[–] [email protected] 73 points 10 months ago (1 children)

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)

load more comments (1 replies)
[–] [email protected] 63 points 10 months ago (26 children)

Perfect timing buying an AMD card yesterday to replace my old NVidia. Installed today, works like a champ. Issue resolved

load more comments (26 replies)
[–] [email protected] 52 points 10 months ago (30 children)

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?

[–] [email protected] 46 points 10 months ago (8 children)

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.

[–] [email protected] 19 points 10 months ago* (last edited 10 months ago) (1 children)

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.

[–] [email protected] 20 points 10 months ago

They don't have to do it well, just enough to satisfy the lawyers.

load more comments (7 replies)
[–] [email protected] 18 points 10 months ago* (last edited 10 months ago) (3 children)

Likely a combination of 4 things:

  1. They have third party firmware in their blobs that they are under NDA regarding the source code.

  2. They believe in the source code is a large part of their success and don't want to reveal it.

  3. They believe giving out the source code will allow many inferior variants of the software, impacting their brand.

  4. 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.

load more comments (3 replies)
load more comments (28 replies)
[–] [email protected] 24 points 10 months ago (3 children)

What ever happened to the source code nvidia did release. Was it released in such a way to where it is not helpful?

[–] [email protected] 22 points 10 months ago (2 children)

They are not legally allowed to build drivers from the illegally acquired source code.

[–] [email protected] 21 points 10 months ago* (last edited 10 months ago) (3 children)

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.

load more comments (3 replies)
[–] [email protected] 18 points 10 months ago (2 children)

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

load more comments (2 replies)
[–] [email protected] 13 points 10 months ago

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.

load more comments (1 replies)
[–] [email protected] 16 points 10 months ago* (last edited 10 months ago)

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.

[–] [email protected] 16 points 10 months ago (2 children)

So what does that mean for me on Arch, how will it affect me?

ELI5?

[–] [email protected] 13 points 10 months ago

If they don't fix it before 6.6 comes out on Arch, you may have to use the LTS kernel.

load more comments (1 replies)
[–] [email protected] 13 points 10 months ago

It seems they just fixed symbol_get() so GPL-only symbols are avaliable to GPL driver

[–] [email protected] 11 points 10 months ago (2 children)

Phoronix thinks I'm using ad blocker. In fact I'm not. I don't have any kind of adblocker on my network... *sigh*

[–] [email protected] 22 points 10 months ago* (last edited 10 months ago)

Meanwhile me using ublock adblocker and flawlessly reading the content on firefox

[–] [email protected] 11 points 10 months ago (2 children)

Which browser are you using? Perhaps it has some built in blocking

load more comments (2 replies)
[–] [email protected] 10 points 10 months ago (7 children)

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)

[–] [email protected] 10 points 10 months ago* (last edited 10 months ago) (2 children)

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:

  1. The kernel includes IP only licensed under GPLv2.
  2. 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.
  3. Using these interfaces with a module not licensed GPLv2, you taint the kernel and violate the licensing.
  4. 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.

load more comments (2 replies)
load more comments (6 replies)
load more comments
view more: next ›