Defining Wayland & Its Input System Are Discussed
If you have any interest at all in the technical side of the Wayland Display Server, there's been two mailing list threads in particular worth paying attention to this week. One is about proposals for Wayland's input system an the other is in terms of defining a Wayland implementation.
The most recent input discussion for Wayland was initiated by Canonical's Chase Douglas by proposing (in this message) to design an input system that is backwards compatible with previous input systems, can be developed to work along with X, and can be integrated into the same display server source code. Chase expressed interest in separating the input system entirely from the display system via what would be a new project called "Inland" or the like. But that separation was quickly shut down by some, like Intel's Jesse Barnes, for overly complicating the matter and causing other engineering headaches. This matter is still being discussed.
The other thread worth reading was started by Tiago Vignatti and is entitled wayland implementation conformance. This thread was born out of Kristian making the following comment:
Once of the things that X got right was the extension model. Wayland takes it one step further by making everything an extension: the only thing that's fixed in the Wayland protocol is an interface for discovering other interfaces. If it turns out that we need to update the input model, we have versioning built in for incremental updates, and we can add an entire new model if we need to start from scratch.
So what exactly defines a Wayland implementation? Kristian's answer is below, but this thread is still being discussed with various thoughts being expressed among interested contributors.
That's a good question. My intention is to have wayland.xml be the official interfaces, but you're right that the drm interface is specific to the Linux drm driver model and maybe that should be split out into its own file. Additionally, it would make sense to abstract out the wl_buffer creation into a library that server and client can link to so that not every toolkit and application that use the wayland protocol directly will have to know about every driver specific interface for creating and sharing buffers.