[ANNOUNCE] weston 12.0.91

Marius Vlad marius.vlad at collabora.com
Mon Oct 16 19:30:12 UTC 2023


Hi all,

This is the alpha release for Weston 13.0.0.

Notes for packagers:

- backend-vnc requires Neat VNC 0.7.0
- launcher-logind has been removed

Thanks to all contributors!

Full history commit below:

Alexandros Frantzis (3):
      xwayland: Allow shells to make xwayland surfaces fullscreen
      xwayland: Notify the shell when a window drops the fullscreen state
      desktop-shell: Don't process surfaces under destruction during output resize

Brendan King (1):
      xwayland: fix segfault when running x11perf

Christopher Obbard (2):
      libweston: Decouple dbus helper to public namespace
      libweston: Split dbus support into seperate build option

Daniel Stone (153):
      CI: Upgrade ci-templates version
      CI: Parameterise LLVM version
      CI: Rename debian jobs to debian-lts
      CI: Force pip to install packages
      CI: Bump virtme snapshot version
      CI: Upgrade Mesa and kernel
      CI: Add Debian bookworm jobs
      CI: Require wayland 1.22 for wl_client_add_destroy_late_listener
      frontend: Move path into weston_process
      frontend: Remove process_info
      frontend: Rename weston_process to wet_process
      frontend: Inline wet_watch_process
      frontend: Rename weston_client_start to wet_client_start
      frontend: Add data argument to wet_process cleanup
      frontend: Allow NULL wet_process cleanup handler
      frontend: Allocate new wet_process for Xwayland
      frontend: Make wet_client_launch allocate new wet_process
      frontend: Inline process_handle_sigchld
      frontend: Factor out wet_process_destroy
      xwayland: Only pass Xwayland wl_client to libweston
      tests/xwayland: Ensure $DISPLAY is correctly set
      xwayland: Remove process exit status from libweston API
      xwayland: Rename destroy_listener to be more explicit
      xwayland: Add client destroy listener
      frontend: Return user-data pointer from Xwayland init
      frontend: Explicitly destroy Xwayland from frontend code
      frontend: Clean up wet_processes on exit
      libweston: Add weston_compositor.shutting_down
      backend-drm: Use weston_compositor.shutting_down
      desktop-shell: Don't restart client on exit
      text-backend: Don't restart client on exit
      backend-drm: Don't leak writeback-format property blob
      tests/drm: Fix leaks in drm-writeback-screenshot-test
      CI: Enable ASan memory-leak checking
      surface: Convert a couple of ints to bools
      surface: Move presentation-feedback discard to commit
      surface: Start tracking weston_surface_status
      surface: Only rebuild paint node regions when necessary
      surface: Convert a couple of bools to dirty flags
      surface: Inline buffer-size calculation to attach
      surface: Pass weston_surface_state into attach
      build: Switch join_paths(foo, bar) to foo / bar
      build: Run tests with leak-sanitizer suppressions
      CI: Remove per-test-asan wrapper
      weston_surface: Add map and unmap signals
      desktop-shell: shell_surfaces always have a layer
      desktop-shell: Actually dirty surface regions when moving
      desktop-shell: Don't damage unmapped views
      desktop-shell: Make view mapping more consistent
      desktop-shell: Centralise view mapping for shell_surfaces
      weston-desktop: Match desktop-shell view mapping semantics
      libweston: Add weston_view::map_signal
      desktop-shell: Use weston_view_move_to_layer() for fullscreen switching
      desktop-shell: Use weston_view_move_to_layer() for fullscreen fades
      desktop-shell: Use weston_view_move_to_layer() for per-view unfade
      desktop-shell: Create fade-out views at destroy time
      desktop-shell: Use weston_view_move_to_layer() for fullscreen background
      desktop-shell: Use weston_view_move_to_layer() for static views
      desktop-shell: Use weston_view_to_layer() for lock surface
      desktop-shell: Be more precise with rotation damage
      kiosk-shell: Use weston_view_move_to_layer() for activation
      kiosk-shell: Use weston_view_move_to_layer() for background
      kiosk-shell: Use weston_view_move_to_layer() for view activation
      fullscreen-shell: Use weston_view_move_to_layer()
      weston-test-desktop-shell: Use weston_view_move_to_layer()
      build: Avoid Meson warning for run_command() without check
      tests: Remove single case for device destroy test
      tests: Pass wet_testsuite_data to test runs
      tests: Track weston_outputs in weston-test plugin
      tests: Add client<->compositor breakpoint support
      tests: Add paint-node test
      tests: Initialise breakpoint list for all test types
      desktop-shell: Remove unused fullscreen transform
      surface: Only rebuild surface size where necessary
      surface: Replace newly_attached with weston_surface_status
      surface: Replace viewport.changed with weston_surface_status
      surface: Add comments to weston_surface_status member
      surface: Add position dirty member
      surface: Require wl_surface.attach for damage processing
      surface: Flatten apply_buffer_damage()
      surface: Add buffer-params dirty flag
      surface: Add input-region dirty flag
      Split weston_view_create() into public and internal
      surface: Use parent_view to find subsurface views
      surface: Unmap subsurface views when parent is unmapped
      surface: Unmap subsurface views, not surface, on parent destroy
      surface: No need to unmap views before destroy
      surface: Add test for recursive subsurface unmapping
      surface: Ensure view is unmapped before destroy signal
      view: Update child view transforms from parent
      surface: Assert unused subsurface views are not mapped
      surface: Propagate surface status through commit call tree
      surface: Only rebuild subsurface lists when necessary
      view: Add weston_view_geometry_dirty_internal()
      view: Add view_list_needs_rebuild member
      view: Create subsurface views in weston_view_create()
      view: Mark view list as dirty when destroying mapped view
      view: Add weston_view_set_alpha()
      view: Add weston_view_add_transform and weston_view_remove_transform
      view: Destroy subsurface views with their parents
      surface: Create subsurface views when linking surface to parent
      surface: Don't create new views in view_list_add()
      surface: Remove weston_subsurface.unused_views
      tests: Move surface mapping earlier in surface-shell
      tests: Use weston_view_move_to_layer()
      tests: Don't remap surfaces with NULL buffer
      tests: Check that test-surface unmaps on NULL
      backend-wayland: Free pixel formats on shutdown
      frontend: Fix build error when Xwayland disabled
      view: Schedule view repaint when changing properties
      desktop-shell: Remove unnecessary repaint schedules
      input: Remove unnecessary repaint schedules
      animation: Remove unnecessary repaint schedule
      input: Don't schedule repaints for drag-and-drop
      desktop-shell: Use weston_view_move_to_layer() for minimised views
      desktop-shell: Deduplicate center_on_output() in fullscreen
      desktop-shell: Deduplicate center_on_output() in fullscreen
      desktop-shell: Use weston_view_move_to_layer() for fullscreen
      desktop-shell: Assume fullscreen views are mapped
      desktop-shell: Delete pointless function wrapper
      desktop-shell: Flatten and rename shell_configure_fullscreen()
      desktop-shell: Simplify confusing conditional
      desktop-shell: Remove yet another center_on_output()
      desktop-shell: Simplify condition for focus change
      desktop-shell: Use weston_view_move_to_layer for focus animation
      desktop-shell: Don't set alpha for unused views
      desktop-shell: Create focus surfaces for animation up front
      desktop-shell: Clean up animate_focus_change()
      desktop-shell: Initialise lists earlier
      desktop-shell: Reject invalid focus types in configuration
      desktop-shell: Regularise focus_animation_type checks
      desktop-shell: Don't open-code animate_focus_change()
      desktop-shell: Remove manual damage for minimised surfaces
      desktop-shell: Use weston_view_move_to_layer() in switcher
      surface: Don't re-map already-mapped surfaces
      surface: Add weston_surface_is_mapping()
      surface: Check parents in weston_surface_is_mapped()
      kiosk-shell: Delete nonsensical is_mapped check
      desktop-shell: Don't lose track of background/panel views
      desktop-shell: Don't allow multiple special surfaces
      desktop-shell: Remove useless surface-gone messages
      desktop-shell: Clean up surface/view mapping for special surfaces
      desktop-shell: Store pointers to special-surface views
      desktop-shell: Pass shell_output as special-surface private
      desktop-shell: Directly look up output panel view
      desktop-shell: Regularise panel position
      desktop-shell: Use saved panel position
      desktop-shell: Inline configure_static_view for background
      desktop-shell: Inline configure_static_view for panels
      desktop-shell: Use consistent surface-has-content check for lock
      desktop-shell: Create lock surface view when mapped
      desktop-shell: Use weston_view_move_to_layer() for input panels
      desktop-shell: Map input panel surfaces before views

