[ANNOUNCE] weston 13.0.91

Marius Vlad marius.vlad at collabora.com
Wed Aug 14 09:42:54 UTC 2024


Hi all,

This is the alpha release for Weston 14.0.0. A few things made it
through, like initial HW underlay support, configuration for output mirroring,
PipeWire dmabuf improvements, and many more which I probably forgot. 
Do check out the changelog for particularities.

As usual, a number of bug fixes are included as well with this release.

Note that due to this alpha release being postponed with a week, all
subsequent scheduled dates are also shifted (with one week).

Full changelog below.

Alexandros Frantzis (3):
      clients/simple-egl: Display RGBA information for selected EGL config
      clients/simple-egl: Add option to use EGL_EXT_present_opaque
      clients/simple-egl: Allow translucent 16-bit surfaces

Arnaud Vrac (8):
      gl-renderer: do not use glTexImage3D directly
      desktop-shell: clamp view alpha correctly
      desktop-shell: set proper curtain size when no output is created yet
      clients/desktop-shell: fix crash on init when panel is disabled
      fullscreen-shell: unregister output created listener on shell destroy
      fullscreen-shell: handle output resize and move signals
      fullscreen-shell: restore focus when output is created
      fullscreen-shell: do not crash when presenting a null surface

Benjamin Herrenschmidt (1):
      Add support for FreeRDP 3.x

Biswapriyo Nath (1):
      build: add option to disable tests

Chao Guo (8):
      compositor: improve viewport source validity check
      compositor: Add a new member to the weston_paint_node
      backend-drm: make the renderer produce client format matched image
      compositor: Consider punch holes when flushing damage
      gl-renderer: Draw holes on primary plane for the view on underlay
      backend-drm: Add some underlay plane helper elements
      backend-drm: Improve plane assignment for underlay platform
      backend-drm: Improve the way to find plane for view

Chirag Khurana (1):
      clients: simple-im: handle proper destruction of objects

Colin Kinloch (2):
      clients/stacking: Allow windows to be closed
      clients/stacking: Fix widget user_data cast type

Daniel Martinez (1):
      clients: fix surface viewport memory leak

Daniel Stone (12):
      input: Use helpers to map surfaces/views
      input: Use surface/view helpers to map
      kiosk-shell: Remove unnecessary is_mapped assignment
      input: Use surface/view helpers for drag surfaces
      fullscreen-shell: Properly map surfaces
      fullscreen-shell: Don't leak outputs
      touch-calibrator: Regularise surface/view mapping
      CI: Add another thread leak
      tests: Add kiosk-shell testing
      doc: Tie Sphinx -W to Werror configuration
      view: Move psf_flags from weston_view to weston_paint_node
      repaint: Requeue presentation feedback on failed repaint

