Bug 1731877

Summary: Missing libvdpau_nouveau.so - hardware acceleration with nouveau
Product: [Fedora] Fedora Reporter: udayb <udayreddy>
Component: libvdpauAssignee: Nicolas Chauvet (kwizart) <kwizart>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 30CC: kwizart
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-07-22 09:55:05 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description udayb 2019-07-22 09:19:53 UTC
Description of problem:

For some reason, video hardware acceleration via nouveau doesn't work out of the box. Players like vlc complain about not being able to use vdpau. 


Version-Release number of selected component (if applicable):
libvdpau-1.2-1.fc30.x86_64


How reproducible:

Always

Steps to Reproduce:
1. 
$ vdpauinfo 
display: :1   screen: 0
Failed to open VDPAU backend libvdpau_nouveau.so: cannot open shared object file: No such file or directory

A little searching reveals that the only package that has libvdpau_nouveau.so is mesa-vdpau-drivers. Installing  that and trying vlc yields these in the log:

[00005564dd594630] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
libva info: VA-API version 1.4.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/nouveau_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
[00007f2384005a00] glconv_vaapi_x11 gl error: vaDeriveImage: invalid VASurfaceID
[00007f23884a8600] main video output error: video output creation failed
[00007f2394c94890] main decoder error: failed to create video output
[00007f2394c94890] avcodec decoder: Using G3DVL VDPAU Driver Shared Library version 1.0 for hardware decoding
[hevc @ 0x7f2394cad4c0] Failed setup for format vdpau: hwaccel initialisation returned error.
[00007f2394c94890] avcodec decoder error: existing hardware acceleration cannot be reused
libva info: VA-API version 1.4.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/nouveau_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
[00007f23840ebc20] glconv_vaapi_x11 gl error: vaDeriveImage: invalid VASurfaceID
libva info: VA-API version 1.4.1
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/nouveau_drv_video.so
libva info: Found init function __vaDriverInit_1_4
libva info: va_openDriver() returns 0
[00007f238401efe0] glconv_vaapi_x11 gl error: vaDeriveImage: invalid VASurfaceID
[00007f23884d2c10] main video output error: video output creation failed
[00007f2394c94890] main decoder error: failed to create video output

Comment 1 Nicolas Chauvet (kwizart) 2019-07-22 09:55:05 UTC
No sorry this is invalid.

You need to install mesa-vdpau-drivers which isn't done by default on purpose (it requires the extracted firmware can isn't redistributable in Fedora but can be fetched from rpmfusion-nonfree-tainted repos).

As a side note, the extracted firmware only works with older NVIDIA devices and might be known to have issue with current vdpau/vaapi players.
You may need the proprietary driver if you want to have reliable vdpau decoding. (but feedback welcome on this point).

Comment 2 udayb 2019-07-22 10:03:48 UTC
Thanks for the quick comment. I can confirm that it doesn't work on my Geforce 1050 Ti (GP107 - Geforce 10 series). The page here doesn't even list 10 series. 
https://nouveau.freedesktop.org/wiki/VideoAcceleration/

And I can confirm that it works perfectly with the proprietary driver.