[ANNOUNCE] weston 1.12.0

Bryce Harrington bryce at osg.samsung.com
Wed Sep 21 00:31:19 UTC 2016

Welcome to the official release of Weston 1.12.

Weston's internal code has been restructured into a new software library,
libweston.  This is intended for use by other compositor efforts that
want to more easily utilize Weston's internal functionalities.  Weston's
own compositor is now a user of this library.

As well, another new library named libweston-desktop provides an
additional level of functionality of relevance to compositors
implementing a desktop metaphor style of graphical interface.  This
library API is designed around xdg_shell functionality, providing for
handling of popups, window state, and interfacing with Xwayland.

Both libweston and libweston-desktop should be treated as unstable
libraries (i.e. their APIs are subject to change).  A versioning scheme
has been adopted for their ABI provisioning to enable compile-time
detection of breaks.  In other words, this enables users to detect
incompatibilities at install-time in their packaging system, rather than
when they try to actually use the software.  The system is designed to
help not only with released Weston components but also to flag
inconsistencies when using development snapshots of the libraries, to
help developers avoid problems due to inconsistencies, too.

Support for the new version 6 of the xdg_shell protocol has been
implemented in the Weston compositor, and all clients are ported to it.
See the wayland-protocols 1.7 release notes for details on the included

A pointer locking and confinement API is implemented for Weston using
the wp_pointer_constraints protocol, to allow clients to define window
regions to confine the pointer to.  These regions can be irregular; a
client is included to demonstrate confinement to a H-shaped region, for
example.  A relative pointer protocol (using wl_relative_pointer) has
also been introduced, which allows clients to continue receiving pointer
movement deltas even when the pointer's absolute position is clipped for
example to the edge of the monitor.

The Raspberry Pi backend (rpi-backend) and renderer have been dropped.
This code was reliant on a proprietary driver stack, and proved not to
be maintainable within Weston.

Several other features, build improvements, bug-fixes, code
refactorings, refinements to destruction processes, and so on are
included.  See below for the full list of changes.

