Zink Benchmarks - Mesa OpenGL Running Over Vulkan

Written by Michael Larabel in Display Drivers on 17 November 2019 at 10:45 AM EST.

With the upcoming Mesa 19.3 release one of the big new features is the "Zink" driver that provides a Mesa OpenGL implementation over Vulkan. This in theory allows for a generic OpenGL driver running over Vulkan hardware drivers, but there is a lot of work ahead before it's really a viable option.

Zink is one of the OpenGL-over-Vulkan options to date that in the future could make it so hardware vendors don't need to maintain OpenGL drivers for future hardware generations but instead could just focus on Vulkan and leave it to these generic implementations. However, a lot of work is needed before it's really to that state in being able to replace existing hardware OpenGL drivers.

With Mesa 19.3, Zink only fully supports OpenGL 2.1. Support for OpenGL 3.x/4.x and OpenGL ES 3.0 is still a work-in-progress likely taking at least a few months to get there if not longer. When trying to launch even the Steam client with Zink, Steam was simply crashing.

With being held back to OpenGL 2.1 and not being able to launch Steam for older game titles, benchmarking Zink is quite limited at this stage. There was also a number of OpenGL 2.x era games crashing too with Zink like OpenArena and Xonotic.

Zink OpenGL on Vulkan vs. RadeonSI

But for those curious about the current Zink performance potential, I did run a few demos that did work for showing the current Zink performance compared to the same OpenGL software running off the RadeonSI Gallium3D driver. Tests were done with Mesa 20.0-devel via the Oibaf PPA, which now packages Zink for easy testing, and can be manually loaded with the MESA_LOADER_DRIVER_OVERRIDE=zink environment variable. Tests were done both with a Radeon RX 560 and RX Vega 64.

Related Articles