From Fedora Project Wiki

VA-API

AMD

Accelerated video decoding works well on AMD as free drivers are available. Free video formats (e.g. VP8/VP9/AV1) should be accelerated out of the box. You can add support for H.264 and H.265 VA-API decode by these steps:

  • Install ffmpeg-free from Fedora, install libavcodec-freeworld and mesa-va-drivers-freeworld. See RPM Fusion howto (section Hardware codecs with AMD (mesa)) for instructions. It's needed for VA-API H.264 decoding.
  • Run vainfo on terminal to verify that VA-API works. It is available in the libva-utils package.

Intel

Accelerated video decoding works well on most Intel GPUs as free drivers are available. There are two[1] drivers for Intel cards, libva-intel-driver (provides i965_drv_video.so) and intel-media-driver (iHD_drv_video.so, a.k.a. "iHD", for recent[2] chipsets).

To determine which codecs your hardware supports, refer to:

You can enable VA-API on Intel with these steps:

  • Install ffmpeg-free from Fedora, install libavcodec-freeworld from RPM Fusion repository for H.264 decoding.
  • Install libva-intel-driver or intel-media-driver package (depending on your chipset) to enable VA-API on Intel.
  • In a terminal, run vainfo to verify that VA-API works. If VA-API is disabled you're probably running on new hardware and you need intel-media-driver from RPM Fusion repository non-free. When running the newer driver, you may need to specify the "iHD" driver when running the vainfo command, like so: LIBVA_DRIVER_NAME=iHD vainfo

nVIDIA

Accelerated video decoding works on NVIDIA proprietary drivers thanks to Stephen "elFarto" and his nvidia-vaapi-driver project. It's VA-API implemention using NVIDIA's NVDEC decoder.

You can enable VA-API on NVIDIA by these steps:

Vulkan

AMD

Accelerated video decoding works well on AMD as free drivers are available. Free video formats (e.g. VP8/VP9/AV1) should be accelerated out of the box. You can add support for H.264 and H.265 Vulkan decode by these steps:

  • Install ffmpeg-free from Fedora, install libavcodec-freeworld and mesa-vulkan-drivers-freeworld. It's needed for Vulkan H.264 and H.265 decoding.
  • Run vulkaninfo |grep VK_KHR_video_ on terminal to verify that Vulkan video acceleration is available. It is available in the vulkan-tools package.

Intel

Free drivers are available, but accelerated video decoding on Intel GPUs is still experimental. You can enable this feature with the following steps:

  • Set the environment variable ANV_DEBUG=video-decode,video-encode
  • Install ffmpeg-free from Fedora, install libavcodec-freeworld and mesa-vulkan-drivers-freeworld. It's needed for Vulkan H.264 and H.265 decoding.

nVidia

TBD.

More information

  1. There's also libva-intel-hybrid-driver, but that only adds support for VP8 encoding and VP9 decoding with selected chips.
  2. intel-media-driver is recommended for Intel "Broadwell (5th gen) and newer" chipsets, particularly Ice Lake (10th gen) and newer.