[ Quick link: Changes in this release ]

Etnaviv Notes for OpenDingux 2013-10-04

This is the second release of OpenDingux for the GCW Zero that includes Etnaviv. The Etnaviv project was first published around the start of the year 2013. It has made very good progress since then and now the time has come when we think it is ready to be included in OpenDingux.

What "ready" means is that there is enough functionality to run several games without game breaking glitches. There are sure to be many bugs and missing features, since this is a young and complex project. But we feel now is the right time to put it into the hands of all developers.

The Graphics Stack

The graphics stack contains the following components: (from high to low level)

Etnaviv Overview

Features

GLES 1 extensions

GLES 2 extensions

Changes Since OpenDingux 2013-09-13

Known Bugs and Issues

Development

All required headers and libs are included in the 2013-10-04 release of the OpenDingux toolchain for the GCW Zero; older releases won't work.

Use EGL to set up a context for OpenGL ES. We're looking at adding SDL2 as an alternative, but EGL is the only option in this release.

Example code can be found in this project.

Performance Tips

Debug Tips

The apitrace tool is included in the rootfs. It can capture GL ES calls made by an application for later replay and inspection.

Bug Reports

Although most of the critical problems should have been solved by now, some unknown rendering bugs and crashes may still be present.

Report issues and rendering problems in the Etnaviv issue tracker.

When reporting an issue provide as much information as possible about the GLES and GLSL functions and extensions used and other information that may be useful for narrowing down the problem.

If possible, attach an apitrace dump that shows the problem (run apitrace trace -a egl executable on the device and send the resulting .trace file). These can be replayed on various devices to find out when divergences occur.

Contributing

The latest source code can be found at on github: Etnaviv and Mesa.

Help with development is very welcome. Join #etnaviv on irc.freenode.net via IRC or web chat) to contact the developers.