We're hiring!
*

Goodbye Nouveau GL. Hello Zink!

Faith Ekstrand avatar

Faith Ekstrand
March 11, 2025

Share this post:

Reading time:

Starting with Mesa 25.1, Nouveau users will no longer get the old Nouveau OpenGL driver by default and will instead get Zink+NVK. Unlike most OpenGL drivers which are written to target the underlying hardware directly, Zink is an OpenGL implementation written on top of Vulkan. We've been talking about this for a while but we finally landed the MR today. If we did this right, most users wouldn't even notice beyond getting a slightly more stable experience with better performance.

Zink has matured a lot since the initial blog post in 2018. It has grown to support OpenGL 4.6 and is a conformant implementation on top of multiple hardware drivers. It's also improved significantly in performance and stability over the last few years. At this point, we're fairly confident that Zink+NVK will be an improvement over Nouveau GL across the board.

Compatibility layers are fairly common in Graphics. Around 10 years ago, Keith Packard developed Glamor, which implements X rendering in OpenGL. Glamor, combined with the Modesetting driver, has allowed us to delete nearly all the hardware-specific X11 back-ends, and X11 now uses the same kernel and userspace APIs as a Wayland compositor. This has allowed driver teams to focus on the OpenGL and Vulkan drivers and stop worrying about X rendering. Microsoft has done similar things with Direct3D. No hardware vendor has shipped a hardware D3D8 driver in a long time and they've released layers implementing D3D9 and D3D11 on top of D3D12, paving the way for hardware vendors to drop everything before D3D12 entirely.

Often, it takes some time before the switch over to a compatibility layer is complete. The old drivers are battle-tested and the fear is always that the compatibility layer may introduce performance regressions or application issues. Nouveau is the first Mesa driver stack to make this change so we've been finding and fixing a lot of issues ahead of the rest of Mesa. Part of what makes Nouveau a good trailblazer here is that the old Nouveau GL driver is actually pretty bad, so "Don't be worse than the hardware driver" isn't as high a bar for us as for other drivers. NVK, on the other hand, is proving to be pretty solid and Zink+NVK seems to be working well.

Eventually, I hope to see other driver teams follow suit and sunset their hardware GL drivers in favor of Zink. This process will most likely take several years as Zink likely still has bugs that need fixing. One day, though, Zink will hopefully be good enough and the effort of maintaining two complete userspace driver stacks won't be worth the tiny performance benefits of avoiding the layer.

 

Comments (0)


Add a Comment






Allowed tags: <b><i><br>Add a new comment:


 

Search the newsroom

Latest News & Events

Goodbye Nouveau GL. Hello Zink!

11/03/2025

Using Mesa 25.1, Nouveau users will default to Zink+NVK instead of the old OpenGL driver, shifting towards an OpenGL on Vulkan.

MediaTek Genio update: Kernel, Debian 13 images, and KernelCI

10/03/2025

Towards the end of 2024, MediaTek and Collabora started on a journey to improve upstream support for MediaTek Genio devices. Here's where…

Apertis v2025: the second Bookworm-based release for industrial embedded devices

07/03/2025

Apertis v2025 has landed with all the updates from Debian 12.9. This release has a variety of updates including new supported boards, improved…

Open Since 2005 logo

Our website only uses a strictly necessary session cookie provided by our CMS system. To find out more please follow this link.

Collabora Limited © 2005-2025. All rights reserved. Privacy Notice. Sitemap.