The Clutter/Cogl duo have been getting on with support for Wayland going back a number of months. Just last month Clutter was updated against Wayland master so that this tool-kit -- also sponsored by Intel -- would be running against the newest Wayland Display Server code. The Clutter-on-Wayland support has gone quite far. With the release of Clutter 1.9.4 and Cogl 1.9.4, things are even further.
With the release of Clutter 1.9.4, "The wayland backend now tracks the latest API changes in the client API, and Clutter now provides a Wayland surface actor that allows to write Wayland compositors, similarly to the X11TexturePixmap actor for the X11 backend." Clutter 1.9.4 also features a new scene graph API in ClutterActor, a layout manager update, and a ClutterTextBuffer class.
Cogl, the 3D graphics direct-state-access API used by Clutter that's built on OpenGL / OpenGL ES, has a few improvements of its own with the 1.9.4 release. Cogl's client-side Wayland support has been updated, the Cogl compositor-side Wayland support has been updated, and the example "Cogland" Cogl-Wayland compositor has been updated. There's also a few other related and interesting changes in this Cogl 1.9.4 development snapshot:
- A basic Linux KMS back-end has been added that works directly off the DRM interfaces for kernel mode-setting. This allows full-screen Cogl applications to work without X11 (or Wayland) under Linux but is tapping KMS directly.
- EGL platforms are now selected at run-time rather than being part of one monolithic back-end.
- A "CoglSnippets" experimental API has been added. This new API, which has been a long time coming, is meant to simplify how portions of GL Shading Language (GLSL) code can be integrated into the rendering pipeline.
- An SDL window system back-end has been added to Cogl. This makes a portable and easy way to toy around with Cogl as a standalone graphics API with basic input support provided by the Simple DirectMedia Layer (SDL).
Lots of good stuff happening in the Clutter-land, plus the other work happening within the Enlightenment, Qt, and GTK+ camps.