Mir 0.24 was just released this week!
We’ve reworked a few things internally and fixed a fair amount of bugs. Notably, our buffer swapping system and our input keymapping system were reworked (Alt-Gr should now work for international keyboards). There was also some improvements made to the server API to make window management better.
I’m most excited about the internal buffer swapping mechanism changes, as its what I’ve been working to release for a while now. The internal changes get us ready for Vulkan , and improve our multimedia support , improve our WiDi support, and to reduce latency in nested server scenarios .
This is prep work for releasing some new client API functions (perhaps in 0.25, depending on how the trade winds are blowing… they’re currently gated in non-public project directories here). More on that once the headers are released.
Vulkan is a new rendering API from Khronos designed to give finer-grained gpu control and more parallel operation between CPU and the GPU.
Especially multimedia decoding and encoding, which need more arbitrary buffer control.
“Unity8” runs in a nested server configuration for multiuser support (among other reasons). unity-system-compositor controls the framebuffer, unity8 sessions connect to unity-system-compositor, and clients connect to the appropriate unity8 session. More fine-grained buffer submissions allow us to forward buffers more creatively, making sure the clients have zero-copy more often.