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 Benchmarking Platform
Phoromatic Test Orchestration

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 Articles & Reviews
  1. Trying Out The Modern Linux Desktops With 4 Monitors + AMD/NVIDIA Graphics
  2. Turning A Basement Into A Big Linux Server Room
  3. NVIDIA's $1000+ GeForce GTX TITAN X Delivers Maximum Linux Performance
  4. OS X 10.10 vs. Ubuntu 15.04 vs. Fedora 21 Tests: Linux Sweeps The Board
  5. The New Place Where Linux Code Is Constantly Being Benchmarked
  6. 18-GPU NVIDIA/AMD Linux Comparison Of BioShock: Infinite
Latest Linux News
  1. Fedora 22 Alpha Now Available For AArch64 & PowerPC64
  2. Systemd Developers Did NOT Fork The Linux Kernel
  3. PulseAudio 7.0 To Enable LFE Remixing By Default
  4. Features & Changes Coming For Mir 0.13
  5. How Far Valve Has Come: Three Years Ago They Needed OpenGL Linux Help
  6. Audacity 2.1 Improves Noise Reduction, Adds Real-Time Effects Preview
  7. Linux 4.0-rc6 Kernel Released
  8. Automatically Managing The Linux Benchmarks Firing Constantly
  9. The Big Features Of The Linux 4.0 Kernel
  10. Mesa's Android Support Is Currently In Bad Shape
Most Viewed News This Week
  1. Introducing The Library Operating System For Linux
  2. Improved OpenCL Support For Blender's Cycles Renderer
  3. Allwinner Continues Jerking Around The Open-Source Community
  4. Open-Source Driver Fans Will Love NVIDIA's New OpenGL Demo
  5. GNOME 3.16 Released: It's Their Best Release Yet
  6. Systemd Change Allows For Stateless Systems With Tmpfs
  7. Ubuntu 15.04 Final Beta Released
  8. Red Hat Is Rolling Out A VirtIO DRM/KMS GPU Driver