KWinFT 是 KWin 的一个分支,专注于 Wayland,推出了

罗曼·吉尔格, 参与 参与 KDE、Wayland、Xwayland 和 X Server 的开发, 提交 项目 KWinFT (KWin Fast Track),基于代码库为 Wayland 和 X11 开发灵活且易于使用的复合窗口管理器 胜利。 除了窗口管理器之外,该项目还开发了一个库 沃普兰 为 Qt/C++ 实现 libwayland 绑定,继续开发 凯兰,但摆脱了与 Qt 的绑定。 该代码根据 GPLv2 和 LGPLv2 许可证分发。

该项目的目标是利用 KWin 和 KWayland 进行回收
现代技术和开发实践使您能够加快项目开发、重构代码、添加优化并简化基本创新的添加,而将其集成到当前形式的 KWin 中是很困难的。 KWinFT 和 Wrapland 可用于无缝替换 KWin 和 KWayland,但它们不受许多产品的 KWin 锁定的限制,在这些产品中,保持完全兼容性是阻碍创新前进的首要任务。

借助 KWinFT,开发人员可以自由地尝试新功能,同时通过使用更现代的开发技术来保持稳定性。 例如,为了检查 KWinFT 代码,使用了持续集成系统,包括使用不同的 linter 进行验证、自动生成程序集和广泛的测试。 在功能开发方面,KWinFT的主要重点将是提供高质量且完整的协议支持
Wayland,包括重新设计 KWin 架构功能,使与 Wayland 的集成变得复杂。

KWinFT 中已添加的实验性创新包括:

  • 合成过程经过重新设计,显着改善了运行 X11 和 Wayland 的内容渲染。 此外,还添加了一个计时器,以最大程度地减少图像创建与其在屏幕上显示之间的延迟。
  • 实现了 Wayland 协议的扩展“视窗员“,允许客户端执行服务器端缩放和表面边缘修剪。 与 XWayland 的下一个主要版本相结合,该扩展将提供模拟旧游戏屏幕分辨率变化的能力。
  • 完全支持基于 Wayland 的会话的旋转和镜像输出。

Wrapland 提供了 Qt 风格的编程接口,以易于在 C++ 项目中使用的形式提供对 libwayland 函数的访问。 Wrapland 原本计划作为 KWayland 的一个分叉进行开发,但由于 KWayland 代码的状态不理想,现在被考虑作为一个彻底改造 KWayland 的项目。 Wrapland 与 KWayland 最重要的区别在于,它不再与 Qt 绑定,无需安装 Qt 即可单独使用。 未来,Wrapland 可以作为具有 C++ API 的通用库使用,从而无需开发人员使用 libwayland C API。

为 Manjaro Linux 用户创建现成的软件包。 要使用 KWinFT,只需从存储库安装 kwinft,要回滚到标准 KWin,请安装 kwin 软件包。 Wrapland的使用不限于KDE,例如,已经准备了客户端实现以供使用 维根 输出控制协议,允许基于 wlroots 的复合服务器(摇摆, 航火)使用 KScreen 自定义输出。

在此期间, 继续 将发布项目更新 KWin-低延迟,形成一个带有补丁的 KWin 复合管理器版本,以提高界面的响应能力并修复一些与用户操作响应速度相关的问题,例如输入卡顿。 除了 DRM VBlank 之外,KWin-lowlatency 还支持使用 glXWaitVideoSync、glFinish 或 NVIDIA VSync 来提供防撕裂保护,而不会对响应能力产生负面影响(KWin 最初的撕裂保护是使用计时器实现的,可能会导致较大的延迟(高达 50ms)输出因此,输入时的响应会出现延迟)。 新版本的 KWin-lowlatency 可以用来代替 KDE Plasma 5.18 中的库存复合服务器。

来源: opennet.ru

添加评论