Derek Foreman (80):
      libweston: use weston_coord for weston_view_set_position
      libweston: Use weston_coord in struct weston_output
      libweston: Use weston_coord in struct weston_touch
      libweston: Add weston_coord_truncate()
      libweston: Add getters for view position/offset
      libweston: Add more weston_coord arithmetic helpers
      desktop-shell: use weston_coord in weston_move_*_grab
      kiosk-shell: Use weston_coord for grabs
      desktop-shell: Pass a weston_coord to calc_input_panel_position
      toy-toolkit: Fix rotations
      tests: Don't wait for frame callbacks when a surface is on no outputs
      data-device: Don't make a weston_coord with no valid space
      libweston: Build z_order_list after view_list
      libweston: Build view list for all outputs at once
      libweston: Only create paint nodes for the correct output
      libweston: delete paint nodes on view unmap
      libweston: Cull paint nodes when their views aren't on their outputs
      libweston,backends: assert if z_order_list contains pnodes for wrong output
      libweston: Move output damage subtraction out of backends
      libweston: Replace weston_output_damage() with a flag
      libweston: Update paint nodes in weston_output_repaint
      libweston: Add visible region to weston_view
      libweston: Separate damage accumulation from visibility calculation
      libweston: Fix up the paint node status bitfield
      libweston: Track visibility in paint nodes
      libweston: Post damage intentionally when remapping a subsurface view
      libweston: Track plane in paint node instead of view
      libweston: Track damage on paint nodes instead of planes
      libweston: Add a paint node content dirty bit
      libweston: Remove view clip region
      libweston.h: Move struct weston_plane earlier in the file
      drm: Don't stack sprite planes above primary on init
      tests: prevent tests from breaking when they use invalid weston_compositor
      libweston: have one primary_plane per output
      drm: allow views on more than one output to be on a plane
      libweston: Remove overlapping output checks
      xwayland: Fix assert with some parented windows
      libweston-desktop: Unset use_geometry when unsetting relative_to
      xwayland: Use weston_coord
      desktop-shell: Use weston_coord for configure_static_view
      libweston: Replace struct_weston_position with weston_coords
      desktop-shell: store xwayland positions in weston_coord
      libweston: Remove plane clip
      paint_node: Fix paint_node_damage_below
      libweston: Fix "fix paint_node_damage_below"
      libweston: Delete paint nodes when views change layers
      libweston: Rebuild view list after adding an output
      desktop-shell: Remove useless setting of shell_fade output
      desktop-shell: assert if the shell startup animation type is unsupported
      desktop-shell: Revert 'Enable per-output fade animations'
      desktop-shell: Use the combined size of all outputs for the fade curtain
      desktop-shell: Don't try to notice disappearing outputs during fade
      clients: Add opaque region setting to simple-damage
      input: Fix pointer hotspot coordinate space
      matrix: add weston_coord_surface_invert()
      libweston: Add weston_view_set_position_with_offset
      libweston: Use weston_coord for touch interfaces
      kiosk-shell: Use weston_coord for xwayland window position
      shells: Use weston_coord for shell API
      input: Use weston_coord in the cursor confinement code
      desktop-shell: Use weston_coord for constrain_position
      shell-utils: Use weston_coord in curtain params
      launcher: Remove launcher-logind
      Revert "launcher: Remove launcher-logind"
      launcher-libseat: Don't depend on dbus
      launcher-libseat: Rename libseat_dep
      launcher: Drop drm dependency
      launcher: Remove launcher-logind
      libweston: Remove dbus helpers
      libweston: Use weston_coord_surface in weston_surface_state
      libweston: Make a common helper for clamping a coord to an output
      libweston: Make better use of global coord helpers
      libweston: Add and use weston_coord_surface_add/sub helpers
      libweston: Consider output power state when selecting primary
      libweston: Reconsider view primary output on output power change
      libweston: Prefer primary backend when assigning outputs to views
      backend-drm: Fix visibility calculation
      libweston: fix output clamp helper
      input: avoid crash by using surface directly
      headless: Enable use as a secondary backend