Derek Foreman (47):
      clients/simple-egl: Allow setting the swapinterval
      libweston/backends: Move damage flush into backends
      libweston: Clip damage to paint node visible region
      gl-renderer: apply output transform before readback in repaint
      xcb-client-helper: Call xcb_wait_for_event directly
      libweston: Destroy paint nodes when releasing a plane
      libweston: Move plane stack/release for output primary_plane
      renderer: Move dmabuf setup into renderer init
      libweston-desktop: Break grabs when a parent surface is destroyed
      compositor: Don't lift planes out of scene graph entirely
      gl-renderer: Rename maybe_censor_override
      gl-renderer: Don't check zalloc return in gl_render_attach_shm
      gl-renderer: Stop returning bools for things that can't fail
      gl-renderer: Use pnode->surface directly instead of pnode->view->surface
      gl-renderer: Rename surface_flush_damage to paint_node_flush_surface_damage
      gl-renderer: Don't flush damage on surface create
      renderers: Make flush_damage take a weston_paint_node
      compositor: Pass a mask to weston_surface_dirty_paint_nodes
      compositor: Add PAINT_NODE_BUFFER_DIRTY
      compositor/renderer: Only attach buffer to renderer in repaint
      renderers: Pass a paint node to the attach callbacks
      compositor: Dirty paint nodes when output protection changes
      gl-renderer: Calculate opaque region before blended
      gl-renderer: Use calculated opaque region instead raw opaque region
      gl-renderer: Use pnode is_opaque when drawing
      compositor: Move censor/direct checks into paint node update
      renderers: pull dmabuf initial setup out of attach
      clients/constraints: Fix up buffer handling
      rdp: Use current_scale instead of scale for input translation
      shared: Add some EGL extensions
      pixman-renderer: Check if the shm_buffer is gone during attach
      compositor: fix damage optimization
      gl-renderer: Fix is_fully_opaque usage
      libweston: Store shm buffer stride in weston_buffer
      libweston: Move idle_animation_destroy to before frame handler
      libweston: Refactor deferred animation destruction
      libweston: Defer animation destruction to idle loop
      rdp-backend: Fix more scale that should be current_scale
      xwm: Fix input regions
      libweston: Remove output->scale
      man: Remove binding documentation for desktop zoom
      libweston: Don't change surface state in weston_surface_copy_content
      renderers: Remove internal flush and attach
      rdp: Align nsc_compose_message content
      compositor: Destroy paint nodes in weston_view_move_to_layer()
      desktop-shell: check view mappedness in desktop_surface_removed
      compositor: Unmap views moved to layers outside of the scene graph

Diego Nieto (2):
      clients/simple-damage: fix exiting message
      compositor/main: warn pipewire-output and remote-output

Dylan Aïssi (3):
      clients: fix typo: intialized -> initialized
      backend-rdp: fix typo: chunck -> chunk
      man: fix typos

Emmanuel Gil Peyrot (1):
      tests: Call open() with the right flag

He Yong (2):
      replace weston_signal_emit_mutable with wl_signal_emit_mutable
      libweston: remove wlr_signal_emit_safe

Jeffy Chen (11):
      libweston: Avoid double-destroy of animations
      renderer-gl: Fix wrong stride error when reading pixels
      renderer-gl: Fix segfault when reading pixels
      desktop-shell: Avoid using maximized size in fullscreen state
      backend-drm: Cleanup output's disable head list when destroying it
      clients/desktop-shell: Reset panel clock timer everytime
      renderer-gl: Support NV16 shm format
      gl-renderer: Support NV24 shm format
      renderer-gl: Support more shm RGB formats
      backend-drm: Don't try to prepare a non-cursor view in renderer-only mode
      backend-drm: Support setting interlaced mode

Joan Torres (1):
      color: update color-management protocol to xx-v4

Jonas Ådahl (1):
      terminal: Avoid too large character grid when resized

Jordan Williams (1):
      meson: Add missing dependencies on egl

Khem Raj (1):
      libweston,tools: Include libgen.h for basename signature

