linuxboot / linuxboot/heads

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

Open
#1,820 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

help wanted
Dominant language
Makefile
Stars
1.6k
Forks
211
Avg merge
4d 21h
Merged PRs (30d)
6

Description

- 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):
- Discussion happened under https://matrix.to/#/!OkpUfvLEYpLyALVvaW:dodoid.com/$Oeai4eu3okikozVksCyW-4ML2DghNBr2fYI9oBcuV5c?via=dodoid.com&via=matrix.org&via=envs.net
- Failed previous PoC resulted by a Kconfig setting missing, this one: https://matrix.to/#/!OkpUfvLEYpLyALVvaW:dodoid.com/$jg0G2adlj6WKaGvjiE-egCqCjmL7AyDqRLBTl6tdxds?via=dodoid.com&via=matrix.org&via=envs.net
- Some failed resulting experiments branches to be revisited in next PoC iteration
- https://github.com/tlaurion/heads/tree/coreboot-411_d16_dgpu_oprom_test
- https://github.com/tlaurion/heads/tree/d16_kernel_618_coreboot_fam15h-oprom

_Originally posted by @tlaurion in https://github.com/linuxboot/heads/issues/1792#issuecomment-2435808059_

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the referenced coreboot-411_d16_dgpu_oprom_test and d16_kernel_618_coreboot_fam15h-oprom branches, along with the reported missing Kconfig setting and linked discussion traces. Determine whether a new PoC can chainload the Heads payload through SeaBIOS while measuring the dGPU option ROM; done would require a reproducible workstation test with functional variable-dGPU handling.

Written by the indexing model from the issue text.

Assessment

Domain
operating-systems, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.