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 -
I have noticed this. How does Nvidia's binary VDPAU implementation handle this? Do they add libvdpau_nvidia.so to the search path?
i assume it's installed somewhere else in LD path. i don't really have nvidia card to find out for sure.
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
I confirm the bug, something should install env file with export of that dir. Maybe mesa or libvdpau should do it.
I would go with mesa while thinking of it. 03vdpau with LDPATH set properly...
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"]
(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.
fixed in 0.4.1-r1.
*** Bug 410441 has been marked as a duplicate of this bug. ***