this post was submitted on 30 Aug 2023
719 points (98.6% liked)

Linux

48069 readers
772 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
[–] csolisr@communities.azkware.net 71 points 1 year 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)

[–] ProgrammingSocks@pawb.social 6 points 1 year ago* (last edited 1 year ago)

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.

[–] intelati@programming.dev 71 points 1 year ago (3 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?

[–] eltimablo@kbin.social 73 points 1 year 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.

load more comments (8 replies)
[–] apt_install_coffee@lemmy.ml 15 points 1 year ago* (last edited 1 year 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)
[–] Blackmist@feddit.uk 12 points 1 year ago (14 children)

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.

[–] ArbitraryValue@sh.itjust.works 40 points 1 year ago (4 children)

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.

load more comments (4 replies)
[–] You999@sh.itjust.works 19 points 1 year ago* (last edited 1 year ago) (7 children)

The Linux community is literally Nvidia's biggest market. The current Linux market share in data centers is currently estimated to be 77%.

load more comments (7 replies)
[–] Zeth0s@lemmy.world 12 points 1 year ago (2 children)

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

load more comments (2 replies)
[–] rikudou@lemmings.world 9 points 1 year ago* (last edited 1 year ago)

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.

[–] BURN@lemmy.world 9 points 1 year ago

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.

load more comments (9 replies)
[–] AceFour@lemmy.world 52 points 1 year ago (1 children)

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

[–] jack@sh.itjust.works 6 points 1 year ago (15 children)

I've had a mixed experience with my newer AMD card, and that's being charitable.

load more comments (15 replies)
[–] Ertebolle@kbin.social 39 points 1 year ago (5 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)

[–] ArbitraryValue@sh.itjust.works 31 points 1 year ago* (last edited 1 year ago) (3 children)

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.

load more comments (3 replies)
[–] Laser@feddit.de 29 points 1 year ago* (last edited 1 year 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 (3 replies)
[–] rmstyle@feddit.de 23 points 1 year ago (2 children)

That's just such a great image!

load more comments (2 replies)
[–] skymtf@lemmy.blahaj.zone 18 points 1 year ago (2 children)

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

[–] FederalAlienSmuggler@feddit.de 20 points 1 year ago (2 children)

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

[–] Dubious_Fart@lemmy.ml 19 points 1 year ago* (last edited 1 year 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)
[–] worsedoughnut@lemdro.id 14 points 1 year 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)
[–] fruitycoder@sh.itjust.works 6 points 1 year ago

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.

[–] autotldr@lemmings.world 14 points 1 year ago

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!

[–] Madex@lemm.ee 12 points 1 year ago (1 children)

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

ELI5?

load more comments (1 replies)
[–] uis@lemmy.world 12 points 1 year ago

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

[–] Zucca@sopuli.xyz 9 points 1 year 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*

[–] Phenomenalpooran@kerala.party 19 points 1 year ago* (last edited 1 year ago)

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

[–] fhein@lemmy.world 9 points 1 year ago (2 children)

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

load more comments (2 replies)
[–] ArbitraryValue@sh.itjust.works 7 points 1 year ago* (last edited 1 year ago) (5 children)

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

[–] withabeard@lemmy.world 29 points 1 year ago (28 children)

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.

load more comments (28 replies)
[–] ulu_mulu@lemm.ee 7 points 1 year ago* (last edited 1 year ago)

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.

load more comments (3 replies)
load more comments
view more: next ›