罗曼·吉尔格(Roman Gilg) 参与了KDE,Wayland,Xwayland和X Server的开发, 提出了KWinFT项目 (KWin快速通道) 灵活的复合窗口管理器 基于KWin代码库的Wayland和X11易于使用。
除了窗口管理器 该项目还开发了一个库普兰图书馆 Qt / C ++在libwayland上实现了绑定,从而继续了KWayland的开发,但不再绑定到Qt。
关于KwinFT
该项目的目的是对KWin和KWayland进行返工 使用现代技术和开发实践来加速项目开发, 重构代码,添加优化并简化入门创新 基本原理,很难以当前形式集成到KWin中。 KWinFT和Wrapland可以用来透明地替代KWin和KWayland,但不限于许多产品对KWin施加的框架,保持与它们的完全兼容性是防止创新发展的优先考虑。
在KWinFT,他开发人员无需动手,可以尝试新功能, 寻求通过使用更多现代开发技术来保持稳定性。
例如,要验证KWinFT代码, 涉及一个持续集成系统, 其中包括使用不同棉短绒的验证,自动装配生成和高级测试。 关于功能的开发, KWinFT的主要重点将是为Wayland协议提供高质量和全面的支持,包括重新制作KWin的架构功能,这些功能使与Wayland的集成变得复杂。
在实验性创新中 已经添加到KWinFT, 以下突出:
- 重新设计了合成过程, 这在X11和Wayland的控制下大大改善了内容的呈现。 此外,添加了一个计时器以最大程度地减少图像创建和显示之间的延迟。
- 实施了Wayland“ viewporter”协议的扩展,它允许客户端执行操作来缩放和修剪服务器端表面的边缘。 与XWayland的下一个主要版本结合使用时,该扩展将使您可以模拟旧游戏的屏幕分辨率变化。
- 全面支持旋转和镜像 基于Wayland的会话的输出。
- Wrapland提供了一种Qt风格的编程接口,该接口以一种方便的方式提供对libwayland函数的访问,以便在C ++项目中使用。 最初,他们计划将Wrapland开发为KWayland的分支,但是由于KWayland代码的状态不理想,现在将其视为完整KWayland处理的项目。 Wrapland和KWayland之间最重要的区别是消除了对Qt的绑定,并且无需安装Qt即可单独使用它。 将来,Wrapland可以用作带有C ++ API的通用库,从而使开发人员无需使用C libwayland API。
- 现成的软件包是为Manjaro Linux用户制作的。 要启用KWinFT,只需从存储库安装kwinft,然后返回正常的KWin,安装kwin软件包。 Wrapland的使用不限于KDE,例如,已经为wlroots中使用的输出控制协议准备了一个客户端实现,该协议允许使用KScreen在基于wlroots的复合服务器(Sway,Wayfire)上配置输出。
与此同时 低延迟的KWin项目更新将继续发布, 它构成了KWin复合管理器的编辑委员会,并提供了一些补丁程序,以增强界面的响应能力,并修复一些与对用户操作的响应速度有关的问题,例如输入制动。
最后,对于那些有兴趣了解更多信息或查看KwinFT代码的人,他们可以联系 到以下链接, 您还可以在其中找到有关其安装的信息。
该代码根据GPLv2和LGPLv2许可进行分发。