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 Articles & Reviews
  1. Ubuntu 15.04 Is The Easy Path To Better Performance On Intel Broadwell
  2. NVIDIA's Latest Maxwell Line-Up Against AMD With Catalyst On Linux
  3. Preliminary Tests Of Intel Sandy Bridge & Ivy Bridge vs. Broadwell
  4. AMD FX-8320E Performance On Linux
  5. Linux Compiler Benchmarks Of LLVM Clang 3.5 vs. LLVM Clang 3.6-rc1
  6. Intel Broadwell HD Graphics 5500: Windows 8.1 vs. Linux
Latest Linux News
  1. LLVM Adds Options To Do Fuzz Testing
  2. Coreboot Now Supports Another Dual-Socket AMD Motherboard
  3. Atomic Mode-Setting/Display Support Progresses In Linux 3.20
  4. NVIDIA 340.76 Brings Three Stable Fixes
  5. Intel Broadwell-U P-State vs. ACPI CPUFreq Scaling Linux Performance
  6. DragonFlyBSD Is Almost To Linux 3.10 Era Intel Graphics Support
  7. New Beta Of Witcher 2 Aims For Greater Performance
  8. NVIDIA Tegra DRM Driver Supports Atomic Mode-Setting In Linux 3.20
  9. Linux "GHOST" Vulnerability Hits Glibc Systems
  10. Linux Game Publishing Remains Offline, Three Years After The CEO Shakeup
Most Viewed News This Week
  1. LibreOffice 4.4 Is Coming Soon With New Features
  2. My Initial Intel Broadwell Linux Experience With The ThinkPad X1 Carbon
  3. Broadwell Linux Ultrabook Running MUCH Cooler Than Haswell
  4. LZHAM 1.0 Lossless Data Compression Codec Released
  5. Linux Users Upset By Chromium's Busted HiDPI Support
  6. Interstellar Marines On Linux With Catalyst: Bull S*#@
  7. Faster VP9 Decoding Is On The Horizon
  8. Radeon DRM Changes For The Linux 3.20 Kernel