Eu não consegui fazer com que o VLC usasse o VA-API na minha máquina e isso está me enlouquecendo!
Estou executando o Arch Linux em um ASUS ZenBook UX305CA com Integrated Intel HD Graphics 515. Instalei libva-intel-driver-1.8.3-1
e vlc-2.2.6-2
.
Quando executo vainfo
, obtenho:
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'i965'
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.40 (libva )
vainfo: Driver version: Intel i965 driver for Intel(R) Skylake - 1.8.3
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointEncSliceLP
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
Também a renderização direta está ativada:
glxinfo | grep "direct rendering"
direct rendering: Yes
Tudo parece bem, mas por algum motivo o VLC não fornece os mesmos resultados (eu tenho VA-API video decoder via DRM
selecionado nas preferências):
VLC media player 2.2.6 Umbrella (revision 2.2.6-0-g1aae78981c)
[000055f6e93dc148] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 1
libva error: va_getDriverName() failed with operation failed,driver_name=i965
[00007fa4280009c8] vaapi_drm generic error: Failed to initialize the VAAPI device
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
[00007fa4280207c8] freetype spu text error: Breaking unbreakable line
Se eu definir o driver ( export LIBVA_DRIVER_NAME=i965
) antes de executar o VLC, recebo a seguinte saída:
VLC media player 2.2.6 Umbrella (revision 2.2.6-0-g1aae78981c)
[000056014a004148] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
libva info: VA-API version 0.40.0
libva info: va_getDriverName() returns 1
libva info: User requested driver 'i965'
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_40
libva error: /usr/lib/dri/i965_drv_video.so init failed
libva info: va_openDriver() returns -1
[00007f08ac0009c8] vaapi_drm generic error: Failed to initialize the VAAPI device
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
[00007f08ac008328] freetype spu text error: Breaking unbreakable line