GNOME Project 近日宣布 Clutter 库正式退役,这个用于 GNOME Shell 并且是 GTK3 的核心库曾在 2006 年为 Linux 带来了基于 OpenGL 的硬件渲染。

Clutter 是一个用于渲染 UI 的图形库,最初由 OpenedHand 负责开发。其首个版本于 2006 年发布,距今已有 16 年历史。后来 OpenedHand 被英特尔收购,并将 Clutter 用于与诺基亚联合开发的 MeeGo 之上,随后 Clutter 主要是交由 GNOME Project 负责开发与维护。
放眼 2006 年,当时 Linux 的环境与我们今天所面对的环境截然不同,集成 GPU 的性能严重不足,而独立 GPU 在 Linux 上基本不受支持使 Linux 性能十分羸弱。
Clutter 的诞生为许多 Linux 程序带来了硬件级的 3D 加速,包括 GNOME Shell 使用的 Mutter 窗口管理器(Metacity + Clutter)、System76 的 COSMIC 桌面和 Raspberry Pi 的 PIXEL。
Clutter 近几年来一直处于维护模式,没有添加任何新的特性。最新的大版本更新还停留在 2016 年发布的 Clutter 1.26,即便是最后一个小版本的发布,那也是在 2020 年发布的 1.26.4。再加上 GNOME 40 和 GTK 4 目前也已经合并和取代了独立的 Clutter 库的功能。
如今就 GNOME 而言,独立的 Clutter 库现在已经是一个有点多余的项目了,因此从下一个版本开始,即 GNOME 42(将于 3 月发布),Clutter(及其相关库 Cogl / Clutter-GTK / Clutter-GStreamer)将从 GNOME SDK 运行时中被彻底删除,相关的源代码也会被转移到 Gitlab 归档中。
届时,开发者将无法提交新问题或新的合并请求,也不会再发布新的版本。如果开发者现在还在使用 Clutter、Clutter-GTK 和 Clutter-GStreamer 维护 GTK3 应用程序,那么最好迁移到 libadwaita、GTK4 和 GStreamer。