You are not logged in.

#1 2017-10-19 10:40:27

eth0:1
Member
Registered: 2015-07-17
Posts: 33

[WorkedAround] VDPAU via VA-API

Good day everyone! (c)

I have a problem with this configuration:
Primary video card: Intel core i7 - i965 driver
Discrete Video card: [AMD/ATI] Topaz XT [Radeon R7 M260/M265 / M340/M360 / M440/M445] (M445) - radeonsi driver

The problem is, when I use just VA-API with i965 driver, vainfo shows me that it is working:

$ echo $LIBVA_DRIVER_NAME
i965
$ 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) Kabylake - 1.8.3
vainfo: Supported profile and entrypoints
...

But when I try to use VDPAU via VA-API it shows an error that is unknown to google sad

$ echo $VDPAU_DRIVER
va_gl
$ vdpauinfo 
display: :0   screen: 0
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
API version: 1
Information string: OpenGL/VAAPI backend for VDPAU

Video surface:
...

For now I use:

$ echo $VDPAU_DRIVER
radeonsi
$ echo $LIBVA_DRIVER_NAME
i965
$ echo $DRI_PRIME
1

That will enable discrete video card every time VDPAU application is started. Sometimes I need that, sometimes I need battery life with the ability to start VDPAU applications.
Please advice!

Last edited by eth0:1 (2017-10-21 08:13:25)

Offline

#2 2017-10-19 11:03:04

Xabre
Member
From: Serbia
Registered: 2009-03-19
Posts: 750

Re: [WorkedAround] VDPAU via VA-API

That's because you're trying to use radeon card with i965 (intel) driver for VA-API (libva info: User requested driver 'i965').

It's noted in troubleshooting section on VA-API wiki page that you need to specify which VDPAU driver you want to use if you plan to also use  libvdpau-va-gl.

Last edited by Xabre (2017-10-19 11:04:04)

Offline

#3 2017-10-19 12:03:49

progandy
Member
Registered: 2012-05-17
Posts: 5,196

Re: [WorkedAround] VDPAU via VA-API

Xabre wrote:

That's because you're trying to use radeon card with i965 (intel) driver for VA-API (libva info: User requested driver 'i965').

It's noted in troubleshooting section on VA-API wiki page that you need to specify which VDPAU driver you want to use if you plan to also use  libvdpau-va-gl.

Didn't he try that? He'd like to use the intel card, but it crashes, so he currently uses radeon for vdpau.


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#4 2017-10-19 12:28:40

Xabre
Member
From: Serbia
Registered: 2009-03-19
Posts: 750

Re: [WorkedAround] VDPAU via VA-API

No, he actually didn't, unless i misunederstood him - he has a hybrid graphics setup on a laptop with Intel IGP and Radeon DGP ([Radeon R7 M260/M265 / M340/M360 / M440/M445] is a mobile chip used in laptops), error appears when he tries to run the player  with DRI_PRIME=1 without specifying the appropriate VA-API driver for discrete card (radeon).

Last edited by Xabre (2017-10-19 12:37:46)

Offline

#5 2017-10-19 19:40:48

eth0:1
Member
Registered: 2015-07-17
Posts: 33

Re: [WorkedAround] VDPAU via VA-API

Xabre wrote:

No, he actually didn't, unless i misunederstood him - he has a hybrid graphics setup on a laptop with Intel IGP and Radeon DGP ([Radeon R7 M260/M265 / M340/M360 / M440/M445] is a mobile chip used in laptops), error appears when he tries to run the player  with DRI_PRIME=1 without specifying the appropriate VA-API driver for discrete card (radeon).

Sorry for a confusion. 
Actually no, I'm forced to use DRI_PRIME=1 to enable VDPAU radeonsi driver. But when I don't want to use discrete card  it shows the error with those variables:

DRI_PRIME=0
LIBVA_DRIVER_NAME=i965
VDPAU_DRIVER=va_gl

This configuration should not use the discrete card, I will end up with Intel that works via VA-API but it doesn't via VDPAU -> VA-API

Offline

#6 2017-10-19 21:54:53

Xabre
Member
From: Serbia
Registered: 2009-03-19
Posts: 750

Re: [WorkedAround] VDPAU via VA-API

Ok, it seems I did misunderstood you, sorry about that.

On the forums there are several occasions of people reporting that their environment might be ressponsible for vainfo/vdpauinfo not being able to find appropriate driver ( like https://bbs.archlinux.org/viewtopic.php?id=184573 ). Long shot, but that's all I can think of. hmm

Last edited by Xabre (2017-10-19 21:57:16)

Offline

#7 2017-10-20 13:17:09

eth0:1
Member
Registered: 2015-07-17
Posts: 33

Re: [WorkedAround] VDPAU via VA-API

It didn't help.
I run strace vdpauinfo to understand what is going on and I received a strange error of missing file libatiadlxx.so. As google said this file is provided by proprietary amd driver but this is a mastery why it is required  by VDPAU when it is using VA-API i915 driver.

But the problem is in wayland session, I guess. I switched back to X11 and this configuration works fine with no errors reporting.

And using

$ echo $VDPAU_DRIVER
radeonsi
$ echo $LIBVA_DRIVER_NAME
i965
$ echo $DRI_PRIME
1

this configuration I had some problems with firefox lags and kernel panic because of amdgpu driver. Now it is gone too, I think. But this is another problem with amdgpu driver and wayland session.

Now I can run both configurations with no issues, but I have to use X11 server for that. That is not perfect but it'll do for now.
Kernel 4.14 promises a bunch of gpu drivers updates and I think I'll hang with X11 till then or till next gnome-wayland update.

Do I need to mark this thread as [SOLVED]? The issue is still there for people who uses Arch just with wayland and it is not actually solved for me too smile

Offline

#8 2017-10-20 17:59:08

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,922

Re: [WorkedAround] VDPAU via VA-API

maybe adding  WorkedAround would be suitable ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

Board footer

Powered by FluxBB