How to get started writing a compositing WM?
Asked Answered
C

3

9

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?

Coper answered 6/11, 2012 at 22:48 Comment(0)
K
10

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":

Kattie answered 12/11, 2012 at 6:3 Comment(0)
H
4

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.

Hemihydrate answered 7/11, 2012 at 1:34 Comment(0)
A
0

You could try qtile it is very customizable with a python config (which also makes it extremely easy to get started with) you can pick between wayland and x11 and despite being written in python it's extremely fast

Anuria answered 30/5, 2022 at 8:39 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.