Create Free Software PowerVR GPU driver

From eLinux.org
Revision as of 14:55, 12 February 2011 by Lkcl (Talk | contribs) (Description)

Jump to: navigation, search
Summary
Create Open Source PowerVR GPU driver
Proposer
Luke Kenneth Casson Leighton

Description

PowerVR in an important GPU used by lots of SoCs used in embedded Linux and other products, as shown here. There is currently no Free Software 3D SoC Driver for PowerVR.

The proposal is to begin to reverse-engineer the PowerVR GPU, which appears to be present in about 75% of the top-of-the-range ARM embedded CPUs. Work has already been done to establish the GPU's on-board RISC instruction set by a Polish free software developer. This work was done "passively" (by analysing the proprietary libraries). The work needs to be continued "actively", and a working OpenGL library created.

Reverse-engineering requires expensive proprietary disassembly tools and requires lots of patience and undisturbed concentration in order to maximise effectiveness.

In reverse-engineering, there are no guarantees - but you have to start somewhere. In this case, the MesaGL software library can substitute for the parts of the driver that *aren't* accelerated, thus (if care is taken) at least a working (if non-optimal) 3D SGX accelerated library can be provided throughout the project.

The list of CPUs with PowerVR includes Texas Instruments OMAP, AM Sitara and DaVinci CPUs, some of Freescale's iMX series, some of Samsung's ARM Cortex A8 and A9 CPUs, Marvell's armv7-compatible 1.2 to 2ghz CPUs, NXP's new Cortex A9 and Intel's "Poulsbo" GMA500 GPU.

It appears unlikely that embedded GPU companies will provide open source drivers of their own accord, so investing in independent development seems prudent.

Related work

Scope

Unknown - probably very large

Contractor Candidates

  • Luke Leighton

Comments

Luke has legally licensed and purchased commercial disassembly tools

Benjamin Zores writes:

You can also add Intel CE4xxx SoC to this list.