Leandro Ribeiro (54):
      tests: move functions that create ICC profiles to lcms_util.c
      tests: add helpers to create unique filenames
      tests: make use of helpers to create unique filenames
      color: always set HAVE_LCMS when LittleCMS dependency is found
      shared: include missing header to weston-assert
      libweston: add unique id generator
      protocol: add color-management-v2.xml
      color: add color properties helper
      color: add support to the color-management protocol
      libweston: expose color management support
      gitlab-ci: build and install LittleCMS version 2.16
      tests: allow to expect protocol errors from unknown objects
      tests: add tests for the color management protocol implementation
      color-noop: avoid assert hit in cmnoop_destroy()
      libweston: create/destroy color profile id generator in a safe point
      tests: skip color-icc-output if we don't have cmsGetToneCurveSegment()
      color-lcms: changes to the parameters of translate_curve_element()
      color-lcms: add translate_curve_element_LUT()
      color-lcms: add function to get params from parametric curvesets
      gl-renderer: move lut_3x1d curves to union
      color: add support to parametric curves in weston_color_curve
      tests: reduce tolerance of sRGB->BT2020 MAT test
      color: explain why we don't unset surface image description
      color: handle image description whose creation gracefully failed
      color: handle image description that are not ready
      tests: do not assume that the image description is immediately ready
      clients/image: rename widget to frame_widget
      clients/image: use widget variable directly
      clients/image: display image in a subsurface
      clients/image: move a few functions on the file
      clients/image: do not leak cairo surface
      clients/image: do not leak filename
      shared: do not call png_destroy_read_struct() with uninitialized object
      libweston: fix indentation of a few files
      clients: make main event loop more robust
      shared: add weston_image_load()
      shared: allow to get ICC profile from PNG using weston_image_load()
      shared: allow to get ICC profile from JPEG using weston_image_load()
      shared: make load_cairo_surface() also load the embedded ICC profile
      shared: remove load_image()
      clients: add widget_set_image_description_icc()
      clients/image: use embedded ICC profile to present image
      clients/image: print program usage
      clients/image: allow clients to choose rendering intent
      clients/image: log some information only if verbose mode is set
      color: make some color struct's and enum's public
      color: add WESTON_TF_POWER
      color: keep track of supported primaries and transfer functions
      color: add get_color_profile_from_params() to color managers
      color-lcms: avoid destroying cprof without rofile
      color-lcms: move ICC profile data to nested struct
      color: introduce API to create color profile from parameters
      backend-drm: init dhi in drm_head_info_from_edid()
      compositor: delete cms-static and cms-colord plugins

Louis-Francis Ratté-Boulianne (1):
      clients: add support for surface compression in simple-egl

Loïc Molinari (68):
      gl-renderer: Remove clip_simple() from clipper
      gl-renderer: Remove polygon8 struct from clipper API
      gl-renderer: Use clip_vertex struct for boxes in clipper API
      gl-renderer: Replace clip_transformed() context with a clipping box
      gl-renderer: Add init_quad() to clipper
      gl-renderer: Prefix clipper API
      gl-renderer: Improve clipper documentation
      tests: Improve clipper test function
      tests: Improve general purpose clipper tests
      tests: Add quad clipper tests
      gl-renderer: Fix quad clipper non-zero area check
      tests: Add box32 quad clipper tests
      backend-headless: Add support for custom refresh rates
      backend-headless: Add support to repaint only on captures
      tests: Speed up runtime using immediate repaint on capture
      backend-headless: Improve documentation
      tests: Only wait for frame callback when necessary
      gl-renderer: Move functions to ease next commit review
      gl-renderer: Compress damage rects once per paint node
      gl-renderer: Transform damage rects once per paint node
      gl-renderer: Test axis alignment once per paint node
      gl-renderer: Prevent programming errors on damage regions
      gl-renderer: Only update y2 when merging damage rects
      gl-renderer: Add OpenGL ES 3 async output capture support
      gl-renderer: Validate SHM stride in common output capture path
      gl-renderer: Use fence sync to listen for async capture completion
      gl-renderer: Enable async output capture support for OpenGL ES 2
      libweston: Let multiple backends register the Windowed Output API
      gl-renderer: Assume axis alignment using node's valid_transform
      gl-renderer: Remove support for non-quad polygons from clipper
      gl-renderer: Do not expose clipper_clip() in header
      gl-renderer: Batch paint node's draw calls
      gl-renderer: Use compile-time annotation in vertex shader
      gl-renderer: Batch paint node's draw calls in fan debug mode
      gl-renderer: Rename fan debug mode to wireframe debug
      gl-renderer: Define attrib array locations in an enum
      build: Add generic compiler builtins support
      gl-renderer: Improve wireframe rendering
      backend-headless: Fix release/debugoptimized build warning with gcc
      input: Fix release/debugoptimized build warning with gcc
      shared: Fix release/debugoptimized build warning with gcc
      shared: Fix uninitialised pointer in load_jpeg()
      gl-renderer: Set up debug mode infrastructure
      gl-renderer: Add generic shader tinting support
      gl-renderer: Remove sub-mesh wireframe coloring
      gl-renderer: Make wireframe a debug mode
      gl-renderer: Let debug modes request renderbuffer clear
      helpers: Add FALLTHROUGH macro
      gl-renderer: Add batches debug mode
      gl-renderer: Add damage debug mode
      gl-renderer: Add opaque debug mode
      gl-renderer: Remove shaders debug mode
      gl-renderer: Move debug mode setup to dedicated func
      rdp: Fix invalid free and memory leak on error
      gl-renderer: Prepare for reset to default pixel storage states
      gl-renderer: Assume default GL_PACK_REVERSE_ROW_ORDER_ANGLE state
      gl-renderer: Assume default GL_PACK_ALIGNMENT state
      gl-renderer: Assume default GL_UNPACK_* states
      gl-renderer: Merge duplicated functions
      gl-renderer: Avoid GL_ as a prefix for constants
      gl-renderer: Use fixed tex units
      gl-renderer: Assume fixed wireframe tex unit
      gl-renderer: Assume default GL texture unit
      gl-renderer: Add pixel storage modes section to best practices
      gl-renderer: Don't use eglSetDamageRegion() on surfaceless outputs
      gl-renderer: Fix debug clear region
      gl-renderer: Fix debug clear on shadow buffers
      gl-renderer: Clean up comments

