
Préparation du conteneur (côté host)
Rajouter les lignes suivantes dans le fichier de conf du CT /etc/pve/lxc/123.conf
Les lignes idmap permettent de mapper les groupes video (44) et render (108) dans le CT. Petite subtilité, dans le CT, le groupe render porte le numéro 106, d’où le mappage lxc.idmap: g 106 108 1
lxc.idmap: u 0 100000 44
lxc.idmap: g 0 100000 44
lxc.idmap: u 44 44 1
lxc.idmap: g 44 44 1
lxc.idmap: u 45 100045 61
lxc.idmap: g 45 100045 61
lxc.idmap: u 106 108 1
lxc.idmap: g 106 108 1
lxc.idmap: u 107 100107 65429
lxc.idmap: g 107 100107 65429
lxc.cgroup.devices.allow: c 226:0 rwm
lxc.cgroup.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
Mettre à jour les fichiers subuid et subgid en rajoutant les deux id des groupes :
# cat /etc/subuid
root:100000:65536
root:44:1
root:108:1
# cat /etc/subgid
root:100000:65536
root:44:1
root:108:1
Penser à faire un A/R du CT pour prise en compte des modifs.
Configuration du conteneur (côté CT)
Vérifier la présence des drivers vidéos dans le CT :
root@testing:~# ls -ls /dev/dri/
total 0
0 crw-rw---- 1 nobody video 226, 0 Jul 30 19:36 card0
0 crw-rw---- 1 nobody render 226, 128 Jul 30 19:36 renderD128
Ajouter le compte root dans les groupes video et render:
usermod -aG render root
usermod -aG video root
Installation de vainfo
apt-get install vainfo
La commande vainfo doit retourner des lignes du genre:
root@testing:~# vainfo
error: can't connect to X server!
libva info: VA-API version 1.8.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_8
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.8 (libva 2.8.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.2.0 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointFEI
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointFEI
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointFEI
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileVP8Version0_3 : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointFEI
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
Si ce n’est pas le cas, il se peut que vainfo ou les pilotes logiciels ne soient pas à jour. Dans ce cas, il faut installer la version sid de ces paquets :
# rajout du dépôt sid dans /etc/apt/sources.list
deb http://ftp.fr.debian.org/debian/ sid main contrib non-free
apt update
#Installation des paquets depuis sid
apt-get -t sid install vainfo
apt-get -t sid install intel-media-va-driver-non-free
Une fois l’installation faite, penser à retirer le dépôt sid des sources, sous peine à la prochaine mise à jour d’avoir un système instable..