[ANNOUNCE] weston 12.0.0

Marius Vlad marius.vlad at collabora.com
Wed May 17 19:14:37 UTC 2023

Hi all,

This is the official release for weston 12.0.0.

Highlights for this release:

- backend-drm: multiple GPU support, by using --additional-devices to specify
  secondary DRM devices, in the form of a comma-separated list of devices.
  Inteded as separated output devices (KMS), not as render devices
- backend-drm: add support for HDMI content type: graphics, photo, cinema and
- backend-drm: Added support for tearing-control protocol
- backend-drm: Added plane rotation property and make use of when possible
- backend-drm: Added supported formats for writeback connectors, and with it
  a writeback screen shooter
- backend-drm: Added plane alpha DRM-property
- backend-drm: use libdisplay-info as a better alternative for parsing EDID

- backed-vnc: a new backend similar to backend-rpd, based on aml and neatvnc,
  with TLS support and user authentication. Both aml and neatvnc are set-up
  as subprojects

- backend-pipewire: added PipeWire backend

- backend-wayland: allow resizing with xdg-shell

- backend-rdp: preliminary rdp multi-head support 
  (and many other bug-fixes in-between)

- backend-headless: added output decorations for testing out the color-lcms

- launcher-logind has been deprecated and disabled by default. As
  launcher-libseat supports logind, this shouldn't cause any regressions

- libweston/desktop (formally libweston-desktop) would take into account client
  pending state, when there's no buffer attached. Useful in situations where the
  clients would like to start from the beginning in a maximized/fullscreen

- protocol: new screenshooter protocol: weston-output-capture. This new
  protocol is as a Weston public extension. The older weston-screenshooter
  protocol has been removed.

- xwayland: multiple fixes related to seat handling, selection and window
  state modifications
- xwayland: Add support for xwayland_shell_v1 protocol

- libweston: Add user authentication support via PAM
- libweston: update wl_output to version 4, to also include name and description 

- compositor: added a short-form for loading backends -- this allows the 
  use of "--backend=headless" instead of "--backend=headless-backend.so".
  Short-form for shells was also added: pass "--shell=foo", rather than
  "--shell=foo-shell.so". Renderers can be specified the same,
  by using "--renderer=gl|pixman"
  Backwards compatible with the older form still supported.

- clients/simple-egl: Dropped Y_INVERT linux-dmabuf flag. In order to keep the
  same orientation we had with that flag the client is now rendered up-side
  down (explicitly)
- clients/simple-egl: Implement fractional-scale protocol support
- clients/simple-egl: adds a vertical bar drawing mode, if started with -v, for testing
  out tearing

- simple-dmabuf-v4l: Add support to NV12 devices that combine planes

- ivi-shell: activate keyboard focus for xdg-shell surface, similar to how we
  handle keyboard input activation in desktop-shell and kiosk-shell. A few more
  updates have landed, as well as bug-fixes. Includes additional signal
  event handling (output creation and destruction) but also specific signals
  for controller destruction. Added input panel support

- many more bug-fixes across the board: desktop-shell, kiosk-shell, DRM virtual
  API (remoting/pipewire plugins) and screen-share module

Internal changes:

- backend-drm: avoid doing a modeset if max_bpc connector property is set,
  while the output is set to current

- Pixman/GL renderer and x11, rdp, wayland backends: the Pixman and GL renderer
  now supports resizing its shadow buffer, and with it the rdp, x11 and wayland
  backends now make use of it

- color-lcms: improvements in color transformation precision and performance

API changes:

- weston_log_paced() has been added which can help out to throttle messages

- added weston_shell_utils namespace: common shell-utils API which can be 
  reused by other shell clients. desktop-shell/kiosk-shell has been using
  these for some time, but it wasn't part of libweston until now

- make weston_head_set_device_changed() public

- introduction of weston_coord_surface_to_global(), weston_coord_global_to_surface(),
  weston_coord_surface_to_buffer(), weston_coord_global_from_output_point() and
  weston_matrix_transform_coord(). These are a family of coordinate vector
  structures for coordinate pairs. These have been extensively used in
  all compositor code and in libweston, together with the introduction
  of weston_coord

- added weston_surface_is_unmapping() for cases where the client is attaching
  an empty buffer (after having a previously valid one). This would also cause
  libweston/desktop to emit a weston_desktop_api_committed() call that can 
  be handled by a shell client implementing weston_desktop_api

- added weston_output_power_on() and its counter-part weston_output_power_off() 
  in order to handle multiple weston_output independently using their 
  power state (DPMS on/off)
Breaking changes for users:

- libweston-desktop DSO has been incorporated into libweston.  Linking now with
libweston would provide access to the former libweston-desktop library.  Users
of libweston-desktop would need to adjust their headers to
<libweston/desktop.h> rather than using <libweston-desktop/libweston-desktop.h>.
Otherwise, the API itself remains the same

- ivi-layout: simplify API - all struct ivi_layout_interface function pointers
have their return values removed

Marius Vlad (1):
      build: bump to version 12.0.0 for the official release

git tag: 12.0.0

SHA256: 91853c86472cc1311465d29cda5abbe987aff01af53a4406c4513b7a023aba8b  weston-12.0.0.tar.xz
SHA512: a3079be86e173ea3a216cf9c30738097fcf5e1b7c2de4c413a0fd4eb9f28d97fa4e378359a3f59485d282f9b2d7914584d0497a3436d4c3f22bc9bebf9733157  weston-12.0.0.tar.xz
PGP:    https://gitlab.freedesktop.org/wayland/weston/-/releases/12.0.0/downloads/weston-12.0.0.tar.xz.sig

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20230517/61dce9e0/attachment.sig>

More information about the wayland-devel mailing list