Bug 2589

Summary: Failed to open VDPAU backend libvdpau_nvidia.so:
Product: Fedora Reporter: Neil <hispeed.bz>
Component: xorg-x11-drv-nvidiaAssignee: Nicolas Chauvet <kwizart>
Status: RESOLVED INVALID    
Severity: normal CC: s.adam
Priority: P5    
Version: 17   
Hardware: All   
OS: GNU/Linux   
namespace:
Attachments: sudo nvidia-bug-report.sh output

Description Neil 2012-11-28 03:14:52 CET
Whenever I tried to run an VDPAU application (tried with mplayer and vdpauinfo) with the nvidia X11 drivers installed I get the error message:

Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory

In order to fix this I had to create two files in /etc/ld.so.conf.d and run ldconfig.

nvidia-vdpau-lib64.conf:
/usr/lib64/vdpau

nvidia-vdpau-lib.conf:
/usr/lib/vdpau

Should those lines be added to nvidia-lib.conf and nvidia-lib64.conf in xorg-x11-drv-nvidia-libs so it works out-of-the-box?

Version I have installed is xorg-x11-drv-nvidia-libs-304.64-3.fc17
Comment 1 Nicolas Chauvet 2012-11-28 08:33:18 CET
No, truly vdpau works by default on F-17. Specially it doesn't rely on the system linker but instead dlopen the appropriate backend in the vdpau directory.
This make use of dri2 xorg extension eventually, but fall back to nvidia.

You can attach the output of nvidia-bug-report.sh (without your hack and on a fresh reboot), but as I don't have time to sort out your particular problem. I should forward you to a user forum instead.


Here is the appropriate output:
$ vdpauinfo 
display: :0   screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library  304.64  Tue Oct 30 11:20:48 PDT 2012

Video surface:
...
Comment 2 Neil 2012-11-28 16:24:03 CET
Created attachment 1004 [details]
sudo nvidia-bug-report.sh output
Comment 3 Neil 2012-11-28 16:25:22 CET
Attaching output of nvidia-bug-report.sh as requested.  This is a fresh reboot with the hack reversed.

I also originally added video=vesa:off vga=normal to the grub command line to get rid of the "Your system is not currently configured to drive a VGA console..." NVRM message and reversed that prior to rebooting.

NVIDIA driver was first installed using the download from NVIDIA, then I --uninstall'd and installed the RPMs.
xorg-x11-drv-nvidia-304.64-3.fc17.x86_64
kmod-nvidia-3.6.6-1.fc17.x86_64-304.64-1.fc17.x86_64
xorg-x11-drv-nvidia-libs-304.64-3.fc17.i686
nvidia-xconfig-1.0-20.fc17.x86_64
nvidia-settings-1.0-22.fc17.x86_64
xorg-x11-drv-nvidia-libs-304.64-3.fc17.x86_64
akmod-nvidia-304.64-1.fc17.x86_64
kmod-nvidia-3.6.7-4.fc17.x86_64-304.64-1.fc17.x86_64
kmod-nvidia-3.6.5-1.fc17.x86_64-304.60-1.fc17.2.x86_64

With the hack reversed vdpauinfo gives me:
$ vdpauinfo
display: :0   screen: 0
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
Error creating VDPAU device: 1

Putting the fix back in and running ldconfig (sans reboot) I get:
$ vdpauinfo|head
display: :0   screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library  304.64  Tue Oct 30 11:20:48 PDT 2012

Video surface:

name   width height types
-------------------------------------------
420     4096  4096  NV12 YV12 
422     4096  4096  UYVY YUYV 

The other solution I saw to this problem from googling around was to symlink the vdpau libs into their respective lib/lib64 directory.
Comment 4 Neil 2012-11-28 23:59:49 CET
I just checked the nvidia-bug-report.sh output and saw the --uninstall didn't remove the 304.60 binaries in lib64.  

After removing those, pulling the ld.so.conf.d files, re-running ldconfig, and rebooting to be sure, vdpauinfo is working again.