Wayland and Weston 1.3 releases are out

Kristian Høgsberg hoegsberg at gmail.com
Fri Oct 11 01:47:26 CEST 2013

Hi all,

I've tagged and pushed the 1.3 release and it's available from
http://wayland.freedesktop.org/releases as usual and the hashes for
this release are:

  febbbfc8d76ed0b2157077d50cb6e5ceb1aa47de  wayland-1.3.0.tar.xz
  2c3dbb89031f120fb191492634e53a583f99d57d  wayland 1.3.0 tag

  670f95844d20dc87da579b6ac566388edc0bfa0c  weston-1.3.0.tar.xz
  95659c03219b057d9d703b04cf89bc0329ce947a  weston 1.3.0 tag

Wayland Changes

We don't have a lot of Wayland side changes this time.  I see that as
good news and as sign that the wayland side is slowing down and
maturing.  I feel like the core protocol code is generally useful and
stable and does what we need.  What we did do this cycle:

 - More pixel formats for wl_shm (Tomeu Vizoso).  We can now create
   RGB565 (and many more) shm surfaces and a compositor can indicate
   which ones it supports.

 - Doc work (Peter Hutterer, Bryce Harrington, Aaron Faanes).  Much
   work on the doc build system from Peter and general wording and
   grammer improvements all around.

 - Multi resource support (Rob Bradford).  Rob added support for
   dealing with lsits of resources which the weston side
   multi-resource fix builds on.

 - Support for language bindings (Jason Ekstrand).  After a long time
   and many detours into fixing other parts of Wayland and Weston,
   Jason finally landed the language binding support.  This feature
   lets you bind a higher level language to libwayland-client/server
   by providing custom dispatch functions.

 - Release requests for wl_pointer, wl_keyboard and wl_touch (Rob
   Bradford).  We don't have a way for a client to deregister its
   interest in receiving input events, we just drop them on the client
   side when the client destroys the proxy.  With the release
   requests, we now have a way to stop the server from sending them in
   the first place.

 - Install the wayland.xml protocol defintion (Jason Ekstrand).  We
   now install the core Wayland XML protocol definition in a public
   location.  Language bindings can parse this to generate code or
   bind dynamically.  This also introduces a well known protocol
   directory where other projects can install protocol files.

 - Very few bug fixes in this release.  There was only a couple of
   actual bug fixes this time around, which again is a sign that core
   wayland is settling down.

Weston changes.

 - HW accelerated screen capture using libva Shift-Mod-SPACE Q (Ander
   Conselvan de Oliveira).  This adds realtime h.264 screen capture to
   Weston using libva.  This new feature can capture and encode weston
   screen contents and write to disk with negligible CPU or GPU
   overhead on recent Intel chips.  We may switch away from libva and
   use gstreamer in the future, which will let us support more codecs
   and hardware.  For now, libva is the only way to get to the
   high-performance, zero-copy encoding path that we want.  Another
   future direction for this is network astreaming instead of just
   writing to disk, but this basic recording feature wil be the base
   for that work.

 - libhybris support (Adrian Negreanu).  Adrian added support for
   using libhybris with the fbdev backend.  This means that it's
   possible to use weston with Android EGL/GLES2 drivers, provided
   that you have the right device, drivers and kernel.

 - Multi-resource input events (Rob Bradford and Neil Roberts).  We
   had a limitation that only the first pointer, keyboard or touch
   resource from a client would receive events, since we only tracked
   one resource as part of the input focus tracking.  It should be
   possible to get multiple wl_pointer etc resources and receive
   events on all of them so that different subsystems can have their
   own resource for receiving events.  With Rob and Neils patches this
   now works, which enables toolkit integration such as WebKitGTK+ and

 - Better touch support: better support in clients (Rusty Lynch and
   Brian Lovin), critical bug fixes in the evdev touch code (Neil Roberts).

 - XWM: better fullscreen support, support for drag-and-drop from X to
   wayland (other direction coming next). (Kristian Høgsberg)

 - weston-launch: modified behavior, now two modes of
   operation: run from a vt after logging in or run from an init
   script with -u.  setup and restore tty in weston-launch, handle vt
   switch and drop/set master in weston-launch (Kristian Høgsberg).

 - Support for RGB565 client buffers in gl and pixman renderers
   (Tomeu Vizoso).

 - New WL_OUTPUT udev attribute for matching touch screen input
   devices to their outputs. (krh)  

 - We have a new configure summary from Armin K and a few new
   configure options:


		This gives better control over which cairo-gl flavor
		to use.  We used to auto-detect or just fall back to
		image, but there was never a good way to request
		cairo-image if any cairo-gl was available or to
		request GL over GLES2. (Rob Bradford)


		Install all the demo clients.  Normally we only
		install weston-terminal and weston-info, but with this
		option it's now possible to install all clients (Armin k)

 - New weston.ini options:


		These options lets us control touchpad acceleration
		(Armin K).


		This option lets us specific a different path to the
		xwayland server to use (Maksim Melnikau).

 - New weston command line options:


		Override the shell module choice from weston.ini.  A
		useful option for briefly testing a different shell
		(Jason Ekstrand).

 - weston-terminal: Better support for wide (CJK) characters (Peng
   Wu).  Resizing fixed, warms my heart (José Bollo).

