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 tutori
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.