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
signature.asc
Description: PGP signature