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. Scythe Mugen MAX
  2. Intel Core i7 5960X Haswell-E On Linux
  3. Intel 80GB 530 Series M.2 SSD On Linux
  4. With A New Motherboard, The Core i7 5960X Haswell-E Lights Up
Latest Linux Articles
  1. Counter-Strike: Global Offensive NVIDIA/AMD Benchmarks On Linux
  2. Running Fedora 20 On Intel's Core i7 Haswell-E Platform
  3. A Tour Of The New Phoronix Office
  4. 7-Way Linux Desktop Gaming Comparison On Ubuntu 14.10
Latest Linux News
  1. The Features Coming For Fedora 21
  2. Counter-Strike: Global Offensive Starts Rolling Out To Linux Users
  3. The Gestures Support Of GNOME 3.14
  4. Linux 3.17 Has Basic Support For The Xbox One Controller
  5. openSUSE 13.2 Beta Still Using Btrfs By Default, & KDE Plasma 5 For Testing
  6. GTK+ 3.14 Brings Much Better Wayland Support, Multi-Touch, New Theme
  7. DisplayPort Comes To USB's Type-C Connector
  8. NSS Updated On Ubuntu 12.04/14.04 To Allow Netflix Support
  9. Linux 3.17-rc6 Released; Linux 3.17 Final Might Come In One Week
  10. X.Org Server 1.16.1 Released
Latest Forum Discussions
  1. X.Org Women Outreach Program Only Turns Up Two Applicants So Far
  2. Uselessd: A Stripped Down Version Of Systemd
  3. State of Nouveau now and in the near future?
  4. Updated and Optimized Ubuntu Free Graphics Drivers
  5. Wasteland 2 Officially Launched Today, Including For Linux Gamers
  6. NVIDIA GTX 770/780 -works ?
  7. New stress testing utility for GPU's
  8. How to get Catalyst 14.4 working on Ubuntu 14.04