[Libva] VAAPI and External GPU simulatenously?

Perry Hung perry at leaflabs.com
Tue Nov 3 13:38:15 PST 2015


Hi,

I'm trying to use VAAPI for HEVC and h264 decode on a Devil's Canyon
system running the latest 4.2.5 kernel running Arch Linux.

There is an NVIDIA GPU driving 3 monitors and doing some compute, and
I'd like to simultaneously use Intel quicksync. The integrated GPU has
no monitors connected to it, but as far as I can tell has kernel
support, and the i915 module is loaded:

$d mesg | grep i915
[    6.869230] i915 0000:00:02.0: enabling device (0000 -> 0003)
[    6.937495] snd_hda_intel 0000:00:03.0: bound 0000:00:02.0 (ops
i915_audio_component_bind_ops [i915])
[    6.937499] [drm] Initialized i915 1.6.0 20150522 for 0000:00:02.0 on minor 0
[    6.948090] i915 0000:00:02.0: No connectors reported connected with modes
[    6.948336] i915 0000:00:02.0: fb1: inteldrmfb frame buffer device
[    6.948338] i915 0000:00:02.0: registered panic notifier


$ lsmod | grep i915
i915                 1056768  2
drm_kms_helper        102400  1 i915
intel_gtt              20480  1 i915
i2c_algo_bit           16384  1 i915
drm                   286720  7 i915,drm_kms_helper,nvidia
video                  32768  1 i915
button                 16384  1 i915


When I attempt to check the vaapi capabilities of the Intel driver
with vainfo, I get the following assertion:

$ LIBVA_DRIVER_NAME=i965 vainfo
libva info: VA-API version 0.38.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_38
vainfo: intel_driver.c:100: intel_driver_init: Assertion `(((struct
drm_state *)(ctx)->drm_state)->auth_type == (VA_DRM_AUTH_DRI1)) ||
(((struct drm_state *)(ctx)->drm_state)->auth_type ==
(VA_DRM_AUTH_DRI2)) || (((struct drm_state
*)(ctx)->drm_state)->auth_type == (VA_DRM_AUTH_CUSTOM))' failed.
zsh: abort (core dumped)  LIBVA_DRIVER_NAME=i965 vainfo

My question is, is this a supported configuration? Do I need to
reconfigure xorg, or connect the iGPU up to a screen?


More information about the Libva mailing list