Jellyfin: Difference between revisions
Technics303 (talk | contribs) No edit summary |
Technics303 (talk | contribs) Add a troubleshooting section on Intel QSV paragraph, refresh packages name, clarify packages needed for certain CPU / GPU. |
||
Line 126: | Line 126: | ||
intel-media-driver # For Broadwell (2014) or newer processors. LIBVA_DRIVER_NAME=iHD | intel-media-driver # For Broadwell (2014) or newer processors. LIBVA_DRIVER_NAME=iHD | ||
intel-vaapi-driver # For older processors. LIBVA_DRIVER_NAME=i965 | intel-vaapi-driver # For older processors. LIBVA_DRIVER_NAME=i965 | ||
vaapiVdpau | libva-vdpau-driver # Previously 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 | # OpenCL support for intel CPUs before 12th gen | ||
Line 142: | Line 142: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==== Troubleshooting VAAPI and Intel QSV ==== | |||
You can check supported vaapi profile supported by your CPU / driver with : <code>nix-shell -p libva-utils --run vainfo</code>. If | You can check supported vaapi profile supported by your CPU / driver with : <code>nix-shell -p libva-utils --run vainfo</code>. If | ||
You can check the OpenCL properties and devices available on the system with : <code>nix-shell -p clinfo --run clinfo | You can check the OpenCL properties and devices available on the system with : <code>nix-shell -p clinfo --run clinfo</code>. If clinfo shows <code>Number of platforms 0</code> on the first line, OpenCL is not enabled or available. | ||
The command <code>intel_gpu_top</code>, provided by the <code>intel-gpu-tools</code> package is also useful to check the status of your intel GPU. | The command <code>intel_gpu_top</code>, provided by the <code>intel-gpu-tools</code> package is also useful to check the status of your intel GPU. | ||
At least on Intel N100 CPU, you will need the option <code>hardware.enableAllFirmware = true;</code> otherwise GuC formware will not load properly. Here is the type of error you will get without it : <syntaxhighlight lang="dmesg"> | |||
[ 4.174843] i915 0000:00:10.0: [drm] *ERROR* GT0: GuC firmware i915/tgl_guc_70.bin: fetch failed -ENOENT | |||
[ 4.175621] i915 0000:00:10.0: [drm] GT0: GuC firmware(s) can be downloaded from https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/i915 | |||
[ 4.176286] i915 0000:00:10.0: [drm] GT0: GuC firmware i915/tgl_guc_70.bin version 0.0.0 | |||
[ 4.176350] i915 0000:00:10.0: [drm] *ERROR* GT0: GuC initialization failed -ENOENT | |||
[ 4.176977] i915 0000:00:10.0: [drm] *ERROR* GT0: Enabling uc failed (-5) | |||
[ 4.177502] i915 0000:00:10.0: [drm] *ERROR* GT0: Failed to initialize GPU, declaring it wedged! | |||
</syntaxhighlight> | |||
==== VAAPI and Intel QSV on Arc GPU ==== | |||
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"> |