Jellyfin QSV Config

I’m trying to get a Jellyfin server running that uses Intel Quicksync for transcoding. It’s running on an Intel i5-8500 CPU. Does anyone have configs they can share for their QSV transcoding (both NixOS and Jellyfin HW config)?

I have a system with an i5-8500T and the following config works for me:

{ lib, config, pkgs, ... }:

  boot.kernelParams = [

  hardware.opengl = {
    enable = true;
    extraPackages = with pkgs; [

  services.jellyfin.enable = true;

As far as the Jellyfin configuration, I selected Intel QuickSync, enabled hardware decoding for everthing except the VC1 and AV1 codecs, checked “Prefer OS native DXVA or VA-API hardware decoders”, checked “Enable hardware encoding”, and left the two “low-power” options unchecked.

I’m pretty sure VPP tone mapping is not supported on these chips, but the other “Enable Tone mapping” option works well for me on the few occasions I need it.

Fantastic. That worked a treat - thanks.

I didn’t use the enable_guc kernel parameter as the docs I read suggested this is a 9th gen and up feature set.

That’s referring to the GPU generation, which for the UHD 630 in the 8500/8500t is gen 9.5. That said I think it might only be required if you want to use the “low-power” encoding modes. Glad it worked for you!

1 Like

Ahh yes that makes sense. Thanks for clarifying.