feat(hardware): xe-aware GuC, class-based NPU detect, latestKernel + VM test
Harden the hardware-enablement broad seed for newer hardware: - xe vs i915: intel.guc emits the i915 param (i915.enable_guc=3), which the newer `xe` driver (Lunar Lake / Battlemage / Panther Lake, recent Xe GPUs) ignores — it enables GuC by default. hardware-db.sh now reads the in-use GPU driver (lspci -k) and writes `intel.guc = false` on xe hardware, so the toggle isn't a misleading no-op there. - NPU detection by PCI accelerator class [1200] (+ keywords), attributing the vendor, instead of a fixed device-ID list — so new NPUs (e.g. Panther Lake) are caught without a code change. Known IDs kept as a fallback/reference. - Kernel awareness: a nomarchy.hardware.latestKernel escape hatch (linuxPackages_latest) for very-new hardware whose drivers only just landed, and a build-time warning when npu.enable predates the shipped kernel (amdxdna needs 6.14+, intel_vpu wants recent). Downstream default is 6.18, which already carries amd-pstate + amdxdna; the reference host pins latest. - VM test (checks.hardware-toggles, pkgs.testers.runNixOSTest): boots a minimal VM with the toggles on and asserts the config landed — amd_pstate + i915.enable_guc in /proc/cmdline, fprintd.service present, pam_fprintd in /etc/pam.d/sudo. Passing. (Hardware behaviour still needs bare metal.) Docs: README + template note latestKernel; ROADMAP records the hardening. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -279,6 +279,15 @@ how to override it. Items marked ✓ are shipped.
|
||||
**Remaining: on-hardware verification of the runtime bits (AMD/NPU/Intel
|
||||
GPU-compute) — none are testable in CI or on the Intel Latitudes for the
|
||||
AMD paths.** SSD TRIM is intentionally left to `common-pc-ssd`.
|
||||
- ✓ **Hardening (driver-gen + kernel awareness):** `intel.guc` emits the
|
||||
*i915* param, so the installer turns it off when the GPU is on the newer
|
||||
`xe` driver (Lunar Lake / Battlemage / Panther Lake — GuC is default-on
|
||||
there); the NPU detector matches the PCI *accelerator class* (not just a
|
||||
device-ID list) so new gens are caught without a code change; and a
|
||||
`nomarchy.hardware.latestKernel` escape hatch (+ a build-time warning when
|
||||
`npu.enable` predates the shipped kernel) covers very-new hardware whose
|
||||
drivers only just landed. A config-assertion VM test guards the wiring
|
||||
(`checks.hardware-toggles`: kernel cmdline + fprintd + PAM, booted in a VM).
|
||||
Worked example — ThinkPad T14s (Ryzen 7 PRO 7840U + Radeon 780M):
|
||||
- **GPU compute — ROCm:** the 780M is an RDNA3 iGPU (gfx1103) ROCm doesn't
|
||||
officially list, so it needs `HSA_OVERRIDE_GFX_VERSION=11.0.0`. Multi-GB
|
||||
|
||||
Reference in New Issue
Block a user