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.
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.
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.
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.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.
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.
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."
"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.
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.
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.
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.
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.
Legacy baggage and technical debt are related (and depressing) terms that spring to mind.
I like "Legacy baggage"!
(I always take this with a bit of understanding/sympathy - it's not like I haven't produced similar baggages... ;) )
You germans have words or terms for literally anything :)) I love it
:)
I would not bet all my money that everybody understands this term like this, though.
"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.
AFAIK the development of Zink gets sponsored by Valve because in some specific containerized environments (Steam on Linux under ChromeOS) there is now Vulkan pass-through support, but no plans to ever support OpenGL.
As a rule without the old stuff, the new stuff could never have come into being, so. And all new stuff will at some point become legacy baggage. If you're lucky. If you're not lucky it won't because it wasn't relevant enough to create a legacy . . .Legacy baggage and technical debt are related (and depressing) terms that spring to mind.
I like "Legacy baggage"!
(I always take this with a bit of understanding/sympathy - it's not like I haven't produced similar baggages... ;) )
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.
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.
I was going to reply "technical debt" as well, but from now on, "historisch gewachsen" might become my new favorite
I mean you can have an older still perfect piece of software from a technical point of view (thus nearly no technical dept) but still with tons of useless or wrongly used features due to which people want it to disappear. The latter fits more into “legacy bagage”, evolving into a state like this over a longer period of time happens due to historical reasons / of reasons (“historisch so gewachsen”).
Granted, both technical dept and legacy bagage are often linked together in software development, assuming that I understood the scope of “legacy bagage” correctly.
Last edited by jens on 18 June 2021 at 2:35 pm UTC
I was going to reply "technical debt" as well, but from now on, "historisch gewachsen" might become my new favorite
Not easy to pronounce if you're non-native speakers though, I guess. :D
PS, @Liam: I hope you don't mind the OT talk. I sometimes like some semi-OT international exchange...
Last edited by Eike on 18 June 2021 at 7:56 am UTC
Came here to see the comments and found a German classAre you disappointed?
excuse my ignorance on the matter, this is new to me.
See more from me