A history about Gtk+, Vulkan and Wayland

A few weeks ago, I was curious to test Gtk+ 4. I know it has some awsome features like OpenGL rendering, major cleanups and other hot stuff, but didn’t have the chance to check it out until then.

I was mostly excited about Vulkan.

I know both of my laptop’s graphic cards support Vulkan. It’s a hybrid Intel Broadwell G2 + NVidia GeForce 920M, although I don’t use the latter because Linux sucks hard with Dual GPU.

Downloaded the latest Gtk+ source, compiled and… nothing. Immediate segmentation fault. Yay! What a great chance to get involved with the next major Gtk+ version development!

So, this happened:

The Fishbowl running under Wayland and rendered with Vulkan

May not be as exciting, since there are no new visible features but… damn, it’s Gtk+ being rendered with Vulkan on Wayland. It’s basically the state-of-the-art of toolkit support right now. Even better, the absolute majority of applications will gain this for free once they port to Gtk+ 4 series.

Getting this into an usable state wasn’t easy, but fortunately, Vulkan has an ~amazing~ thing called “Validation Layers” that simplified the tedious debugging process a whole lot (of course, only after making the validation layers work with Gtk+). This work even uncovered a driver bug in the Intel driver, which was quickly fixed by Lionel Landwerlin and Jason Ekstrand (thanks folks!)

Of course, there are many improvements that still must be done. A bright future is lying ahead!

9 thoughts on “A history about Gtk+, Vulkan and Wayland

  1. Considering that LibreOffice, Gimp and Inkscape (theres other applications) still using Gtk+ 2 series, don’t you think that it is weird that we now have Gtk+ 4 ?


    1. LibreOffice already uses Gtk+3. GIMP plans to finish the port for the next release. Inkscape in fact already started removing all Gtk+2 code, and next release will be Gtk3-based.

      The whole point of having Gtk+4 is so that Gtk3 is declared stable, and big apps can move to it without the fear of breakage. And by following a faster stable-unstable model, we can avoid acumulating 11 years of deprecation again, just to drop the bomb and left third-party apps drifting alone.

      Why would it be weird?


      1. Didn’t know about declare Gtk3 stable. Any links about this?

        About LIbreOffice, here all Gtk3 apps looks nice on high-res screen but not LibreOffice (using Archlinux).


  2. Btw, it is ok to have GNOME using Gtk4 and all other applications using Gtk3 if the same look and feel.

    Maybe it is not a big issue for most hackers but I really like to have a nice desktop and Gtk2 is ugly for people like me using HiDPI screens.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s