Group: Hardware/Components/GPUs/nvidia
(→How to help) |
m |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 11: | Line 11: | ||
! Existing projects that could be leveraged to fix the problem | ! Existing projects that could be leveraged to fix the problem | ||
|- | |- | ||
− | | GPU | + | | GPU peripheral software |
− | | colspan=5 | Free | + | | colspan=5 | Free peripheral software is generated in the Linux driver for many GPUs. However: |
− | * Some GPUs are probably still missing free | + | * Some GPUs are probably still missing free peripheral software like for the Tegra K1 |
− | * The NV110 family (Maxwell) and more recent require signed | + | * The NV110 family (Maxwell) and more recent require signed peripheral software for the GPU power management processor. |
|- | |- | ||
| Bytecode: This bytecode is part of the Video BIOS and is parsed and executed by the Linux driver | | Bytecode: This bytecode is part of the Video BIOS and is parsed and executed by the Linux driver | ||
Line 22: | Line 22: | ||
| ? | | ? | ||
| | | | ||
− | | Replace the nonfree bytecode by a free one. | + | | |
+ | * Replace the nonfree bytecode by a free one. | ||
+ | * or use "via per-chip static tables" like for the tegra<ref>See the [https://archive.fosdem.org/2015/schedule/event/tegra/attachments/slides/692/export/events/attachments/tegra/slides/692/FOSDEM_2015.pdf FOSDEM_2015.pdf] presentation for more details. The Tegra K1 has no bytecode (as it has no video BIOS).</ref> | ||
| | | | ||
|- | |- | ||
Line 31: | Line 33: | ||
| Implement a free Video BIOS replacement either as standalone replacement or in Coreboot and Libreboot. | | Implement a free Video BIOS replacement either as standalone replacement or in Coreboot and Libreboot. | ||
| | | | ||
− | * There is a free Video BIOS replacement in Coreboot for many Intel GPUs. While its meant to support Intel GPUs, it may be a good idea to leverage some of the code and architecture. It may also be a good idea to instead implement it as a standalone Video BIOS replacement, as standalone Radeon GPUs do exist, whereas standalone Intel | + | * There is a free Video BIOS replacement in Coreboot for many Intel GPUs. While its meant to support Intel GPUs, it may be a good idea to leverage some of the code and architecture. It may also be a good idea to instead implement it as a standalone Video BIOS replacement, as standalone Radeon GPUs do exist, whereas the few standalone Intel GPUs cannot be freed at the time of writing. |
* TODO: List Radeon Video BIOS Replacement projects and their freedom issues (check if the compiler is free) | * TODO: List Radeon Video BIOS Replacement projects and their freedom issues (check if the compiler is free) | ||
* TODO: Look if there are some projects for Nvidia GPUs. | * TODO: Look if there are some projects for Nvidia GPUs. | ||
|} | |} | ||
+ | |||
+ | == References == | ||
+ | <references/> | ||
== How to help == | == How to help == | ||
− | Documenting all the freedom issues in depth | + | Documenting all the freedom issues in depth is a lot of work for one person. |
Hopefully it can be broken in many small tasks, so it's easy to help by making a tiny part of the work. | Hopefully it can be broken in many small tasks, so it's easy to help by making a tiny part of the work. | ||
Here are some relatively small tasks that could help: | Here are some relatively small tasks that could help: | ||
− | * Migrate the information in [[Group:Hardware/ReverseEngineering#Desktops_and_laptops_GPUs|ReverseEngineering#Desktops_and_laptops_GPUs]] here and make | + | * Migrate the information in [[Group:Hardware/ReverseEngineering#Desktops_and_laptops_GPUs|ReverseEngineering#Desktops_and_laptops_GPUs]] here and make that section point to this article for Nvidia GPUs |
* Help completing the table in the introduction section | * Help completing the table in the introduction section | ||
== External links == | == External links == | ||
* [https://nouveau.freedesktop.org/wiki/ The nouveau project web page] | * [https://nouveau.freedesktop.org/wiki/ The nouveau project web page] |
Latest revision as of 06:53, 14 June 2024
Introduction
Nvidia GPUs have several freedom issues that are referenced on the table below.
Nonfree software | Effects without the nonfree software or workarounds | Workaround | Workaround consequences | Fix | Existing projects that could be leveraged to fix the problem |
---|---|---|---|---|---|
GPU peripheral software | Free peripheral software is generated in the Linux driver for many GPUs. However:
|
||||
Bytecode: This bytecode is part of the Video BIOS and is parsed and executed by the Linux driver |
|
? |
|
||
The Video BIOS | Use Libreboot or Coreboot with SeaBIOS, put the Video BIOS in memory but don't execute it | The display is initialized very late, when the nouveau driver loads, if the bytecode tables are in the right memory area. | Implement a free Video BIOS replacement either as standalone replacement or in Coreboot and Libreboot. |
|
References
- ↑ See the FOSDEM_2015.pdf presentation for more details. The Tegra K1 has no bytecode (as it has no video BIOS).
How to help
Documenting all the freedom issues in depth is a lot of work for one person.
Hopefully it can be broken in many small tasks, so it's easy to help by making a tiny part of the work.
Here are some relatively small tasks that could help:
- Migrate the information in ReverseEngineering#Desktops_and_laptops_GPUs here and make that section point to this article for Nvidia GPUs
- Help completing the table in the introduction section