Collabora's Erik Faye-Lund Outlines The New "Zink" OpenGL-on-Vulkan Gallium3D Effort
Not to be confused with the also new Zinc crypto code working its way to the mainline kernel as part of WireGuard, Zink is a new effort led by a developer at Collabora for implementing OpenGL on top of Vulkan drivers via Gallium3D.
Zink is the project we noted earlier this week about getting OpenGL-on-Vulkan using Gallium3D as one of the interesting approaches compared to the other OpenGL over Vulkan projects we've seen in months past. Erik Faye-Lund of Collabora briefly talked about this new initiative during a lightning talk as XDC 2018 wraps up in Spain.
While Vulkan is the future for graphics APIs, there still are a lot of OpenGL applications out in the wild, desktop compositors requiring GL, and a lot of other software not likely to migrate to Vulkan in the near-term and some programs may never see ports when it comes to older games/software. Rather than hardware vendors needing to maintain two driver stacks going forward, Collabora wants to reduce that support burden by having Zink and only needing vendors to have a Vulkan driver.
As covered previously on Phoronix, there are multiple open-source projects working on implementing some forms of OpenGL already over Vulkan. But many of them are focused just on OpenGL ES support and/or are not too extensible or would be too much of a burden to add, so Erik started work on Zink.
The approach of Zink is to translate Gallium API calls into Vulkan. At this stage just being weeks into the effort, it's quite at a "proof of concept" state but is far enough along to run glxgears, GLMark2, and other similarly basic OpenGL programs.
By targeting the Gallium API layer, there are a number of code re-use advantages compared to the other GL-on-VLK efforts among other benefits, but not without a large set of challenges on its own in running atop the host's Vulkan driver in turn.
There still is some uncertainty over Zink given its early stage of development, but Collabora will most likely continue working on this effort. A brief demo of Zink was showcased at XDC2018 during the lightning talk, but will be more interesting to see how it progresses over the weeks/months ahead. The code for now is being developed in this Git branch.
Zink is the project we noted earlier this week about getting OpenGL-on-Vulkan using Gallium3D as one of the interesting approaches compared to the other OpenGL over Vulkan projects we've seen in months past. Erik Faye-Lund of Collabora briefly talked about this new initiative during a lightning talk as XDC 2018 wraps up in Spain.
While Vulkan is the future for graphics APIs, there still are a lot of OpenGL applications out in the wild, desktop compositors requiring GL, and a lot of other software not likely to migrate to Vulkan in the near-term and some programs may never see ports when it comes to older games/software. Rather than hardware vendors needing to maintain two driver stacks going forward, Collabora wants to reduce that support burden by having Zink and only needing vendors to have a Vulkan driver.
As covered previously on Phoronix, there are multiple open-source projects working on implementing some forms of OpenGL already over Vulkan. But many of them are focused just on OpenGL ES support and/or are not too extensible or would be too much of a burden to add, so Erik started work on Zink.
The approach of Zink is to translate Gallium API calls into Vulkan. At this stage just being weeks into the effort, it's quite at a "proof of concept" state but is far enough along to run glxgears, GLMark2, and other similarly basic OpenGL programs.
By targeting the Gallium API layer, there are a number of code re-use advantages compared to the other GL-on-VLK efforts among other benefits, but not without a large set of challenges on its own in running atop the host's Vulkan driver in turn.
There still is some uncertainty over Zink given its early stage of development, but Collabora will most likely continue working on this effort. A brief demo of Zink was showcased at XDC2018 during the lightning talk, but will be more interesting to see how it progresses over the weeks/months ahead. The code for now is being developed in this Git branch.
11 Comments