this post was submitted on 30 Aug 2023
802 points (98.7% liked)

Linux

48248 readers
804 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.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 76 points 1 year ago (4 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] 74 points 1 year ago (1 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] 24 points 1 year ago* (last edited 1 year 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.

[–] wmassingham 19 points 1 year ago

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

[–] [email protected] 16 points 1 year ago* (last edited 1 year ago) (1 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.

[–] uis 4 points 1 year ago* (last edited 1 year ago) (1 children)
  1. They can open their code without merging into mesa

  2. They don't want you to use "old" GPUs

[–] [email protected] 1 points 1 year ago (1 children)

Sure but why open their code without getting the integration benefits?

[–] uis 3 points 1 year ago* (last edited 1 year ago)
  1. Getting to use GPL-only symbols
  2. Still much easier for distros
  3. Example of drivers

And again we are talling about code not being rejected as main goal.

[–] [email protected] 10 points 1 year ago (7 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.

[–] [email protected] 46 points 1 year ago (1 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.

[–] [email protected] 2 points 1 year ago (2 children)

So we can add "use an older kernel" and "use a modified kernel with that protection removed" to the list of options.

[–] [email protected] 12 points 1 year ago* (last edited 1 year ago) (1 children)

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

[–] [email protected] 3 points 1 year ago

As long as they get support for it. Big corps don't buy anything without 7 layers of scapegoats to point at.

[–] [email protected] 26 points 1 year ago (1 children)

The Linux market is massive for Nvidia. Nobody is using Windows for ML and everybody is using Nvidia for ML.

[–] [email protected] 19 points 1 year ago* (last edited 1 year ago) (2 children)

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

[–] Zeth0s 14 points 1 year ago (1 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

[–] [email protected] -1 points 1 year ago (1 children)

They don't have to offer Linux drivers for free to the general public though. Ask yourself why they do that.

[–] Zeth0s 3 points 1 year ago* (last edited 1 year ago)

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

[–] BURN 10 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.

[–] [email protected] 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.

[–] uis 4 points 1 year ago

The Linux market is too small for nVidia to care

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.

[–] [email protected] 1 points 1 year ago

They don't want you to see the "if benchmark_xyz { do less work }" blocks of code.