[Mesa-dev] [PATCH] st/va: hardlink driver instances to gallium_drv_video.so

Emil Velikov emil.l.velikov at gmail.com
Tue Jun 14 08:53:11 UTC 2016


On 14 June 2016 at 09:10, Julien Isorce <julien.isorce at gmail.com> wrote:
> Hi,
>
> It seems this patch has been pushed recently. This is causing me problems on
> a multi gpu configuration.
> It is a laptop with intel and nvidia, graphic hardwares.
>
> 1: intel vaapi driver:
> vainfo
>
> 2: st/va,nouveau:
> DRI_PRIME=1 LIBVA_DRIVER_NAME=gallium vainfo
>
> with that patch 0c0f841e5de27d01312f8857641668ca439b1ab1 " st/va: hardlink
> driver instances to gallium_drv_video.so"
> the case 2 does not work anymore. Ah I just realized that it does work by
> setting:  LIBVA_DRIVER_NAME=nouveau
>
LIBVA_DRIVER_NAME explicitly overrides any logic that is used to
determine the name. DRI_PRIME machine being one.
Thus in theory one could have used $ LIBVA_DRIVER_NAME=gallium vainfo

On the other hand dropping the explicit name and using DRI_PRIME alone
should work just fine (with current master).
In other words the following should list/use nouveau.

$ DRI_PRIME=1 vainfo

> Is it the expected behavior ?
>
Ssort of.

As you can guess, I wasn't too excited on the patch. Sadly your fix
for libva exposed annoying bug(s) in said library. Namely its mapping
table, is used only for VA_DISPLAY_DRM* and not for
VA_DISPLAY_{GLX,X11} and others (wayland, android ?) There is more
info about bugs, bad coding practises etc. on the libva ML ;-)

TL;DR: Don't set LIBVA_DRIVER_NAME and everything should work as expected.

Regards,
Emil


More information about the mesa-dev mailing list