Commit graph

4 commits

Author SHA1 Message Date
Sam & Claude
a9323aeddc feat(gpu): universal NVIDIA lane — detect + install branch at boot (Sam & Claude)
Opt-in NVIDIA_UNIVERSAL lane (default NO; normal/single-branch builds unchanged):
one ISO that adapts to an unknown NVIDIA target.

- build.cfg: NVIDIA_UNIVERSAL flag.
- build.sh: install_nvidia_universal_repo() stages an on-image pkg repo with all
  three branches (390/470/580 + settings), pkg-repo metadata, and a file:// repo
  conf; universal mode bakes no branch and sets clawdie_live_gpu_mode=nvidia-auto.
- clawdie_live_gpu: nvidia-auto mode detects the device id (PR #30 fix) -> branch
  {390,470,590} -> pkg-name -> `pkg install -r clawdie-nvidia` -> kldload, all
  best-effort with fallback to integrated/scfb (never blocks boot).
- doc/NVIDIA-UNIVERSAL-HANDOFF.md: Codex FreeBSD build + hardware validation plan.

sh -n clean; detector+branch+pkg map unit-tested on Linux
(1c8c->590->nvidia-driver-580, 0fc8->470, 0e22->390). The pkg fetch/repo layout,
offline boot install, writable root, kernel ABI, and image size MUST be validated
on the FreeBSD build host + real NVIDIA hardware (see handoff).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:19:36 +02:00
Sam & Claude
d2ec1b7a72 fix(gpu): make NVIDIA auto-detection actually read the right PCI id (Sam & Claude)
The #29 detector grepped `chip=0x10de...`, but FreeBSD's chip field is
chip=0x<device><vendor> with vendor 0x10de in the LOW 16 bits — so it never
matched and the device id / recommended-branch logic was dead.

- nvidia_device_id: match `chip=0x<4hex>10de` and strip to the device id
  (chip=0x1c8c10de -> 1c8c).
- nvidia_branch_for_device: non-overlapping architecture ranges returning the
  build's lane labels {390,470,590} so detected vs staged compare correctly;
  empty/unknown -> 590 (safe default for modern unknown hardware).

Validated on Linux against representative ids: Fermi 0e22->390, Kepler 0fc8->470,
Maxwell 1380 / Pascal 1b81 / Turing 1c8c / Ada 2684 ->590, empty->590. sh -n clean.

This is the detection brain for the universal NVIDIA auto-install lane; the
on-image NVIDIA repo + boot-time install is the FreeBSD build-side work (handoff).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 22:07:02 +02:00
2d0181bbd3 Prefer staged NVIDIA branch on dedicated live builds (Sam & Codex) 2026-06-04 21:30:38 +02:00
b163cf1014 Merge xfce-operator-usb: Track F Colibri, DeepSeek smoke, LLM provider harness 2026-06-04 20:04:23 +02:00