Joshua Watt (1):
      Check weston_head_from_resource for NULL return

Leandro Ribeiro (15):
      color-lcms: do not repeat call to check if log scope is enabled
      color-lcms: print curve sets on pipeline optimizer debug scope
      drm: drop disable_planes being false as a condition to support writeback
      drm: do not pull writeback task if KMS atomic API is not supported
      tests: assert that capture info was received before trying screenshot
      backend-drm: fix possible leak of struct drm_output
      color-lcms: minor indentation fix to pipeline optimizer debug scope
      color-lcms: move code that depend on cmsGetToneCurveSegment() to new file
      color-lcms: drop inverse curve sets in sequence
      color-lcms: merge power-law curve sets
      tests: add color pipeline optimizer tests
      color-lcms: rename curve_set_print() to curveset_print()
      color-lcms: properly print 16-bit sampled curves
      color-lcms: increase float precision to print segment breaks
      linux-dmabuf: replace assert with the new weston-assert

Liu, Kai1 (1):
      xwm: WM_TRANSIENT_FOR should not point to override-redirect window

Loïc Molinari (9):
      gl-renderer: Clip and dispatch vertices in surface coord space
      gl-renderer: Decouple coord space transformation from clipper
      gl-renderer: Derive texcoords from position in the vertex shader
      gl-renderer: Store clipped vertices directly into the vertex buffer
      gl-renderer: Use simple clipper on translated and/or scaled nodes
      gl-renderer: Get rid of axis-aligned bbox check in simple clipper
      gl-renderer: Update HTTP links to vertex clipping resources
      gl-renderer: Move clip_quad() to clipper
      gl-renderer: Make clip_transformed() surf parameter constant

