Added basic functionnality
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# 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**), <br> Sandy Bridge (Intel® Core™ **2nd gen**), <br> Ivy Bridge (Intel® Core™ **3rd gen**), <br> Haswell (Intel® Core™ **4th gen**), <br> 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?](#deprecation-of-intels-media-sdk)|Unsupported|Unsupported|`intel-vaapi-driver`|
|
||||
|Gen 8|Broadwell (Intel® Core™ **5th gen**), <br> 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?](#deprecation-of-intels-media-sdk)|GuC and HuC are unsupported. <br> 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**), <br> Kaby Lake (Intel® Core™ **7th gen**), <br> Coffee Lake (Intel® Core™ **8th gen** and **9th gen**), Comet Lake (Intel® Core™ **10th gen**), <br> Gemini Lake (Intel® **Celeron™** and **Pentium™ Silver**), <br> 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?](#deprecation-of-intels-media-sdk)|Kernel parameters: <br> `i915.enable_guc=2` <br> `i915.enable_fbc=1`|`intel-compute-runtime-legacy1`|`intel-media-driver`|
|
||||
|Gen 11|Ice Lake (Intel® Core™ **10th gen**), <br> 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?](#deprecation-of-intels-media-sdk)|Kernel parameters: <br> `i915.enable_guc=2` <br> `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**), <br> Tiger Lake (Intel® Core™ **11th gen**), <br> Alder Lake (Intel® Core™ **12th gen**), <br> Raptor Lake (Intel® Core™ **13th** and **14th gen**), <br> 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: <br> `i915.enable_guc=3` <br> `i915.enable_fbc=1`|`intel-compute-runtime`|`intel-media-driver`, `vpl-gpu-rt`|
|
||||
|Xe-HPG / Xe-LPG|Meteor Lake (Core Ultra **Series 1**), <br> 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](https://github.com/Intel-Media-SDK/MediaSDK) for more info.
|
||||
Reference in New Issue
Block a user