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