web-dev-qa-db-fra.com

VAAPI sur broxton GPU

J'essaie de faire fonctionner l'accélération vaapi sur Ubuntu 16.10 pour le Celeron J3455. J'ai installé les pilotes mais lorsque j'exécute vainfo, j'obtiens cette erreur:

ubuntu@ubuntu:~$ vainfo
libva info: VA-API version 0.39.2
libva info: va_getDriverName() returns -1
libva error: va_getDriverName() failed with unknown libva error,driver_name=(null)
vaInitialize failed with error code -1 (unknown libva error),exit

si je configure le pilote manuellement j'obtiens ce résultat:

ubuntu@ubuntu:~$ LIBVA_DRIVER_NAME=i965 vainfo
libva info: VA-API version 0.39.2
libva info: va_getDriverName() returns -1
libva info: User requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
vainfo: intel_driver.c:100: intel_driver_init: Assertion `VA_CHECK_DRM_AUTH_TYPE(ctx, VA_DRM_AUTH_DRI1) || VA_CHECK_DRM_AUTH_TYPE(ctx, VA_DRM_AUTH_DRI2) || VA_CHECK_DRM_AUTH_TYPE(ctx, VA_DRM_AUTH_CUSTOM)' failed.
Aborted (core dumped)

et avec vainfo - afficher drm je reçois ce que j'attendais

ubuntu@ubuntu:~$ vainfo --display drm
libva info: VA-API version 0.39.2
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.39 (libva 1.7.1)
vainfo: Driver version: Intel i965 driver for Intel(R) Broxton - 1.7.1
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD

Comment faire fonctionner l'accélération matérielle?

Toute aide serait appréciée. Merci!

1
Lorenzo C

Même matériel ( J3455 ) et OS ( Ubuntu 16.10 Desktop ) ici. J'ai passé plusieurs heures là-dessus et finalement corrigé, alors j'espère pouvoir vous aider avec ça!

J'ai d'abord essayé plusieurs noyaux (4.8.0.32, 4.8.0.34, 4.9.2 et 4.9.0-drm-intel-next), puis mis à jour la libva vers 1.7.3 en utilisant PPA de wsnipex et mesa vers 13.0 .3 en utilisant PPA de Padoka et en fait jusque-là VAAPI ne fonctionnait toujours pas (DISPLAY=:0 vainfo échouait avec la même erreur que vous avez signalée). Par conséquent, je ne sais même pas si ces étapes étaient nécessaires.

Ensuite, j'ai remarqué que dans /var/log/Xorg.0.log, il n'y a aucun signe de chargement du pilote i965.

Qu'est-ce que l'astuce pour moi était d'ajouter le fichier /usr/share/X11/xorg.conf.d/20-intel.conf, avec le contenu suivant:

Section "Device"
  Identifier  "intel"
  Driver      "intel"
EndSection

Après avoir redémarré le serveur X, j'ai finalement pu lire la sortie correcte de vainfo.

1
barthand