Jellyfin: Difference between revisions

VAAPI and Intel QSV: add Arc GPU instructions
adds info about transcoding error that are due to bad ownership.
 
(2 intermediate revisions by 2 users not shown)
Line 54: Line 54:
</syntaxhighlight>
</syntaxhighlight>


If you have changed the user option after you have already installed Jellyfin, you have to change the ownership of the folder /var/lib/jellyfin to the user you set it to by doing this:
If you have changed the user option after you have already installed Jellyfin, you have to change the ownership of the folder `/var/lib/jellyfin` to the user you set it to by doing this:
<syntaxhighlight lang="nix">
 
   sudo chown -R /var/lib/jellyfin  
<syntaxhighlight lang="bash">
   sudo chown -R yourusername:yourusername /var/lib/jellyfin
</syntaxhighlight>
 
Additionally, you should also change the ownership of the cache directory to avoid transcoding issues:
 
<syntaxhighlight lang="bash">
  sudo chown -R yourusername:yourusername /var/cache/jellyfin
</syntaxhighlight>
 
Finally, restart Jellyfin for the changes to take effect:
 
<syntaxhighlight lang="bash">
  systemctl restart jellyfin
</syntaxhighlight>
</syntaxhighlight>


Line 96: Line 109:
VAAPI and QSV is often available on platforms with Intel GPUs but need their corresponding packages in <code>hardware.graphics.extraPackages</code>.
VAAPI and QSV is often available on platforms with Intel GPUs but need their corresponding packages in <code>hardware.graphics.extraPackages</code>.


<syntaxHighlight lang=nix>
<syntaxhighlight lang="nix">
{ pkgs, lib,config, ... }:
{ pkgs, lib,config, ... }:
{
{
Line 110: Line 123:
       vaapiVdpau
       vaapiVdpau
       intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in)
       intel-compute-runtime # OpenCL filter support (hardware tonemapping and subtitle burn-in)
      # OpenCL support for intel CPUs before 12th gen
      # see: https://github.com/NixOS/nixpkgs/issues/356535
      intel-compute-runtime-legacy1
       vpl-gpu-rt # QSV on 11th gen or newer
       vpl-gpu-rt # QSV on 11th gen or newer
       intel-media-sdk # QSV up to 11th gen
       intel-media-sdk # QSV up to 11th gen
Line 118: Line 134:
   services.jellyfin.enable = true;
   services.jellyfin.enable = true;
}
}
</syntaxHighlight>
</syntaxhighlight>


If you want to use an Arc GPU for transcoding, you may need to override the ffmpeg version used by jellyfin to ensure that it is compiled with <code>vpl</code> and, potentially, <code>unfree</code>. An example to achieve this through [[Overlays|an overlay]]:<syntaxhighlight lang="nix">
If you want to use an Arc GPU for transcoding, you may need to override the ffmpeg version used by jellyfin to ensure that it is compiled with <code>vpl</code> and, potentially, <code>unfree</code>. An example to achieve this through [[Overlays|an overlay]]:<syntaxhighlight lang="nix">