VLC 中的硬件视频加速

VLC 中的硬件视频加速

我无法让 VLC 在我的机器上使用 VA-API,这让我发疯!

我在带有集成 Intel HD Graphics 515 的 ASUS ZenBook UX305CA 上运行 Arch Linux。我已经安装了libva-intel-driver-1.8.3-1vlc-2.2.6-2

当我跑步时vainfo我得到:

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

直接渲染也开启:

glxinfo | grep "direct rendering"
direct rendering: Yes

一切看起来都很好,但由于某种原因,VLC 没有提供相同的结果(我VA-API video decoder via DRM在首选项中选择了):

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

如果我在运行 VLC 之前设置驱动程序 ( export LIBVA_DRIVER_NAME=i965),我会得到以下输出:

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

相关内容