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

Reverse Engineering PowerVR Is Now A High Priority

GNU

Published on 13 February 2011 02:37 PM EST
Written by Michael Larabel in GNU
28 Comments

The Free Software Foundation has now determined that reverse-engineering the PowerVR Linux drivers in order to create a free software driver capable of 3D hardware acceleration is a high priority action item. With an increasing number of mobile devices running Linux bearing these PowerVR graphics chipsets, which currently require the use of binary blobs for graphics acceleration, is not acceptable and that action must be taken to create an open driver for this hardware.

Following a proposal last month of reverse-engineering the PowerVR SGX GPU to create a "free software OpenGL library", the Free Software Foundation has agreed this is a high priority project. "PowerVR is a popular 3D graphics engine found in phones, netbooks, and laptops, for which we currently have no free software driver capable of doing 3D graphics acceleration."

The Wiki page for this project outlines the goals as being to create a Gallium3D PowerVR driver called G3D-SGX, port the OpenGL 3.0 Mesa library to G3D-SGX (but no complete OpenGL 3.0 implementation is yet available for Mesa...), investigate compiling through LLVM (the Low-Level Virtual Machine) to take advantage of the multi-core SoC with the ARM Cortex A9 and other CPUs along with the vertex processing units and other co-processors on many of these SoCs. Their last, lower-priority goal is to create a DirectX acceleration for use by Wine. Phoronix readers will already know that there is a Direct3D 10/11 state tracker for Gallium3D.

The G3D-SGX goal of using LLVM to take better advantage of the SoCs where the PowerVR SGX is often deployed is quite interesting. Hopefully many of those goals will align and fit into the grand scheme of other plans with the LLVM IR of LunarGLASS and other projects to take advantage of this compiler infrastructure within Mesa and Gallium3D. Taking the Gallium3D route also means in-kernel memory management and very likely we'll see kernel mode-setting too, assuming this project materializes.

Before worrying about nifty features, the project needs to reverse-engineer the SGX and actually get an open-source driver working. Right now only the USSE opcodes and assembly have been decoded. The SGX reverse-engineering is being done in part by modifying PowerVR's kernel shim, which is open-source as it's what compiles against the kernel, to dump the information being passed to the driver.

Having an open-source PowerVR driver for Linux would be a huge win. Right now one of the only open-source mobile graphics drivers is the reverse-engineered Samsung GLES driver while some vendors have tried putting out open-source kernel drivers while leaving the user-space library closed-up. The embedded Linux GPU situation is a huge mess as it stands right now, but last month we reported that there may be an open-source PowerVR driver in Q3-2011, but now it seems that the free software community will not wait until then to see such open hardware support.

The PowerVR SGX from Imagination Technologies is what powers Intel's Poulsbo and Moorestown graphics and SoCs using its IP are found in the Apple A4 (iPhone 4 / iPad), Texas Instruments OMAP 3/4 with the Nokia N900, Motorola Droid, Archos 70, Samsung Hummingbird SoC with the Galaxy S / Galaxy Tab, and many other mobile devices.

Other high priority free software projects by the FSF include the development of the Gnash Flash player, the Coreboot open-source BIOS project, a free software replacement to Skype, free software video editing software, a free Google Earth replacement, reversible debugging in GDB, and free software drivers for network routers.

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. MSI X99S SLI PLUS On Linux
  2. NVIDIA GeForce GTX 970 Offers Great Linux Performance
  3. CompuLab Intense-PC2: An Excellent, Fanless, Mini PC Powered By Intel's i7 Haswell
  4. From The Atom 330 To Haswell ULT: Intel Linux Performance Benchmarks
Latest Linux Articles
  1. Open-Source Radeon 2D Performance Is Better With Ubuntu 14.10
  2. RunAbove: A POWER8 Compute Cloud With Offerings Up To 176 Threads
  3. 6-Way Ubuntu 14.10 Linux Desktop Benchmarks
  4. Ubuntu 14.10 XMir System Compositor Benchmarks
Latest Linux News
  1. Dead Island GOTY Now Available On Linux/SteamOS
  2. Ubuntu 14.04 In The Power8 Cloud From RunAbove
  3. KDE With Theoretical Client-Side Decorations, Windows 10 Influence
  4. Sandusky Lee: Great Cabinets For Storing All Your Computer Gear
  5. Fedora 21 Beta & Final Release Slip Further
  6. Mesa 10.3.2 Has A Couple Bug-Fixes
  7. RadeonSI/R600g HyperZ Support Gets Turned Back On
  8. openSUSE Factory & Tumbleweed Are Merging
  9. More Fedora Delays: Fedora 21 Beta Slips
  10. Mono Brings C# To The Unreal Engine 4
Latest Forum Discussions
  1. Looking for a Open-Source AMD experienced Linux mentor
  2. Users/Developers Threatening Fork Of Debian GNU/Linux
  3. Updated and Optimized Ubuntu Free Graphics Drivers
  4. HOPE: The Ease Of Python With The Speed Of C++
  5. Use Ubuntu MATE 14.10 Make it an official distro.
  6. Debian Is Back To Discussing Init Systems, Freedom of Choice
  7. AMD Radeon VDPAU Video Performance With Gallium3D
  8. Ubuntu 16.04 Might Be The Distribution's Last 32-Bit Release