Home > Android, Freescale i.MX, Graphics, Linux, Marvell Armada, Rockchip RK29XX > Etnaviv Project Vivante GCxxx GPU Open Source Driver

Etnaviv Project Vivante GCxxx GPU Open Source Driver

You have most probably heard of Lima, an initiative to provide fully open source Mali-200 & Mali-400 drivers by reverse-engineering the closed source Mali GPU drivers. A separate effort, Etnaviv Project, has now started to offer open source drivers for Vivante GCxxx GPU used in SoC such as Marvell Armada 1500 (notably used in mainly Google TV platforms), Rockchip RK2918 (present in many older tablets),  Freescale i.MX6 (used in newer tablets, low cost development boards, some SoMs and GK802/Hi802 mini PCs). The project is called Etnaviv.

The introduction of Etnaviv Project reads as follows on the corresponding Github account:

Project Etnaviv is an attempt to make an open source user-space driver for the Vivante GCxxx series of embedded GPUs.

The current state of the project is experimental. It is currently only of use to developers interested in helping develop open source drivers for the hardware, reverse engineering, or in interfacing with GPU hardware directly. It is NOT usable as a driver for end users.

Once the understanding of the hardware is good enough, we’d likely want to fork Mesa/Gallium and create a GL driver.

EGL Demo Replay

EGL demo “Cube_companion” Replay on Vivante GPU

For now, Project Etnaviv github repo contains  tools and documentation related to figuring out how to program Vivante GCxxx GPU chips:

  • Assembler and disassembler
  • Command stream format
  • Command stream interception
  • Command stream dumper
  • Replay test
  • Vivante GPL kernel driver
  • Envytools

There are also some build instructions on Github, Wladimir J. van der Laan, Ennaviv Project Developer, has been able to replay some commands used in the closed source driver, and replay them to render the Cube and Cube_companion demos on the right side. His development platform is currently an Android tablet based on Rockchip RK2918 with Vivante GC800 GPU.

Via: Google+

This is all preliminary work, so there’s most probably still a very long way to go before we can get a stable driver.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter