Live data from Hacker News

Nvidia releases open-source GPU kernel modules

developer.nvidia.com

331–340 of 415 posts

Re: Nvidia releases open-source GPU kernel modules

#331
post #312

Earlier quoted context omitted.

'Upstreamable' means that they send Linus a pull request, and Linus merges it into the kernel. It would then become part of Linux. It's a negative that it's not upstreamable. I wouldn't go so far as to say it's bad, but it's less than good. That means you'll continue to maintain a separate kernel module that's rebuilt for each kernel. It would need to be modified to match the kernel's coding standards and whatnot. Pa…

What would the practical effect be for me as a user, say I render in Blender, or I play a few intensive 3d games?

Currently, you rely on Nvidia to keep the drivers up to date and working with the kernel you use in your OS.

If the drivers aren't upstream, a future kernel can break them. So if you update your OS, it might no longer support your GPU without installing an alternative. Nvidia are responsible for getting this fixed in a timely manner.

If the drivers are upstream, then people aren't allowed to break them when they make changes to the kernel. There should never be a kernel or OS upgrade that causes the drivers to no longer work, the people who made the breaking change are responsible for fixing it before it gets released to you.

Re: Nvidia releases open-source GPU kernel modules

#333

Earlier quoted context omitted.

> This is not upstreamable in its current form What does "upstreamable" mean in this context? Is this good or bad? As a follow-up, what would need to be different so that it is upstreamable and would that be good or bad?

'Upstreamable' means that they send Linus a pull request, and Linus merges it into the kernel. It would then become part of Linux. It's a negative that it's not upstreamable. I wouldn't go so far as to say it's bad, but it's less than good. That means you'll continue to maintain a separate kernel module that's rebuilt for each kernel. It would need to be modified to match the kernel's coding standards and whatnot. Pa…

> send Linus a pull request

Linux doesn't do pull requests. You actually send your patches as an email to a kernel maintainer (different people accept patches for different parts of the codebase) and then they'll review it. They'll pass it up to someone above them, and they'll pass it to someone above them, and eventually it makes its way to Linus.

That's why Linus is famous for angry and aggressive emails. He's not shouting down new developers who have made a simple mistake. He shouts and swears at the people employed below him who failed to properly do quality control and code review.

Re: Nvidia releases open-source GPU kernel modules

#336

Earlier quoted context omitted.

Nvidia have always shipped closed-source drivers, despite AMD and Intel providing open source drivers for their GPUs. This made the experience on Linux second class to Windows, where while also closed source, at least you knew that bugs would probably get fixed. Various non-core features simply wouldn't have support on Linux, e.g. Optimus. Also, shipping closed source binaries would limit which kernel you could run t…

This is a good technical summary of the impact but I think misses the somewhat emotive history here. See things like this infamous clip from Torvalds[0] for more context on the community sentiment around nvidia in general. [0] https://www.youtube.com/watch?v=IVpOyKCNZYw

Don't even have to click to know what that is, first thing that came to mind when I saw this headline

Re: Nvidia releases open-source GPU kernel modules

#337

I'm confused! Why would Nvidia want to keep any of this closed source. Surely they make money when people buy graphics cards, and having open source out-of-the-box graphics support in Linux would mean they would sell more graphics cards?

Drivers are a large part of the development costs of a GPU, just like how an operating system is a large part of the development cost of a general computer. If nVidia open sourced all their drivers tomorrow the risk of some cheap Chinese shop making clones of their hardware and re-targeting the nVidia drivers to get lots of the features would be very high. It'd significantly reduce the value of what they'd built (to…

AMD and Intel both have open source video drivers and I really doubt anyone has cloned them.

The non-free features for the Nvidia cards and many other chips are achieved by the card itself running closed source binaries. It is actually probably a better way to protect IP anyway since no one can decompile the encrypted binary (well until recently...).

Open source and proprietary software exist as a duality. It's not an absolute expectation that everything will be open source but Nvidia is very late vs its competitors.

Google, Windows, macOS, etc. all have large open source parts. Games are kind of an exception because they are treated like a single work of art. Also, crucially no other software or hardware has a game as a dependency so interoperability isn't a concern.

Re: Nvidia releases open-source GPU kernel modules

#338
post #310

Earlier quoted context omitted.

No law or regulation that I know of specifies binary format.

The regulations specify they should not be easily changed. Distributing source makes it easier to change.

Wasn't that law only introduced a few years ago?

Re: Nvidia releases open-source GPU kernel modules

#339
post #310

Earlier quoted context omitted.

No law or regulation that I know of specifies binary format.

The regulations specify they should not be easily changed. Distributing source makes it easier to change.

The carl firmware at https://github.com/chunkeey/carl9170fw should put that argument to rest. That is Wifi firmware source code for the Wifi I currently use.

Easily changed likely means there's a physical knob somewhere that you could accidentially poke as a layperson.

Not that you get a three year CS education, figure out how your distribution packages dependencies, install the correct embedded toolchain (good luck), find out exactly which chip is in your device, fetch the proper firmware source code in the right version, build the thing, figure out how to flash the result onto the chip / read the Linux kernel sources to figure out the filename inside /lib/firmware. That's not easy.

Even if this entire process was packaged (it is--see https://packages.debian.org/sid/firmware-linux-free>), it probably still doesn't count (or at least shouldn't count) as "easily" changed.

Re: Nvidia releases open-source GPU kernel modules

#340

Would love to hear from folks who worked on this! Was this an ongoing thing? Did it have to be pitched hard? What finally made the difference? I'm assuming here it's not because of LAPSUS as some speculate. This seems like it must have been in the making for quite a while.

See the RedHat graphics director here: https://linuxactionnews.com/240

He says that Nvidia's interest intensified in the last 3 months. Probably Steam Deck challenging their monopoly is making them uneasy.

Post reply on HN