Known Issues

We're shipping the 1.3.0 release with a number of known issues.  I
expect we'll do a 1.3.1 release within a couple of week to try to fix
as many of these as possible.  This is Arties list from the RC2 test

 - weston-launch grew a drm dep again, pull Tomeus fix.

 - Fix desktop-shell resizing the right way.  I reverted Hardenings
   patch for output resize in desktop-shell to avoid regressing output
   rotation, but we need to fix it the right way.

 - Rapid VT-switching causes hang

 - Multiple mouse cursors on a single seat with multi-seat setup:

 - Weston SEGV on hot-unplugged output:

 - Weston-calibrator always uses "primary" output; bad for
   multi-display calibration:

 - Zoom and Touch don't play nice with each other:

 - Weston SEGV - Text input protocol post to dying resource:

 - Weston-terminal corrupt rendering when output transformed at 90 or 270:

with a couple of bugs outside wayland and weston that still affects
key weston features:

 - Composite Bypass non-functional:

 - LibVA Capture hangs Weston on Sandy Bridge platforms:

Ideally we'll be able to address many of the issues above, in
particular, I want fix the weston-launch drm dependency, the
desktop-shell resizing and the output unplug bugs before doing 1.3.1.

Plans for 1.4

We're going to try something new for 1.4 - we'll do an alpha release a
month before the scheduled release.  I'm looking at Jan 15, 2014 as
the release date for 1.4.0, and we'll do an alpha release on Dec 16.
The motivation here is to get a snapshot out a bit earlier so we can
start testing earlier and hopefully uncover bugs earlier.  In the 1.3
cycle we did RC1 a week before the expected release date and ended up
with a lot of bugs and no time to fix them.  For 1.4 the hope is that
the alpha release will let us discover those bugs while we still have
month to fix them.  After the alpha we'll start to slow down
development, but there'll still be room for pulling in minor or
low-risk features.  We'll start the RCs on Jan 2, at which point we'll
go into bug fix only mode.

Here's my (probably incomplete) list of features that I think we can
do for 1.4:

 - Moving subsurface and input methods into wayland.

 - Jasons decorations work.

 - Jasons surface/view split.

 - logind changes from David.

 - Output cloning

 - wl_shm buffer truncate exploit fix from Neil

 - eglSwapInterval(0) (Neil)

 - Nested wl_buffer pass-through (Neil)

 - Touch grabs to enable touch-to-focus (Neil)

 - Default pointer grab patch from Giulio

 - Use gstreamer or libva helper library instead of direct
   libva use for weston encoding.

 - wl_subsurface scaling.


As always, many people did great work to make this release happen,
thanks to everybody involved:

  Aaron Faanes, Adrian Negreanu, Alexandru DAMIAN, Ander Conselvan de
  Oliveira, Andrew Wedgbury, Armin K, Axel Davy, Brian J Lovin, Brian
  Lovin, Bryce Harrington, Bryce W. Harrington, Chang Liu, Daiki Ueno,
  Daniel Stone, Eduardo Lima, Emilio Pozuelo Monfort, Giulio Camuffo,
  Hardening, Jason Ekstrand, Jiergir Ogoerg, José Bollo, Kristian
  Høgsberg, Louis-Francis Ratté-Boulianne, Maksim Melnikau, Marc
  Chalain, Marek Ch, Michael Fu, Neil Roberts, Paul Winwood, Peng Wu,
  Peter Hutterer, Pier Luigi Fiorini, Quentin Glidic, Rob Bradford,
  Rolf Morel, Rusty Lynch, Sam Spilsbury, Samuel Iglesias Gonsalvez,
  Stanislav Vorobiov, Stefan Schmidt, Tomeu Vizoso


More information about the wayland-devel mailing list