Open-Source Vivante Driver In Some Cases Outperforming Proprietary Driver
One of the less talked about open-source graphics drivers talked about is Etnaviv as the reverse-engineered, community-based driver providing OpenGL/GLES support for Vivante graphics IP. While it's still working towards OpenGL ES 3.0 compliance, its performance is currently in some cases competitive -- and even outperforming -- the Vivante proprietary driver.
Christian Gmeiner who has been involved with the Etnaviv driver effort for years presented at last week's X.Org Developers Conference (XDC2020). There he talked about the progress on the driver, the support spanning from the GC600 through GC7000L series at present with i.MX8M, and its OpenGL ES 2 capabilities along with desktop OpenGL 1.3/2.0 support. OpenGL ES 3.0 support remains a work-in-progress.
Interestingly Christian shared some benchmarks for GLMark2 and an I.MX6Q SoC saw Etnaviv running at 95% the performance of the binary driver, the i.MX6QP was at 103% the performance of the official binary driver, and the i.MX8M managed to hit 110% performance over the binary blob. But whether those gains can keep up once hitting GLES 3.0 and other functionality remains to be seen.
The Etnaviv project has also been working on setting up continuous integration (CI) infrastructure for helping to prevent regressions and problems moving forward. As part of that, just days ago they landed their on-disk shader cache support.
Looking ahead the developers plan on getting their NIR intermediate representation support up to scratch with their TGSI IR support, getting OpenGL ES 3.x support in order, and "fixing broken stuff" on various Vivante GPUs.
More details within the presentation embedded above and the slide deck. There was also a follow-up talk by Christian on Etnaviv performance counters.
Christian Gmeiner who has been involved with the Etnaviv driver effort for years presented at last week's X.Org Developers Conference (XDC2020). There he talked about the progress on the driver, the support spanning from the GC600 through GC7000L series at present with i.MX8M, and its OpenGL ES 2 capabilities along with desktop OpenGL 1.3/2.0 support. OpenGL ES 3.0 support remains a work-in-progress.
Interestingly Christian shared some benchmarks for GLMark2 and an I.MX6Q SoC saw Etnaviv running at 95% the performance of the binary driver, the i.MX6QP was at 103% the performance of the official binary driver, and the i.MX8M managed to hit 110% performance over the binary blob. But whether those gains can keep up once hitting GLES 3.0 and other functionality remains to be seen.
The Etnaviv project has also been working on setting up continuous integration (CI) infrastructure for helping to prevent regressions and problems moving forward. As part of that, just days ago they landed their on-disk shader cache support.
Looking ahead the developers plan on getting their NIR intermediate representation support up to scratch with their TGSI IR support, getting OpenGL ES 3.x support in order, and "fixing broken stuff" on various Vivante GPUs.
More details within the presentation embedded above and the slide deck. There was also a follow-up talk by Christian on Etnaviv performance counters.
3 Comments