Changes since 1.11:
    Armin Krezović (26):
      compositor-headless: Support starting with zero outputs
      desktop-shell: Return NULL when no outputs are present
      toytoolkit: Return NULL when no outputs are present
      desktop-shell: Avoid NULL pointer dereference
      fullscreen-shell: Avoid NULL pointer dereference
      keyboard: Only set toplevel when there is a valid output
      gl-renderer: Always setup gl-renderer
      compositor: Untangle surface/view is_mapped from output assignments
      desktop-shell: update for manual surface/view mapping
      fullscreen-shell: update for manual surface/view mapping
      ivi-shell: update for manual surface/view mapping
      tests: update for manual surface/view mapping
      compositor: Switch to new surface/view mapped checks
      compositor-x11: Flush xcb connection from x11_output_destroy()
      compositor: Extend compositor user data
      compositor-drm: Do not return an error when no connectors are configured
      compositor-drm: Do not exit when there are no outputs left
      compositor-headless: Use non-cast functions to retrieve backend and output objects
      compositor-rdp: Use non-cast functions to retrieve backend and output objects
      compositor-wayland: Use non-cast functions to retrieve backend and output objects
      compositor-x11: Use non-cast functions to retrieve backend and output objects
      compositor-drm: Use non-cast functions to retrieve backend and output objects
      compositor: Mark all views as dirty when a new output is assigned
      gl-renderer: Make dummy surface current after all outputs are gone
      libweston: fix animation crash when a view has no output assigned
      fullscreen-shell: Ensure that fs surface is presented on all outputs

    Arnaud Vrac (1):
      fullscreen-shell: avoid access to freed data

    Benoit Gschwind (3):
      compositor-x11: fix title overflow in x11_backend_create_output
      compositor-x11: add assert to avoid misuse of x11_backend_deliver_button_event
      compositor-x11: remove redundant state arg of x11_backend_deliver_button_event

    Bryce Harrington (53):
      releasing: Copyedit post-release branching directions
      weston-simple-im: Make capitalization consistent in error messages
      Make config.h inclusion consistent
      terminal: Document console codes less cryptically
      input: Rename weston_surface_activate to weston_seat_set_keyboard_focus
      input: Move weston_seat_set_keyboard_focus and document
      README: Fix punctuation errors
      xwayland: Include missing config.h
      xwayland: Cleanup error message on spawn failure Signed-off-by: Bryce Harrington <bryce at osg.samsung.com>
      xwayland: Grammar fixes
      dmabuf: Fix grammar in a comment
      README: Fix grammar for 'an X*'
      config-parser: Improve error checks for strtol/strtoul calls
      option-parser: Require integer option string values to be base-10
      multi-resource: Check for no digits in time description
      rdp: Check for non-numeric value in RDP_FD env var
      rdp: Check for non-digits and errno in strtol call
      config-parser: Catch negative numbers assigned to unsigned config values
      Include space in 'if ('
      Require base-10 for strtol() calls
      systemd: Also force base-10 for the strtol() call
      Revert "config-parser: Catch negative numbers assigned to unsigned config values"
      config-parser: Add weston_config_section_get_color
      Re-apply "config-parser: Catch negative numbers assigned to unsigned config values"
      Standardize error checking for strtol calls
      xwayland: Improve error checking for strtol call
      option-parser: Improve error checking for strtol call
      Add safe_strtoint() helper
      Switch to use safe_strtoint instead of strtol
      configure.ac: bump to version 1.11.91 for the alpha release
      config-parser: Drop debug text
      desktop-shell: Enable per-output fade animations
      compositor: Add internal support to track idle inhibition requests
      compositor: Add public interface support for client-requested idle inhibition
      libweston: Add a signal to fire when the idle inhibitor is dropped
      libweston-desktop: Add listener and API to drop the idle inhibitor
      shell: Inhibit idle fade-out behavior
      clients: Add screensaver inhibitor client demo
      releasing: Fix incorrect direction about how many lines need tweaked
      configure.ac: bump to version 1.11.92 for the beta release
      Revert "clients: Add screensaver inhibitor client demo"
      Revert "shell: Inhibit idle fade-out behavior"
      Revert "libweston-desktop: Add listener and API to drop the idle inhibitor"
      Revert "libweston: Add a signal to fire when the idle inhibitor is dropped"
      Revert "compositor: Add public interface support for client-requested idle inhibition"
      Revert "compositor: Add internal support to track idle inhibition requests"
      Revert "desktop-shell: Enable per-output fade animations"
      configure.ac: (Re-)bump to version 1.11.92 for the beta release
      clients: Use ARRAY_LENGTH macro in weston-simple-im
      terminal: Fix crash due to race condition in init
      configure.ac: bump to version 1.11.93 for the RC1 release
      configure.ac: bump to version 1.11.94 for the RC2 release
      configure.ac: bump to version 1.12.0 for the official release

    Daniel Stone (2):
      screen-share: Use wet_get_config()
      Build: Silence shift-negative-value warning

    David Fort (3):
      rdp: don't release the seat until it is safe v2
      compositor: recompute output position on mode switch
      desktop-shell: resize background and panel surfaces on output resize v4

    Derek Foreman (2):
      compositor-drm: Stop sending uninit data to the kernel
      weston-editor: Close the data source after sending

    Emil Velikov (24):
      README: clarify libweston purpose/goals.
      README: minor the libweston ABI/API documentation
      client/nested: reuse weston-egl-ext.h declarations
      weston-egl-ext.h: add EGL_EXT_swap_buffers_with_damage definitions
      weston-egl-ext.h: add EGL_MESA_configless_context definitions
      weston-egl-ext.h: add GL_EXT_unpack_subimage definitions
      gl-renderer: remove EGL_EXT_image_dma_buf_import guards
      simple-egl: remove incomplete EGL_EXT_buffer_age definition
      shared/platform.h: add missing stdbool.h include
      libweston: don't install shared/platform.h
      gl-renderer: move check_extension() to shared/
      shared/platform.h: use weston_check_egl_extension over strstr
      clients/nested: use weston_check_egl_extension over strstr
      clients/simple-egl: use weston_check_egl_extension over strstr
      weston-egl-ext.h: add EGL platform definitions
      gl-renderer: remove local EGL platform (re)definitions
      shared/platform.h: remove the local EGL platform (re)definitions
      automake: list the the builddir include before the srcdir
      automake: add missing git-version.h dependency
      README: Document versioning scheme, forward compatibility
      libweston: use new versioning scheme
      libweston: remove pkgincludedir variable from libweston.pc
      automake: list static libraries before the shared ones
      README: fix s/libwayland/libweston/ typo

    Emmanuel Gil Peyrot (2):
      Remove a wrong closing “extern "C"” in shared/xalloc.c
      compositor-wayland: Only destroy the egl_window when using GLES.

    Giulio Camuffo (9):
      Rename weston_compositor_xkb_init to weston_compositor_set_xkb_rule_names
      Move part of screenshooter.c to weston-screenshooter.c
      Move the functions launching clients to main.c
      compositor: remove the weston_config field in weston_compositor
      libinput: don't use weston_config when configuring input devices
      allow compositors to define the logging behavior
      Split the modules and include files between weston and libweston
      Create a libweston-0.so
      xwayland: make the plugin usable by libweston compositors

    Jonas Ådahl (31):
      input: Activate view no matter the keyboard focus
      desktop-shell: Track the black surface by its view
      desktop-shell: Change switcher to track views
      desktop-shell: Make activate() take a view instead of surface
      desktop-shell: Pass a flag bitmask instead of bool to activate()
      compositor: Keep track of what views were activated by clicking
      libinput: Expose unaccelerated motion deltas in motion event struct
      input: Provide microsecond timestamps in motion events
      Implement the relative pointer protocol
      compositor: Add surface commit signal
      compositor: Pass both surface and seat in activation signal
      weston-pointer: Add destroy signal
      input: Split out motion sending from default grab
      input: Split out pointer button sending from grab handler
      Implement pointer locking and confinement
      clients: Add API for pointer locking and pointer confinement
      clients/resizor: Use pointer locking for resizing window
      clients: Fork clickdot as confine
      clients/confine: Use pointer confinement to confine drawed line
      input: Support non-rectangular pointer confine regions
      clients/confine: Reset motion lines on Backspace
      window: Add API for manually set confine region
      clients/confine: Add option for using a more complex confine region
      clients/confine: Toggle maximized state with 'm'
      Makefile.am: Include files built for libweston-desktop in BUILT_SOURCES
      toytoolkit: Port to xdg_shell unstable v6
      clients/simple-egl: Port to xdg_shell unstable v6
      clients/simple-shm: Port to xdg_shell unstable v6
      clients/simple-damage: Port to xdg_shell unstable v6
      clients/simple-dmabuf-intel: Port to xdg_shell unstable v6
      clients/simple-dmabuf-v4l: Port to xdg_shell unstable v6

    Jussi Kukkonen (1):
      include stdint.h for int32_t/uint32_t

    Pekka Paalanen (49):
      configure.ac: bump version to 1.11.90 for open development
      ivi-shell: add API for weston_surface -> ivi_layout_surface
      Remove Raspberry Pi backend and renderer
      main: remove load_backend_old()
      compositor,main: use weston_compositor_load_backend()
      libweston: remove unused backend_init() arguments
      libweston: use enum to choose the backend
      main: remove unused argument from backend loaders
      compositor: migrate to stable viewporter.xml
      compositor: rename scaler to viewport(er)
      clients/scaler: migrate to wp_viewporter
      clients/simple-damage: migrate to wp_viewporter
      protocol: remove scaler.xml
      compositor: fix wp_viewport use after free
      compositor: check viewport source rect validity
      compositor: check viewport dst size validity
      compositor: fix wp_viewport.set_source errors
      tests: add wp_viewporter tests
      configure: remove the result line for BCM headers
      compositor-fbdev: drop EGL support
      main: report presentation clock resolution
      clients/dmabuf-intel: use three buffers
      tests: check kbd init in the plugin
      compositor-headless: do not create a seat
      Move weston source to compositor/
      Rename src/ to libweston/
      tests: fix the cursor race in internal-screenshot
      main: log the command line
      tests: print the command line to log
      tests: introduce struct buffer for client-helper
      tests: event-test to use create_shm_buffer_a8r8g8b8()
      tests: internal-screenshot-test to use create_shm_buffer_a8r8g8b8()
      tests: ivi_layout-test to use create_shm_buffer_a8r8g8b8()
      tests: make create_shm_buffer() static
      tests: let create_shm_buffer() handle any format
      tests: rewrite check_surfaces_*() API
      tests: convert reference image loader to pixman
      tests: convert image saver to pixman
      tests: make screenshooting return a buffer
      tests: implement visualize_image_difference()
      compositor: add plugin-registry
      libweston: fix major in libweston.pc
      configure: bump Wayland requirement to 1.11.90
      releasing: how to handle libweston
      README: updates on libweston versioning
      configure.ac: bump libweston version to match weston
      configure.ac: check weston vs. libweston versions
      clients/dmabuf-v4l: explain vivid setup
      gl-renderer, simple-dmabuf-v4l: fix dmabuf y-invert

    Quentin Glidic (30):
      libweston: Implement wl_output version 3 (release request)
      input: Add helpers for all keyboard/pointer/touch events
      libweston: Rename weston_surface::configure to ::committed
      Introduce libweston-desktop
      xwayland: Introduce a private struct for XWayland interface
      desktop-shell: Port to libweston-desktop
      libweston-desktop: Fix libweston-desktop.pc
      libweston-desktop: Implement xdg_shell_v6
      libweston-desktop/xdg_shell_v6: Check for buffer directly in committed
      libweston-desktop: Drop (wrongly named) new_buffer in committed
      gl-renderer: Silence maybe-uninitialized warning
      shared/image: Silence maybe-uninitialized warning
      libweston: Silence tautological-compare warning
      libweston/launcher-weston-launch: Silence unused-function warning
      weston-launch: Only run a login shell for new sessions
      Makefile.am: Fix libtool race
      desktop-shell: Properly destroy the weston_desktop_view
      libweston-desktop: Rename _destroy_view to _unlink_view
      libweston-desktop/xwayland: Actually destroy the view
      libweston-desktop/{wl_shell, xwayland}: Fix changing between toplevel states
      desktop-shell: Fix output destroying
      libweston: Drop shell_interface
      libweston-desktop/xwayland: Do not over-destroy the view
      desktop-shell: Unset fullscreen/maximized state on commit
      desktop-shell: Add back the saved position and rotation for fullscreen/maximized
      libweston-desktop/xdg_shell_v5: Add surface as needed
      Revert "terminal: Fix crash due to race condition in init"
      libweston-desktop/xdg_shell_v6: Add surface as needed
      libweston-desktop/xdg_shell_v6: Raise errors on not-yet-possible requests
      libweston-desktop: Fix configure event for already well-sized surfaces

    Tom Hochstein (1):
      weston-launch: Handle invalid command line options

    Tomi Valkeinen (1):
      compositor-drm: support RGB565 with pixman renderer

    Ucan, Emre (ADITG/SW1) (4):
      ivi-shell: remove ivi_layout_get_weston_view
      ivi-shell: add surface_created listener after launchers
      ivi-shell: introduce ivi_layout_view
      ivi-shell: implement surface_on_many_layer test

    Yann E. MORIN (1):
      libweston/compositor-rdp: fix no-break space U+A0 (U8+C2A0)

    Yong Bakos (3):
      compositor-wayland: Correct output base make name
      gitignore: Ignore weston-confine client
      compositor-drm: Zero drmModeAddFB2 data

git tag: 1.12.0
MD5:  310af6d7f8ba03c3418cec8ad72ea748  weston-1.12.0.tar.xz
SHA1: 36f1a31a32964be8ec782898cc31c70c90ba5697  weston-1.12.0.tar.xz
SHA256: ac7ac2a32e3b9f50131fccded5d2326bd36b2226712d90b61999118a09af5033  weston-1.12.0.tar.xz
PGP:  http://wayland.freedesktop.org/releases/weston-1.12.0.tar.xz.sig

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20160920/ceb5e6c4/attachment-0001.sig>

More information about the wayland-devel mailing list