我想编写一个基本的硬件加速窗口管理器,因此我一直在寻找一些入门文档,但我只找到了this tutorial,它使用过时的Clutter版本,并且无法在当前可用的任何版本上构建。是否有其他好的资源可以做到这一点,或者有一个真正简陋的组合WM来查看源代码?
您的问题有两部分:1)如何编写WM 2)如何编写复合管理器
关于第二部分的一些链接(除了xcompmgr源代码外):
窗口管理器,“第一部分”:
SubstructureRedirect
事件掩码。一些文档在这里原始的合成管理器演示是xcompmgr,我建议您了解底层的X扩展。
如果您使用OpenGL进行硬件加速渲染,您需要阅读EXT_texture_from_pixmap
扩展,以避免通过用户空间复制窗口内容。该扩展允许您使用硬件加速的blits来进行这些复制。
您可能还对_NET_WM_SYNC_REQUEST规范感兴趣,以实现与垂直消隐同步的无撕裂渲染。