Retiring Clutter and friends

Hi all;

it’s been a while, I’ll admit.

Clutter has been in deep maintenance mode since 2016, when 1.26 was released. I formalised this in 2019, when I updated the README, mostly because people are still filing bugs related to GNOME Shell in the Clutter and Cogl issue trackers.

Starting from GNOME 42, Clutter and its related libraries:

  • Cogl
  • Clutter-GTK
  • Clutter-GStreamer

have been removed from the GNOME SDK run time. This means it is finally time to officially archive Clutter & friends.

What does this mean

Clutter, Cogl, Clutter-GTK, and Clutter-GStreamer will be moved to the Archive group in GitLab once GNOME 42 is released in March. You won’t be able to file new issues, or open new merge requests. No new releases will be made.

If you’re writing GNOME Shell extensions, then nothing changes for you: GNOME Shell has had internal copies of Cogl and Clutter for years.

If you are maintaining a GTK3 application using Clutter, Clutter-GTK, and Clutter-GStreamer, I strongly recommend you move to libadwaita, GTK4 and to GStreamer. In the meantime, you should add Cogl, Clutter, and every other dependency to your Flatpak manifest once you update the dependency on the GNOME run time.

Parting words

Clutter was created 17 years ago, in 2005. At the time, the Linux landscape was dramatically different than what we have today: integrated GPUs were severely underpowered, and discrete GPUs were basically unsupported on Linux. Embedded platforms only had very low powered GPUs, with closed source binary blobs. To put this in context, Clutter arrived just before the iPhone was first unveiled, and GNOME 2 was half-way through its life. Thanks to Clutter we were able to experiment with hardware accelerated rendering of UIs and with animation frameworks; we were able to create a complex, extensible compositing window manager in the form of GNOME Shell. Many of the ideas that were first iterated inside Cogl and Clutter, like a retained tree of render commands, are now being used inside GTK itself.

17 years of Clutter development live on in GTK, libadwaita, GNOME Shell and any other Mutter-based compositor. If you contributed to Clutter, you have my deepest thanks; if you used Clutter, I hope you were happy with the results.

It’s been a fun, rewarding ride; I’m proud of what we’ve achieved, and curious to see what we’re going to see next.

As always, have fun.

6 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.