Inlined proprietary binary blobs in code files #291
Replies: 12 comments 14 replies
-
These are small microcodes which are only used to load gsp.bin to the target risc-v core. They are loaded separately from the main gsp.bin payload, so it makes no sense to merge them into one file and then extract at runtime. They could be stored as individual firmware files on disk, but it wouldn't make much difference. The "bindata" infrastructure to embed microcodes into the driver is something that we are using on all platforms, so there's nothing to be gained by complicating the code further. An upstream linux-only driver will also require these microcodes and there it would make more sense to keep them as separate firmware files. See also #62 (comment) I'm going to close this as it's just a quirk of this driver's architecture. |
Beta Was this translation helpful? Give feedback.
-
@mtijanic you missed the whole point of the bug. |
Beta Was this translation helpful? Give feedback.
-
Well, that same complaint applies to gsp.bin itself, which makes this a duplicate of #35. As explained there, there are no plans to change this. |
Beta Was this translation helpful? Give feedback.
-
@mtijanic, it's not a duplicate because this bug is about the inline proprietary microcode, not If these microcodes are not liberated by releasing the source code under a libre license, then many distros will have to remove them, which is a logistical nightmare that Linux-libre has been dealing with for years. |
Beta Was this translation helpful? Give feedback.
-
@mtijanic I should also add that labelling these modules as "open" is a lie, because they contain inlined proprietary microcode. |
Beta Was this translation helpful? Give feedback.
-
@throwaway1037, you have made your point, several times as you mention. We have acknowledged your request and your frustration, advised this is a long new journey for us that has just begun. Continuing to "beat the dead horse" only will frustrate you, and us, with no good to come of it. If we might consider open sourcing the firmware as a feature request, you could open a discussion for that, and have the community vote on it. That of course doesn't guarantee adoption, but it would give community interest ammunition to nudge NVIDIA along that path - if they were to consider it at a later date. Fair enough? |
Beta Was this translation helpful? Give feedback.
-
@PAR2020, if moving this conversation to a discussion and voting can kickstart the liberation of the firmware and microcodes, I'm on board. :) |
Beta Was this translation helpful? Give feedback.
-
OK I'll move it to a discussion - as I said, there is no guarantee on adoption, but a solid voting gauge will take us to the next steps. Thanks for you understanding and cooperation! |
Beta Was this translation helpful? Give feedback.
-
Please see #292 |
Beta Was this translation helpful? Give feedback.
-
@PAR2020, I don't know if NVIDIA would consider it a solid voting gauge as you said, but after a week in #292, here are the results for the poll: "Should NVIDIA liberate all proprietary software on which these modules depend?": 35 votes total, 82% Yes, 8% No, 8% I don't know. |
Beta Was this translation helpful? Give feedback.
-
@PAR2020 it's now been over two months and a week since the start of the poll in #292 and the current results are: 85% for "Yes", 10% for "No", and 5% for "I don't know", with 68 votes total. How many more votes are needed until this can be considered "solid", as @edisionnano said? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
NVIDIA Open GPU Kernel Modules Version
Affects all versions
Does this happen with the proprietary driver (of the same version) as well?
I cannot test this
Operating System and Version
Affects all OSs
Kernel Release
Affects all kernels
Hardware: GPU
Affects all GPUs
Describe the bug
Many supposedly "open" source files contain inlined proprietary binary blobs in the form of long hex arrays.
Eg.
As discussed in #35, which has been left to languish, the best option is to release the source code to all blobs on which these modules depend under free software licenses.
Unlike #35, these blobs are not external to this repo and are inlined in code files themselves.
To Reproduce
See above.
Bug Incidence
Always
nvidia-bug-report.log.gz
This log is not needed.
More Info
I don't suppose this counts as a "functional bug" per se, but the lack of freedom is an issue and is a bug.
There was no option for a "non-functional" bug.
Beta Was this translation helpful? Give feedback.
All reactions