如何开始编写一个合成窗口管理器?

9
我想编写一个基本的硬件加速窗口管理器,因此我一直在寻找一些入门文档,但我只找到了this tutorial,它使用过时的Clutter版本,并且无法在当前可用的任何版本上构建。是否有其他好的资源可以做到这一点,或者有一个真正简陋的组合WM来查看源代码?
3个回答

10

您的问题有两部分:1)如何编写WM 2)如何编写复合管理器

关于第二部分的一些链接(除了xcompmgr源代码外):

窗口管理器,“第一部分”:


4

原始的合成管理器演示是xcompmgr,我建议您了解底层的X扩展。

如果您使用OpenGL进行硬件加速渲染,您需要阅读EXT_texture_from_pixmap扩展,以避免通过用户空间复制窗口内容。该扩展允许您使用硬件加速的blits来进行这些复制。

您可能还对_NET_WM_SYNC_REQUEST规范感兴趣,以实现与垂直消隐同步的无撕裂渲染。


0
你可以尝试使用 qtile,它非常可定制,有一个基于 Python 的配置(这也使得它非常易于入门),你可以在 Wayland 和 X11 之间进行选择,尽管它是用 Python 编写的,但它非常快。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接