Join us on our own very special Reddit: /r/Linuxers

OpenGL over Vulkan driver Zink gets a huge performance boost

By - | Views: 17,163

We heard you like performance and it seems the new OpenGL over Vulkan driver Zink is going to bring some FPS friends whenever the next release lands. Developer Mike Blumenkrantz who has been contracted by Valve has continued hacking away at the code, and in a new blog post detailed a massive change to the driver to improve gaming performance.

Don't know what Zink is? It's "an OpenGL implementation on top of Vulkan. Or to be a bit more specific, Zink is a Mesa Gallium driver that leverages the existing OpenGL implementation in Mesa to provide hardware accelerated OpenGL when only a Vulkan driver is available" - Collabora.

One of the improvements Blumenkrantz has mentioned in the past is getting Zink up to scratch for gaming, something that hasn't been the focus of blog posts lately. However, this latest one shows two screenshots and the difference between them with the old slow code left and new fast code right (click to enlarge):


Blumenkrantz is making use of MangoHud too, which recently added support for picking up Zink as the driver.

Going from 9FPS to 91FPS is a massive difference, as is the frametiming too so it's not just higher FPS it looks like it will be smoother overall too. How is it done? With the addition of a suballocator that was created by pinching some ready-made code from other parts of Mesa. The result is about 700 lines of code to create the performance booster. The gist of it is that Zink is now a lot smarter and knows when something is busy or can be used elsewhere so Zink can now really do its thing. The code is live in the "zink-wip" branch on GitLab if anyone wanted to be brave and try it out.

See the blog post for the full details.

Article taken from GamingOnLinux.com.
32 Likes
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG and Humble Store. See more here.
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
29 comments
Page: 1/3»
  Go to:

Solitary 17 Jun
Would be cool to see comparison against the (native) OpenGL and possibly also DXVK.
fagnerln 17 Jun
I love the comic in the blog post.

Zink is a nice project, but it looks like a proof of concept than anything else.

I mean, OGL is by far the most supported API, looks like nowadays is not that hard to implement it on hardware. It will be used even less in favor of vulkan, so hardly will receive a nice new feature that vendors needs to update drivers.

It's hard to imagine that Zink will do a miracle, it will hit the Ogl limitation sooner or later.

AMD could benefit from this because it had a worse support in the past, but Mesa already improved it.

The only reason is if they want to deprecate drivers, or newer hardware only support Vulkan, which tbh, don't make much sense.
Kristian 17 Jun
"or newer hardware only support Vulkan, which tbh, don't make much sense."

It surely makes sense to use Zink to run OpenGL games(and other software) on hardware that only supports Vulkan and not OpenGL. As I understand it Zink basically is a way to support legacy software in a post-OpenGL world.
ajgp 17 Jun
Question I always assumed that Zink was a similar project to DXVK in that it was simply a translation abstraction between OpenGL and Vulkan. But the wording of the above makes it seem that it is a MESA specific. I.e if Im using Nvidia drivers then I cant use Zink to translate to Vulkan like I would DXVK. Or am I missing something.
CatKiller 17 Jun
Quoting: ajgpQuestion I always assumed that Zink was a similar project to DXVK in that it was simply a translation abstraction between OpenGL and Vulkan. But the wording of the above makes it seem that it is a MESA specific. I.e if Im using Nvidia drivers then I cant use Zink to translate to Vulkan like I would DXVK. Or am I missing something.
You can use Zink on Nvidia. But native OpenGL from Nvidia's driver will be faster.

The motivations for Zink were laid out quite well in its initial announcement.
Eike 17 Jun
Quoting: fagnerlnZink is a nice project, but it looks like a proof of concept than anything else.

I mean, OGL is by far the most supported API, looks like nowadays is not that hard to implement it on hardware.

From what CatKiller linked (I guessed so, but they do know): "One problem is that OpenGL is a big API with a lot of legacy stuff that has accumulated since its initial release in 1992."
CatKiller 17 Jun
Quoting: Eike"One problem is that OpenGL is a big API with a lot of legacy stuff that has accumulated since its initial release in 1992."
Yeah, OpenGL was driven by the needs of CAD software when programs were single-threaded and hardware was a fixed-function rendering pipeline. Modern software and hardware aren't really like that at all.

There's an interesting set of articles from one of the PowerVR people that describes how Vulkan does things differently to OpenGL.
Eike 17 Jun
Quoting: CatKillerYeah, OpenGL was driven by the needs of CAD software when programs were single-threaded and hardware was a fixed-function rendering pipeline. Modern software and hardware aren't really like that at all.

There's an interesting set of articles from one of the PowerVR people that describes how Vulkan does things differently to OpenGL.

I don't know if there's something like "historisch gewachsen" in English. "Historically developed" would be the literal translation, used in the meaning of it's old, many people had their hands on it, it served many purposes, maybe there's even people missing that understand it fully due to its complexity, ... Some day, such software has to be (slowly) replaced.
mirv 17 Jun
View PC info
  • Supporter Plus
Quoting: SolitaryWould be cool to see comparison against the (native) OpenGL and possibly also DXVK.

It would be pointless to compare it against DXVK, seeing as DXVK has nothing to do with OpenGL.
tuubi 17 Jun
Quoting: Eike
Quoting: CatKillerYeah, OpenGL was driven by the needs of CAD software when programs were single-threaded and hardware was a fixed-function rendering pipeline. Modern software and hardware aren't really like that at all.

There's an interesting set of articles from one of the PowerVR people that describes how Vulkan does things differently to OpenGL.

I don't know if there's something like "historisch gewachsen" in English. "Historically developed" would be the literal translation, used in the meaning of it's old, many people had their hands on it, it served many purposes, maybe there's even people missing that understand it fully due to its complexity, ... Some day, such software has to be (slowly) replaced.

Legacy baggage and technical debt are related (and depressing) terms that spring to mind.
While you're here, please consider supporting GamingOnLinux on:

Patreon, Liberapay or PayPal Donation.

This ensures all of our main content remains totally free for everyone with no article paywalls. We also don't have tons of adverts, there's also no tracking and we respect your privacy. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register

Or login with...
Sign in with Steam Sign in with Twitter Sign in with Google
Social logins require cookies to stay logged in.

Livestreams & Videos
None currently, submit yours here!