Zink, the OpenGL implementation on top of Vulkan continues to be an exciting development for Linux open source graphics drivers, with some new code landing in Mesa to improve its performance.
The code in question relates to a Suballocator, something that developer Mike Blumenkrantz who has been contracted by Valve blogged about that we covered back in June. Even back then, Blumenkrantz showed how Tomb Raider running on Zink with this new code went from 9FPS to 91FPS (those are the last specific numbers given).
Only recently this code actually landed in Mesa, so it should appear in the next major release being 21.3 due later this year. In the commit message, Blumenkrantz mentioned how "performance in games like Tomb Raider has been observed to increase by over 1000%".
Keep in mind this is not an increase compared with running the game normally, but between the original Zink code and Zink with the Suballocator. Not all games are going to see such a dramatic increase either. Still, the point is that Zink as a driver is starting to really mature and eventually you may be able to run many more OpenGL games with Vulkan instead by just using the Zink driver on Linux.
Additionally, Zink also now supports OpenGL compatibility contexts which some games use, so running even more with Zink should now be possible.
Quoting: chelobakaThere must be a good practical reason for this project if Valve puts their money in it. Upcoming Steam Deck doesn't need it so it must be something else. Well, Vulkan is supported by Android and there's no OpenGL there, but x86 emulation on ARM should be expensive... or maybe not that expensive?I suspect partly because they want everyone to go all in on Vulkan, but they still have legacy OpenGL stuff in their store, and partly for Steam on Chromebooks. I think that things like Fex are doing well for translating x86 to run on Arm.
With Valve contributing RADV, ACO, the Zink translation layer and DXVK, their reliance on third-party drivers is very limited. It gives them more control, and the ability to fix things more quickly.
Just my opinion though...
Quoting: chelobakaThere must be a good practical reason for this project if Valve puts their money in it. Upcoming Steam Deck doesn't need it so it must be something else. Well, Vulkan is supported by Android and there's no OpenGL there, but x86 emulation on ARM should be expensive... or maybe not that expensive?
I don't think that Deck is totaly unrelated. If it can get you better performance, you can limit max framerate and get more battery life on Deck.
Last edited by Arten on 18 August 2021 at 8:15 pm UTC
Quoting: chelobakaThere must be a good practical reason for this project if Valve puts their money in it. Upcoming Steam Deck doesn't need it so it must be something else. Well, Vulkan is supported by Android and there's no OpenGL there, but x86 emulation on ARM should be expensive... or maybe not that expensive?The Steam Deck needs it because it contains AMDGPU.
There is no fast opensource opengl implementation for AMD. And the closed ones suck.
So doing this opens up 20 years of opengl applications on any vulkan hardware.
To be clear: anything of GCN 1.0 and higher has a superb vulkan performance, but opengl performance in opensource is "lagging", and you don't want proprietary if you already have everything open. And I think the proprietary opengl implementation is also not that great.
Valve is actively fixing Vulkan drivers. So if they can fix the OpenGL legacy and make the implementation open, or even keep OpenGL as an easy interface to Vulkan layer, they will still have all access to all layers.
And for me personally it means that opengl will be coming to arm hardware :-).
Quoting: ArdjeQuoting: chelobakaThere must be a good practical reason for this project if Valve puts their money in it. Upcoming Steam Deck doesn't need it so it must be something else. Well, Vulkan is supported by Android and there's no OpenGL there, but x86 emulation on ARM should be expensive... or maybe not that expensive?The Steam Deck needs it because it contains AMDGPU.
There is no fast opensource opengl implementation for AMD. And the closed ones suck.
So doing this opens up 20 years of opengl applications on any vulkan hardware.
To be clear: anything of GCN 1.0 and higher has a superb vulkan performance, but opengl performance in opensource is "lagging", and you don't want proprietary if you already have everything open. And I think the proprietary opengl implementation is also not that great.
Valve is actively fixing Vulkan drivers. So if they can fix the OpenGL legacy and make the implementation open, or even keep OpenGL as an easy interface to Vulkan layer, they will still have all access to all layers.
And for me personally it means that opengl will be coming to arm hardware :-).
AMD GPUs have superb open source OpenGL implementation in Mesa. Nothing is "lagging" there for many years. One of the most heaviest OpenGL games — Deus Ex: Mankind Divided — works fine with it.
Quoting: ArtenI don't think that Deck is totaly unrelated. If it can get you better performance, you can limit max framerate and get more battery life on Deck.
How can you get more performance by adding extra translation layer between hardware and userspace application? Well, you won't ;-)
Last edited by chelobaka on 18 August 2021 at 9:15 pm UTC
Quoting: ArdjeThere is no fast opensource opengl implementation for AMD. And the closed ones suck.You may want to take a look on some benchs before saying such thing: https://www.phoronix.com/scan.php?page=article&item=gpus-feb-2021&num=2 https://www.phoronix.com/scan.php?page=article&item=gpus-feb-2021&num=3
Deus Ex & Hitman are both OpenGL titles. If this isn't fast, then I'm not sure what you define as "fast" for OpenGL.
See more from me