Loïc Yhuel (3):
      libweston: Do not include private headers in shell-utils.h
      gl-renderer: Do not attach the first buffer twice
      gl-renderer: use correct read-back format and support WL_SHM_FORMAT_ABGR8888

Marek Vasut (1):
      backend-drm: document additional-devices parameter

Marius Vlad (25):
      meson.build: reopen main for regular development
      libweston,shared/meson:build Add xkbcommon missing depends
      tests/meson.build: Add missing dependency for xcb-client-helper
      meson.build: Bump libweston major version to 13
      libweston/weston-log: Add a iterator helper for debug scope
      libweston/backend-headless: Remove cleanup_after_cairo()
      gitlab-ci/leak-sanitizer.supp: Suppress entire libfontconfig
      virtme-scripts: Add LSAN_OPTION
      desktop-shell: Do another update transform
      clients/window: Update min_allocation for smaller widths/heights
      desktop-shell: Use a common helper to handle surface resizes
      desktop-shell: Keep track of shsurf being created/removed
      desktop-shell: Handle all other shsurfs
      backend-drm: Make DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP inert
      Revert "clients/window: Update min_allocation for smaller widths/heights"
      backend-drm/meson.build: Require at least mesa 21.1.1
      desktop-shell: Don't reposition windows on every resize
      kiosk-shell: Don't attempt to activate a window
      kiosk-shell: Make sure we have seat focused_surface
      backend-wayland: Don't signal out resize events for activation
      desktop-shell: Branch out the set_maxime/unset_full
      neatvnc.wrap: Update to neatvnc 0.7.0
      compositor/main: Re-work plug-in loading to avoid an invalid color manager
      compositor/main: put remoting/pipewire outputs to the right
      build: bump to version 12.0.91 for the alpha release

Max Ihlenfeldt (2):
      gl-renderer: Always initialize variable
      initialize fourcc with DRM_FORMAT_INVALID

Michael Olbrich (2):
      backend-wayland: fix --fullscreen
      libweston: don't return buffers early with multiple backends

Michael Tretter (9):
      backend-pipewire: remove duplicate empty line
      backend-pipewire: remove unused fields from pipewire_frame_data
      backend-pipewire: move pixman setup into helper functions
      backend-pipewire: move pixman renderbuffer creation to helper
      backend-pipewire: add local variables for spa_buffer and data
      backend-pipewire: make renderer initialization depend on renderer
      backend-drm: print failing output in error message
      backend-drm: add config option require-outputs
      backend-drm: change default for required-outputs to any

