So NVIDIA "released" their kernel driver as open source.

By which they mean, they moved most of it to firmware and made the open source driver call into it. There are almost 900 functions implemented in the 34MB firmware, give or take, from what I can see.

Broadcom vibes...
For reference, Apple's GPU firmware is ~400kB. Apple's display controller, which is a similarly insane RPC mess, is ~7MB, but most of it is data tables (~1.5MB is code).

Don't get me wrong, less blobs in the kernel is great... but open source their "driver" they did not.
At least their kernel side code is "only" 58MB of source code. AMD still takes the lead, with almost 300MB of autogenerated includes they somehow managed to upstream into the Linux kernel tree...
But yeah, somehow ~every other GPU vendor manages to have open source kernel drivers that *don't* require megabytes of firmware/kernel code to run behind the scenes. Userspace code, sure, but kernel? I still have no idea why on earth Nvidia always needed that much junk.
Question to ponder: is this a licensing hack? Nvidia wasn't allowed to use GPL-only kernel exports due to linking with the blob. Now the blob runs on another CPU... but it's still remote procedure calls. Is that "linking"? Does it make a philosophical difference?
I'd argue that it's probably fine licensing-wise, and it's better for users in that at least the blob can be sandboxed behind an IOMMU, so it's a net win for practical purposes.

But no freedom was gained, for people who care about that. The ~same amount of code is closed.
Also reminder that they could now put gsp.bin in the card's VBIOS flash and get FSF's Respects Your Freedom certification for them (well, if they had open source userspace anyway). In case you were still unsure about whether RYF actually ensures any freedoms are respected.
I've actually joked in the past about how you could put NVIDIA's blob driver in UEFI firmware on some machine and have it steal a CPU core and make an open source shim driver for it and get the whole lot RYF certified... and now Nvidia basically did half of that already 🙃
You can follow @marcan42.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: