Semi-automatic Compositing
A big problem with composited window systems is that clients can't reliably get updates of their content displayed at the right time. The compositor may have other things going on, or there may just be a lot of scheduling latency in the system.
My idea here is that we'd allow the X compositing manager to tell the server about clients which could be displayed without any fancy operations, essentially allowing the X server to perform the compositing steps for those clients without bothering the compositing manager.
As a first step, imagine a window with no overlapping translucent or compositor-drawn content. Having the server perform the copy from application buffer to screen at the right time would save a bunch of context switching and various complicated asynchronous operations.
Next, imagine being able to use the hardware overlays in the display engine for the various client layers. Instead of copying, we'd be able to swap client content to the screen.
Finally, I'd like to explore using libweston from the wayland project to handle the stack of images.