我想写一个基本的硬件加速窗口管理器,所以我一直在寻找一些关于如何入门的文档,但我只能设法找到this tutorial,它使用过时版本的Clutter并赢得了'用任何当前可用的版本构建。还有没有其他的好资源可以做到这一点,或者,还有一个真正的骨骼合成WM来查看来源?如何开始编写合成WM?
5
A
回答
4
最初的演示合成管理器是xcompmgr,我建议您理解底层的X扩展。
如果您使用OpenGL进行硬件加速渲染,则需要详细阅读EXT_texture_from_pixmap
扩展名,以避免通过用户空间复制窗口内容。该扩展允许您为这些副本使用硬件加速的blits。
您可能还会对_NET_WM_SYNC_REQUEST的规范感兴趣,以允许无铅渲染与垂直回扫同步。
7
有两个部分在你的问题:1)如何写WM 2)如何编写复合经理
一些链接来帮助理解两部分(除使用xcompmgr源):
- http://www.talisman.org/~erlkonig/misc/x11-composite-tutorial/(使用Qt,但很通用的,低的水平)
- https://github.com/gustavosbarreto/compmgr
- http://projects.mini-dweeb.org/projects/unagi
窗口管理器 “第一部分”:
- 我已经简单〜在JavaScript 100 LOC WM:https://github.com/sidorares/node-x11/blob/master/examples/windowmanager/wm.js
- 另一个极简WM(在C),良好的开始作为参考:https://code.google.com/p/winmalist/
- 最重要的关键字:
SubstructureRedirect
事件掩码。一点文件here
相关问题
- 1. 如何开始编写DDK代码?
- 2. Xpages - Java - 如何开始编写代码
- 3. 如何开始编写iCal插件?
- 4. 如何开始为Android编写测试
- 5. 如何开始正确编写GUI
- 6. 从头开始编写Scala的编写
- 7. CSS开始编写代码
- 8. JIT编译器 - 如何开始编写自己的编译器?
- 9. 如何开始写在d
- 10. 如何开始编写简单的编辑器
- 11. 如何开始编程?
- 12. 如何开始编译Krusader?
- 13. 如何开始编写代码来生成Lichtenberg数字(闪电分形树)?
- 14. 从哪里开始编写纸板vr?
- 15. 从头开始编写文件
- 16. 开始使用NetBeans编写Java代码
- 17. Visual Studio中不能开始编写C#
- 18. 开始编写嵌入代码
- 19. 我应该如何开始编写设备驱动程序?
- 20. 如何设置Eclipse以开始使用Axis2编写Web服务
- 21. 您如何开始为MCU外设编写API?
- 22. 如何开始编写基于SIP/VoIP的软件
- 23. 如何编写从最后一个值开始的Excel表格?
- 24. 如何开始并在joomla中编写代码?
- 25. 如何开始编写用于离子的e2e测试代码?
- 26. 如何开始为linux编写防火墙?
- 27. 如何开始编写iPad应用程序?
- 28. 如何开始为我的图层编写代码?
- 29. 如何开始为C++库编写Perl绑定?
- 30. 如何开始在C++中编写音乐可视化工具?