Loading... # Budgie Desktop 架构转型技术分析:从 GTK 到 Qt6 的战略重构 # 一、新闻概述 ## 1. 标题 Budgie Desktop 发布 2025 年度回顾与 Budgie 11 技术路线图 ## 2. 发布时间 2026 年 1 月 11 日 ## 3. 来源 Buddies of Budgie 官方博客 # 二、核心内容 ## 1. 事件摘要 ### A. 主要内容 Buddies of Budgie 团队发布了 2025 年度回顾报告,宣布 Budgie 10.10 正式发布,同时披露了 Budgie 11 的重大架构转型计划。 ### B. 核心亮点 - Budgie 10.10 正式发布,完成两年多的 Wayland 迁移工作 - Budgie 11 将采用 Qt6 框架重写,放弃 GTK 技术栈 - 宣布迁移至自托管软件平台 Forgejo,脱离 GitHub - 引入模块化架构设计,支持多种设备形态 ## 2. 关键信息 ### A. 版本号 Budgie 10.10(2026 年 1 月 10 日发布)和 Budgie 11(开发中) ### B. 重要数据 - Wayland 迁移耗时:超过 2 年 - Budgie 10 开发周期:约 10 年 - 代码仓库迁移:14 个 GitHub 仓库 ### C. 涉及产品 Budgie Desktop、Budgie Desktop Services、Raven 通知中心、labwc 合成器 ## 3. 背景介绍 ### A. 前置版本 Budgie 10 系列始于约 10 年前,采用 GTK3 和 Vala 语言开发。Budgie 10.10 是该系列的最后一个主要版本,标志着 Budgie 10 时代的结束。 ### B. 相关上下文 Linux 桌面环境正在经历从 X11 向 Wayland 的全面迁移,同时桌面环境生态也在不断演进。Budgie 作为轻量级、简洁的桌面环境,一直以 Solus 项目的默认桌面而闻名。 # 三、详细报道 ## 1. 主要内容 ### A. Budgie 10.10 完成 Wayland 迁移 2025 年是 Budgie Desktop 在 Wayland 迁移方面取得重大进展的一年。尽管 Budgie 10.10 的发布时间比预期延后,但这为团队提供了更多时间进行完善和测试。 **关键组件更新**: 1. **小程序(Applet)移植** - 夜间模式小程序:使用 gammastep 和 wlr gamma control protocol - 工作区小程序:移除 X11 window ID 依赖 - 键盘布局小程序:支持每窗口键盘布局切换 - 图标任务列表:修复 Wayland 下的窗口分组 - 任务列表:使用 libxfce4windowing 完全重写 2. **截图功能重构** - 从 Mutter 特定代码迁移到 grim + slurp - 截图对话框由 budgie-session 控制 3. **会话管理改进** - 新增启动脚本,自动配置环境变量 - 集成 labwc 作为默认 Wayland 合成器 4. **屏幕锁定和空闲管理** - 使用 swayidle、gtklock 和 wlopm - 完全移除 budgie-screensaver(gnome-screensaver 的 fork) 5. **主题和优化** - 改进内置主题和高对比度主题 - 修复各种颜色和对比度问题 ### B. Budgie 11 架构转型 **技术栈迁移**:Budgie 11 将采用 Qt6 和 Kirigami 框架重写,这是 Budgie 历史上最大的技术栈转型。 **历史背景**: - 曾考虑使用 Qt5,但很快放弃 - 2018 年计划迁移到 GTK4,但 GTK4 尚未发布 - 甚至曾考虑使用 EFL(Enlightenment Foundation Libraries) **当前状态**: - Budgie Desktop Services(Qt6 编写)已在生产环境运行 - 负责 Budgie 10.10 中的 Wayland 输出管理和持久化配置 - Budgie Display Configurator 也在使用 Qt6 和 Kirigami 开发 ### C. 模块化架构设计 Budgie 11 的核心目标是实现模块化架构,分为两个主要层次: 1. **Budgie Core(核心平台)** - 跨所有设备共享的库 - 会话管理器:管理应用和服务生命周期 - Budgie Services:通知、显示输出、空闲管理等 - 通过 DBus 暴露功能,支持其他 RPC 机制 2. **Budgie Desktop(桌面表现层)** - 针对桌面、笔记本和 2 合 1 设备的图形环境 - 三大核心特性:可适应、易用、可扩展 ### D. 版本管理策略 采用三段式版本号 X.Y.Z: - **X(主版本)**:锁定到特定的 Qt 主要版本 - Budgie 11 锁定到 Qt6 - Budgie 12 将使用 Qt7 - 类似 KDE Frameworks 和 Plasma 的版本策略 - **Y(特性版本)**:每半年 increment 一次 - 所有 Budgie 组件同步更新 - 允许(但不强制)ABI 破坏性变更 - 支持 N-3..N 的 ABI 范围 - ABI 总寿命约 2 年,与 Ubuntu LTS 对齐 - **Z(补丁版本)**:错误修复和小改进 ## 2. 技术细节 ### A. 架构对比 ```mermaid graph TB subgraph Budgie_10["Budgie 10 架构"] B10_GTK["GTK3 + Vala"] B10_Panel["budgie-panel 进程"] B10_Daemon["budgie-daemon"] B10_Raven["Raven 通知中心"] B10_Settings["Budgie Desktop Settings"] B10_X11["X11 支持"] B10_Wayland["Wayland 支持"] end subgraph Budgie_11["Budgie 11 架构"] B11_Qt["Qt6 + Kirigami"] B11_Core["Budgie Core 平台"] B11_Desktop["Budgie Desktop 表现层"] B11_Services["Budgie Desktop Services"] B11_Session["会话管理器"] B11_Modules["可插拔模块"] end B10_GTK --> B10_Panel B10_GTK --> B10_Raven B10_Panel --> B10_Daemon B10_Panel -.支持.-> B10_X11 B10_Panel -.支持.-> B10_Wayland B11_Qt --> B11_Core B11_Core --> B11_Services B11_Core --> B11_Session B11_Desktop --> B11_Core B11_Desktop --> B11_Modules ```  ### B. 技术栈对比 | 组件 | Budgie 10 | Budgie 11 | |------|----------|----------| | 主要语言 | Vala | C++(Qt6) | | UI 框架 | GTK3/ GTK4 | Qt6 + Kirigami | | 插件系统 | libpeas | 待定(可能 QML + JS) | | 进程模型 | budgie-panel + budgie-daemon | 模块化 systemd 服务 | | 显示协议 | X11 + Wayland | Wayland 为主 | | 合成器 | 多种支持 | labwc(默认) | ### C. Budgie 10 的技术痛点 1. **紧耦合架构** - budgie-desktop 仓库包含 shell、面板、Raven、设置等所有内容 - 面板管理代码复杂,源于 X11 时代的设计 - 面板自定义应用需要面板进程运行 2. **插件分发困难** - 使用 libpeas 实现插件支持 - 每个发行版需要独立打包和维护第三方小程序 - 发现机制困难 3. **会话管理复杂** - budgie-session 和 budgie-desktop 之间的流程复杂 - 未充分利用 systemd 功能 - 缺少用户级服务支持 ### D. Budgie 11 设计目标 **可适应**: - 复杂多任务能力 - 高级应用和工作区管理 - 多窗口平铺 - 不同操作模式(专注模式、游戏模式等) **易用**: - 上游桌面界面直观易用 - 新手用户友好 **可扩展**: - 组件互换(如合成器、Raven 替代品) - 扩展互换(面板或 Raven 内的扩展) - 主题支持(包括跨平台主题) ## 3. 数据与事实 ### A. 开发时间线 - Budgie 10 Wayland 迁移:超过 2 年 - Budgie 10 系列总时长:约 10 年 - Budgie 10.10 发布:2026 年 1 月 10 日 ### B. 代码仓库迁移 - GitHub 仓库数量:14 个 - 新平台:Forgejo(自托管) - CI/CD:Woodpecker CI + ARM64 构建器 ### C. 技术决策理由 - Qt6 生态系统成熟 - KDE Frameworks 提供优质库 - 模块化设计支持多种形态 - 为未来 10 年发展奠定基础 # 四、影响分析 ## 1. 行业影响 ### A. 桌面环境生态 - GTK 和 Qt 两大阵营的竞争更加明显 - 模块化设计可能影响其他桌面环境的发展方向 - Wayland 生态系统进一步成熟 ### B. 技术趋势 - 桌面环境向 Wayland 迁移已成定局 - Qt6 在新兴桌面项目中越来越受欢迎 - 自托管和 CI/CD 自动化成为趋势 ## 2. 用户影响 ### A. 现有用户 - Budgie 10.10 将进入维护模式 - 用户可选择继续使用 Budgie 10 或等待 Budgie 11 - Wayland-only 版本可能影响某些 X11 应用兼容性 ### B. 潜在用户 - Qt6 技术栈可能吸引更多 KDE 生态开发者 - 模块化设计便于发行版定制 - 跨设备形态支持扩大潜在用户群 ### C. 迁移建议 - 稳定用户建议等待 Budgie 11 的首个稳定版本 - 开发者可关注 Budgie Core 平台的 API 设计 - 发行版维护者需准备 Qt6 依赖 ## 3. 技术趋势 ### A. 架构演进 - 从单体应用向微服务/模块化转变 - DBus 和 RPC 成为组件通信标准 - systemd 作为服务管理核心 ### B. 跨平台潜力 - Qt6 的跨平台特性可能使 Budgie 支持 Windows、macOS - 模块化设计便于适配不同输入设备和交互方式 - 为 VR/AR、手机、平板等新形态预留空间 ### C. 生态影响 - 可能促进 Qt/QML 开发者社区增长 - 为 KDE 和 Budgie 生态提供更多协作机会 - XDG portal 等通用组件的标准化 # 五、各方反应 ## 1. 官方回应 Buddies of Budgie 团队强调: - Budgie 11 不仅仅是技术栈迁移,更是架构重构 - 代码已在生产环境验证,非纸上谈兵 - 期待社区参与塑造下一代桌面 ## 2. 业内评价 ### A. 专家观点 - 从 GTK 到 Qt 是重大决策,但考虑到 Qt 生态成熟度是合理选择 - 模块化设计顺应现代软件架构趋势 - 自托管平台显示项目独立性 ### B. 社区反馈 - 部分用户担心迁移过程中的兼容性问题 - 开发者社区对 QML/JS 扩展支持表示期待 - 对脱离 GitHub 的决定褒贬不一 ## 3. 用户反馈 ### A. 正面评价 - Wayland 迁移完成值得肯定 - 模块化设计提供更大灵活性 - 团队的透明度和长期规划获得认可 ### B. 关注点 - Budgie 11 发布时间表尚未明确 - 插件生态迁移的工作量 - 性能和资源占用是否优于 Budgie 10 ### C. 中立观察 - 这是 Budgie 自然演进的下一步 - 与其他桌面环境(GNOME、KDE Plasma)的竞争格局变化不大 - 成功与否取决于执行质量 # 六、相关链接 ## 1. 官方资源 - [Budgie Desktop GitHub 仓库](https://github.com/BuddiesOfBudgie/budgie-desktop) - [State of the Budgie: 2025 In Review 官方博客](https://buddiesofbudgie.org/blog/state-of-the-budgie-2025) - [Buddies of Budgie 组织](https://github.com/BuddiesOfBudgie) ## 2. 相关技术 - [Qt6 官方文档](https://www.qt.io/product/qt6) - [Kirigami UI 框架](https://develop.kde.org/frameworks/kirigami/) - [labwc 合成器](https://labwc.github.io/) - [Forgejo 平台](https://forgejo.org/) ## 3. 社区资源 - [Buddies of Budgie Matrix 群组](https://matrix.to/#/#buddiesofbudgie:matrix.org) - [Buddies of Budgie OpenCollective](https://opencollective.com/buddiesofbudgie) - [Solus 项目官网](https://getsol.us/) *** ## 参考资料 1. [State of the Budgie: 2025 In Review and Cranking Budgie Up To 11](https://buddiesofbudgie.org/blog/state-of-the-budgie-2025) 2. [BuddiesOfBudgie/budgie-desktop GitHub Repository](https://github.com/BuddiesOfBudgie/budgie-desktop) 3. [Budgie Desktop Wikipedia](https://en.wikipedia.org/wiki/Budgie_(desktop_environment)) 最后修改:2026 年 01 月 25 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