You are not logged in.

#1 2016-04-22 18:03:43

thelongdivider
Member
Registered: 2013-11-09
Posts: 52

Hardware decoding for RadeonSI via VAAPI on Gnome on Wayland

On X11, VAAPI works perfectly fine.  However, on Gnome on wayland the same enablement doesn't go so well:

[andrew@localhost ~]$ ./GnomeInit.sh 
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/gallium_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva error: /usr/lib/dri/gallium_drv_video.so init failed
libva info: va_openDriver() returns 20

I have heard it works for i965 on wayland, so I was wondering if the same is possible on radeonSI.  VDPAU doesn't demonstrate such wayland compatibility as far as I can tell.

Offline

#2 2016-04-22 18:22:11

Gusar
Member
Registered: 2009-08-25
Posts: 3,607

Re: Hardware decoding for RadeonSI via VAAPI on Gnome on Wayland

Which player are you using?

Offline

#3 2016-04-22 23:53:51

thelongdivider
Member
Registered: 2013-11-09
Posts: 52

Re: Hardware decoding for RadeonSI via VAAPI on Gnome on Wayland

Gusar wrote:

Which player are you using?

Hi, thank you for your response.

I have tried with both VLC and mpv, following their respective wikis for configuration tips.  Both tell me Va-api cannot be enabled.  I am running mesa-git which has VA-API inside of mesa, as seen by the support on X11.

Last edited by thelongdivider (2016-04-22 23:55:22)

Offline

#4 2016-04-23 09:14:18

Gusar
Member
Registered: 2009-08-25
Posts: 3,607

Re: Hardware decoding for RadeonSI via VAAPI on Gnome on Wayland

For VLC on Wayland, you need the 3.0 version (not released yet), and even there the support is still very basic (only software presentation, the equivalent of mpv's --vo=wayland). Also, VLC's VAAPI support is quite poor (no zero-copy), so I would not bother with VLC.

Regarding mpv, --vo=vaapi is X only, you need to use "--vo=opengl --hwdec=vaapi". However, mpv uses VAAPI/EGL interop on Wayland (in X there's the choice of VAAPI/EGL or VAAPI/GLX). It's possible that the gallium drivers don't implement EGL interop, that only the intel driver does. Run mpv with the -v switch and look through the output.

Offline

#5 2016-04-23 14:52:56

thelongdivider
Member
Registered: 2013-11-09
Posts: 52

Re: Hardware decoding for RadeonSI via VAAPI on Gnome on Wayland

Gusar wrote:

For VLC on Wayland, you need the 3.0 version (not released yet), and even there the support is still very basic (only software presentation, the equivalent of mpv's --vo=wayland). Also, VLC's VAAPI support is quite poor (no zero-copy), so I would not bother with VLC.

Regarding mpv, --vo=vaapi is X only, you need to use "--vo=opengl --hwdec=vaapi". However, mpv uses VAAPI/EGL interop on Wayland (in X there's the choice of VAAPI/EGL or VAAPI/GLX). It's possible that the gallium drivers don't implement EGL interop, that only the intel driver does. Run mpv with the -v switch and look through the output.

I see.  So there is no way to do it on my platform.  Thanks for your replies.  Do you know of any media player that can do this?

Offline

#6 2016-04-24 05:44:59

Gusar
Member
Registered: 2009-08-25
Posts: 3,607

Re: Hardware decoding for RadeonSI via VAAPI on Gnome on Wayland

The problem isn't the media player. Gallium drivers need to implement VAAPI/EGL interop, then mpv will work.

Well, there's one other thing - you could install gstreamer-vaapi and use a gstreamer based player, like Totem. However gstreamer and vaapi have always been a mess, so no guarantee it'll work.

If Totem won't work, try gstreamer from the commandline:

gst-launch-1.0 filesrc location=somevideo.mp4 ! qtdemux ! vaapidecode ! vaapisink

Instead of vaapisink, you can also try cluttersink or glimagesink.

Last edited by Gusar (2016-04-24 05:57:15)

Offline

Board footer

Powered by FluxBB