Wayland 1.0 release and Weston 1.0
by admin ·
The first stable release of the protocol and a set of libraries Wayland, as well as standard composite server Weston.Version 1.0 marks a stabilization of the protocol, which, however, does not mean that the record can no longer be improved. This only means that the current version of the protocol covers all the basic functionality, the use of which will need to be able to complement Wayland.
Versioning protocol mechanism is similar to that for extensions Horg. The basic idea is that the new version will never break backwards compatibility, instead of older requests and events happening addition. Object wl_registry notify client applications on supported versions of the protocol. If the server is using an older protocol, the application will not send an unsupported request.
However, the legacy interfaces can be removed, but only after a large amount of time in the status of “deprecated” and only with a substitute.
Description of policy versioning:
- Stability Protocol and the generated code declared in wayland.xml, as well as the client API, defined in the wayland-client.h, will be provided for all versions of the branch 1.hh. In the threaded 1.hh protocol can be extended, but all applications built with libwayland-client.so version 1.0.0, will work with versions within 1.hh.
- The server part of the generated code and server-side API will remain stable within the branches 1.0.h. In the main thread can have different code migration between Wayland and Weston or other breaking API situation. The result may be released release 1.1.0, preserving stability protocol and on the server side, but clear plans in this area yet.
- Weston will remain stable API and ABI within branches 1.0.h. Work on the new features proolzhitsya the main branch.
Changes from version 0.95.0 and 0.99.0:
- Undoubtedly, the most significant change – Safer API threads. Callbacks removed from the core API and introduces a new mechanism: wl_event_queue.
- Atomic update mechanism surfaces. Earlier determine when updates surfaces did not exist that could cause artifacts.Now there is a request wl_surface.commit, which must be used to apply changes to the surfaces.
- A more accurate error checking.
- Removed unnamed ARRAY_LENGTH and container_of of API.
- A lot of errors and substantially amended documentation.
Recall that the current output from the Wayland supported in 5 Qt, GTK + 3, Clutter and EFL. Work is also underway to introduce support Wayland in SDL.