Release candidates for 1.2 out

Kristian Høgsberg hoegsberg at
Tue Jul 9 23:16:56 PDT 2013

Hi all,

I've just tagged and uploaded the 1.1.91 releases of Wayland and Weston:

  7ae66068ee11a56528fdce6497fff8f83c8e46cf  wayland-1.1.91.tar.xz
  3f3671e92e5c6e7e6e7a4b22371b1cccb7de8ca2  wayland 1.1.91 tag

  6589484a231d4e79414ee6579d5c77e867475dec  weston-1.1.91.tar.xz
  46cb4a95134480eec24a1f3b456a9aa63cc0ce1b  weston-1.1.91 tag

with tarballs available from

as usual.  If all goes well, we'll fix whatever bugs surface the next
few days and then release 1.2 this Friday.  This is a little later
than I had planned for (we're trying to release at the end of each
quarter), but relocating to Portland, OR, ended up taking quite a bit
of my time.

We have a lot of changes since the last major release (1.1.0) three
months ago.  The big features this time are:

 - Stable wayland-server API.  When 1.0 was release we didn't proise a
   stable API for  This means that with every
   major Wayland release, compositor might break.  When it was just
   weston, it wasn't a big deal, but as more external wayland
   compositors appear, we have to stop breaking this.  Much of the
   input logic was split in an awkward way and has bee moved to
   weston.  The remaining structs (mostly just wl_resource) have been
   made opaque.  Finally, versioning didn't work correctly with the
   old API, so we had to replace a few functions.  Much of this work
   was done by Jason Ekstrand.

 - Color management: Richard Hughes worked on color mangement for
   Wayland and implemented two schemes in Weston: a simple cms plugin
   that reads a profile from weston.ini and a more advanced plugin
   that integrates with colord.  Here's a screenshot of how that in
   turn integrates with the GNOME control center:

 - The Wayland Input Method Framework from Jan Arne Petersen is
   feature complete, but we're keeping it in weston for now.  We need
   a little more real world exposure and feedback before we promote
   this to official Wayland API.  We have a sample on-screen keyboard
   in weston, and Maalit has also been ported to the framework.

 - Subsurface protocol from Pekka Paalanen.  This extension lets us
   build up application windows from multiple Wayland surface,
   potentially combining surfaces with different color spaces or
   buffer types.

 - Output scaling (HiDPI) from Alex Larsson.  Alex describes the
   feature best in this blog entry:

   It's worth noting that this is not an arbitrary scaling mechanism,
   it is for scaling an entire output by an integer factor.

 - Rasperry Pi backend and renderer from Collabora.  There was a lot
   of coverage on this one: Pekkas post is the most technical, Daniels
   gives a good overview and then there's the Collaboras case stuy and
   a article among others.

 - Improved thread safety and relaxed thread-model assumptions in
   libwayland-client.  One of the restrictions in the client side
   library was that we assume that the toolkit or application will
   provide a "main thread" which is responsible for reading events and
   distributing them to event queues for the other threads.  We also
   assume that there will always only be one such thread.  It turs out
   that this breaks in many cases, in particular, it clashes with the
   threading model of EGL.  The client side event processing has been
   reworked to not make those assumptions.

 - Multi seat support from Rob Bradford.  We can now configure how
   input devices gets assigned to wl_seats by setting udev properties
   on the devices.  This lets us setup multiple seats in weston,
   similar to multi-pointer X, where each seat gets its own pointer
   and keyboard focus.  Additionally, a pointer can be confined to a
   given output.

 - New example client that illustrates the "application compositor"
   idea.  Some clients need to share buffers - a popular example is
   for process separation in web browsers.  One client wants to render
   to a surface, the other client wants to use the result as a
   texture.  In wayland, this is achieved by having one client act as
   a compositor to the other, and nested is a minimal example of how
   this is done.

 - Make libxkbcommon support optional from Matt Roper.  Some use cases
   don't need a full PC keyboard, for example a car dashboard or a
   set-top box panel has buttons but not a keyboard in the traditional
   sense.  In these cases, we only need keycodes, and libxkbcommon is
   just dead weight.

Aside from the features, we have a lot of bugs fixes in this cycle
too.  Just from commit messages, I count at least

  63360, 57637, 63796, 65913, 63510, 65726, 65933, 65986, 66173,
  66198, 66531, 66530, 66529, 65961, 66167, 62910, 61675, 59983,
  64873, 63360, 64506, 64874, 64689, 64691, 63812, 64183, and 64537

from  Many more bugs have been fixed that never
made it into bugzilla in the first place.  

Thanks to everybody who contributed:

  Alexander Larsson, Alex Wu, Ander Conselvan de Oliveira, Armin K,
  Chris Michael, Daiki Ueno, Daniel Stone, David Richards, Dima
  Ryazanov, Eduardo Lima (Etrunko), Emilio Pozuelo Monfort, Giulio
  Camuffo, Hardening, Jan Arne Petersen, Jason Ekstrand, Kristian
  Høgsberg, Krzesimir Nowak, Louis-Francis Ratté-Boulianne, Matt
  Roper, MoD, Mun Gwan-gyeong, Nathan Reboud, Neil Roberts, Ossama
  Othman, Pekka Paalanen, Peng Wu, Peter Hutterer, Peter Maatman,
  Quentin Glidic, Richard Hughes, Rob Bradford, Samuel Iglesias
  Gonsalvez, Sinclair Yeh, Tiago Vignatti, U. Artie Eoff

Here's hoping we'll get 1.2 out this Friday!


More information about the wayland-devel mailing list