Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Workstations support with variable dGPU : SeaBIOS chainloading of Heads needed? #1820

Open
tlaurion opened this issue Oct 24, 2024 · 5 comments

Comments

@tlaurion
Copy link
Collaborator

  • coreboot oprom pci extraction + loading exists, but is not providing VBIOS: SeaBIOS does.
  • coreboot/SeaBIOS seperation of duties prohibit coreboot by ideology from providing VBIOS implementation: SeaBIOS does and is said to do it well.
  • SeaBIOS does more then extract oprom from PCI+loads it, it implements VBIOS dGPU implementation for which oprom IRQ polling results in functional graphic handling.
  • Without VBIOS implementation in firmware provided by SeaBIOS (free or proprietary), oprom alone gives variable dGPU support.
  • So Hypothesis here is that SeaBIOS should be used to chainload Heads payload instead of trying to implement VBIOS+oprom loading inside of coreboot. But to do so well, SeaBIOS should hebable TPM measured boot and read oprom in ram, measure it, extend TPM PCR and then load oprom+offer VBIOS free implementation so IRQ polling is functions.

Traces of discussions (only accessible by current members of D16 club):

Originally posted by @tlaurion in #1792 (comment)

@tlaurion
Copy link
Collaborator Author

Some more notes:

  • SeaBIOS compressed can be 68kb (references from above discussions a bit down)
  • SeaBIOS would be measured by coreboot and introspection notes available through cbmem logs
  • SeaBIOS implementation thought to currently miss oprom measurement and TPM PCR extend with hash prior of loading (TOCTU possible). To verify and challenge SeaBIOS comunity to provide implementation
  • SeaBIOS provides TPM implementation, test it and see what it does and what it doesn't

@tlaurion
Copy link
Collaborator Author

tlaurion commented Oct 25, 2024

Disclaimer: from my limited understanding of the low level interactions happening at VBIOS/oprom/efi level, most of the above could be wrong. This is why "help wanted" lable is put on this issue, and I welcome experts (coreboot devels) to jump in this discsussion up to creating PR to test hypothesis.

Some more discussion trail under https://matrix.to/#/!OkpUfvLEYpLyALVvaW:dodoid.com/$LqiTqBOtSs5v1r8n0s_UNhsVSGO1adNigZeV6Zahn7k?via=dodoid.com&via=matrix.org&via=envs.net for traceability.

@tlaurion tlaurion changed the title Wokstations support with variable dGPU : SeaBIOS chainloading of Heads needed Workstations support with variable dGPU : SeaBIOS chainloading of Heads needed? Nov 30, 2024
@tlaurion
Copy link
Collaborator Author

tlaurion commented Jan 6, 2025

There were attempts in the past to support amd/Nvidia dGPU in coreboot by dealing with oprom without depending on seabios. Pull back from coreboot community, see upsream discussions in link below:

AMD https://review.coreboot.org/c/coreboot/+/58652

@miczyg1 insights?

@tlaurion
Copy link
Collaborator Author

tlaurion commented Jan 7, 2025

There were attempts in the past to support amd/Nvidia dGPU in coreboot by dealing with oprom without depending on seabios. Pull back from coreboot community, see upsream discussions in link below:

AMD https://review.coreboot.org/c/coreboot/+/58652

@miczyg1 insights?

Originally posted by @tlaurion in #1820 (comment)

@tlaurion
Copy link
Collaborator Author

tlaurion commented Jan 7, 2025

nvidia dgpu upstream support worked under https://review.coreboot.org/c/coreboot/+/57034

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

1 participant