Recently, GTK gained not one, but two new renderers: one for GL and one for Vulkan.
Since naming is hard, we reused existing names and called them “ngl” and “vulkan”. They are built from the same sources, therefore we also call them “unified” renderers.
[…]As mentioned already, the two renderers are built from the same source. It is modeled to follow Vulkan apis, with some abstractions to cover the differences between Vulkan and GL (more specifically, GL 3.3+ and GLES 3.0+). This lets us share much of the infrastructure for walking the scene graph, maintaining transforms and other state, caching textures and glyphs, and will make it easier to keep both renderers up-to-date and on-par.
GTK Development Blog
This is well above my paygrade, but I’m sure it’s still of interest to y’all.
It is nice to see them doing the right thing, even though it will cost at performance level.
Though, I can also see this as a potential issue for the future, if Vulkan is not available on a platform, and the old renderers are not maintained properly.
A similar thing already happens for using remote desktop solutions (VNC, RPD, Chrome RDP, and so on). Just pressing the menu button to see the app selector take over 10 seconds as it slowly renders the animation, even though the desktop could detect it is over a slow link, and skip it altogether for a simpler one.
(Why don’t I install Xfce? The existing setup which worked in previous versions should not break after an “upgrade”)