The Video Acceleration State On Linux GPU Drivers

Posted by Michael Larabel on February 05, 2013

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:
H264
VC1
MPEG2
MPEG4
BOB deinterlacing
WEAVE
Temp/Spatial deinterlacing
Color Processing
constantly improving
implemented in: mythv, mplayer, xbmc, vlc, many more

XVBA on AMD:
H264
VC1
BOB deinterlacing
SDK pending since at least 2K11 (phoronix has had some articles)
implemented in: xbmc(PR pending), xvba-vaapi-wrapper (development stopped 1 year ago)


VAAPI on Intel Hardware:
H264
VC1
MPEG2
MPEG4
10bit Color transformation (? not really sure here - used to help decoding hi10p)
BOB deinterlacing
constantly improving
implemented in: vlc, mplayer-vaapi, totem, gstreamer, xbmc, many more

To finish:
Audio part:
Intel: DTS-HD,TrueHD, LPCM (might require kernel patch, SandyBridge++), 192000 via hdmi
Nvidia: DTS-HD,TrueHD, LPCM (>= ION-2), 192000 via hdmi
AMD: No Bitstream at all, LPCM only 2 Channels, more channels only possible via pseudo formats like AC3, DTS that are coded on two real channels max 48000h via hdmi (spdif is a bit better)
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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. Ubuntu Announces Carrier Advisory Group
  2. Qt 5.1 Release Candidate 1 Has Arrived
  3. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  4. Subversion 1.8 Presents New Features
  5. LLVM 3.3 Officially Released
  6. LLVM/Clang Now Uses Loop Vectorizer At New Levels
  7. Intel GPU Driver Tries To Rip Out FBDEV Support
  8. Coreboot Doing AMD USB 3.0, Q35 QEMU Emulation
  9. VP9 Codec Now Enabled By Default In Chrome
  10. openSUSE 13.1 M2 Plays On PulseAudio 4.0
  11. Debian 7.1 Rounds In Some Bug-Fixes
Latest Forum Talk
  1. In-Fighting Continues Over Mir On Non-Unity Ubuntu
  2. Ubuntu Announces Carrier Advisory Group
  3. Vote for GOG to add Linux versions of games they...
  4. Intel Haswell HD Graphics 4600 vs. AMD Radeon...
  5. Intel GPU Driver Tries To Rip Out FBDEV Support
  6. Mir Still Causing Concerns By Ubuntu Derivatives
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite