web-dev-qa-db-ja.com

ブロックストンGPU上のVAAPI

Celeron J3455のUbuntu 16.10でvaapiアクセラレーションを動作させようとしています。ドライバーをインストールしましたが、vainfoを実行するとこのエラーが発生します。

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

ドライバーを手動で設定すると、次の結果が得られます。

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)

vainfo --display drmを使用すると、期待していたものが得られます

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

ハードウェアアクセラレーションを機能させるにはどうすればよいですか?

助けていただければ幸いです。ありがとう!

1
Lorenzo C

ここに同じハードウェア(J3455)とOS(Ubuntu 16.10 Desktop)私はそれに数時間を費やし、最終的にそれを修正したので、私はそれであなたを助けることができると思います!

最初に複数のカーネル(4.8.0.32、4.8.0.34、4.9.2、4.9.0-drm-intel-next)を試し、次に wsnipexのPPA とmesaを13.0に使用してlibvaを1.7.3に更新しました.3 PadokaのPPA を使用し、実際にはその時点までVAAPIはまだ機能していませんでした(DISPLAY=:0 vainfoはあなたが指摘したのと同じエラーで失敗していました)。したがって、これらの手順が必要かどうかさえわかりません。

それから、/var/log/Xorg.0.log、i965ドライバーがロードされている兆候はありません。

私にとってのトリックは、ファイルを追加することでした/usr/share/X11/xorg.conf.d/20-intel.conf、次のコンテンツ:

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

Xサーバーを再起動した後、ようやくvainfoから正しい出力を読み取ることができました。

1
barthand