feat(os/surface): add NVIDIA eGPU support #5

Open
jad wants to merge 3 commits from feat/surface-intel-nvidia-open-egpu into main
Owner

Refs #3

Summary

Adds a prebuilt NVIDIA 580 Open kernel-module path for the pinned linux-surface kernel, intended for the RTX 5060 Thunderbolt eGPU.

Changes

  • Build kmod-nvidia from RPM Fusion akmod-nvidia against the pinned linux-surface kernel during the image build.
  • Install the generated local kmod RPM and NVIDIA userspace packages in the immutable image transaction.
  • Enable nvidia-drm.modeset=1 declaratively through bootc kernel arguments.
  • Document package provenance, Secure Boot constraints, and the physical enclosure attach/test workflow.

Verification

  • Built localhost/daedalus-microsoft-surface-intel:nvidia-egpu-check.
  • Verified kmod-nvidia-6.19.8-3.surface.fc43.x86_64-580.173.02-1.fc43 and the NVIDIA userspace packages.
  • Verified nvidia.ko vermagic matches 6.19.8-3.surface.fc43.x86_64, only one module tree remains, the patched surface_gpe remains present, and tailscaled is enabled.
  • bootc container lint: 13 checks passed, 1 skipped.

Physical eGPU attachment remains the post-switch hardware validation step.

Refs #3 ## Summary Adds a prebuilt NVIDIA 580 Open kernel-module path for the pinned linux-surface kernel, intended for the RTX 5060 Thunderbolt eGPU. ## Changes - Build `kmod-nvidia` from RPM Fusion `akmod-nvidia` against the pinned linux-surface kernel during the image build. - Install the generated local kmod RPM and NVIDIA userspace packages in the immutable image transaction. - Enable `nvidia-drm.modeset=1` declaratively through bootc kernel arguments. - Document package provenance, Secure Boot constraints, and the physical enclosure attach/test workflow. ## Verification - Built `localhost/daedalus-microsoft-surface-intel:nvidia-egpu-check`. - Verified `kmod-nvidia-6.19.8-3.surface.fc43.x86_64-580.173.02-1.fc43` and the NVIDIA userspace packages. - Verified `nvidia.ko` vermagic matches `6.19.8-3.surface.fc43.x86_64`, only one module tree remains, the patched `surface_gpe` remains present, and `tailscaled` is enabled. - `bootc container lint`: 13 checks passed, 1 skipped. Physical eGPU attachment remains the post-switch hardware validation step.
This pull request has changes conflicting with the target branch.
  • os/microsoft-surface-intel/Containerfile
  • os/microsoft-surface-intel/README.md
  • os/microsoft-surface-intel/docs/rebase-safety.md
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feat/surface-intel-nvidia-open-egpu:feat/surface-intel-nvidia-open-egpu
git switch feat/surface-intel-nvidia-open-egpu

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff feat/surface-intel-nvidia-open-egpu
git switch feat/surface-intel-nvidia-open-egpu
git rebase main
git switch main
git merge --ff-only feat/surface-intel-nvidia-open-egpu
git switch feat/surface-intel-nvidia-open-egpu
git rebase main
git switch main
git merge --no-ff feat/surface-intel-nvidia-open-egpu
git switch main
git merge --squash feat/surface-intel-nvidia-open-egpu
git switch main
git merge --ff-only feat/surface-intel-nvidia-open-egpu
git switch main
git merge feat/surface-intel-nvidia-open-egpu
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
jad/daedalus!5
No description provided.