How do I enable VDPAU hardware video acceleration support for non Nvidia cards?
I've read about VDPAU and how it enables mplayer to have Hardware acceleration. But i also read that it's only for Nvidia cards
How can i enable it on a non Nvidia card (mine it's a AMD but i would like to enable this in an Intel netbook too)? and will this work for other video players?
Solution 1:
VDPAU is a programming interface (API) to allow offloading of graphics rendering to the Graphics Chipset rather than handling by the CPU itself.
It is opensource - produced initially by Nvidia themselves and supported on most of their current Graphics Cards.
Wikipedia has an excellent article on this:
S3 Graphics added support for VDPAU to the Linux drivers of its Chrome 400 video cards since version 14.02.17 of its device driver for Linux, it supports the S3 Chrome 430 GT, S3 Chrome 440 GTX, S3 Chrome 530 GT and the S3 Chrome 540 GTX hardware.
Intel and ATI currently offer no support for VDPAU. Nvidia hopes these GPU designers will support the open source VDPAU library and provide drivers with VDPAU acceleration by mentioning example names of hardware specific drivers for Intel and ATI: libvdpau_intel.so and libvdpau_ati.so.
Intel currently support their own rival API called VA-API.
ATI/Radeon are concentrating their efforts on their Catalyst Drivers - again they have their own API called XVBA but is only supported through their Catalyst Drivers.
Phoronix over the last few months have been reporting the development of another API called the Gallium 3D State Tracker - this is intended to unify the main chipsets - Intel, ATI/Radeon and NVidia. In simple terms (as far as I understand it) - it tries to overlay an API ontop of VA-API, VDPAU etc. Thus you program to the Gallium API and it will translate this to the rival APIs for you.
Much of this is bleeding edge code - unstable and you will often have to compile code etc to keep up with the latest developments. The X-Edgers PPA is a good source of latest developments - an article here described installing the opensource radeon driver and forcing the use of Gallium3D.
Back to topic... as you can see, graphics in linux is currently fractured (some call it a mess!) - thus the best solutions at the moment is to use media players that attempt to implement the rival API's such as MPlayer.
UPDATE
The above was the past ... 2011
At the present 2015, VDPAU is supported by intel
and amd
as well as archWiki page stats
You should install the following package for intel
sudo apt-get install libvdpau-va-gl1 i965-va-driver
but looks there is an open bug on Ubuntu 14.04 and on 14.10 as well, so the lib is not found ... so for ex. vlc through the following error:
Failed to open VDPAU backend i965_drv_video.so: cannot open shared object file: No such file or directory
There is a workaround in the bug page, I'm not coping it here because even if I apply it the video is not playing in vlc ( looks the library is broken )
Solution 2:
for long time I suffered bad flash player performance on my intel based notebook. After time passed I decided to put effort on it and created wrapper library that implements VDPAU interface by means of OpenGL. On systems with VA-API available (like one I have) it also accelerates video decoding. There is one-half or one-third of whole VDPAU functionality implemented, but that's enough to make both flash player and mplayer work.
You can find code at github: https://github.com/i-rinat/libvdpau-va-gl