select vaapi drm renderer

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

select vaapi drm renderer

xrataj00
Hello,

I have a Debian testing with multiple GPUs (integrated Intel GPU and
discrete AMD graphic). Is there a way how to choose which device the
pipeline will use within one application? If it's not possible to do it on a
single pipeline is it possible to select the rendering device for the whole
app? I have tried it using DRI_PRIME=1 but without success, it is always
using integrated Intel. Like this:

export LIBVA_DRIVER_NAME=i965
vainfo
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_0
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Kaby Lake - 2.0.0

export LIBVA_DRIVER_NAME=radeonsi
export DRI_PRIME=1
vainfo
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'radeonsi'
libva info: Trying to open
/usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva error: /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so init failed
libva info: va_openDriver() returns 2
vaInitialize failed with error code 2 (resource allocation failed),exit

When I manually select the card, it is working fine:
vainfo --display drm --device /dev/dri/renderD129
libva info: VA-API version 1.1.0
libva info: va_getDriverName() returns 0
libva info: User requested driver 'radeonsi'
libva info: Trying to open
/usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_1
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.1 (libva 2.1.0)
vainfo: Driver version: Mesa Gallium driver 18.2.0-devel for Radeon RX 550
Series (POLARIS12, DRM 3.23.0, 4.15.0-2-amd64, LLVM 6.0.0)

Any ideas how to choose the drm renderer? Thanks.

Tomas



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: select vaapi drm renderer

Vavooon
It looks like gstreamer-vaapi selects first render node
https://github.com/GStreamer/gstreamer-vaapi/blob/5ee46f6751dc03b9981f1a8d9da76b31fa3c1a1f/gst-libs/gst/vaapi/gstvaapidisplay_drm.c#L76
So you may try to create udev rule which makes alias to the desired node
with lower number, e.g. /dev/dri/renderD127 or even /dev/dri/renderD1



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: select vaapi drm renderer

xrataj00
Yes, you are right. In the mean time I made a hack and set a render node
using
gst_vaapi_plugin_base_set_display_name:

https://github.com/GStreamer/gstreamer-vaapi/blob/59579a9cb3053e27c4d6495e3c01fd521fccbd14/gst/vaapi/gstvaapipluginbase.c#L371

It would be nice to have a property for that (similar to "display-name" in
vaapisink) for each vaapi plugin. What you guys think about that?




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: select vaapi drm renderer

Victor Jaquez
Hi,

On Tue, 01 May 2018 at 13:05, xrataj00 wrote:
> Yes, you are right. In the mean time I made a hack and set a render node
> using
> gst_vaapi_plugin_base_set_display_name:
>
> https://github.com/GStreamer/gstreamer-vaapi/blob/59579a9cb3053e27c4d6495e3c01fd521fccbd14/gst/vaapi/gstvaapipluginbase.c#L371
>
> It would be nice to have a property for that (similar to "display-name" in
> vaapisink) for each vaapi plugin. What you guys think about that?

You should file a bug in bugzilla to discuss that specific topic.

There are a couple tricky details, for example, should that property apply to
all the vaapi elements or only vaapisink? because everyone can instantiates a
VA display by itself.

I would rather rely on other system's utilities as Vavooon suggested. But we can
discuss that in the bug.

Thanks

vmjl

>
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel