I have an N150 mini-pc that I am attempting to use as a Jellyfin server. Everything seems to be working fine other than the HW acceleration.
My config:
environment.systemPackages = with pkgs; [
intel-gpu-tools
jellyfin
jellyfin-ffmpeg
jellyfin-web
logrotate
];
...
systemd.services.jellyfin.environment.LIBVA_DRIVER_NAME = "iHD";
environment.sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; };
# Intel Hardware Acceleration config
hardware = {
enableAllFirmware = true;
intel-gpu-tools.enable = true;
graphics = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver
vaapiVdpau
intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in)
intel-ocl
vpl-gpu-rt # QSV on 11th gen or newer
];
};
};
My user is also a member of “video” and “render” groups.
nix-shell -p pciutils --run "lspci -nn | grep VGA" shows:
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-N [Intel Graphics] [8086:46d4]
nix-shell -p intel-gpu-tools --run intel_gpu_top shows:
No device filter specified and no discrete/integrated i915 devices found
The device doesn’t appear at all: ls: cannot access '/dev/dri': No such file or directory
I’ve seen similar posts online: n355 CPU, n100 CPU and of course the wiki.
Did I miss something obvious?
I found another guide online (somewhat different HW) and made some changes:
systemd.services.jellyfin.environment.LIBVA_DRIVER_NAME = "iHD"; # Or "i965" if using older driver
environment.sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; }; # Same here
#boot.kernelParams = [ "i915.force_probe=46d4" ];
#boot.kernelModules = [ "i915" ];
#boot.initrd.kernelModules = [ "i915" ];
boot.kernelParams = [
"i915.fastboot=1"
"i915.enable_guc=3"
];
# Intel Hardware Acceleration config
hardware = {
#enableAllFirmware = true;
firmware = [ pkgs.linux-firmware ];
intel-gpu-tools.enable = true;
graphics = {
enable = true;
extraPackages = with pkgs; [
# VA-API drivers
intel-media-driver # LIBVA_DRIVER_NAME=iHD
intel-vaapi-driver
libvdpau-va-gl
# OpenCL and compute support
intel-compute-runtime
intel-gmmlib
onevpl-intel-gpu
# VA-API utilities and libraries
libva
libva-utils
# Diagnostic tools
glxinfo
pciutils
#vpl-gpu-rt # QSV on 11th gen or newer
];
};
};
It still doesn’t work, really not sure what else to try. dmesg not showing anything useful.
@Electron I just bought a N150 NUC and the GPU shows up inintel_gpu_top with this config:
boot.kernelModules = [ "kvm-intel" ];
boot.kernelParams = [ "i915.force_probe=46d1,i915.enable_guc=3" ];
boot.kernelPackages = pkgs.linuxPackages_latest;
# Intel Hardware Acceleration config
hardware = {
enableAllFirmware = true;
intel-gpu-tools.enable = true;
graphics = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver
vaapiVdpau
intel-compute-runtime
intel-ocl
vpl-gpu-rt # QSV on 11th gen or newer
];
};
};
environment.sessionVariables.LIBVA_DRIVER_NAME = "iHD";
hardware.cpu.intel.updateMicrocode = true;
I am not sure if everything is required, but I hope it helps.