From bebe5bcf420bdb59af3489bf12e4cf652fa5b4ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?ryan4yin=20=7C=20=E4=BA=8C=E8=8A=B1?= Date: Thu, 15 Oct 2026 23:58:23 +0800 Subject: [PATCH] feat(ai,aquamarine): expose board fans and temperatures via SuperIO (#456) * feat(ai): load nct6683 for the board's NCT6687D SuperIO * feat(aquamarine): load nct6775 for the board's NCT6798D SuperIO Assisted-by: DeepSeek Harness (deepseek-flash) --- hosts/idols-ai/hardware-intel.nix | 3 +++ hosts/idols-aquamarine/default.nix | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/hosts/idols-ai/hardware-intel.nix b/hosts/idols-ai/hardware-intel.nix index a79543f5..1834d13d 100644 --- a/hosts/idols-ai/hardware-intel.nix +++ b/hosts/idols-ai/hardware-intel.nix @@ -9,6 +9,9 @@ # Provide a connected DRM output when the NVIDIA-attached monitors are off. # Niri exposes it as Virtual-1 for headless Sunshine sessions. "vkms" + # Bind the board's NCT6687D SuperIO, otherwise fan RPM and board + # temperatures are missing. + "nct6683" ]; boot.extraModprobeConfig = '' options kvm_intel nested=1 diff --git a/hosts/idols-aquamarine/default.nix b/hosts/idols-aquamarine/default.nix index a9ff51f6..de04a2c5 100644 --- a/hosts/idols-aquamarine/default.nix +++ b/hosts/idols-aquamarine/default.nix @@ -31,6 +31,10 @@ in ./secureboot.nix ]; + # Bind the board's NCT6798D SuperIO, otherwise fan RPM and board temperatures + # are missing. + boot.kernelModules = [ "nct6775" ]; + # Zram consumes physical memory for compression, which deadlocks when the # model being loaded approaches the physical memory limit — exactly the # workload this host exists for. Use the disk swapfile that disko creates at