I did some testing and NVK with Zink is already way faster than native Nouveau OpenGL. While in some benchmark Nouveau OpenGL was able to achieve about 25% of NVIDIA driver performance, NVK with Zink was able to achieve over 50%. Considering the fact that NVK is still unoptimized and not long time ago wasn't even able to run Zink, it's pretty nice result.
Announcement
Collapse
No announcement yet.
Open-Source NVIDIA Driver Moving To NVK + Zink For OpenGL On Newer GPUs
Collapse
X
-
Originally posted by oiaohm View Post
That does not work on the timeline.
For a long time apple bought their GPU from PowerVR in their soc chips. Yes all Apple soc chips prior to 2020 as everything before the M1 has a PowerVR GPU inside. M1 is 2020 and Metal exists before 2020.
I am no expert on these stuff though, just digging Wikipedia and found that to be a pretty cool coincidence.
- Likes 1
Comment
-
Originally posted by johanb View PostWhile true, it's not impossible that they were designing Metal for the Apple A9, which was the first Apple SoC that had a custom designed PowerVR GPU and was released about the same year as Metal.
I am no expert on these stuff though, just digging Wikipedia and found that to be a pretty cool coincidence.
A9 GPU is PowerVR GT7600 GPU this silicon design was not only licensed by Apple but also was licensed out to different embedded devices makers who were making custom SoC in the same year..
Imagination Technologies behind PowerVR was known for doing up a single design then selling it to many parties as a unique one off design when it was not.
Fun reality Imagination Technologies/PowerVR if they call it custom it a design they created that they will be selling to as many parties as possible. Kind explains why over time Apple relationship with them went south because Apple was wanting to claim unique GPU Imagination Technologies/PowerVR was never going to give them that because they would always sell to other parties as well..
This kind of thing where a party thinks they have something custom but they don't happens a lot. Recent example like the Asus ROG Ally recently claiming they had a custom soc only to end up no they had not they were just the first customer to get the soc and other parties would be getting it as well. Yes every party caught with this end up not liking what happened.
PowerVR GT7600 is not as quirky because when it was design it did have a opengl driver made and opengl standard CTS used to test it for quirks.
johanb custom design GPU for apple is the AGX not anything power. Of course Imagination Technologies was not past attempt to sell there silicon design as custom for each customer to all the customers to ask for more money when they were just duplicating what they were providing everyone with..
- Likes 2
Comment
-
Originally posted by toughy View PostWell this is not such good news
I get Zink is very good as a reference implementation, or when the native OpenGL is buggy and unmaintained.
But native OpenGL can be better with the right amount of development to make it hardware-specific. And graphics drivers have always been all about performance.
Zink is good as a fallback, not as a default.
I remember a while ago NVK developers said NVK was not ready for Zink yet. I guess that has changed, now that NVK reached Vulkan 1.3 ?
I just don't think it is good to throw away the nouveau OpenGL driver, instead of making it better. Especially since NVK developers said OpenGL is not that hard to implement.
I understand nouveau needs so much development now, but it already has an OpenGL driver. Letting users or distributions choose if they want Zink should be just fine.
Comment
-
Originally posted by Paul797 View Post"Right now those wanting to try it can use the NOUVEAU_USE_ZINK=1" environment variable added by this latest code."
Where should I add this variable. I am using EndeavourOS.
NOUVEAU_USE_ZINK=1 ./valley
But my RTX 3090 gives visual artifacts and the image flickers and gets all blue during the benchmark. Same for Unigine Heaven benchmark.
This is not the only variable, you can also use MESA_LOADER_DRIVER_OVERRIDE=zink. But I suppose NOUVEAU_USE_ZINK is driver-specific and should be preferred
image.pngLast edited by toughy; 24 February 2024, 12:25 PM.
- Likes 1
Comment
-
Originally posted by Paul797 View Post"Right now those wanting to try it can use the NOUVEAU_USE_ZINK=1" environment variable added by this latest code."
Where should I add this variable. I am using EndeavourOS.
- Likes 1
Comment
Comment