Gtk版本更新录(202x)


GTK(GIMP Toolkit) 是一套跨多种平台的图形工具包,最初为 GIMP(GNU Image Manipulation Program) 这个 GNU 图像处理程序,其拥有几乎所有图象处理所需的功能。GTK 后来发展成为 Linux 下开发图形界面应用的主流开发工具。它使用C语言开发的一种图形用户界面(GUI)工具包。也就是说,它是一个库或者是若干个密切相关的库的集合,它支持创建基于 GUI 的应用程序。其实质上是一个面向对象的应用程序接口 (API),尽管完全用 C 写成的,但它是基于类和回调函数(指向函数的指针)的思想实现的。GTK使用C语言开发,但是其设计者使用面向对象技术。
最新版本:3
v3.2 将可让你在浏览器上运行任何应用程序,这得益于新的 HTML5 的 gdk 后端,这意味这你将可以在浏览器上运行远程或者本机的例如 GIMP、Gedit、视频编辑器等任何软件。当然这还在进一步开发过程中,并不是所有的功能都完成了,例如键盘输入支持、拖放等等;当前只能在 Firefox 4 上运行,尽管如此,这也足以让人感到惊奇。
GTK+ 3.X 的渲染后端支持达到一个全新的境界,增加 HTML5 渲染后端支持。实现在浏览器中渲染 GTK+ 3.X 程序,只需要满足以下条件:
* 使用 Mozilla Firefox 4 浏览器(未来会有更多浏览器的支持)。
* 打开默认禁用的 WebSocket 支持。
* 编译 GTK+ 3.2 时打开 HTML5 后端支持:–enable-x11-backend –enable-broadway-backend。
* 使用GDK_BACKEND=broadway your-application 启动你的 GTK+ 程序。
* 在 Firefox 中指向测试机的 8080 端口 IP 地址,比如 http://127.0.0.1:8080/
最新版本:4
2020年12月17日,负责发布工作的 GTK 团队成员 mclasen 感慨道:“2020年是漫长的一年,没有比用大版本更新来告别2020的更好方式了,所以 GTK v4.0 今天正式发布”。自2016年11月发布 GTK 3.89.1 以来,GTK 开发者为项目添加了 18000 多个提交,并发布了 20 多个开发版本。因此 v4.0 是一个凝聚了大量开发者时间和精力的重要版本。开发团队表示,目前 v4.0 已处于稳定阶段,GTK v3 在“可预见的未来”将会继续维护和更新,而 GTK v2 即将 EOL,计划在未来几天发布一个最终的 2.x 版本,此后不再受支持。因此建议开发者将 v2 应用程序移植到 GTK v3 或 v4。v4.0 部分更新亮点:
新的 widget 小部件以及对现有元素的重新设计
集成媒体播放支持
改进 GPU 加速功能(比如使用新的 Vulkan 渲染器)
更好的 macOS 支持
改进数据传输功能
对着色器的重大改动
Vulkan 之外的 OpenGL 渲染改进
更好的 Windows 支持,更多详情查看发行公告。
GTK v4.2 已于2021年3月末发布,更新内容包括修复错误、改进 API,以及添加新功能。例如增加了新的 GL 渲染器;改进 GTK Toolkit 处理组合键和死键序列的方式; 改进构建系统,以便在 Windows 和 macOS 上编译 GTK;以及一个全新的 API 参考,它由语言绑定也使用的相同内省数据 (introspection data) 生成。新增的渲染器是 "NGL" OpenGL 渲染器,并在 Linux、macOS 和 Windows 平台上默认使用,旧的 OpenGL 渲染器暂时还在维护,可以通过环境变量覆盖 (GSK_RENDERER=gl) 来启用。
GTK4 NGL 渲染器在移动和桌面系统上有不错的性能表现,同时开发者还在继续努力优化以提供更多的功能和性能。另外在性能方面,从用于渲染内容的 GLSL 着色器到按需创建的可访问性对象,性能都得到了全面提升。另外还改进了输入处理、可移植性和构建系统功能,以及改进 GTK4 文档,更好的 Wayland 输入方法协议支持,改进滚动性能,增强文本的亚像素 (sub-pixel) 定位等。更多详情查看发行公告。
v4.11.1 于2023年4月上旬发布,该版本最重要的是引入了对 Wayland 分数缩放的初始支持,可通过 GDK_DEBUG=gl-fractional 环境变量激活。此外还优化了一些内容,比如对新的 GtkListView 小部件:修复了长期存在的滚动错误;更好的键盘导航,具有可自定义的选项卡行为;对焦控制,程序化滚动。对 GTK 的 OpenGL 渲染器也提供更好的纹理支持,比如添加了对人为限制纹理大小的支持(使用 GSK_MAX_TEXTURE_SIZE 环境变量)。
2023年8月上旬发布的v4.12 为其 Vulkan 后端带来了许多改进,为列表部件添加了 "scroll_to" API,改进 Flatpak 包内的字体渲染,添加了 GTK4 渲染节点工具,以及其他各种修复和更新。针对 Vulkan 后端的改进包括添加管道缓存、渐变和其他各种更小的全面改进。在 v4.12 开发周期中,GTK4 在 Vulkan 渲染方面的持续工作似乎是最重要的变化。还包括部分针对 Wayland 的工作,比如修复手写笔按钮的行为和支持悬浮窗口状态。详情查看发行说明。
根据此前的计划,GTK 5 将在 v4.12 发布后启动。
v4.20 已于2025年9月上旬发布,新版本在 Wayland、渲染器兼容性、跨平台支持、无障碍以及视频与图形处理方面进行了多项重大更新,确保 GTK 在 Linux、macOS、Android 与 Windows 上拥有更稳定、一致的用户与开发体验,同时为即将上线的 GNOME v49 桌面环境提供技术基础。
Wayland 支持提升
增加对 wl_seat v10 协议的支持。
支持 tablet protocol v2。
引入 server-side 键重复机制。
改善自然滚动处理等功能。
跨平台增强
Vulkan 渲染器在 macOS 上得到修复与优化,并增强整体 Vulkan 渲染代码的稳定性。
macOS 平台新增 窗口贴靠(window snapping) 和改进的 窗口菜单支持。
功能与渲染改进
视频播放组件新增 YUV 格式支持。
增加会话管理 portal 支持,强化跨桌面环境一致性。
改善符号图标(symbolic icons)的渲染质量。
支持 CSS 媒体查询,让主题在色彩方案与对比度上具备更细致的响应式表现。
在 OpenGL 渲染路径中增加对 多平面纹理(multi-plane textures)的支持。
继续推进无障碍访问(accessibility)方面的改进,如对输入框、文件选择器等组件的辅助功能增强。
与 GNOME 生态系统同步
v4.20 正式作为稳定版本发布,且及时在 GNOME v49 发布周期前推出,可预见将被其默认采用。
最新版本:3
v3.2 将可让你在浏览器上运行任何应用程序,这得益于新的 HTML5 的 gdk 后端,这意味这你将可以在浏览器上运行远程或者本机的例如 GIMP、Gedit、视频编辑器等任何软件。当然这还在进一步开发过程中,并不是所有的功能都完成了,例如键盘输入支持、拖放等等;当前只能在 Firefox 4 上运行,尽管如此,这也足以让人感到惊奇。
GTK+ 3.X 的渲染后端支持达到一个全新的境界,增加 HTML5 渲染后端支持。实现在浏览器中渲染 GTK+ 3.X 程序,只需要满足以下条件:
* 使用 Mozilla Firefox 4 浏览器(未来会有更多浏览器的支持)。
* 打开默认禁用的 WebSocket 支持。
* 编译 GTK+ 3.2 时打开 HTML5 后端支持:–enable-x11-backend –enable-broadway-backend。
* 使用GDK_BACKEND=broadway your-application 启动你的 GTK+ 程序。
* 在 Firefox 中指向测试机的 8080 端口 IP 地址,比如 http://127.0.0.1:8080/
最新版本:4
2020年12月17日,负责发布工作的 GTK 团队成员 mclasen 感慨道:“2020年是漫长的一年,没有比用大版本更新来告别2020的更好方式了,所以 GTK v4.0 今天正式发布”。自2016年11月发布 GTK 3.89.1 以来,GTK 开发者为项目添加了 18000 多个提交,并发布了 20 多个开发版本。因此 v4.0 是一个凝聚了大量开发者时间和精力的重要版本。开发团队表示,目前 v4.0 已处于稳定阶段,GTK v3 在“可预见的未来”将会继续维护和更新,而 GTK v2 即将 EOL,计划在未来几天发布一个最终的 2.x 版本,此后不再受支持。因此建议开发者将 v2 应用程序移植到 GTK v3 或 v4。v4.0 部分更新亮点:
新的 widget 小部件以及对现有元素的重新设计
集成媒体播放支持
改进 GPU 加速功能(比如使用新的 Vulkan 渲染器)
更好的 macOS 支持
改进数据传输功能
对着色器的重大改动
Vulkan 之外的 OpenGL 渲染改进
更好的 Windows 支持,更多详情查看发行公告。
GTK v4.2 已于2021年3月末发布,更新内容包括修复错误、改进 API,以及添加新功能。例如增加了新的 GL 渲染器;改进 GTK Toolkit 处理组合键和死键序列的方式; 改进构建系统,以便在 Windows 和 macOS 上编译 GTK;以及一个全新的 API 参考,它由语言绑定也使用的相同内省数据 (introspection data) 生成。新增的渲染器是 "NGL" OpenGL 渲染器,并在 Linux、macOS 和 Windows 平台上默认使用,旧的 OpenGL 渲染器暂时还在维护,可以通过环境变量覆盖 (GSK_RENDERER=gl) 来启用。
GTK4 NGL 渲染器在移动和桌面系统上有不错的性能表现,同时开发者还在继续努力优化以提供更多的功能和性能。另外在性能方面,从用于渲染内容的 GLSL 着色器到按需创建的可访问性对象,性能都得到了全面提升。另外还改进了输入处理、可移植性和构建系统功能,以及改进 GTK4 文档,更好的 Wayland 输入方法协议支持,改进滚动性能,增强文本的亚像素 (sub-pixel) 定位等。更多详情查看发行公告。
v4.11.1 于2023年4月上旬发布,该版本最重要的是引入了对 Wayland 分数缩放的初始支持,可通过 GDK_DEBUG=gl-fractional 环境变量激活。此外还优化了一些内容,比如对新的 GtkListView 小部件:修复了长期存在的滚动错误;更好的键盘导航,具有可自定义的选项卡行为;对焦控制,程序化滚动。对 GTK 的 OpenGL 渲染器也提供更好的纹理支持,比如添加了对人为限制纹理大小的支持(使用 GSK_MAX_TEXTURE_SIZE 环境变量)。
2023年8月上旬发布的v4.12 为其 Vulkan 后端带来了许多改进,为列表部件添加了 "scroll_to" API,改进 Flatpak 包内的字体渲染,添加了 GTK4 渲染节点工具,以及其他各种修复和更新。针对 Vulkan 后端的改进包括添加管道缓存、渐变和其他各种更小的全面改进。在 v4.12 开发周期中,GTK4 在 Vulkan 渲染方面的持续工作似乎是最重要的变化。还包括部分针对 Wayland 的工作,比如修复手写笔按钮的行为和支持悬浮窗口状态。详情查看发行说明。
根据此前的计划,GTK 5 将在 v4.12 发布后启动。
v4.20 已于2025年9月上旬发布,新版本在 Wayland、渲染器兼容性、跨平台支持、无障碍以及视频与图形处理方面进行了多项重大更新,确保 GTK 在 Linux、macOS、Android 与 Windows 上拥有更稳定、一致的用户与开发体验,同时为即将上线的 GNOME v49 桌面环境提供技术基础。
Wayland 支持提升
增加对 wl_seat v10 协议的支持。
支持 tablet protocol v2。
引入 server-side 键重复机制。
改善自然滚动处理等功能。
跨平台增强
Vulkan 渲染器在 macOS 上得到修复与优化,并增强整体 Vulkan 渲染代码的稳定性。
macOS 平台新增 窗口贴靠(window snapping) 和改进的 窗口菜单支持。
功能与渲染改进
视频播放组件新增 YUV 格式支持。
增加会话管理 portal 支持,强化跨桌面环境一致性。
改善符号图标(symbolic icons)的渲染质量。
支持 CSS 媒体查询,让主题在色彩方案与对比度上具备更细致的响应式表现。
在 OpenGL 渲染路径中增加对 多平面纹理(multi-plane textures)的支持。
继续推进无障碍访问(accessibility)方面的改进,如对输入框、文件选择器等组件的辅助功能增强。
与 GNOME 生态系统同步
v4.20 正式作为稳定版本发布,且及时在 GNOME v49 发布周期前推出,可预见将被其默认采用。