I would like to write a basic hardware-accelerated window manager, so I've been looking for some documentation on how to get started, but I've only managed to find this tutorial , which uses an outdated version of Clutter and won't build with any version currently available. Are there any other good resources for how to do this, or alternatively, a really bare-bones compositing WM to look at the source of?
There are two parts in your question: 1) How to write WM 2) how to write composite manager
Some links to help understand part two (in addition to xcompmgr source):
Window manager, "part one":
SubstructureRedirect
event mask. A bit of documentation here The original demo compositing manager was xcompmgr , which I'd recommend for understanding the underlying X extensions.
If you're using OpenGL to do your hardware-accelerated rendering, you'll need to read up on the EXT_texture_from_pixmap
extension to avoid copying window contents through userspace. That extension allows you to use hardware-accelerated blits for those copies instead.
You'll probably also be interested in the specification for _NET_WM_SYNC_REQUEST , to allow tear-free rendering synchronized to vertical retrace.
您可以尝试使用 qtile,它可以通过 python 配置进行自定义(这也使得它非常容易上手)您可以在 wayland 和 x11 之间进行选择,尽管它是用 python 编写的,但它非常快
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.