1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

The Video Acceleration State On Linux GPU Drivers

Hardware

Published on 05 February 2013 02:56 PM EST
Written by Michael Larabel in Hardware
29 Comments

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.

Latest Linux Hardware Reviews
  1. Mini-Box M350: A Simple, Affordable Mini-ITX Case
  2. Overclocking The AMD AM1 Athlon & Sempron APUs
  3. AMD Athlon 5350 / 5150 & Sempron 3850 / 2650
  4. Upgraded Kernel & Mesa Yield A Big Boost For Athlon R3 Graphics
Latest Linux Articles
  1. Ubuntu 12.04.4 vs. 13.10 vs. 14.04 LTS Desktop Benchmarks
  2. AMD OpenCL Performance With AM1 Kabini APUs
  3. A Quick Look At GCC 4.9 vs. LLVM Clang 3.5
  4. Are AMD Athlon/Sempron APUs Fast Enough For Steam On Linux?
Latest Linux News
  1. Ubuntu 14.04 LTS "Trusty Tahr" Officially Released
  2. Ubuntu 12.04 LTS vs. 14.04 LTS Server Benchmarks
  3. QEMU 2.0 Released With ARM, x86 Enhancements
  4. Running The Unity 8 Preview Session On Ubuntu 14.04 LTS
  5. R600 Gallium3D Disables LLVM Back-End By Default
  6. Fedora 21 Gets GNOME 3.12, PHP 5.6, Mono 3.4
  7. Fedora Workstation Is Making Me Quite Excited
  8. Maynard: A Lightweight Wayland Desktop
  9. Chromium Browser Going Through Growing Pains In Ubuntu 14.04
  10. KDE 4.13 Is Being Released Today With New Features
  11. Trying Out Radeon R9 290 Graphics On Open-Source
  12. Intel Broadwell GT3 Graphics Have Dual BSD Rings
Latest Forum Discussions
  1. Updated and Optimized Ubuntu Free Graphics Drivers
  2. The GNOME Foundation Is Running Short On Money
  3. After Jack Keane, RuseSoft will briing Ankh 3 to Linux through Desura
  4. Suspected PHP Proxy Issue
  5. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  6. Change installation destination from home directory
  7. Bye bye BSD, Hello Linux: A Sys Admin's Story
  8. New tool for undervolt/overclock AMD K8L and K10 processors