From a42d906758fe5bca2c1f6583f3c5fe44f70cc166 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 15 Apr 2026 07:28:57 +0000 Subject: [PATCH] mediaserver: explicitly load NVIDIA kernel modules at boot MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On a headless system, services.xserver.videoDrivers doesn't guarantee the NVIDIA modules load. Add nvidia, nvidia_modeset, nvidia_uvm, and nvidia_drm to boot.kernelModules explicitly. nvidia_uvm is particularly critical — without it, CUDA initialisation fails with CUDA_ERROR_NO_DEVICE, which is exactly what broke Jellyfin NVENC transcoding. https://claude.ai/code/session_016jJU8ZtWLSnJQBdbMr5pxK --- hosts/hardware/FredOS-Mediaserver.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hosts/hardware/FredOS-Mediaserver.nix b/hosts/hardware/FredOS-Mediaserver.nix index 97f1020..4b12482 100644 --- a/hosts/hardware/FredOS-Mediaserver.nix +++ b/hosts/hardware/FredOS-Mediaserver.nix @@ -7,7 +7,10 @@ boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "ata_generic" "ehci_pci" "usbhid" "usb_storage" "sd_mod" "rtsx_usb_sdmmc" ]; boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; + # nvidia_uvm is required for CUDA (used by NVENC/NVDEC in Jellyfin). + # The other nvidia modules are loaded via services.xserver.videoDrivers but + # nvidia_uvm is not pulled in automatically on a headless system. + boot.kernelModules = [ "kvm-intel" "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ]; boot.extraModulePackages = [ ]; fileSystems."/" = {