Project

General

Profile

Freedom Issue #3293

[nvidia-open][nvidia-open-dkms] Only work with proprietary firmware and software

gap - 6 months ago - . Updated 3 months ago.

Status:
fixed
Priority:
bug
Assignee:
% Done:

0%


Description

From the README.md at https://github.com/NVIDIA/open-gpu-kernel-modules:

Note that the kernel modules built here must be used with gsp.bin firmware and user-space NVIDIA GPU driver components from a corresponding 515.43.04 driver release.

Perhaps we could remove the code which loads the proprietary firmware from these packages, as the Linux-libre project does, but I don't think they would work without it.
Still, they might function at least somewhat in isolation and they're a small, positive step forwards for freedom, as they may be useful to the Nouveau project and might one day me mainlined in Linux.

History

#1

Updated by gap 6 months ago

Also, both packages depend on the following blacklisted packages: linux-headers and nvidia-utils.
nvidia-open also depends on the blacklisted linux package.

#2

Updated by gap 6 months ago

IMPORTANT

These packages are blobbed.

I am upgrading the severity of this ticket.

I was poking around in the source files and discovered that these so-called "open" kernel modules are not even "open", and actually contain blobs in the form of very long hex arrays.
This is the same sort of junk that the Linux-libre project has been removing for years.

Some examples:
- https://github.com/NVIDIA/open-gpu-kernel-modules/blob/main/src/nvidia/generated/g_bindata_kgspGetBinArchiveBooterLoadUcode_GA100.c
- https://github.com/NVIDIA/open-gpu-kernel-modules/blob/main/src/nvidia/generated/g_bindata_kgspGetBinArchiveBooterLoadUcode_GA102.c
- https://github.com/NVIDIA/open-gpu-kernel-modules/blob/main/src/nvidia/generated/g_bindata_kgspGetBinArchiveBooterLoadUcode_TU102.c

From now on, I also recommend that we don't add any kernel module packages unless the Linux-libre project has checked them first.

On the bright side, these blobs are licensed under free software licenses, so we are at least free to reverse-engineer them.

What's even more twisted is the main bulk of the recent upgrade patch to this project (https://github.com/NVIDIA/open-gpu-kernel-modules/commit/965db985520c0c2aefa56dc2e81f9bfa67e91375) is not bug fixes or features, but is instead these files that accommodate the proprietary microcode, which are auto-generated.

Somehow nVidia still manages to do the wrong thing even when trying (or at least appears to be trying) to do the right thing.

#3

Updated by bill-auger 3 months ago

  • Assignee set to bill-auger
  • Status changed from unconfirmed to in progress

these were not so severe; because it is not possible to install them - they are on the blacklist now - the next your-freedom will delete them

#4

Updated by bill-auger 3 months ago

  • Status changed from in progress to fixed

Also available in: Atom PDF