Le pilote multimédia Intel (R) pour VAAPI est un nouveau pilote de mode utilisateur VA-API (API d'accélération vidéo) prenant en charge le décodage, le codage et le post-traitement vidéo pour le matériel graphique basé sur la génération.
Le pilote multimédia Intel (R) pour VAAPI est distribué en vertu de la licence MIT avec des parties couvertes par la licence BSD 3 CLAUSE "NOUVEAU" ou "révisée". Vous pouvez obtenir une copie de la licence au MIT & BSD-3-CLAUSE
Pour Ubuntu 16.04+
apt install autoconf libtool libdrm-dev xorg xorg-dev openbox libx11-dev libgl1-mesa-glx
Les équivalents pour d'autres distributions devraient fonctionner.
<workspace>
|- media-driver
$ mkdir <workspace>/build_media
<workspace>
|- media-driver
|- build_media
$ cd <workspace>/build_media
$ cmake ../media-driver
$ make -j"$(nproc)"
$ sudo make install
Cela installera les fichiers suivants (par exemple sur Ubuntu):
-- Installing: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
-- Installing: /etc/profile.d/intel-media.sh
-- Installing: /usr/lib/x86_64-linux-gnu/igfxcmrt64.so
Pour ihd_drv_video.so, veuillez exporter des variables d'environnement libva connexes.
export LIBVA_DRIVERS_PATH=<path-contains-iHD_drv_video.so>
export LIBVA_DRIVER_NAME=iHD
Le pilote multimédia contient trois composants comme ci-dessous
Le pilote multimédia prend en charge en dessous de deux versions
À propos d'Ubuntu / Debian OSV, ils fournissent Intel-Media-Va-Driver-Non-Free (Full Feature Build) et Intel-Media-Va-Driver (Free Kernel Build) deux packages. GRATUIT ici signifie le noyau open source mais pas lié aux frais à payer. Vous pouvez vous référer aux options de construction pour plus de détails.
Si vous êtes impatient d'avoir une grande table pour partager des fonctionnalités de composants multimédias sur ces deux versions, les tables ci-dessous sont bonnes références pour vos informations.
Codec | Types de construction | BMG | LNL | Mtlx | DG2 / ATSM | DG1 / SG1 | Tglx | EHL / JSL | ICL | Kblx | Bxtx | Skl | BDW |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AVC | Complet Noyau libre | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e / es D / e | D / e / es D / e | D / e D / e | D / e / es D / e | D / e / es D / e | D / e / es D / e | D / e / es D / e | D / es D |
Mpeg-2 | Complet Noyau libre | D D | D D | D D | D D | D / es D | D / es D | D D | D / es D | D / es D | D D | D / es D | D / es D |
VC-1 | Complet Noyau libre | D | D | D | D | D | D | D | D | ||||
Jpeg | Complet Noyau libre | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D D |
VP8 | Complet Noyau libre | D D | D D | D D | D* D* | D D | D / es D | D / es D | D D | D D | D D | ||
Hevc 8bit | Complet Noyau libre | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e / es D / e | D / e / es D / e | D / e D / e | D / e / es D / e | D / es D | D / es D | D / es D | |
HEVC 8BIT 422 | Complet Noyau libre | D / e D / e | D / e D / e | D D | D / e D / e | D / es D | D / es D | D D | D / es D | ||||
HEVC 8BIT 444 | Complet Noyau libre | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | ||||
Hevc 10bit | Complet Noyau libre | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e / es D / e | D / e / es D / e | D / e D / e | D / e / es D / e | D / es D | D D | ||
Hevc 10bit 422 | Complet Noyau libre | D / e D / e | D / e D / e | D D | D / e D / e | D / es D | D / es D | D D | D / es D | ||||
Hevc 10bit 444 | Complet Noyau libre | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | ||||
Hevc 12bit | Complet Noyau libre | D D | D D | D D | D D | D / es D | D / es D | ||||||
HEVC 12BIT 422 | Complet Noyau libre | D D | D D | D D | D D | D D | D D | ||||||
HEVC 12BIT 444 | Complet Noyau libre | D D | D D | D D | D D | D D | D D | ||||||
VP9 8 bits | Complet Noyau libre | D D | D D | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D D | D D | ||
VP9 8BIT 444 | Complet Noyau libre | D D | D D | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | ||||
VP9 10 bits | Complet Noyau libre | D D | D D | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D D | |||
VP9 10bit 444 | Complet Noyau libre | D D | D D | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | D / e D / e | ||||
VP9 12 bits | Complet Noyau libre | D D | D D | D D | D D | D D | D D | ||||||
VP9 12 bits 444 | Complet Noyau libre | D D | D D | D D | D D | D D | D D | ||||||
AV1 8 bits | Complet Noyau libre | D / e D / e | D / e D / e | D / e D / e | D / e E | D | D | ||||||
AV1 10 bits | Complet Noyau libre | D / e D / e | D / e D / e | D / e D / e | D / e E | D | D | ||||||
VVC 8 bits | Complet Noyau libre | D D | |||||||||||
VVC 10 bits | Complet Noyau libre | D D |
Remarque: le codage à faible puissance (VaEntryPointEnClicelp) et le codage des shader (VaEntryPointEncslice) sont consolidés à l'interface unifiée (VaEntryPointEncslice) à partir de la plate-forme MTL . Il passe par VDENC / HUC pour l'accélération HW afin de libérer les ressources GPU aux clients.
Pour plus d'informations sur les fonctionnalités de décodage et d'encodage, veuillez vous référer à
Codec | Types de construction | BMG | LNL | Mtlx | DG2 / ATSM | DG1 / SG1 | Tglx | EHL / JSL | ICL | Kblx | Bxtx | Skl | BDW |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Mélange | Complet Noyau libre | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui | Oui | Oui | Oui |
CSC | Complet Noyau libre | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui | Oui | Oui | Oui |
Se détendre | Complet Noyau libre | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui* Oui* | Oui Oui | Oui | Oui | Oui | Oui |
Faire la bruit | Complet Noyau libre | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | |
Clé Luma | Complet Noyau libre | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui | Oui | Oui | Oui |
Miroir | Complet Noyau libre | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui | Oui | Oui | Oui |
Procamp | Complet Noyau libre | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui | Oui | Oui | Oui |
Rotation | Complet Noyau libre | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui | Oui | Oui | Oui |
Éclatement | Complet Noyau libre | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui | Oui | Oui | Oui |
Affûtage | Complet Noyau libre | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui | Oui | Oui | Oui |
Std / e | Complet Noyau libre | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | |
TCC | Complet Noyau libre | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | Oui | |
Remplissage de couleur | Complet Noyau libre | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui | Oui | Oui | Oui |
Chroma | Complet Noyau libre | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui Oui | Oui | Oui | Oui | |
HDR10 TM | Complet Noyau libre | Oui | Oui | Oui | Oui | Oui | Oui | Oui | |||||
3dlut | Complet Noyau libre | Oui | Oui | Oui | Oui | Oui | Oui |
Pour plus d'informations sur les fonctionnalités, veuillez vous référer au format CSC / mise à l'échelle du traitement vidéo pris en charge
Le pilote multimédia prend en charge différents types de build comme décrit ci-dessous. Vous pouvez vous référer aux paramètres suivants pour les activer.
Le conducteur multimédia nécessite la version spéciale du pilote de mode de noyau i915 (KMD) pour prendre en charge les plates-formes suivantes, car la version en amont de I915 KMD ne les prend pas entièrement (les correctifs en attente en amont). Pour activer ces plates-formes, il faut spécifier l'option de configuration ENABLE_PRODUCTION_KMD=ON
(par défaut: OFF
).
Il est recommandé à Intel (R) que le pilote de média pour VAAPI soit construit contre le compilateur GCC V6.1 ou version ultérieure, qui a officiellement pris en charge C ++ 11.
Le firmware HUC est nécessaire pour le contrôle de débit binaire AVC / HEVC / VP9 / AV1, notamment CBR, VBR, etc. Vous pouvez modifier le paramètre HUC avec "options i915 enable_guc=2" > /etc/modprobe.d/i915.conf
sous root. Pour les plates-formes ADL +, le noyau charge HUC par défaut si la plate-forme associée HUC binaire existe dans /lib/firware/i915
. Les firmwares HUC disponibles sur différentes plates-formes sont:
i915.enable_guc=2
i915.enable_guc=2
i915.enable_guc=2
i915.enable_guc=2
i915.enable_guc=2
i915.enable_guc=2
D'autres problèmes plus connus, veuillez vous référer aux pages des «problèmes connues».