Difference between revisions of "Create Free Software PowerVR GPU driver"
(add OSS PowerVR GPU proposal - first draft) |
(→Scope) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | ; Summary: Create | + | ; Summary: Create Software (Libre) PowerVR GPU driver |
; Proposer: Luke Kenneth Casson Leighton | ; Proposer: Luke Kenneth Casson Leighton | ||
== Description == | == Description == | ||
− | PowerVR in an important GPU used by lots of SoCs used in embedded Linux products. | + | PowerVR in an important GPU used by lots of SoCs used in embedded Linux and other products, |
− | There is currently no Free Software 3D SoC Driver for PowerVR | + | [http://en.wikipedia.org/wiki/List_of_PowerVR_products#Series5_.28SGX.29 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 | The proposal is to begin to reverse-engineer the PowerVR GPU, which | ||
Line 33: | Line 34: | ||
It appears unlikely that embedded GPU companies will provide | It appears unlikely that embedded GPU companies will provide | ||
− | + | software (libre) drivers of their own accord, so investing in independent | |
development seems prudent. | development seems prudent. | ||
Line 40: | Line 41: | ||
** See https://wiki.linaro.org/ChristianReis?action=AttachFile&do=view&target=embedded-gpu-lca-2011.pdf | ** See https://wiki.linaro.org/ChristianReis?action=AttachFile&do=view&target=embedded-gpu-lca-2011.pdf | ||
* [http://lkcl.net/laptop.html Free Laptop Project] - by Luke Leighton | * [http://lkcl.net/laptop.html Free Laptop Project] - by Luke Leighton | ||
− | ** Discusses some pricing issues with regard to | + | ** Discusses some pricing issues with regard to laptops based on free software |
* http://code.google.com/p/gles6410 is another SoC 3D reverse-engineering project and is *not* PowerVR | * http://code.google.com/p/gles6410 is another SoC 3D reverse-engineering project and is *not* PowerVR | ||
** It is called "FIMD" 3D which is used in 2 CPUs from Samsung - the S3C6410 and S5PC100 | ** It is called "FIMD" 3D which is used in 2 CPUs from Samsung - the S3C6410 and S5PC100 | ||
+ | * The Free Software Foundation lists PowerVR as a high priority for free software support | ||
+ | ** http://www.fsf.org/campaigns/priority-projects/index_html/#powervr | ||
+ | ** http://libreplanet.org/wiki/Group:PowerVR_drivers - PowerVR driver wiki page | ||
+ | |||
+ | * http://talk.maemo.org/showthread.php?p=1223429#post1223429 [[Maemo]] | ||
Line 57: | Line 63: | ||
You can also add Intel CE4xxx SoC to this list. | You can also add Intel CE4xxx SoC to this list. | ||
− | |||
[[Category:Project proposals 2011]] | [[Category:Project proposals 2011]] |
Latest revision as of 15:54, 17 June 2012
- Summary
- Create Software (Libre) 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 software (libre) drivers of their own accord, so investing in independent development seems prudent.
Related work
- Christian Reis gave an interesting talk on embedded GPUs at LinuxConf Australia 2011
- Free Laptop Project - by Luke Leighton
- Discusses some pricing issues with regard to laptops based on free software
- http://code.google.com/p/gles6410 is another SoC 3D reverse-engineering project and is *not* PowerVR
- It is called "FIMD" 3D which is used in 2 CPUs from Samsung - the S3C6410 and S5PC100
- The Free Software Foundation lists PowerVR as a high priority for free software support
* http://talk.maemo.org/showthread.php?p=1223429#post1223429 Maemo
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.