I set up a server with an intel 14500 running nixos 23.11. Jellyfin works fine, and vaapi works, but quicksync keeps giving the same error:
[AVHWDeviceContext @ 0x1f86fc0] Error initializing an MFX session: -3.
Device creation failed: -1313558101.
Failed to set value 'qsv=qs@va' for option 'init_hw_device': Unknown error occurred
Error parsing global options: Unknown error occurred
In my config I set the following options from the wiki to enable intel hardware acceleration.
hardware.opengl = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver
intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in)
vaapiVdpau
libvdpau-va-gl
];
};
environment.sessionVariables = { LIBVA_DRIVER_NAME = "iHD"; };
I tried enabling quicksync both with and without low-power encoding and decoding and jellyfin but neither works, I am using linux kernel 6.7(Latest version compatible with zfs).
Edit:
I seem to have gotten it working with onevpl, at the time of writing this isn’t available in any stable or unstable branch of nixos, having just been merged into staging-next pr.
I added it to my opengl config as such:
hardware.opengl = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver
intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in)
(pkgs.callPackage ../../pkgs/onevpl-intel-gpu.nix { })
];
};
And recompiled jellyfin-ffmpeg to use libvpl
config.packageOverrides = prev: {
jellyfin-ffmpeg = prev.jellyfin-ffmpeg.overrideAttrs (old: rec {
configureFlags =
# Remove deprecated Intel Media SDK support
(builtins.filter (e: e != "--enable-libmfx") old.configureFlags)
# Add Intel VPL support
++ [ "--enable-libvpl" ];
buildInputs = old.buildInputs ++ [
# VPL dispatcher
pkgs.unstable.libvpl
];
});
};
Note that libvpl isn’t available in 23.11 so I used the unstable branch for this package.