Over the past several months, I and some other individuals wrote a Wayland compositor that runs on common X setups. The code can be found here:
https://sourceforge.net/projects/twelveto11/ It should be a more or less complete implementation of the important parts of the Wayland protocol. Buffer transforms are currently missing, but that's because I can't wrap my head around how they work. If DRI3 is extended to allow creating Xv video, it would allow implementing YUV image formats without a dependency on GL. The only major inefficiency I can think of is that buffer contents get copied at least once, to the offscreen storage of the toplevel window, which is then composited by the X compositing manager. Buffer-flipping does not yet work well for fullscreen opaque surfaces, as that requires some additions to the Composite extension here to work well: https://lists.x.org/pipermail/xorg-devel/2022-October/058918.html Please try it out and report any crashes or bugs that you may come across. Thanks in advance. Patches are also welcome, and the code should be well commented and structured, but please keep in mind the coding standards (which happen to overlap greatly with the GNU ones): https://www.gnu.org/prep/standards.