Pekka Paalanen (8):
      man: make --wait-for-debugger findable
      doc: set language for Sphinx
      build: use project_source_root()
      build: use full_path()
      backend-drm,pipewire,remoting: do not set monitor serial to "unknown"
      libweston: use xstrdup for head strings
      libweston: set default monitor strings
      shared: add weston-assert

Philipp Zabel (86):
      gl-renderer: split buffer age query out of output_get_damage
      gl-renderer: track damage on dummy renderbuffers
      gl-renderer: remove old damage tracking
      pixman-renderer: Add to_pixman_renderbuffer helper
      backend-wayland: fix memory leak in wayland_shm_buffer_attach
      gl-renderer: add framebuffer object name to gl_renderbuffer
      pixel-formats: Add gl_internalformat
      gl-renderer: add FBO output support
      backend-headless: render to FBO instead of pbuffer
      gl-renderer: remove backend pbuffer support
      gl-renderer: remove pbuffer dummy surface
      renderer-gl: drop unused fields from struct gl_fbo_texture
      gl-renderer: split gl_renderer_do_read_pixels out of gl_renderer_do_capture
      gl-renderer: support automatically downloading FBO renderbuffers
      backend-vnc: GL renderer support
      backend-pipewire: add GL renderer support
      backend-wayland: track damage on renderbuffers
      libweston: damage moved outputs
      gl-renderer: fix FBO renderbuffer download extents
      backend-rdp: bring back shadow_surface image
      backend-rdp: move code to prepare for GL renderer support
      backend-rdp: add pixel format info array
      backend-rdp: GL renderer support
      backend-vnc: use weston_region_global_to_output
      backend-vnc: render bypass support
      libweston: prefer active, high refresh rate outputs during surface assignment
      gl-renderer: clear renderer pointer in gl_renderer_destroy
      backend-wayland: fix error path in wayland_backend_create
      libweston: add weston_backend::shutdown callback
      backend-wayland: use to_wayland_backend
      libweston: move weston_compositor_shutdown call out of backends
      doc: Add systemd-notify.so module to systemd unit example
      libweston: deduplicate compositor shutdown in backend_init failure path
      backend-x11: Prepare for more renderers, reject no-op
      backend-wayland: Prepare for more renderers, reject no-op
      backend-rdp: extract weston_output_set_single_mode()
      backend-vnc: use weston_output_set_single_mode()
      frontend: Add tls-cert and tls-key config options
      man: Document tls-cert and tls-key config options
      hmi-controller: Do not call hmi_controller_destroy() from _create()
      libweston: Add output parameter to weston_renderer::flush_damage()
      renderer-gl: only flush damage for surfaces used in the next output repaint
      libweston: Document struct weston_mode
      doc: add workaround for doxygen 1.9.6 bug with cairo >= 1.17.6
      ivi-layout: Use weston_view_add/remove_transform()
      ivi-layout: Use weston_view_set_alpha()
      ivi-layout: Use weston_view_move_to_layer()
      ivi-layout: Remove weston_view_schedule_repaint()
      gl-renderer: Stop reading presentation clock without shaders to time
      libweston: Set the presentation clock in the compositor
      libweston: Prepare weston_compositor_backends_loaded for extension
      libweston: Move color manager fallback into weston_compositor_backends_loaded()
      helpers: Add an integer division helper that rounds up
      backend-pipewire: make sure to finish frames with timestamps in the past
      backend-vnc: make sure to finish frames with timestamps in the past
      backend-rdp: make sure to finish frames with timestamps in the past
      backend-x11: fix output repaint timing
      backend-pipewire, libweston: Extract weston_output_arm_frame_timer()
      backend-rdp: Use weston_output_arm_frame_timer()
      backend-vnc: Use weston_output_arm_frame_timer()
      backend-x11: Use weston_output_arm_frame_timer()
      backend-pipewire, libweston: Extract weston_output_finish_frame_from_timer()
      backend-vnc: Use weston_output_finish_frame_from_timer()
      backend-rdp: Use weston_output_finish_frame_from_timer()
      backend-x11: Use weston_output_finish_frame_from_timer()
      libweston: store backends in a list
      libweston: use weston_compositor::backend_list instead of ::backend
      libweston: intersect all backends' supported presentation clocks
      libweston: allow loading multiple backends
      compositor: per-backend head change listener and output configurator
      compositor: enable loading multiple backends
      backend-drm: enable multi-backend support
      backend-headless: enable multi-backend support
      backend-pipewire: enable multi-backend support
      backend-rdp: Enable multi-backend support
      backend-vnc: enable multi-backend support
      backend-wayland: multi-backend support
      backend-x11: enable multi-backend support
      libweston: drop workaround for multi-backend incapable backends
      doc, man: document multi-backend support
      libweston, compositor: let weston_compositor_load_backend return backend
      libweston: add explicit weston_compositor::primary_backend pointer
      ci, backend-vnc: update to Neat VNC 0.7.0
      backend-vnc: Implement output resizing
      compositor, backend-vnc: Allow to disable output resizing
      man: Document VNC output section

