Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • debian/0.15.1-4
    wlroots Debian release 0.15.1-4
    
  • debian/0.16.0-2
    wlroots Debian release 0.16.0-2
    
  • debian/0.16.0-1
    wlroots Debian release 0.16.0-1
    
  • upstream/0.16.0
    Upstream version 0.16.0
    
  • debian/0.15.1-2
    wlroots Debian release 0.15.1-2
    
  • debian/0.15.1-1
    wlroots Debian release 0.15.1-1
    
  • debian/0.15.0-3
    wlroots Debian release 0.15.0-3
    
  • debian/0.15.0-2
    wlroots Debian release 0.15.0-2
    
  • 0.15.1
    wlroots 0.15.1
    
    Alexander Orzechowski (1):
          xdg-foreign: Fix crash on destroy of degenerate surface
    
    Isaac Freund (3):
          wlr_texture: remove wlr_texture_from_wl_drm() from header
          foreign-toplevel: send enter if needed on output bind
          tinywl: fix check whether client is focused or not
    
    Kirill Primak (3):
          scene/subsurface_tree: fix handling subsurface destruction
          compositor: damage the whole buffer on viewport src change
          subsurface: unlock cached state on commit if desynced
    
    Simon Ser (4):
          backend: error out in autocreate without libinput support
          scene: schedule an output frame on wl_surface.frame
          scene: try to import buffers as textures before rendering
          build: bump version to 0.15.1
    
    Tadeo Kondrak (1):
          input_method_v2: improve mapping detection
    
    Thomas Hebb (1):
          render/gles2: don't constrain shm formats to ones that support reading
    
    nyorain (1):
          vulkan: Fix imported image layout
    
  • 0.15.0
    wlroots 0.15.0
    
    Release highlights:
    
    - A new experimental Vulkan renderer has been merged (manually enabled with
      `WLR_RENDERER=vulkan`).
    - A new scene-graph API has been introduced to enable more code-sharing between
      compositors.
    - Large parts of the backend and renderer APIs have been refactored and
      reworked.
    - The `drm-lease-v1` protocol has been implemented.
    - Feedback support has been added to the `linux-dmabuf-unstable-v1`
      implementation, unlocking many zero-copy and multi-GPU optimizations and
      features.
    - The `wlr_output` rendering API now supports 10bpc and 16bpc formats.
    - The DRM backend now supports hotplugging secondary GPUs at runtime.
    - `wlr_region` and `wlr_box` are now stable APIs.
    
    Full changelog below.
    
    Andri Yngvason (2):
          screencopy: Use output->front_buffer instead of wlr_output_export_dmabuf
          screencopy: Handle shm copy in commit event handler
    
    Anthony Super (1):
          Add error handling to backend creation
    
    Chris Chamberlain (2):
          backend: fix return value of attempt_drm_backend
          backend/drm: add wlr_drm_backend_monitor
    
    Cole Mickens (1):
          egl: use alts for EGL_EXT_device_enum, if missing
    
    David Rosca (1):
          seat: Only resend keyboard/pointer enter to focused clients
    
    Demi Marie Obenour (1):
          Improve wlr_drm_format documentation
    
    Devin J. Pohly (9):
          scene: add node reparent function
          scene: ensure node cannot be reparented below itself
          scene: make graph loops fatal when debugging
          scene: stricter assertions on reparent
          scene: iterate nodes instead of surfaces when rendering
          scene: add RECT node type
          scene: replace surface_at() with node_at()
          examples/scene-graph: demonstrate scene_rect node type
          scene: remove redundant empty-region check in render_texture()
    
    Dylan Araps (1):
          util/time: make NSEC_PER_SEC static
    
    Elyes HAOUAS (1):
          Fix spelling errors
    
    Guido Günther (3):
          xwayland: Allow to retrieve _NET_STARTUP_ID
          xwayland: Allow to retrieve startup-id via _NET_STARTUP_INFO
          xdg-activation: Allow to submit tokens
    
    Haelwenn (lanodan) Monnier (3):
          render/pixman/renderer.c: Fix memory-leak in create_buffer
          render/egl.c: Fix memory leaks in egl_create
          backend/drm/legacy.c: Fix memory leak in drm_legacy_crtc_set_gamma
    
    Hubert Hirtz (1):
          Fix a typo in CONTRIBUTING.md
    
    Isaac Freund (15):
          layer-shell: replace close() with destroy()
          tinywl: simplify logic for sending pointer events
          scene: assert that node != sibling in place above/below
          scene: add functions to place node on top/bottom
          output: fix leak of wlr_drm_format
          text-input/input-method: handle strdup() failure
          text-input: fix type of send_preedit_string() args
          wlr_drag: emit destroy after wl_data_device.leave
          tinywl: use wlr_scene
          scene: send surface enter/leave output events
          scene: add primary output to wlr_scene_surface
          scene: add wlr_scene_send_frame_done()
          tinywl: use wlr_scene_send_frame_done()
          scene: fix wlr_scene_send_frame_done() API
          scene: add wlr_scene_set_presentation()
    
    Jan Beich (2):
          backend: drop unconditional and unused <libinput.h>
          render: completely disable gles2 if requested but libEGL is found
    
    John Lindgren (1):
          Insert new outputs at the end of the list
    
    Jonathan Wong (1):
          Added whitespace between "output" and "(not"
    
    Joshua Ashton (2):
          render/vulkan: Use image view swizzles instead of shader hack
          render/vulkan: Optimize vertex shader
    
    José Expósito (8):
          protocol/meson: bump wayland-protocols requirement to 1.23
          pointer: add hold pointer event definition
          build: check if libinput supports hold gestures
          backend/libinput: send hold gesture events
          backend/wayland: send hold gesture events
          cursor: emit hold gesture events
          wlr_pointer_gestures: update protocol to version 2
          wlr_pointer_gestures: hold gestures (protocol v3)
    
    Kirill Primak (34):
          surface: don't cache frame callback lists
          util: add wlr_addon
          wlr_outputs: add wlr_addon_set
          wlr_output_layout: use wlr_addons
          util/addon: find both by owner and impl
          surface: fix place_below handling
          util/box: introduce wlr_fbox_transform()
          surface: fix wlr_surface_get_buffer_source_box()
          subsurface: unlock surface on destroy
          surface: cache frame callback lists again
          surface: move subsurface lists to state
          surface: rename impl and its functions
          surface: change surface_finalize_state() to surface_finalize_pending()
          surface: inline surface_commit_pending()
          xdg popup: move function to a file it belongs to
          xdg-toplevel: refactor configure/state flow
          xdg-surface: simplify configure mechanism
          xdg surface: check adding configure_idle for NULL
          layer-shell: refactor configure/state flow
          layer-shell: add `committed` bitmask
          xdg-surface: add pending state
          xdg-shell: remove redundant NULL buffer check
          layer-shell: move NULL buffer check to role precommit handler
          xdg-decoration: refactor configure/state flow
          output: disallow NULL event for wlr_output_send_present()
          output: add presented flag to presentation event
          presentation-time: don't send presented on discard
          presentation-time: use a surface addon
          CONTRIBUTING.md: add CoC section
          surface: fix damage transformation
          subsurface: simplify and fix parent commit handling
          subsurface: apply position change at the right moment
          surface: fix non-buffer damage handling
          subsurface: don't add to parent list immediately
    
    Manuel Stoeckl (7):
          render/pixel-format: add a few 10-bit and FP16 formats
          render/gles2: hide shm formats without GL support
          render/gles2: add a few 10-bit and FP16 formats
          output: lift up output format fallback logic
          output: use XRGB8888 format instead of ARGB8888
          output: Add function to set preferred render format
          output: remove XRGB8888 cursor fallback format
    
    MarkusVolk (1):
          backend.c: do not try to explicitly clean up the libinput backend
    
    Michele Sorcinelli (1):
          xwayland: do not free cursor in handle_server_ready()
    
    Moon Sungjoon (1):
          backend/wayland: improve wayland input device name
    
    Quantum (3):
          viewporter: remove crop and scale state upon destruction
          scene: fix compile error in release builds
          Fix uninitialized variable errors in release mode
    
    Raphael Robatsch (1):
          util/token: don't leak /dev/urandom fd to children
    
    Roman Gilg (1):
          backend/headless: unlink input device on destroy
    
    Ronan Pigott (3):
          xdg-activation-v1: enable compositors to request their own tokens
          xdg-activation-v1: add data field and emit token destroy events
          backend/wayland: use xdga client activation
    
    Rouven Czerwinski (6):
          backend/drm: return true on test if no crtc
          output: check output enabled before sending frame
          Revert "backend/drm: Check if output is enabled before sending frame event"
          backend/drm: try to allocate crtc for formats
          linux-dmabuf-v1: filter out LINEAR if implicit
          linux-dmabuf-v1: fix implicit check
    
    Simon Ser (288):
          build: bump version to 0.15.0
          backend/drm: rename page_flip_handler to handle_page_flip
          render/egl: remove stale wlr_egl_export_image_to_dmabuf decl
          render/egl: make most functions private
          xwayland: improve startup log message
          build: use meson.global_build_root()
          ci: remove -Dlibseat from Alpine build
          ci: make Meson warnings fatal
          Drop WLR_VERSION_API_*
          surface: remove SURFACE_VERSION
          surface: make wlr_subsurface_create private
          pointer: document event data types
          touch: document event data types
          surface: accept commits with buffer size not divisible by scale
          render/egl: replace wlr_egl_create with wlr_egl_create_with_drm_fd
          Remove unused wlr_list.h includes
          util/array: add array_remove_at
          backend/libinput: stop using wlr_list internally
          tablet: stop using wlr_list
          Drop wlr_list
          tablet-v2: fix pad and tool object versions
          buffer: introduce wlr_readonly_data_buffer
          render: use wlr_readonly_data_buffer in wlr_texture_from_pixels
          render: drop wlr_renderer_impl.texture_from_pixels
          buffer: add wlr_dmabuf_buffer
          render: use wlr_dmabuf_buffer in wlr_texture_from_dmabuf
          render: drop wlr_renderer_impl.texture_from_dmabuf
          buffer: make enum wlr_buffer_cap public
          backend/libinput: use wl_array for wlr_libinput_tablet.tools
          surface: allow locking pending state in commit handler
          Remove reference to the announce mailing list
          region: stabilize interface
          region: drop leftover reference to the mailing list
          Revert "backend/drm: populate cursor plane's current_fb"
          backend/drm: don't clear pending cursor FB on failed commit
          xcursor: improve documentation
          Add a stub wl_drm implementation
          drm: add support for DMA-BUFs
          buffer: handle wl_drm buffers
          render/gles2: use wlr_drm for wl_drm implementation
          render: remove wl_drm support from wlr_renderer
          render/egl: remove EGL_WL_bind_wayland_display support
          buffer: remove renderer param from wlr_resource_get_buffer_size
          buffer: stop sending wl_buffer.release events from wlr_client_buffer
          buffer: unify texture creation in wlr_client_buffer_import
          output: detach buffer from renderer before commit
          output-damage: fix output swapchain handling
          touch: add frame event
          backend/libinput: send touch frame events
          backend/wayland: send touch frame events
          backend/x11: send touch frame events
          cursor: add touch frame event
          seat: add wlr_seat_touch_{send,notify}_frame
          Fix invalid uses of wl_array_for_each
          backend/drm: force linear layout for multi-GPU buffers
          backend/drm: stop using drm_surface_make_current in drm_surface_blit
          backend/drm: add test_only arg to wlr_drm_interface.crtc_commit
          backend/drm: move legacy-specific checks to legacy.c
          backend/drm: remove backend arg from wlr_drm_interface.crtc_commit
          buffer: rename wlr_client_buffer variables to client_buffer
          buffer: stop using source resource in wlr_client_buffer_apply_damage
          buffer: add wlr_client_buffer.source
          buffer: stop using resource in client_buffer_get_dmabuf
          buffer: drop wlr_client_buffer.resource
          render/egl: rename wlr_egl.exts to better match Khronos
          render/gles2: rename wlr_egl.exts to better match Khronos
          render/gles2: set has_alpha for DMA-BUFs
          render/gles2: disable blending opportunistically
          buffer: drop resource arg from wlr_client_buffer_create
          output: add generic wlr_output_export_dmabuf implementation
          backend/headless: remove wlr_output_impl.export_dmabuf
          backend/drm: remove wlr_output_impl.export_dmabuf
          output: remove wlr_output_impl.export_dmabuf
          backend/wayland: properly cleanup wlr_wl_pointer
          backend/drm: fix NULL data in handle_drm_event
          buffer: re-use wlr_shm_client_buffer
          backend/drm: stop restoring CRTCs on exit
          backend/drm: add DRM_MODE_CONNECTOR_USB to conn_get_name
          render: drop wlr_renderer_impl.init_wl_display
          render/egl: set EGL_IMAGE_PRESERVED_KHR
          render/egl: add support for EGL_EXT_device_drm_render_node
          xwayland: simplify argv filling logic
          xwayland: embed wlr_xwayland_server_options in server struct
          output: fallback to XRGB in output_pick_format
          backend/drm: implement get_primary_formats
          output: use pending resolution when allocating swapchain
          output: allocate and attach empty buffer on modeset
          output: fallback to modifier-less allocation on modeset test failure
          backend/drm: allow legacy scan-out if FB props match
          backend/drm: remove primary swapchain
          backend/drm: remove SCANOUT check in drm_connector_test
          backend/drm: drop drm_surface_{make,unset}_current
          backend/drm: drop get_renderer implementation
          backend/drm: stop initializing renderer for parent backend
          backend/drm: fix wrong type for get_cursor_format return values
          backend/noop: drop attach_render/rollback_render
          output: drop wlr_output_impl.{attach,rollback}_render
          output-damage: stop using enum wlr_output_state_buffer_type
          output: drop wlr_output_state.buffer_type
          render/pixel-format: add some 24 and 16-bit formats
          render/gles2: add support for some 24 and 16-bit formats
          backend/drm: preserve mode order from kernel
          render/pixel_format: add more formats for Pixman
          render/pixman/pixel_format: add more formats
          output: try skipping buffer allocation if the backend allows it
          backend/drm: require buffer on modeset in drm_connector_test
          examples/fullscreen-shell: remove unused render_data.view field
          build: remove "." from include dirs
          seat: allow compositors to not load a keymap
          ci: add smoke test
          backend/drm: add proper error handling to wlr_drm_backend_create
          backend/drm: always perform a test commit in drm_connector_test
          surface: kill wlr_surface.previous
          surface: drop surface_state_copy
          buffer: add addon set
          render/gles2: make wlr_gles2_buffer an addon
          render/gles2: make wlr_gles2_texture a wlr_buffer addon
          backend/drm: use addon for wlr_drm_fb
          backend/drm: add support for FB_DAMAGE_CLIPS
          backend: unify startup messages
          backend/drm: generate CVT reduced modes
          backend/{drm,libinput}: exclude headers when disabled
          Move allocator stuff into new directory
          render/egl: reopen DRM node for GBM
          backend/drm: introduce wlr_drm_bo_handle_table
          Introduce new scene-graph API
          examples/scene-graph: new example
          scene: add wlr_scene_node_toggle
          scene: allow nodes to have arbitrary parents
          scene: add user data pointer to wlr_scene_node
          scene: add wlr_scene_node_surface_at
          contributing: add new section about commit log
          contributing: use references for links
          contributing: clone wlroots fork with SSH
          contributing: turn remaining links into refs
          Link to gamja for web chat
          render/allocator: re-open GBM FD
          render/allocator/gbm: fix create() docs for FD ownership
          build: add subproject fallback for wayland
          build: add subproject fallback for wayland-protocols
          contributing: don't reference issues in commit first line
          render/allocator: use legacy authentication for primary nodes
          backend/drm: handle drm_surface_blit errors
          render/allocator/gbm: add log message for gbm_bo_get_fd_for_plane
          util/shm: add allocate_shm_file_pair
          keyboard: add wlr_keyboard.keymap_fd
          seat: avoid copying the keymap for each client
          subsurface: rename wlr_subsurface_state to wlr_subsurface_parent_state
          subsurface: move parent link to state
          buffer: take a wlr_buffer in wlr_client_buffer_apply_damage
          buffer: make wlr_client_buffer_apply_damage return a bool
          viewporter: add doc comment explaining compositor requirements
          viewporter: hide wlr_viewport
          surface: ensure buffer is reset to NULL in surface_state_move
          surface: drop wlr_surface_state.buffer_resource
          surface: fix abort on NULL buffer attach
          backend/drm: rename enum wlr_drm_connector_state to status
          backend/drm: introduce wlr_drm_connector_state
          backend/drm: fix crash on VT switch
          backend/drm: drop unused arg from get_possible_crtcs
          backend/drm: drop drm_connector_init_renderer
          output-damage: fix damage on modeset
          backend/drm: drop attempt_enable_needs_modeset
          backend/drm: drop wlr_drm_connector.desired_mode
          scene: fix wlr_scene_render_output offset
          scene: add scene outputs
          scene: add wlr_scene_output_commit
          scene: add wlr_scene_node_coords
          scene: add damage tracking support
          examples/scene-graph: use wlr_scene_output
          scene: move source to subdir
          scene: add wlr_scene_attach_output_layout
          buffer: add data_ptr access flags
          ci: switch to seatd-launch
          scene: add wlr_scene_tree
          surface: add addon set
          scene: add wlr_scene_subsurface_tree_create
          build: simplify get_variable calls
          backend/drm: add support for panel orientation
          scene: drop default case in wlr_scene_node_at
          scene: unify intersection logic in wlr_scene_node_at
          scene: add wlr_scene_buffer
          util/box: introduce wlr_fbox_empty
          scene: add wlr_scene_buffer_set_source_box
          scene: add scene_node_get_size helper
          scene: use scene_node_get_size in wlr_scene_node_at
          scene: add wlr_scene_buffer_set_dest_size
          scene: add wlr_scene_buffer_set_transform
          backend: create renderer and allocator in wlr_backend_autocreate
          xdg-shell: introduce wlr_xdg_surface.current
          xdg-shell: rename wlr_xdg_surface.next_configure_serial
          xdg-shell: stop clearing wlr_xdg_surface state on unmap
          render/drm_format_set: add wlr_drm_format_has
          Require INVALID for implicit format modifiers
          backend/drm: fail on explicit modifier in drmModeAddFB2
          render/egl: always add LINEAR to supported modifiers
          render/drm_format_set: remove special LINEAR case
          Revert "render/drm_format_set: remove special LINEAR case"
          Revert "render/egl: always add LINEAR to supported modifiers"
          Revert "backend/drm: fail on explicit modifier in drmModeAddFB2"
          Revert "Require INVALID for implicit format modifiers"
          Revert "render/drm_format_set: add wlr_drm_format_has"
          render/allocator: use render node if available in reopen_drm_node
          render/allocator: use empty DRM lease to re-open node
          scene: remove surface commit listener when node is destroyed
          render/vulkan: check vulkan-headers dependency
          presentation-time: remove unused field
          scene: add wlr_scene_output_for_each_surface
          scene: add support for direct scan-out
          output: split into multiple files
          xdg-foreign-v2: use error enum
          output: refuse to enable with zero mode
          readme: refresh dependencies
          backend/drm: add entry for Valve EDID vendor
          backend/x11: fix code style in get_touchpoint_from_x11_touch_id
          scene: inline subsurface_tree_destroy
          sceeencopy-v1: listen to output destroy in capture_output
          backend/drm: get rid of BO handle table
          output: fix stack variable lifetime in wlr_output_send_present
          backend/drm: avoid creating empty FB_DAMAGE_CLIPS prop
          ci: add .gitlab-ci.yml
          s/GitHub/GitLab/
          xwayland: add support for -noTouchPointerEmulation
          backend/session: introduce wlr_device_change_event
          backend/drm: handle per-connector hotplug events
          scene: fix calloc size mismatch
          export-dmabuf-v1: stop using wlr_output_export_dmabuf
          screencopy-v1: stop using wlr_output_export_dmabuf
          output: drop wlr_output_export_dmabuf
          linux-dmabuf-v1: properly validate flags
          Remove support for DMA-BUF flags
          output: add wlr_output_init_render
          output: fix renderer buffer cap sanity check in wlr_output_init_render
          Introduce WLR_DEVICE_LEASE events
          backend/drm: introduce wlr_drm_lease
          drm-lease-v1: listen to lease destroy event
          backend/drm: scan leases on uevent
          linux-dmabuf-v1: hide wlr_linux_buffer_params_v1
          backend/wayland: report parent presentation clock
          input-device: remove wlr_input_device.link
          render/vulkan: quiet glslangValidator
          docs/env_vars: drop WLR_DIRECT_TTY
          render: pick DRM FD in autocreate
          render/allocator: fallback to renderer DRM FD in autocreate
          backend/headless: stop picking a DRM FD
          render: introduce WLR_RENDER_DRM_DEVICE
          backend/headless: drop wlr_headless_backend_create_with_renderer
          scene: add wlr_scene_xdg_surface_create
          render/drm_format_set: add wlr_drm_format_has
          Require INVALID for implicit format modifiers
          backend/drm: fail on explicit modifier in drmModeAddFB2
          render/egl: always add LINEAR to supported modifiers
          render/drm_format_set: remove special LINEAR case
          backend/drm: always add LINEAR to supported modifiers
          render: add DMA-BUF docs
          scene: add support for viewporter
          backend/drm: poison buffers which cannot be scanned out
          output: destroy swapchain when disabled
          output: don't leave dangling cursor_front_buffer
          output: fix typo in wlr_output_impl.get_primary_formats docs
          output: add wlr_output_get_primary_formats
          scene: add wlr_scene_get_scene_output
          render/egl: store IMG_context_priority in wlr_egl
          render/egl: add wlr_egl_create_with_context
          render/pixman: advertise MOD_INVALID instead of MOD_LINEAR
          render/egl: improve modifier support detection
          output: fix modifier stripping
          readme: update wrapper libraries link
          render/drm-format-set: add wlr_drm_format_set_intersect
          output: add wlr_output_event_commit.buffer
          export-dmabuf-v1: use wlr_output_event_commit.buffer
          screencopy-v1: use wlr_output_event_commit.buffer
          output: drop front_buffer
          render: add wlr_renderer_init_wl_shm
          linux-dmabuf-v1: implement v4
          linux-dmabuf-v1: add per-surface feedback
          build: move wayland-client dep to backend/wayland/
          examples/layer-shell: remove wlroots dependency
          examples: remove unnecessary wlroots deps for clients
          examples: remove unnecessary partial_dependency() call
          output: introduce wlr_output_set_name
          Fix incorrect %zd formatting directives
          output: add support for protocol interface version 4
          util/global: remove wl_display arg from wlr_global_destroy_safe
          backend/drm: use drmModeFormatModifierBlobIterNext
          backend/drm: use drmCloseBufferHandle
          build: add subproject fallback for libdrm
          backend/wayland: add basic linux-dmabuf feedback support
    
    Simon Zeni (36):
          types/wlr_box: remove unused wlr_box_from_pixman_box32 and wlr_box_rotated_bounds functions
          move wlr_box from /types to /util
          util/box: stabilize interface
          types/wlr_buffer: split wlr_client_buffer_import function
          types/wlr_surface: get buffer size from wlr_buffer_import
          types/wlr_buffer: remove wlr_resource_get_buffer_size
          types/wlr_buffer: remove wlr_renderer argument from wlr_buffer_from_resource
          types/wlr_buffer: introduce wlr_buffer_resource_interface
          types/wlr_buffer: create custom wlr_buffer from wl_resource
          render/wlr_texture: put wlr_texture_from_buffer into the public API
          render/egl: initialize wlr_egl with EGL_PLATFORM_DEVICE_EXT
          backend/drm: implement drm lease function
          backend/drm: introduce wlr_drm_backend_get_non_master_fd
          protocol/meson: bump wayland-protocols requirement to 1.22
          types: introduce wlr_drm_lease_v1
          types/buffer: make {begin,end}_data_ptr_access part of the public API
          backend/multi: implement get_buffer_caps
          render/allocator: make wlr_allocator part of the public API
          examples: init wlr_output with allocator and renderer
          tinywl: autocreate allocator and init output
          backend: remove backend ensure renderer and allocator check
          backend: remove backend_get_allocator
          types/wlr_screencopy_v1: use renderer from output
          types/wlr_scene: use renderer from wlr_output
          backend/x11: get renderer from wlr_x11_output
          backend/headless: don't store the parent renderer
          backend/drm: stop initializing backend renderer
          backend/multi: remove backend_get_renderer
          backend: remove wlr_backend_get_renderer
          backend/multi: add asserts in wlr_multi_backend_add
          backend: fix attempt_backend_by_name multi backend self insertion
          tinywl: init output render before commit
          tinywl: build with meson if examples option is enabled
          ci/archlinux: enable address and undefined sanitizers
          backend: remove noop backend
          types/wlr_drm_lease_v1: add NULL check to drm lease resource destroy
    
    Stacy Harper (1):
          layer-shell: don't set committed flag if the property didn't change
    
    Tadeo Kondrak (2):
          input-method-unstable-v2: Add error for surface with existing role
          Implement input_method_v2 popups
    
    Tudor Brindus (3):
          input/pointer: try harder to not send duplicate motion events
          input/tablet: fix `wl_array_for_each` usage on tablet proximity
          xwm: do not restack surfaces on activation
    
    Vyivel (2):
          render/pixman: fix texture_is_opaque()
          input/pointer: send axis source once per frame
    
    ayaka (1):
          backend: make DRM and libinput backends optional
    
    buffet (1):
          Update loc count in readme
    
    fwsmit (1):
          examples/foreign-toplevel: fix toplevel not being freed
    
    muradm (1):
          backend: wait for session to become active
    
    nyorain (1):
          render/vulkan: add Vulkan renderer
    
    tiosgz (4):
          for_each_surface: only iterate mapped surfaces
          surface_at: check if surfaces are mapped
          scene/subsurface_tree: hide unmapped subsurfaces
          Fix wlr_scene_node_lower_to_bottom
    
    yuiiio (1):
          render/egl: fix typo
    
    Érico Nogueira (1):
          docs: mention WLR_RENDERER=vulkan.
    
    
  • debian/0.14.1-5
    wlroots Debian release 0.14.1-5
    
  • debian/0.14.1-4
    wlroots Debian release 0.14.1-4
    
  • debian/0.14.1-3
    wlroots Debian release 0.14.1-3
    
  • debian/0.14.1-2
    wlroots Debian release 0.14.1-2
    
  • debian/0.12.0-3
    wlroots Debian release 0.12.0-3
    
  • debian/0.14.1-1
    wlroots Debian release 0.14.1-1
    
  • 0.14.1
    wlroots 0.14.1
    
    This is bugfix release for wlroots 0.14.0.
    
    Simon Ser (10):
          surface: accept commits with buffer size not divisible by scale
          buffer: make enum wlr_buffer_cap public
          surface: allow locking pending state in commit handler
          Revert "backend/drm: populate cursor plane's current_fb"
          backend/drm: don't clear pending cursor FB on failed commit
          output: detach buffer from renderer before commit
          output-damage: fix output swapchain handling
          tablet-v2: fix pad and tool object versions
          backend/drm: force linear layout for multi-GPU buffers
          build: bump version to 0.14.1
    
  • 0.14.0
    wlroots 0.14.0
    
    Release highlights:
    
    - Renderer refactoring work is well underway: everything now uses the
      new infrastructure under-the-hood except the DRM backend's primary
      plane.
    - The Pixman software renderer has been merged, alongside new allocators
      (shared memory for Wayland/X11 and DRM dumb buffers).
    - Session management is now completely offloaded to libseat.
    - Support for the xdg-activation-v1 protocol has been merged.
    
    Full changelog below.
    
    Aleksei Bavshin (2):
          xwayland: query window PIDs via XResQueryClientIds
          xwayland: remove _NET_WM_PID handler
    
    Benoit Gschwind (1):
          Document the wlr_output_layout_get function
    
    Brian McKenna (1):
          Flush events in virtual pointer example
    
    Isaac Freund (1):
          gtk-primary-selection: drop support
    
    Kenny Levinsen (12):
          backend/session: Remove logind backend
          ci: Add libseat-dev to alpine
          backend/session: Make libseat mandatory
          backend/session: Remove direct backend
          backend/session: Remove noop backend
          backend/session: Remove session_impl
          backend/session: Close fd in wlr_session_close_file
          backend/session: Close remaining devices on destroy
          backend/drm: Do not require mode commit on enable
          meson: Make private static library symbols local
          ci: Build both static and shared
          Revert "meson: Make private static library symbols local"
    
    Roman Gilg (1):
          backend: move get_drm_fd to public interface
    
    Ryan Farley (2):
          util/uuid: replace with util/token, remove libuuid
          xwayland/sockets: ensure proper permissions
    
    Simon Ser (135):
          build: bump version to 0.14.0
          render: drop wlr_renderer_blit_dmabuf
          render: remove wlr_texture_to_dmabuf
          render: drop support for ellipses
          Remove WLR_HAS_XCB_ERRORS
          build: disable libseat subproject server and man pages
          build: remove wayland-scanner fallback
          backend/libinput: terminate display on error
          backend/drm: terminate display on drmHandleEvent failure
          backend/x11: check for connection errors
          render/gles2: prevent imported DMA-BUF textures from being mutated
          examples/rotation: error out on invalid option
          readme: mark libseat as mandatory dep
          buffer: introduce wlr_buffer_get_shm
          render: introduce shared memory allocator
          backend/wayland: add support for wl_shm buffers
          backend/wayland: fallback to wl_shm on missing render node
          examples: use wlr_output_preferred_mode
          examples: remove dependency on GLES2 for compositor examples
          Stop specifying xkb_rule_names
          linux-dmabuf-v1: drop some from_resource helpers
          linux-dmabuf-v1: split params and buffer
          render/gles2: log when creating renderer
          output: correctly handle outputs without a test() impl
          render/pixman: cleanup when renderer is destroyed
          render/gles2: destroy textures on renderer teardown
          render/pixman: destroy textures on renderer teardown
          render: remove NULL checks in wlr_texture_impl.destroy
          readme: update and cleanup xcb deps
          readme: mention IRC channel
          readme: use webchat link for IRC channel
          render: unconditionally read WLR_RENDERER
          Log drmGetDevices2 error code
          xcursor: quiet debug log
          backend/drm: fail instead of stripping a modifier
          backend/drm: clarify error message on drmModeAddFB fallback
          backend/drm: destroy when parent is destroyed
          backend/session: add wlr_device.events.remove
          backend/drm: destroy backend on udev remove event
          backend/drm: carry on when disabling a CRTC fails
          Revert "backend/drm: fail instead of stripping a modifier"
          buffer: add format param to get_data_ptr
          render/pixman: check format is supported in create_buffer
          Log when WLR_BACKENDS/WLR_RENDERER is set
          backend/drm: reword wlr_renderer failure message
          render: remove wlr_ prefix from wlr_renderer_autocreate_with_drm_fd
          render/allocator: add allocator_autocreate_with_drm_fd
          backend/drm: fix allocator DRM FD on multi-GPU setups
          render/gles2: assert texture comes from the same renderer
          backend/drm: take wlr_output_state as arg in crtc_commit
          backend/drm: take wlr_output_state as arg in commit callers
          backend/drm: fill scratch wlr_output_state for set_mode
          backend/drm: remove wlr_drm_crtc.pending_modeset
          backend/drm: remove wlr_drm_crtc_state.active
          backend/drm: remove wlr_drm_crtc_state.mode
          backend/drm: remove mode arg from drm_connector_init_renderer
          backend/drm: remove mode arg from drm_connector_set_mode
          backend/drm: take output state arg in drm_connector_commit_buffer
          backend/drm: take a wlr_drm_connector instead of a wlr_output
          backend/drm: introduce drm_connector_commit_state
          backend/headless: dup DRM FD in wlr_headless_backend_create_with_renderer
          build: move wayland-protocols dep to protocol/
          render/egl: query and display EGL driver name
          render: remove wlr_texture_get_size
          render/gles2: remove unnecessary EGL import ext checks
          linux-dmabuf-v1: implement wlr_buffer
          render/gles2: add gles2_texture_create
          render: introduce wlr_texture_from_buffer
          render/gles2: implement texture_from_buffer
          buffer: use wlr_texture_from_buffer for DMA-BUFs
          screencopy-v1: stop using wlr_client_buffer
          backend/drm: use wlr_texture_from_buffer
          render/gbm_allocator: add support for gbm_bo_get_fd_for_plane
          render/pixman: avoid sqrt() in render_quad without rotation
          render: relax stride check in wlr_texture_from_pixels
          backend: introduce wlr_backend_finish
          backend: automatically create renderer
          backend: automatically create allocator
          backend/wayland: use common renderer and allocator
          backend/headless: use common renderer and allocator
          backend/x11: use common renderer and allocator
          readme: add link to IRC web client
          readme: fix broken IRC web client link
          contributing: add link to IRC web chat
          render/gles2: fix texture cleanup on destroy
          render/drm_dumb_allocator: check for DRM master
          render/allocator: add wlr_allocator.buffer_caps
          backend: stop using renderer to get the buffer type
          render: disallow wlr_renderer_destroy while rendering
          render: add wlr_renderer_begin_with_buffer
          output: add get_cursor_formats and get_cursor_size to interface
          backend/wayland: implement get_cursor_formats
          backend/drm: implement get_cursor_formats and get_cursor_size
          backend/drm: remove format arg from drm_plane_init_surface
          backend/drm: introduce drm_plane_pick_render_format
          output: take a wlr_buffer in set_cursor
          backend/drm: move cursor fields to wlr_drm_connector
          xdg-activation-v1: new protocol implementation
          xdg-activation-v1: add token timeout
          surface: allow placing subsurfaces below parent
          buffer: replace get_data_ptr with {begin,end}_data_ptr_access
          render/gles2: add support for DATA_PTR buffers in texture_from_buffer
          render/pixman: implement texture_from_buffer
          buffer: introduce wlr_shm_client_buffer
          buffer: use wlr_texture_from_buffer for wl_shm_buffer
          output: add get_primary_formats to interface
          output: split output_pick_cursor_format
          output: make attach_render and rollback_render optional
          backend/headless: remove swapchain
          backend/x11: implement get_dmabuf_primary_formats
          backend/x11: remove swapchain
          backend/wayland: implement get_dmabuf_primary_formats
          backend/wayland: remove swapchain
          matrix: deprecate wlr_matrix_projection
          screencopy-v1: use wlr_renderer_begin_with_buffer
          output: use wlr_renderer_begin_with_buffer for cursor
          backend/x11: use wlr_renderer_begin_with_buffer for cursor
          render: drop wlr_ prefix from wlr_renderer_bind_buffer
          render: add missing arg to wlr_renderer_impl.get_buffer_caps
          backend/drm: use atomic test-only commits for modifier fallback
          backend/drm: allow committing a buffer and a mode together
          backend/drm: introduce drm_connector_alloc_crtc
          backend/drm: allocate a CRTC in drm_connector_commit_state
          backend/drm: allocate a CRTC in drm_connector_test
          backend/drm: move drm_connector_set_pending_fb up
          backend/drm: move session check from test_buffer to drm_connector_test
          backend/drm: remove test_buffer
          output: reset back buffer on failed commit
          backend/drm: populate cursor plane's current_fb
          backend/session: use drmIsKMS
          backend/session: use DRM_PRIMARY_MINOR_NAME
          build: simplify version script
          xdg-activation-v1: fix wlr_xdg_activation_v1_create error path
          backend: add output state allow-lists
          Revert "build: workaround for meson disabler object not working with if not"
    
    Simon Zeni (22):
          render: rename get_dmabuf_render_formats into get_render_formats
          buffer: introduce wlr_buffer_get_data_ptr
          render: introduce pixman renderer
          renderer: create pixman renderer if getting drm fd failed
          examples: introduce quads example
          examples/rotation: remove unused includes
          render/gles2: introduce wlr_gles2_renderer_create_with_drm_fd
          render: introduce WLR_RENDERER in wlr_renderer_autocreate_with_drm_fd
          render/egl: fail on EGL_MESA_device_software
          render/pixman: implement preferred_read_format
          pixman: implement read pixels
          types/wlr_screencopy_v1: log error on read pixels failure
          render/gbm_allocator: make wlr_gbm_allocator_create return a wlr_allocator
          render/shm_allocator: make wlr_shm_allocator_create return a wlr_allocator
          types/wlr_buffer: introduce wlr_buffer_cap
          backend: introduce backend_get_buffer_caps
          render: introduce renderer_get_render_buffer_caps
          render/allocator: introduce wlr_allocator_autocreate
          backend: use wlr_allocator_autocreate
          render/gbm_allocator: duplicate drm fd during creation process
          render: add DRM dumb buffer allocator
          Update IRC links
    
    Stephan Hilb (1):
          drm: check for PRIME support
    
    Tadeo Kondrak (1):
          backend/x11: add support for shm buffers
    
    Thomas Weißschuh (1):
          xwayland: actually use Xwayland from pkg-config
    
    Tobias Stoeckmann (1):
          xcursor: fix CVE-2013-2003
    
    Tudor Brindus (3):
          xwm: use correct list link when iterating over `unpaired_surfaces`
          xwm: implement _NET_CLIENT_LIST_STACKING
          xwm: prevent X11 clients from blowing our stack by opening too many windows
    
    Yuya Nishihara (3):
          Revert "xcursor: use strncat instead of strncpy"
          xcursor: use memcpy() to append string of known size
          virtual_keyboard: Emulate key release events on destroy
    
    ayaka (1):
          render: make GLES2 renderer optional
    
    nyorain (1):
          render: Assert that texture dimensions are > 0
    
    tomKPZ (1):
          Fix stuck keys on X11 backend
    
    zccrs (4):
          Make the xdg_popup_get_position to public
          render/gles2: add wlr_renderer_is_gles2
          render/pixman: add wlr_*_is_pixman and wlr_pixman_texture_get_image
          render: add get native paint target of renderer
    
    
  • debian/0.13.0-1
    wlroots Debian release 0.13.0-1
    
  • 0.13.0
    69c71dbc · build: bump to v0.13.0 ·
    wlroots 0.13.0
    
    Andri Yngvason (1):
          types/seat: Clear focus in wlr_seat_destroy()
    
    Ariadne Conill (1):
          drm: add fallback drmModeAddFB for drivers which do not support drmModeAddFB2
    
    Brandon Dowdy (7):
          examples: remove dependency on wlr_egl from clients
          render/egl: remove wlr_egl_{create,destroy}_surface
          render/egl: remove *config_attribs and wlr_egl->config
          examples: remove "major" and "minor" from egl_common.c
          render/egl: add check for EGL_KHR_surfaceless_context
          examples/egl_common: make attribs const
          region: remove leftover description of resource_list
    
    BrassyPanache (1):
          Expose ICCCM input status
    
    Chris Chamberlain (1):
          Free xwayland cursor in wlr_xwayland_destroy
    
    Daniel Kondor (1):
          layer-shell: allow new values for keyboard-interactivity
    
    Dominik Honnef (1):
          xwayland: use pipe instead of SIGUSR1 to signal readiness
    
    Ilia Bozhinov (10):
          texture: document that functions should not be called while rendering
          xwm: add wlr_xwayland_surface_restack()
          drm: do not unset make/model before emitting destroy event
          egl: fix memory leak
          noop: listen to display destroy and destroy the backend
          util: add support for generating UUIDs
          xdg-shell: add wlr_xdg_toplevel_set_parent
          types: add wlr_xdg_foreign_registry
          types: add wlr_xdg_foreign_v1
          types: add wlr_xdg_foreign_v2
    
    Ilia Mirkin (8):
          backend/x11: set a blank cursor rather than hiding globally
          backend/x11: make sure output transform matrix is initialized
          backend/x11: add support for scanout mode
          backend/x11: skip events we don't care about
          backend/x11: keep track of exposed rects, add them to damage regions
          xwayland: free render picture backing cursor
          backend/x11: use native cursors
          backend/x11: clamp hotspot to texture bounds
    
    Isaac Freund (28):
          Replace wlr_key_state with wl_keyboard_key_state
          Use uint32_t in wlr_renderer_begin signature
          Remove unneeded includes from wlr_input_device.h
          backend/libseat: fix change_vt return value
          wlr-output-management: add missing NULL check
          screencopy: handle compositor not setting damage
          screencopy: use output transform for damage copy
          screencopy: check if damage committed before copy
          screencopy: don't use output transform for damage copy
          docs: fix error in wlr_output_set_damage() comment
          xwayland: avoid crash on repeated server_finish_display() call
          subsurface: handle NULL parent in get_root_surface
          toplevel-management: ignore inert seats
          toplevel-management: handle strdup failure
          toplevel-management: avoid redundant state events
          docs: wlr_surface_from_resource cannot return NULL
          primary selection: destroy devices before manager
          gtk primary selection: destroy devices before manager
          layer shell: advertise version 3
          xdg shell: make unconstrain_from_box arg const
          xdg shell: add wlr_xdg_surface_for_each_popup_surface()
          xdg shell: add wlr_xdg_surface_popup_surface_at()
          layer shell: add wlr_layer_surface_v1_popup_surface_at()
          xdg/layer shell: reduce code duplication in iterators
          output-management: use same types as wlr_output
          xdg shell: remove wlr_xdg_surface_for_each_popup()
          layer shell: rename popup iterator for consistency
          xdg-output: destroy outputs before manager
    
    Justus Rossmeier (1):
          tablet_v2: Fix implicit grab end detection
    
    Kenny Levinsen (7):
          backend/drm: Use legacy gamma size for legacy backend
          surface: Make send_enter store entered outputs
          backend/wayland: Avoid uninitialized read
          wlr_seat_pointer: Remove log on notify_button
          backend/session/libseat: Set loglevel to INFO
          docs: Minor libseat corrections
          xdg_shell: Fix invert_y of top right anchor
    
    Lukas Märdian (2):
          Fix false positive -Wstringop-truncation
          xcursor: use strncat instead of strncpy
    
    Manuel Stoeckl (3):
          xwayland/xwm: make atom_map const
          xcursor: make cursor data and metadata const
          Make implementation function lists static const
    
    Marten Ringwelski (1):
          wlr-output-management: Handle modes added after initializing
    
    Mykola Orliuk (8):
          backend/wayland: Bind seat listener to wlr_wl_seat
          backend/wayland: Link input devices with seats
          backend/wayland: Add registering multiple seats
          backend/wayland: Use seat name in input names
          backend/wayland: Listen to pointers from all seats
          backend/wayland: Bind pointer listener to seat
          backend/wayland: Add active pointer per host seat
          backend/wayland: Set cursor indivdualy per output
    
    Quantum (1):
          render/wlr_texture: clamp texture coordinates to edge by default
    
    Ronan Pigott (2):
          render/egl: recognize EGL_BAD_DEVICE_EXT error
          backend/drm: avoid gcc stringop-truncation warning
    
    Rouven Czerwinski (1):
          util: fix uuid support for freebsd
    
    Simon Ser (287):
          backend/libinput: require libinput 1.14
          render: introduce wlr_allocator
          render: introduce wlr_gbm_allocator
          render/drm_format_set: introduce wlr_drm_format_dup
          render: introduce wlr_swapchain
          buffer: add wlr_client_buffer_get
          render: introduce wlr_renderer_bind_buffer
          render/gles2: implement wlr_renderer_bind_buffer
          render/gles2: fix y-inverted output when rendering to buffer
          backend/drm: use wlr_swapchain
          render/swapchain: add support for buffer age
          backend/drm: add support for wlr_swapchain buffer age
          backend/drm: get rid of wlr_drm_fb_type
          backend/drm: add support for wlr_swapchain multi-GPU
          backend/drm: check drm_surface_render_black_frame return value
          render/egl: introduce wlr_egl_dup_drm_fd
          render: introduce wlr_renderer_get_drm_fd
          backend/headless: switch to wlr_swapchain
          backend/headless: implement export_dmabuf
          build: improve summary via bool_yn
          render/egl: stop including eglmesaext.h
          backend/session: don't return FD on failure in open_file
          backend/session: operate on wlr_device
          backend/session: filter udev events by sysname
          backend/session: introduce wlr_session.events.add_drm_card
          backend/session: wait for DRM device if none found
          Revert "session/logind: support CanGraphical property"
          backend/session: replace session_signal with events.active
          backend/session/logind: log when using XDG_SESSION_ID
          backend/session: add a timeout waiting for GPUs
          backend/x11: log errors
          backend/x11: log unhandled X11 events
          backend/x11: log unhandled client messages
          backend/drm: stop force-probing connectors
          backend/wayland: don't set EGL visual
          render/egl: don't rely on being able to open primary node
          render: expand wlr_renderer_get{,_dmabuf}_formats docs
          render: remove wlr_renderer_format_supported
          render: introduce wlr_renderer_get_dmabuf_render_formats
          backend/headless: use a format suitable for rendering
          render: rename wlr_renderer_get_dmabuf_formats
          render: rename wlr_renderer_get_formats
          render: assert {X,A}RGB8888 are supported
          render/egl: remove wlr_egl.external_only_dmabuf_formats
          backend/drm: rotation is a plane property
          backend/drm: "scaling mode" is a connector property
          Revert "backend/drm: stop force-probing connectors"
          xwayland: add -core to flags
          build: add leftover WLR_HAS_LIBCAP
          backend/drm: take a wlr_drm_format in init_drm_surface
          render/drm_format_set: introduce wlr_drm_format_intersect
          backend/drm: query render formats
          backend/drm: remove unused if in drm_connector_move_cursor
          backend/session/libseat: set XDG_SESSION_TYPE
          render/egl: support config-less wlr_egl
          backend/headless: create a config-less EGL context
          backend/drm: use EGL_PLATFORM_GBM_KHR
          backend/drm: unset current surface before importing
          render/drm_format_set: allocate using cap when duplicating
          backend/drm: stop tracking overlay planes
          backend/headless: add support for direct scan-out
          backend/drm: fix missing wlr_drm_format.cap
          render/drm_format_set: assert len <= cap when duplicating
          backend/drm: remove EGL config
          render/gles2: don't eglGetConfigAttrib on EGL_NO_CONFIG_KHR
          render/gles2: query alpha size from render buffer
          output: improve basic test logging
          backend/drm: remove workaround for amdgpu DP MST
          output: stop assuming a frame is pending in init
          backend/wayland: stop rendering black frame on init
          backend/wayland: use wlr_swapchain for main surface
          backend/wayland: use wlr_swapchain for cursor surface
          build: move wayland-egl dependency to examples/
          backend/wayland: query render formats
          backend/x11: switch to wlr_swapchain
          backend/x11: query modifiers supported by X11 server
          backend/x11: fix xinput mask mixed up with present
          backend/drm: stop using GBM flags
          Remove inline keyword
          render/gles2: require GL_EXT_unpack_subimage
          backend/drm: dup FD before wlr_gbm_allocator_create
          backend: use fcntl(F_DUPFD_CLOEXEC) instead of dup
          backend/drm: add wlr_drm_connector.backend
          backend/headless: select the rendering device ourselves
          backend/x11: fix DRI3 formats not used
          render/allocator: ignore NULL in wlr_allocator_destroy
          backend/drm: remove nouveau workaround
          backend/drm: add wlr_drm_backend.name
          backend/drm: print DRM device name when scanning connectors
          render/drm_format_set: add wlr_drm_format_{create,add}
          backend/drm: use wlr_drm_format_{create,add}
          backend/x11: use DRI3Open to get DRM FD
          util/time: add timespec_from_nsec
          backend/x11: send more precise output present events
          backend/drm: introduce wlr_drm_conn_log
          backend/drm: introduce wlr_drm_connector.name
          backend/drm: refactor wlr_output destruction
          backend/drm: remove unused wlr_drm_plane.drm_format
          backend/wayland: remove EGL config
          backend/wayland: re-use wl_buffers
          backend/x11: re-use pixmaps
          backend/x11: destroy buffers when destroying output
          backend/drm: don't save texture in gbm_bo user data
          backend/drm: grab DMA-BUF from wlr_buffer instead of gbm_bo
          backend/drm: drop export_drm_bo
          backend/drm: make drm_fb_acquire return a FB ID
          backend/drm: remove drm_fb_acquire
          backend/drm: error on size mismatch in drm_surface_blit
          backend/drm: destroy DRM connectors that disappear
          backend/drm: assert connector state after wlr_output_destroy
          backend/drm: use plural form for possible_crtcs
          backend/drm: don't retry page-flip when modifiers are unsupported
          Remove contrib/_incr_version
          docs/env_vars: _WAYLAND_DISPLAY isn't used anymore
          docs/env_vars: document seatd session
          backend/drm: log whether ADDFB2 modifiers are supported
          backend/drm: add special case for cursor in add_plane
          backend/drm: make drmModePlane arg in add_plane const
          backend/drm: use connector log helpers in atomic backend
          client-buffer: remove unnecessary wlr_resource_get_buffer_size
          Stop using wlr_texture_get_size
          backend/drm: make listener names more idiomatic
          backend/x11: implement a real rendering loop
          backend/x11: create per-window present event contexts
          backend/drm: force LINEAR for cursor plane formats
          render/drm_format_set: add special case for LINEAR-only formats
          backend/drm: extract linear format creation into function
          backend/drm: remove special linear case for cursor plane
          Remove wlr_create_renderer_func_t
          backend/x11: always open render node
          backend/x11: print version on extension error
          backend/drm: ignore hotplug events while inactive
          backend/drm: stash pending page-flip CRTC
          examples: remove visual for EGL_PLATFORM_WAYLAND_EXT
          examples: request an EGL config
          backend/wayland: re-use cursor wl_buffers
          backend/session: allow wlr_session_find_gpus to return an error
          backend/wayland: remove unnecessary flags from event source
          render: remove EGL config and visual from wlr_renderer_autocreate
          backend/drm: don't log errno on plane_get_next_fb failure
          render/egl: document that config may be zero
          render/egl: use KHR function pointer type
          render/egl: document NULL config_attribs passed to wlr_egl_init
          backend/drm: make wlr_drm_plane.{pending,queued,current}_fb pointers
          backend/drm: introduce drm_fb_create
          backend/drm: add wlr_drm_buf.local_wlr_buf
          backend/drm: only keep track of local buffer
          backend/drm: re-use FBs
          backend/drm: stop using surface size for BO
          xwayland: remove protocol debug messages
          protocol: add drm.xml
          backend/wayland: use the EGL GBM platform
          output-damage: use output commit event
          gamma-control-v1: schedule frame when resetting gamma LUT
          build: remove Clang workarounds
          render/gles2: fix EGL use-after-free
          build: use more consistent feature names in summary
          render/egl: remove support for EGL_NATIVE_VISUAL_ID
          render/egl: remove wlr_egl_swap_buffers
          render/egl: replace init/finish with create/destroy
          render/egl: remove surface and buffer age args from make_current
          backend/drm: fix segfault in page_flip_handler
          backend/drm: remove unnecessary wlr_drm_fb.wlr_buf check
          render/gles2: save/restore EGL context in destroy_buffer
          render: document wlr_renderer_bind_buffer
          backend: remove unnecessary GLES2 includes
          output-damage: stop listening to scale/transform events
          output-layout: stop listening to scale/transform events
          output: remove scale/transform events
          render/gles2: restore EGL context after texture operations
          render/gbm_allocator: log GBM backend name
          render/gbm_allocator: document that DRM primary FDs work
          render/gbm_allocator: fix gbm_device use-after-free
          render: extract gles2 build files to subdir
          backend: add get_drm_fd to interface
          backend/multi: implement get_drm_fd
          backend/wayland: implement get_drm_fd
          backend/drm: implement get_drm_fd
          backend/x11: implement get_drm_fd
          backend/headless: implement get_drm_fd
          render/gles2: make EGL context current in bind_buffer
          output-damage: stop relying on output pending state on commit
          output: send commit event after pending state is cleared
          render/egl: fix gbm_device use-after-free
          render: introduce private wlr_renderer_autocreate_with_drm_fd
          backend/drm: use local DRM FD for wlr_rend
          backend/headless: create renderer after wlr_backend_init
          render/gbm_allocator: export to DMA-BUF on init
          render/gbm_allocator: set modifier to INVALID if implicit
          backend/x11: log when creating X11 backend
          backend/x11: log DRM node name
          backend/x11: add support for DRI3 1.0
          backend/x11: add xcb_dri3_pixmap_from_buffers check for n_planes
          backend/drm: add support for the subconnector property
          backend/drm: add wlr_drm_connector_get_id
          backend/drm: fix modifiers for cursor plane buffers
          backend/x11: fix region not being actually used
          Revert "render/egl: remove unused gbm_device member"
          Revert "render: add wlr_egl_create_from_drm_fd function"
          render/gbm_allocator: avoid drmPrimeHandleToFD
          backend/drm: document wlr_drm_plane surface fields
          backend/drm: simplify drm_fb_lock_surface
          backend/drm: don't blit in drm_fb_import
          xwayland: drop unused enum net_wm_state_action
          render/egl: fix NULL dereference when using llvmpipe
          xwayland: fix extraneous NET_WM_STATE log messages
          backend/x11: remove output_set_refresh
          backend/wayland: remove unnecessary cast
          render/egl: log whether DMA-BUF modifiers are supported
          render/dmabuf: cleanup on wlr_dmabuf_attributes_copy error
          render/dmabuf: make src arg const in wlr_dmabuf_attributes_copy
          region: make wlr_region_create private
          region: remove resource_list arg from region_create
          backend/wayland: flush remote display
          Fix bad indentation
          readme: fix typo in xcb-icccm dependency
          render/gles2: remove YUV blocklist
          backend/x11: drop x11-xcb dependency
          seat: use WL_SEAT_ERROR_CAPABILITY
          surface: check buffer size is compatible with scale
          build: remove extra whitespace
          examples: drop wlroots dep from egl_common.c
          examples: drop wlr/render/egl.h include from client examples
          examples: remove wlroots dep from client examples
          build: use dictionnary for features instead of configuration_data
          build: set have_* dep variables for our features
          build: set pkg-config variables for our features
          Replace leftover conf_data with features
          build: bump meson version to 0.56.0
          surface: move INVALID_SIZE check into surface_state_finalize
          surface: don't send protocol error on invalid buffer size
          backend: add error messages in attach_render impls
          render/gles2: check buffer stride when uploading texture
          render/gles2: remove current_buffer checks
          render/shm_format: add wl_shm_format conversion helpers
          render/gles2: convert format table to DRM formats
          render/gles2: replace wlr_gles2_texture.wl_format with drm_format
          render: use DRM formats in wlr_renderer_get_shm_texture_formats
          output: use DRM format in wlr_output_preferred_read_format
          render: use DRM formats in wlr_renderer_read_pixels
          render: use DRM formats in wlr_texture_from_pixels
          Remove unnecessary wayland-server-protocol.h includes
          build: add -Wformat=2 -Walloca
          build: rollback -Wformat=2
          buffer: add missing convert_wl_shm_format_to_drm call
          Fix wl_shm_format passed to wlr_texture_from_pixels
          examples: add libdrm partial dependency for compositors
          readme: make it clear build/ is a dir
          readme: use spaces for list indent
          readme: use references for links
          backend/session: fix KMS device filtering
          xwayland: add dependency on xwayland
          xwayland: check executable exists on init
          xwayland: use -listenfd if available
          backend/drm: add new writeback and SPI connector types
          output: document hotspot coord space
          output: fix transform matrix for 90/270 rotations
          render/egl: don't fail on EGL_MESA_device_software
          screencopy: stop using wlr_renderer_blit_dmabuf
          Fix buffer blit matrices
          ci: update xwayland dep on alpine
          examples/dmabuf-capture: stop using av_init_packet
          linux-dmabuf-v1: always advertise support for implicit modifiers
          surface: introduce commit sequence numbers
          surface: introduce cached states
          subsurface: use cached surface state
          subsurface: immediately unlock cached state in set_desync
          render/egl, backend/wayland: add workaround for split render/display setups
          xwayland: assume no WM_HINTS means window wants input
          xwayland: require xcb-icccm
          xwayland: use ICCCM state defines from xcb-icccm
          backend/drm: use format table in test_buffer
          build: add subproject fallback for libseat
          surface: make wlr_surface_create private
          surface: remove resource_list arg from surface_create
          render/egl: stop relying on platform for high priority
          backend/drm: try to import buffer when testing it
          backend/drm: improve logs in drm_fb_create
          backend/drm: reject DMA-BUFs with flags
          backend/x11: reject DMA-BUFs with flags
          build: simplify HAS_LIBUUID definition
          build: use get_variable instead of get_pkgconfig_variable
          backend/drm: don't set NONBLOCK with TEST_ONLY
          backend/drm: downgrade test-only commit failure log level
          backend/drm: use atomic test-only commits for direct scan-out
          backend/drm: stop testing for buffer in drm_connector_commit_buffer
          build: bump to v0.13.0
    
    Simon Zeni (15):
          ci: build tinywl
          tinywl: fix wlr_backend_autocreate call
          backend: remove wlr_egl from all backends
          remove unnecessary egl includes
          render: drop egl parameters from wlr_renderer_autocreate
          render: remove egl include from wlr_renderer
          render: add wlr_egl_create_from_drm_fd function
          render/egl: remove unused gbm_device member
          render/egl: fail to create wlr_egl on software renderer
          output: improve transform matrix calculation
          render/pixel_format: introduce pixel format info table
          Move render/shm_format functions to render/pixel_format
          backend/drm: use pixel format table in renderer
          render/pixel_format: add XBGR8888 and ABGR8888 format
          render/gles2: remove depth and bpp gles2_pixel_format, use drm pixel format
    
    Stephane Chauveau (1):
          backend/drm: don't assume possible_crtcs has only one bit set
    
    Tadeo Kondrak (3):
          xdg-foreign: Make imported object inert when exported is destroyed
          xdg-foreign: rename finish_* functions to destroy_*
          text_input_v3: correct typo in enum field
    
    Tudor Brindus (21):
          xwayland: use wlr_log_errno instead of %m
          xwayland/selection: prevent fd leak on unsupported MIME type
          xwayland/selection: rename Wayland-facing data and helpers
          xwayland/selection: make `xwm_data_source_write` return 0 on failure
          xwayland/selection: explicitly bail if first write to Wayland fd fails
          xwayland/selection: simplify incremental transfer control flow
          xwayland/selection: extract out property requests
          xwayland/selection: refactor remaining incremental transfer code
          xwayland/selection: end incr transfer on empty prop, not next selection
          xwayland/selection: don't request another selection while one is pending
          xwayland/selection: don't leak Wayland fd if ConvertSelection fails
          xwayland/selection: destroy all selections on Xwayland restart
          xwayland/selection: make xwm_selection_finish take a wlr_xwm_selection *
          xwayland/selection: introduce `xwm_selection_transfer_init`
          xwayland/selection: make xwm_selection_init take a wlr_xwm_selection *
          xwayland/selection: use one X11 window per incoming transfer
          xwayland/selection: use one target window per selection
          xwayland/selection: allow simultaneous Wayland-to-X11 transfers
          xwayland/selection: ignore requests for anything but the newest data
          xwayland/selection: log when proxy window loses ownership
          xwayland/selection: flush connection after changing xwm selection owner
    
    fwsmit (1):
          examples/foreign-toplevel: Add documenation and output selection
    
    zccrs (2):
          Use absolute paths in include in header files
          render/egl: check "EGL_KHR_platform_gbm" for EGL gbm platform