5.2 KiB
Intel APIs for hardware-acceleration
⚠️ Warning:
CPU and iGPU generations DO NOT coincide: they are two separate things. For example, when talking about Graphics (cf. "GPU Generation" in the table below) gen11, we are not talking about Intel® Core™ 11th gen processors but rather the processors that contain gen11 graphics (see the table below).
APIs Overview
VA-API (Video Acceleration API):
This is the gold standard for Intel on Linux. Every player, browser, and transcoder (FFmpeg, GStreamer, mpv, Chromium) uses VA-API to talk to Intel hardware.
QSV (Quick Sync Video):
This is Intel's marketing name for the hardware encoding/decoding SIP block. On Linux, QSV isn't a separate driver; it is a high-level API layer exposed through oneVPL (or legacy Media SDK) that runs on top of the VA-API infrastructure.
VDPAU: This is NVIDIA's legacy framework.
Intel does not support VDPAU natively. While a translation wrapper exists (libvdpau-va-gl), it is obsolete and unmaintained.
API Compatibility
| GPU Generation | CPU Architecture(s) (iGPUs) | GPU Architecture(s) (dGPUs) | Codec Capabilities (VA-API) | Libva driver name | Module name | QSV | GuC / HuC / FBC | openCL | NixOS Config Packages |
|---|---|---|---|---|---|---|---|---|---|
| Gen 5 to Gen 7 | Westmere (Intel® Core™ 1st gen), Sandy Bridge (Intel® Core™ 2nd gen), Ivy Bridge (Intel® Core™ 3rd gen), Haswell (Intel® Core™ 4th gen), Bay Trail (Intel® Atom™ processor E3800 product family) |
None | H.264, MPEG2, VC-1 decode only. No HEVC/AV1. | i965 | i915 | In theory yes, but unsupported. Why? | Unsupported | Unsupported | intel-vaapi-driver |
| Gen 8 | Broadwell (Intel® Core™ 5th gen), Cherryview and Braswell (Intel® Atom™, Celeron™ and Pentium™ processors) |
None | Limited HEVC (8-bit) decode, VP8 decode/encode. | iHD (fallback to i965 available) | i915 | In theory yes, but unsupported. Why? | GuC and HuC are unsupported. Enable FBC with kernel parameter: i915.enable_fbc=1 |
intel-compute-runtime-legacy1 on Broadwell only. |
intel-media-driver |
| Gen 9 / 9.5 | Skylake (Intel® Core™ 6th gen), Kaby Lake (Intel® Core™ 7th gen), Coffee Lake (Intel® Core™ 8th gen and 9th gen), Comet Lake (Intel® Core™ 10th gen), Gemini Lake (Intel® Celeron™ and Pentium™ Silver), Apollo Lake (Intel® Atom™, Celeron™ and Pentium™) |
None | Adds full hardware HEVC 8/10-bit decode/encode, VP9 8-bit decode/encode (Gen 9), VP9 10-bit decode (Gen 9.5). | iHD (fallback to i965 available) | i915 | In theory yes, but unsupported. Why? | Kernel parameters: i915.enable_guc=2 i915.enable_fbc=1 |
intel-compute-runtime-legacy1 |
intel-media-driver |
| Gen 11 | Ice Lake (Intel® Core™ 10th gen), Jasper Lake and Elkhart Lake (Intel® Atom™, Celeron™ and Pentium Silver™) |
None | HEVC 10-bit decode/encode, VP9 10-bit decode/encode. Still no AV1. | iHD | i915 | In theory yes, but unsupported. Why? | Kernel parameters: i915.enable_guc=2 i915.enable_fbc=1 |
intel-compute-runtime-legacy1 except on Jasper Lake. |
intel-media-driver |
| Xe (Gen 12 / Xe-LP) | Rocket Lake (Intel® Core™ 11th gen), Tiger Lake (Intel® Core™ 11th gen), Alder Lake (Intel® Core™ 12th gen), Raptor Lake (Intel® Core™ 13th and 14th gen), Twin Lake (Intel® N-series) |
DG1 | Adds AV1 8/10-bit Decode. No AV1 Encode. | iHD | i915 (Experimental Xe probe possible) | Yes, modern oneVPL stack. | Kernel parameters: i915.enable_guc=3 i915.enable_fbc=1 |
intel-compute-runtime |
intel-media-driver, vpl-gpu-rt |
| Xe-HPG / Xe-LPG | Meteor Lake (Core Ultra Series 1), Arrow Lake (Core Ultra Series 2) |
Alchemist (Arc A-Series) | Adds full AV1 8/10-bit Encode alongside Decode. | iHD | i915 or Xe (Native dual support; kernels default to Xe for dGPUs) | Yes, modern oneVPL stack. | Already enabled by default. | intel-compute-runtime |
intel-media-driver, vpl-gpu-rt |
| Xe2 | Lunar Lake (Core Ultra Series 2) | Battlemage (Arc B-Series) | HEVC, VP9, AV1 (Decode/Encode). Adds early VVC (H.266) Decode support. | iHD | Xe | Yes, modern oneVPL stack. | Already enabled by default. | intel-compute-runtime |
intel-media-driver, vpl-gpu-rt |
| Xe3 | Panther Lake (Core Ultra Series 3) | None announced | Same as Xe2 with updated structural performance blocks. | iHD | Xe | Yes, modern oneVPL stack. | Already enabled by default. | intel-compute-runtime |
intel-media-driver, vpl-gpu-rt |
Challenges
Deprecation of Intel's media SDK
Intel 10th gen processors (Ice Lake, Jasper Lake, Elkhart Lake) and older generations lost support for QSV (Quick Sync Video) on Linux, since the Media SDK has been deprecated by Intel. You therefore have to switch to VA-API. Please use newer hardware if you are shopping for hardware.
Know that while installing the Media SDK package might get QSV to work, the package is considered insecure with multiple CVEs concerning privilege escalation. Installing it is HIGHLY DISCOURAGED.
Please read the deprecation notice for more info.