Robert Mader (6):
      clients/simple-egl: Use interface name variables
      clients/simple-dmabuf-v4l: Use interface name variables
      client/simple-dmabuf-v4l: Add fullscreen support
      clients/simple-dmabuf-v4l: Add pointer support
      pixel-formats: Add P010/P012/P016 formats
      renderer-gl: Add YUV format descriptors for P010/P012/P016

Sergio Gómez (16):
      libweston/input: Move activation signal logic out of keyboard focus function
      libweston: Store view instead of surface, and add flags, to activation data
      libweston: Introduce WESTON_ACTIVATE_FLAG_FULLSCREEN in weston_activate_flag
      desktop-shell: Check that fullscreen surface actually has a black view
      desktop-shell: Activate shell surface when client requests fullscreen
      libweston/input: Use WESTON_ACTIVATE_FLAG_FULLSCREEN in activation logic
      tests: Add a button binding to weston-test-desktop-shell
      tests: Add basic testing for pointer constraints protocol
      clients: Replace 'confine' client to showcase pointer constraints in general
      kiosk-shell: Introduce surface tree lists to the kiosk shell
      kiosk-shell: Introduce an "active surface tree" for each kiosk shell output
      kiosk-shell: Handle relinking of surface trees when setting a parent
      kiosk-shell: Distinguish between 'destroy_signal' and 'parent_destroy_signal'
      kiosk-shell: Redesign the function 'find_focus_successor()'
      kiosk-shell: Set the new active surface tree for inactive focus successor
      kiosk-shell: Implement new view layer handling logic in surface activation

Simon Ser (2):
      clients/simple-dmabuf-egl: do not block until rendering completes
      clients/simple-dmabuf-feedback: do not block until rendering completes

Tomohito Esaki (9):
      ivi-layout: add description for layer_add_surface
      clients/simple-dmabuf-feedback: Drop support libgbm older than 21.1.1
      clients/meson.build: Require libgbm 21.1.1 for clients using dmabuf
      clients/simple-dmabuf-egl: Drop support libgbm older than 21.1.1
      drm-backend: Drop support libgbm older than 21.1.1
      ivi-shell: Properly handle seat hotplugging
      ivi-shell: activate desktop surface
      hmi-controller: activate and deactivate sruface
      ivi-shell-user-interface: change timing to create the launcher surface

marius vlad (1):
      backend-drm: Use resize_output to allow changing the fb

git tag: 12.0.91

https://gitlab.freedesktop.org/wayland/weston/-/releases/12.0.91/downloads/weston-12.0.91.tar.xz
SHA256: b2cfacb25fda42c59a99ff658c3e8cee9266249917a0238b7bfaa0be57170fc5  weston-12.0.91.tar.xz
SHA512: 8e1ceae599344c305e1b65294403d434c4a6ca740f76bdcc67a9f83afe9d352d75ab9cf8bb5091b889ddece43941adf9c4666767098c4c27cb732f8c7f8f738a  weston-12.0.91.tar.xz
PGP:    https://gitlab.freedesktop.org/wayland/weston/-/releases/12.0.91/downloads/weston-12.0.91.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/20231016/b64bb3b1/attachment-0001.sig>


More information about the wayland-devel mailing list