Lukasz Czechowski (4):
      vnc: Allow neatvnc in version 0.8.0
      vnc: Allow to disable Transport Layer Security
      vnc: Enable password authentication in non-TLS mode
      man: Update documentation of weston-vnc

Marius Vlad (47):
      meson.build: reopen main for regular development
      libweston/animation: Remove weston_fade_run unused argument
      compositor/main: Warn out if started over tty/pts
      backend-pipewire: Move region initialization at the start
      stream-pipewire: Add a helper script for the pipewire backend
      libweston: Add paint node destruction into weston_layer_entry_remove()
      tests: Just keep PIXMAN as renderer
      libweston: Don't add frame callbacks from occluded paint nodes
      clients/fullscreen: Remove zwp_fullscreen client support
      clients/simple-shm: Remove zwp_fullscreen support
      clients/dmabuf-egl: Remove zwp_fullscreen support
      clients/dmabuf-v4l: Remove zwp_fullscreen support
      clients/simple-damage: Remove zwp_fullscreen support
      gitlab-ci.yml: Update CI_BUILD_REF_NAME
      libweston/desktop: Use the weston_view_move_to_layer helper
      weston-test-desktop-shell: Use the weston_view_move_to_layer helper
      compositor: Remove layer_entry_remove/layer_entry_insert
      kiosk-shell, xwayland: Add a new weston_xwayland_surface_api function
      kiosk-shell: Check both WM_NAME and WM_CLASS at the same time
      doc/sphinx/toc/kiosk-shell.rst: Add doc for Xwayland appidis
      gitlab-ci.yml: Avoid running CI for merge pipelines
      gitlab-ci.yml: Always run container jobs to allow page deploy to work
      timeline: Fix order with sub-surface clients
      backend-drm: Print out planes IDs that have been excluded
      frontend: Use simple_heads_changes for head enablement
      kiosk-shell: Add session listener
      desktop-shell: Add session listener
      kiosk-shell: Don't assume a valid output
      backend-headless: Nuke band-aid
      backend-pipewire: Nuke band-aid
      backend-drm: Do not create a head for invalid blacklight values
      desktop-shell: Use the correct link iterator
      backend-vnc: Remove the display when output is disabled
      weston-drm: Add a note into man page about gbm-format
      tests/drm-*: Log drm-backend by default
      gitlab-ci: Use virtme-ng for running our tests
      frontend/man: Use 'clone-of' instead of 'same-as'
      libweston: Add a helper for retrieving backend type
      frontend: Expand simple head function
      libweston: Keep a local copy of native_mode
      frontend: Share a native output using 'mirror-of' keyword
      frontend: Teach remote backends to use the scale from config
      frontend: Add support for tracking parent/mirror changes
      frontend: Disable client resize for VNC remote outputs
      frontend: Disable client resize for RDP remote outputs
      weston.ini: Document the 'mirror-of' key
      build: bump to version 13.0.91 for the alpha release

