Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 389387 - [mesa] LD paths are missing vdpau libraries directory.
Summary: [mesa] LD paths are missing vdpau libraries directory.
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
: 410441 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-11-03 05:59 UTC by Marcin Kowalski
Modified: 2012-04-01 16:44 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marcin Kowalski 2011-11-03 05:59:50 UTC
I've started testing mesa-9999 from x11 overlay and most recent stable xf86-video-ati that properly advertises vdpau support with mesa's libvdpau_r300.so (in case of <R600 cards) library.

it seems that most apps can't find that library, though. i've eselected xorg xvmc implementation to be sure, and tried running vdpauinfo to see that ati vdpau library cannot be found, even though it's on my system, installed with mesa.

adding /usr/lib64/vdpau (on a 64bit system) fixes the problem.

running vdpauinfo and mplayer2 -vo vdpau with 
LD_LIBRARY_PATH=/usr/lib64/vdpau:$LD_LIBRARY_PATH (on a 64bit system)

makes things work correctly - i get list of vdpau capabilities and mplayer2 plays back video correctly through vdpau plugin (otherwise it just doesn't display any video at all).

Reproducible: Always

Steps to Reproduce:
1. install mesa with vdpau USE
2. build latest xf86-video-ati
3. try vdpauinfo / mplayer2 -vo vdpau somefile
Actual Results:  
necessary library (depends on graphics card) is not found
mplayer displays no video output

Expected Results:  
vdpauinfo should report on vdpau capabilities
mplayer should play back video (if the codec is supported with vdpau, afaik)

64bit ~amd64 system, using mesa from x11 overlay.

running vdpauinfo : 
display: :0   screen: 0
Failed to open VDPAU backend libvdpau_r300.so: cannot open shared object file: No such file or directory
Error creating VDPAU device: 1

running with LD_LIBRARY_PATH override : 

LD_LIBRARY_PATH=/usr/lib64/vdpau:$LD_LIBRARY_PATH vdpauinfo    
display: :0   screen: 0
API version: 1
Information string: G3DVL VDPAU Driver Shared Library version 1.0

Video surface:

name   width height types
-------------------------------------------
420     4096  4096  NV12 YV12 

Decoder capabilities:

name               level macbs width height
-------------------------------------------
MPEG1                16 65536  4096  4096
MPEG2_SIMPLE         16 65536  4096  4096
MPEG2_MAIN           16 65536  4096  4096

Output surface:

name              width height nat types
----------------------------------------------------

Bitmap surface:

name              width height
------------------------------

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             -
DEINTERLACE_TEMPORAL_SPATIAL     -
INVERSE_TELECINE                 -
NOISE_REDUCTION                  -
SHARPNESS                        -
LUMA_KEY                         -
HIGH QUALITY SCALING - L1        -
HIGH QUALITY SCALING - L2        -
HIGH QUALITY SCALING - L3        -
HIGH QUALITY SCALING - L4        -
HIGH QUALITY SCALING - L5        -
HIGH QUALITY SCALING - L6        -
HIGH QUALITY SCALING - L7        -
HIGH QUALITY SCALING - L8        -
HIGH QUALITY SCALING - L9        -

parameter name                  sup      min      max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH              -  
VIDEO_SURFACE_HEIGHT             -  
CHROMA_TYPE                      -  
LAYERS                           -  

attribute name                  sup      min      max
-----------------------------------------------------
BACKGROUND_COLOR                 -  
CSC_MATRIX                       -  
NOISE_REDUCTION_LEVEL            -  
SHARPNESS_LEVEL                  -  
LUMA_KEY_MIN_LUMA                -  
LUMA_KEY_MAX_LUMA                -
Comment 1 Matt Turner gentoo-dev 2011-11-03 15:04:30 UTC
I have noticed this. How does Nvidia's binary VDPAU implementation handle this? Do they add libvdpau_nvidia.so to the search path?
Comment 2 Marcin Kowalski 2011-11-08 07:56:21 UTC
i assume it's installed somewhere else in LD path. i don't really have nvidia card to find out for sure.
Comment 3 Ian Stakenvicius (RETIRED) gentoo-dev 2011-11-08 20:57:50 UTC
My nvidia-drivers install is a bit older, but my libvdpau_nvidia.so* is installed directly into /usr/$(get_libdir)/ , so it'd definitely be in the LDPATH
Comment 4 Tomáš Chvátal (RETIRED) gentoo-dev 2011-12-09 20:50:33 UTC
I confirm the bug, something should install env file with export of that dir.
Maybe mesa or libvdpau should do it.
Comment 5 Tomáš Chvátal (RETIRED) gentoo-dev 2011-12-09 21:18:18 UTC
I would go with mesa while thinking of it.
03vdpau with LDPATH set properly...
Comment 6 James Cloos 2011-12-17 21:20:21 UTC
The is actually a bug in x11-libs/libvdpau-0.4.1.ebuild.

The libvdpau ebuild currently has this line:

                --with-module-dir=/usr/$(get_libdir)

in src_configure().  That line instead needs to be:

                --with-module-dir=/usr/$(get_libdir)/vdpau

to ensure that libvdpau can find the .so where mesa installs it.

Mesa upstream confirms that ${libdir}/vdpau is the correct directory.

A look at the default value for module-dir in configure.ac also confirms it:

  [moduledir="$libdir/vdpau"]
Comment 7 Doug Goldstein (RETIRED) gentoo-dev 2011-12-18 03:22:01 UTC
(In reply to comment #6)
> The is actually a bug in x11-libs/libvdpau-0.4.1.ebuild.
> 
> The libvdpau ebuild currently has this line:
> 
>                 --with-module-dir=/usr/$(get_libdir)
> 
> in src_configure().  That line instead needs to be:
> 
>                 --with-module-dir=/usr/$(get_libdir)/vdpau
> 
> to ensure that libvdpau can find the .so where mesa installs it.
> 
> Mesa upstream confirms that ${libdir}/vdpau is the correct directory.
> 
> A look at the default value for module-dir in configure.ac also confirms it:
> 
>   [moduledir="$libdir/vdpau"]

Thanks for pointing that out James. I was actually working around a previous bug in a specific nvidia-drivers release that Aaron P fixed ages ago and never reverted that in the ebuild. I'll fix this first thing Monday morning when I'm back at my Gentoo dev box.
Comment 8 Tomáš Chvátal (RETIRED) gentoo-dev 2012-02-15 14:43:35 UTC
fixed in 0.4.1-r1.
Comment 9 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-04-01 16:44:44 UTC
*** Bug 410441 has been marked as a duplicate of this bug. ***