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. Trying The Configurable 45 Watt TDP With AMD's A10-7800 / A6-7400K
  2. Sumo's Omni Gets Reloaded
  3. AMD A10-7800 & A6-7400K APUs Run Great On Linux
  4. Radeon Gallium3D Is Running Increasingly Well Against AMD's Catalyst Driver
Latest Linux Articles
  1. AMD's RadeonSI Driver Sped Up A Lot This Summer
  2. Intel's Latest Linux Graphics Code Competes Against OS X 10.9
  3. Intel Sandy Bridge Gets A Surprise Boost From Linux 3.17
  4. Open-Source Radeon Graphics Have Some Improvements On Linux 3.17
Latest Linux News
  1. GNOME/GTK+ Human Interface Guidelines Updated
  2. The Widely-Criticized New Commercial Linux Distro Is Now On Kickstarter
  3. CUDA 6.5 Is Doing Great For Blender
  4. Wayland & Weston 1.6 Alpha Released
  5. Nouveau Gets Improved Re-Clocking Handling For Select GPUs
  6. A New First-Person Mystery Game Might Be Coming To Linux
  7. Patch By Patch, LLVM Clang Gets Better At Building The Linux Kernel
  8. VC4 Gallium3D Driver Now Handles X With GLAMOR
  9. Opera 25 Development Release For Linux
  10. Steam Now Supports VA-API For In-Home Game Streaming
Latest Forum Discussions
  1. Btrfs Gets Talked Up, Googler Encourages You To Try Btrfs
  2. Systemd 216 Piles On More Features, Aims For New User-Space VT
  3. OSS radeon driver for A10-7850K (Kaveri)
  4. American Citizens running AMOK for food stamps
  5. What Linux Distribution Should Be Benchmarked The Most?
  6. Company I work for is looking to contribute to Open Source projects... but wrongly?
  7. Microsoft vs. Campaign
  8. Updated and Optimized Ubuntu Free Graphics Drivers