Michael Olbrich (9):
      ivi-shell: clear seat focus if necessary when a surface is destroyed
      backend-wayland: don't wait for one frame when starting the repaint loop
      compositor: repaint backends separately
      backend-drm: skip building atomic state and logging for "empty" repaints
      backend-drm: handle commit failures correctly
      drm-backend: limit reset/restart to output of a failed commit
      compositor: don't try to repaint while offscreen or sleeping
      drm-backend: really reset/restart outputs of a failed commit
      subsurface: don't forget to repaint after the first sub-surface commit

Michael Tretter (13):
      libweston: extract dep_gbm from backend-drm
      gl-renderer: use transformation matrix to flip damage
      gl-renderer: allow to render y-flipped outputs
      gl_renderer: respect y_flip in read_pixels
      gl-renderer: don't flip outputs for FBO rendering
      gl-renderer: add helper function for adding renderbuffers
      gl-renderer: add dmabuf renderbuffer support
      gl-renderer: add DMABUF allocator
      gl-renderer: use existing gbm_device if possible
      backend-pipewire: skip rendering and free if there is no renderbuffer
      backend-pipewire: add helper function for building format params
      backend-pipewire: add MemFd allocator
      backend-pipewire: add DmaBuf allocation and import

Morgane Glidic (1):
      libweston/desktop: Update my Copyright

Naveen Kumar (1):
      backend-drm: Enable atomic async flip support

Nicholas Niro (3):
      option-parser: Add support for the '--' options
      compositor: Add support for a command input.
      man: Document the new 'command input' feature

Paul Pu (1):
      Fix segfault when using fullscreen when just hotplugging the display

Pekka Paalanen (69):
      libweston: drop weston_output_init() test workaround
      tests: remove unnecessary weston.h includes
      Rename compositor/ to frontend/
      tests: remove color-manager test
      tests: conditionally skip part of alpha-blending
      backend-drm: store EDID data
      backend-drm: skip EDID parsing if no change
      backend-drm: rename eotf_list to str
      color-noop: rename get_cmnoop to to_cmnoop
      color-noop: rename get_cprof() to to_cmnoop_cprof()
      color-lcms: rename get_cmlcms() to to_cmlcms()
      color-lcms: rename get_cprof() to to_cmlcms_cprof()
      color-lcms: rename get_xform() to to_cmlcms_xform()
      color: rename get_stock_sRGB_color_profile to ref_stock_sRGB_color_profile
      color-lcms: rename get_cprof_or_stock_sRGB to to_cprof_or_stock_sRGB
      libweston: move color-management protocol init call to core
      shared: add weston_assert_bit_is_set()
      libweston: assert that color manager supports perceptual
      color-lcms: move two functions up in file
      color-lcms: create log scopes in cmlcms_init()
      color-lcms: clean up context in init failure
      color: declare cm_image_desc_info
      color-lcms: handle NULL render intent
      color-lcms: simplify getting render intent
      color-lcms: remove stale comments about eotf_mode
      color-lcms: make identity_pipeline comment more detailed
      color-lcms: move output-only fields from cmlcms_color_profile
      color-lcms: refactor into ensure_output_profile_extract()
      color-lcms: improve ensure_output_profile_extract() error reporting
      color-lcms: replace comments in ensure_output_profile_adds_icc()
      color-lcms: wrap cmsHPROFILE type
      color-lcms: convert output eotf from curves to lcmsProfilePtr
      color-lcms: convert VCGT curves to lcmsProfilePtr
      color-lcms: stop hard-coding blend-to-output transformation
      color-lcms: move 3D LUT vs. blend-to-output assert
      color-lcms: print profile id instead of pointer
      color: generate id for color transformations
      color-lcms: print transformation id instead of pointer
      CI: work around LeakSanitizer crashes with use_tls=0
      gl-renderer: consolidate pre and post curve LUT GLSL
      gl-renderer: consolidate linpow sampling GLSL
      gl-renderer: consolidate powlin sampling GLSL
      tests: replace mat2XYZ
      tests: fix perceptual intent in cLUT ICC profiles
      color-lcms: switch default rendering intent to perceptual
      libweston: move weston_output_color_outcome to private
      libweston: bits_to_str() helper
      backend-drm: move wdrm enums to separate file
      backend-drm: add connector property "Colorspace"
      libweston: add TODO to validate EOTF mode
      shared: add weston_assert_legal_bits()
      shared: add weston_assert_false()
      libweston: add colorimetry_mode API
      backend-drm: get KMS colorimetry modes
      backend-drm: set connector property "Colorspace"
      frontend: drop compositor in wet_output_set_eotf_mode()
      frontend: fix leak in wet_output_set_eotf_mode()
      frontend: add colorimetry-mode to weston.ini
      backend-headless: support all colorimetry modes
      tests: parse colorimetry-mode=bt2020rgb
      tests: add EOTF and colorimetry mode parsing
      gl-renderer: fix texcoord in shader desc
      color-lcms: print ICC profile class on error
      frontend: remove useless if (section)
      backend-drm: make libdisplay-info mandatory
      backend-drm: get_eotf_mask() from di_info
      libweston: add weston_head_get_display_info()
      backend-drm: expose display_info
      backend-drm: get colorimetry mask from EDID

