vainfoを叩いた時に下記のように出ていればVA-APIのインストールはされています。
$ vainfo (略) vainfo: VA-API version: 1.4 (libva 2.4.1) vainfo: Driver version: Intel i965 driver for Intel(R) Coffee Lake - 2.4.0 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice (略)
どうやら/usr/lib64/driにドライバがあるっぽい。
# ls -lah /usr/lib64/dri/ (略) -rwxr-xr-x. 1 root root 13M 1月 6 10:39 i965_dri.so -rwxr-xr-x. 1 root root 977 3月 21 20:52 i965_drv_video.la -rwxr-xr-x. 1 root root 14M 3月 21 20:52 i965_drv_video.so (略)
実際i965_drv_video.soをリネームするとvainfoがエラーになるし、下記のようにffmpegでエンコードしようとしてもエラーで動かなくなる。
$ vainfo error: XDG_RUNTIME_DIR not set in the environment. error: can't connect to X server! libva info: VA-API version 1.4.1 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/i965_drv_video.so libva info: va_openDriver() returns -1 vaInitialize failed with error code -1 (unknown libva error),exit $ ffmpeg -y \ -hwaccel vaapi -hwaccel_output_format vaapi \ -i input.mpg -c:v h264_vaapi /tmp/encout.mkv (略) [AVHWDeviceContext @ 0x11350c0] Failed to initialise VAAPI connection: -1 (unknown libva error). Device creation failed: -5. [mpeg2video @ 0x1121500] No device available for decoder: device type vaapi needed for codec mpeg2video.
ffmpegは下記のようにレンダを指定する事もできる。
-hwaccel_device /dev/dri/renderD128
再生はされるが、下記のエラーが出る場合があります(詳細なエラーを出すためLIBVA_TRACE=1としてます) ただ、再生はできます。ハードウェア支援が使えてるのかよくわからないですが…。
$ export LIBVA_TRACE=1 $ mpv -vo gpu -hwdec=vaapi test.mkv (+) Video --vid=1 (*) (hevc 1920x1080 29.970fps) (+) Audio --aid=1 (*) (aac 2ch 48000Hz) [vaapi] libva: Open file 1 failed (Permission denied) [vaapi] libva: va_getDriverName() failed with unknown libva error,driver_name=(null)
unsharp=lc:1.5