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

Major Open-Source Code Drop For XvBA, PowerVR Coming

Free Software

Published on 14 June 2011 11:15 AM EDT
Written by Michael Larabel in Free Software
7 Comments

Still trying to grasp the situation, but as I tweeted yesterday, there's some big news to deliver today beyond the AMD Llano launch. This news is that a lot of VA-API and XvBA related Linux video code is being opened up by Splitted Desktop Systems. There's also a PowerVR VA-API driver to be opened.

The code being pushed out so far can be found in the Splitted Desktop Systems' Git repository. The SDS Git repositories updated today are GStreamer-VAAPI, MPlayer, VDPAU-Video, and XvBA-Video. Some of the code, such as for MPlayer, has been open-source already, but the one item to note is that xvba-video up to this point has only been distributed as a closed-source blob.

The xvba-video library is what Splitted Desktop Systems developed in conjunction with AMD for the past several years. This library allows VA-API-enabled applications to take advantage of the UVD2/UVD3 engine on modern ATI/AMD Radeon HD graphics processors to offload the video playback process from the CPU to the GPU.

The Catalyst Linux driver only exposes the X-Video Bitstream Acceleration (XvBA) interface while this library wraps the common Video Acceleration API (VA-API) interface around it. For a long time this was the only way to take advantage of the Unified Video Decoders on Radeon HD GPUs. XvBA had been present in the Catalyst drivers since 2008 but only in 2009 the xvba-video library appeared thanks to the cooperation of AMD and Splitted Desktop Systems.

Only in February did AMD open up their XvBA interface by providing specifications and sample code. This finally allows multimedia applications to directly target XvBA rather than VA-API, as previous to that the XvBA interface was closed and Splitted Desktop Systems was provided with NDA-covered documentation to write this library, thus also requiring this library be closed-source.

Not many Linux media projects are interested in XvBA since VA-API and VDPAU work so well, which as a result means this xvba-video component is still heavily depended upon for the Catalyst Linux desktop. Now the code is open-source.

Why is this code being opened up today? Well, Gwenolé Beauchesne, the developer behind much of this code at Splitted Desktop Systems, is leaving the company. Yesterday he emailed me to inform me that he would be departing soon and that "all work will be committed to our GIT, including xvba-video." That code has now been pushed to Git today.

While xvba-video is now open-source, it turns out that it's a simplified implementation. When AMD opened up XvBA, it turns out they didn't open up the full specification. "xvba-video will be in a 'simplified' form because AMD again failed to release further documentation/API specifications." The closed-up xvba-video relies upon some of the XvBA API that AMD hasn't yet publicly documented. This just further shows VA-API and VDPAU are APIs to take more serious by Linux multimedia applications.

The xvba-video code is out under the GPLv2 license.

Gwenolé hasn't commented on what his future plans are, but he is a Phoronix reader and an active member of the Phoronix Forums, so hopefully he will comment there on his future endeavors. I've heard some rumblings that he may be another new Intel employee, but he hasn't yet responded (or opted not to) my inquiry.

This isn't all of the code to be opened either by Splitted Desktop Systems. Gwenolé is looking to move the VA-API related code over to the FreeDesktop.org infrastructure, as indicated by this FreeDesktop.org bug report. The bug report is so that the server administrators can create Git repositories for the VDPAU, XvBA, and Intel drivers for VA-API along with moving around libva (the central VA-API library). This bug report was created at the end of May but still hasn't been acted upon.

Where this bug report gets interesting, however, is with the next two bug comments. Austin Yuan, an Intel employee, added, "please include vaapi/pvr-driver - for PowerVR chips."

Gwenole then added as another bug comment:
Here are the suggested details for the PVR driver:

* vaapi/pvr-driver
- Services: GIT hosting, bugzilla
- Approve new members: Austin Yuan
- GIT & Bugzilla description: HW video decode/encode support for PowerVR
platforms.

Open-source hardware video encoding/decoding for PowerVR chipsets!? In speaking with an independent developer who's worked on the closed-source PowerVR Linux drivers, this VA-API driver would likely require PVR-specific shaders and compiler to be included, both of which items would be frowned upon by the IP holder, Imagination Technologies. This PowerVR VA-API driver opening could be part of a bigger effort -- e.g. possible open-source PowerVR graphics driver stack. However, we aren't sure yet what's going on and will need to wait for the FreeDesktop.org administrators to act so that the Git repositories can be created and code pushed. It is interesting that this PowerVR VA-API repository request comes from Intel and indicates that this isn't a lone effort by Beauchesne.

Stay tuned for more news.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. A Walkthrough Of The New 32 System Open-Source Linux Benchmarking Test Farm
  2. Habey MITX-6771: Mini-ITX Board With Quad-Core J1900 Bay Trail
  3. OCZ Vector 150 SSD On Linux
  4. Noctua i4 CPU Cooler: Great For Cooling High-End LGA-2011v3 CPUs
Latest Linux Articles
  1. AMD Kaveri: Open-Source Radeon Gallium3D vs. Catalyst 14.12 Omega Driver
  2. 12-Way AMD Catalyst 14.12 vs. NVIDIA 346 Series Linux GPU Comparison
  3. AMD Catalyst 14.12 Omega Driver Brings Mixed Results For Linux Users
  4. 6-Way Winter 2014 Linux Distribution Comparison
Latest Linux News
  1. Civilization: Beyond Earth Linux GPU/Driver Benchmarks
  2. X.Org Server 1.16.3 Released To Fix Security Issues
  3. Linux 3.19 Merge Window Closes Ahead Of Schedule
  4. MIPS R6 Architecture Now Supported By GCC
  5. LowRISC To Feature Tagged Memory & Minion Cores
  6. Intel Skylake Audio Support For Linux 3.19
  7. After 10+ Years, NetworkManager Reaches v1.0
  8. VDPAU Updated To v0.9
  9. An Open Hardware Random Number Generator Proposed
  10. LLVM 3.6 Will Be Branched Next Month
Latest Forum Discussions
  1. Need some hand holding with upgrading xserver
  2. Are there an app using HSA ?
  3. The New SuperTuxKart Looks Better, But Can Cause GPU/Driver Problems
  4. XLennart: A Game For Systemd Haters With Nothing Better To Do
  5. Updated and Optimized Ubuntu Free Graphics Drivers
  6. Debian init discussion in Phoenix Wright format
  7. FPS capped on Linux (AMD fglrx drivers)
  8. Bench specific mount point