Philipp Zabel (4):
      man: Document VNC --address argument
      libweston-desktop: Work around crash when opening popup menu
      compositor: access correct weston_buffer union field according to type
      backend-pipewire: add fence to synchronize on finish of render

Pierre Le Marre (1):
      simple-im: Fix modifiers

Ray Smith (7):
      backend-drm: fix confused fallback format handling
      remoting: Handle non-fatal errors in gst_parse_launch
      backend-headless: Don't try to finish frame if it was cancelled
      backend-drm: don't leak gem_handle_refcnt in drm_destroy
      backend-drm: always create gem_handle_refcnt hash table
      helpers: don't override C++11's built-in static_assert
      backend-drm: rename "virtual" to work with C++ compilers

Robert Mader (5):
      backend-drm: Don't force non-opaque overlays to primary plane
      gitlab-ci.yml: Bump wayland-protocols to 1.33
      linux-dmabuf: Add support for protocol version 5
      backend-drm: Sort planes by faked zpos
      gl-renderer: Fix limited range quantization

Sami Uddin (1):
      shared: memfd_create: try MFD_NOEXEC_SEAL

Witold Lipieta (1):
      desktop-shell: shell: Capture input on fade animation curtain

Wujian Sun (1):
      libweston-desktop: Fix weston crash when lost the shsurf

Zhou Liang (3):
      backend-drm: fix drm find wrong connector
      backend-drm: fix drm add connector to unexpected drm device
      backend-drm: fix deinit unexpected connector

vanfanel (1):
      libweston: enable pointer constraints for fullscreen surfaces.

git tag: 13.0.91

https://gitlab.freedesktop.org/wayland/weston/-/releases/13.0.91/downloads/weston-13.0.91.tar.xz
SHA256: f4751b2ecc7b396dc59e20766b432ddf14011c70e92e00b81231c1f1f8ba590a  weston-13.0.91.tar.xz
SHA512: 129db0b0e8cee64a8f2ae727c0009f5cf5f8650e35a4ea22c0c52ee3a2dc5dad9e18b34c390155e7ad8f7559c21234a9d89dc7e1019ddae9ebbd0f510df290e6  weston-13.0.91.tar.xz
PGP:    https://gitlab.freedesktop.org/wayland/weston/-/releases/13.0.91/downloads/weston-13.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/20240814/a65bb421/attachment-0001.sig>


More information about the wayland-devel mailing list