The Video Acceleration State On Linux GPU Drivers
For those of you curious about the state of hardware-assisted video playback acceleration on the Linux graphics drivers, here's a brief overview.
Recently in the forums a Phoronix reader assembled a concise overview of various features offered by the Intel VA-API driver, the AMD Catalyst driver with XvBA, and NVIDIA's proprietary driver with VDPAU.
VDPAU on nvidia:As I have written in Phoronix articles many times before, my particular recommendation for those HTPC users or anyone just watching many movies/videos on their Linux desktop is to use NVIDIA GeForce GPUs with the proprietary driver. NVIDIA VDPAU is widely-supported and tends to "just work" on any modern Linux distribution, the binary driver, and all popular Linux multimedia software like XBMC, VLC, and MPlayer. NVIDIA's Video Decode and Presentation API for Unix does a very good job at offloading the video decode work to the graphics hardware rather than the CPU. Even a very low-end GeForce GPU can get the job done.
AMD's XvBA (X-Video Bitstream Acceleration) has had an interesting history and came much later after NVIDIA introduced VDPAU to bid farewell to the now rather useless XvMC. XvBA still isn't too widely supported by Linux multimedia software directly but rather relies on out-of-tree patches or using the VA-API wrapper library that is no longer actively maintained. At least though the Catalyst driver support for XvBA has stabilized over the years. Catalyst/XvBA at least does a better job than the open-source drivers for video acceleration, but from my experience and also hearing the opinions of others, Linux users tend to be much happier in a NVIDIA/VDPAU combination.
If you're after an open-source HTPC Linux stack, Intel's open-source driver with Sandy Bridge or Ivy Bridge hardware is definitely the way to go. VA-API has matured quite well over the years and the Intel VA-API hardware driver continues to be advanced and very well supported. The VA-API acceleration interface has also become fairly well adopted by the important open-source video programs.
For Nouveau and Radeon driver users, there is the video acceleration state tracker with Gallium3D, but unfortunately using shaders rather than the dedicated video engines found on modern graphics processors. Some users get this working with success, but it's not as good as using NVIDIA/VDPAU or Intel/VA-API.
Latest Linux Hardware Reviews
Latest Linux Articles
Latest Linux News
Latest Forum Discussions