New display server
Work on new display server as a replacement for compositor is in progress at https://github.com/jxsvoboda/helenos/commits/gfx
This is the first step of overhauling the graphics/UI stack. Here's some of the high-level goals.
- An abstract rendering API and window update protocol that can be used both for App ←> Display server and Display Server ←> Display Driver communication and other things
- Make it possible to conserve memory (compared to all windows being always fully memory-backed)
- Make the memory retention and communication mode a decision of the display server, not an inherent property of the display protocol / API
- Display protocol should explicitly denote frame boundaries and frame timing
- Support a wider range of pixel formats (<32 bpp, >32bpp) including text mode
- Better support for multi-seat and multi-point
The scope of this ticket is achieving rough parity with current compositor-based solution.