Etnaviv is an open-source project that provides a user-space graphics and kernel driver for controlling the Vivante GPUs found in the i.MX family (among others).
The huge advantage of the driver is to be open-source, meaning that anyone can contribute to it, making it easier/faster to fix bugs.
Also, since the driver is in mainline, it means that you can take advantage of all the latest kernel features available while still being able to use the multimedia IP of the SoC.
No need to say that Pengutronix, a software services company who started the i.MX mainlining many years ago, is deeply involved in Etnaviv development.
If you’re interested on Etnaviv status, we strongly recommend reading Phoronix articles on the subject.
What’s nice about the demo?
This demo doesn’t “just” show the 3D performances of the driver but instead leverages it to showcase the multimedia capabilities supported upstream:
- GStreamer1.0 pipeline that decodes 4 H.264 streams (using CODA driver)
- GPU3D used to do the rendering / effects (using Etnaviv driver)
- Qt5 QML application that manages the content
How well does it run?
Although no benchmarking has been done on the current driver, the demo proved it can be used on various projects.
Here is a quick video that shows how the demo is running.
It is worth noting that all our reference platforms are supported in mainline kernel!
As usual, feel free to post a comment below.
UPDATE: Some of you showed some interest into having a demo image. Although the Pengutronix demo above cannot be provided, here is an glmark2 + Qt5 demo for our platforms based on kernel 4.9-rc1, hope you’ll like it: