Skip to content
This repository has been archived by the owner on Nov 1, 2021. It is now read-only.

Tags: swaywm/wlroots

Tags

0.14.1

Toggle 0.14.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
emersion Simon Ser
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

Toggle 0.14.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
emersion Simon Ser
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

0.13.0

Toggle 0.13.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
emersion Simon Ser
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

0.12.0

Toggle 0.12.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
emersion Simon Ser
wlroots 0.12.0

Antonin Décimo (3):
      Fix typos
      Fix incorrect format parameters
      xwayland: free server in error path

Daniel De Graaf (1):
      wlr_virtual_keyboard: fix fd leak

Daniel Kondor (2):
      foreign-toplevel-management: report parent toplevel
      foreign toplevel: send parent event only to clients that support it

Devin J. Pohly (1):
      drm: fix uninitialized read

Drew DeVault (1):
      Remove xdg-shell v6

Guido Cella (1):
      render: Don't crash on 0 dimensions

Ilia Bozhinov (9):
      xwayland: do not allow apps to change focus after wlroots request
      make sure to fail setting gamma on disabled outputs
      backend/wayland: destroy relative pointer when output is disconnected
      wayland: emit relative pointer events only for current pointer
      xwayland: disconnect display destroy listener even if xwayland didn't initialize
      xwayland: add set_geometry event
      backend/wayland: add touch support to the wayland backend
      xdg_shell: fix a typo
      xdg_shell: handle inert popups

Isaac Freund (6):
      xdg-shell: split last-acked and current state
      layer-shell: add for_each_popup
      layer-shell: error on 0 dimension without anchors
      xdg_positioner: remove unused field
      wlr_drag: remove unused point_destroy field
      xwayland: remove unused listener

Kenny Levinsen (2):
      session: Add libseat backend
      session: Add missing init to direct-freebsd

Marten Ringwelski (1):
      backend/drm: Check if output is enabled before sending frame event

Mykola Orliuk (5):
      backend/wayland: manage cursor for current pointer
      backend/wayland: factor out wlr_wl_seat
      backend/wayland: add error flow in create_wl_seat
      backend/wayland: fix input creation error handling
      backend/wayland: fix some keyboard/touch leaks

Patrick Steinhardt (1):
      session: Don't refuse unprivileged creation of "direct" backend

Roman Gilg (3):
      output-management-v1: add head identifying events
      output-management-v1: send head identifying information
      output-management-v1: send complete head state on enable change

Ronan Pigott (1):
      virtual_pointer: remember current axis for axis events

Rouven Czerwinski (2):
      examples: remove unnecessary gles2.h imports
      xwm: add loop detection for read_surface_parent

Ryan Walklin (4):
      Implement logind session SetType method to change session type to wayland
      Also set XDG_SESSION_TYPE
      Don't set XDG_SESSION_TYPE unless logind SetType succeeds
      Quieten failure to set login session type

Scott Moreau (2):
      xwm: Set _NET_WM_STATE_FOCUSED property for the focused surface
      foreign toplevel: Fix whitespace error

Simon Ser (31):
      xwayland/xwm: don't insert surface in list on error
      xwayland/xwm: add prop count assert in xsurface_set_net_wm_state
      xwayland/xwm: use initializer for props in xsurface_set_wm_state
      render/gles2: make wlr_gles2_texture_from_* private
      render/gles2: keep ref to wlr_gles2_renderer in wlr_gles2_texture
      render/gles2: make push/pop debug functions take a wlr_renderer
      render/gles2: remove gles2_procs
      gamma-control-v1: fix use-after-free in gamma_control_handle_set_gamma
      examples/simple: use wlr_output_preferred_mode
      examples/simple: use wlr_renderer instead of GL
      Remove unnecessary wl_display_dispatch calls
      output: introduce wlr_output_event_commit
      output-power-management-v1: listen to output commit
      examples/dmabuf-capture: add extra roundtrip for wl_output listener
      backend/session/libseat: register log handler
      backend: remove check for _WAYLAND_DISPLAY
      backend/libinput: improve logger callback
      render: define EGL_NO_PLATFORM_SPECIFIC_TYPES (#2452)
      backend/drm: fix "a page-flip is already pending" errors on modeset
      xwayland: minor code style fixes
      xwayland: log unhandled NET_WM_STATE property changes
      gamma-control-v1: apply gamma LUT when output gets enabled
      screencopy: stop setting needs_frame flag
      backend/drm: export pending FB in export_dmabuf, if any
      output: update docs to reflect reality
      output: add when field to wlr_output_event_commit
      export-dmabuf: export DMA-BUF on output commit
      screencopy: perform DMA-BUF copy on output commit
      screencopy: send failed when copying a DMA-BUF with a region
      input-method: send modifiers in set_keyboard
      Update version to 0.12.0

Tobias Langendorf (1):
      xwm: add support for xwayland minimize

Tudor Brindus (11):
      examples: use `perror` instead of `fprintf` GNU %m `printf` extension
      xwayland: using %m in `wlr_log` is broken, use `wlr_log_errno` instead
      xwayland: fix use-after-free in selection handling
      xwayland: introduce WLR_XWAYLAND for specifying which Xwayland to use
      xwayland: remove stale transfers from the same requestor
      xwayland: notify requestor when we fail to respond to their request
      xwayland: fix minor typo in debug log
      types/wlr_keyboard: use bitmasks for wlr_keyboard_led and wlr_keyboard_modifier enums
      types/wlr_output_layout: use bitmask for wlr_direction
      util/edges: use bitmask for wlr_edges
      render/dmabuf: use bitmask for wlr_dmabuf_attributes_flags

Valentin (2):
      Use fixed size integer type
      Fix undefined behavior

nerdopolis (1):
      Accommodate for CONFIG_VT=0, all TTYs are in seat0, but not all seat0s have TTYs

0.11.0

Toggle 0.11.0's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
emersion Simon Ser
wlroots 0.11.0

Aleksei Bavshin (1):
      xdg-shell: fix popups rendered outside of the screen

Andri Yngvason (15):
      virtual-pointer: Add request for mapping to specific output
      export-dmabuf: Schedule output frame on request
      export-dmabuf: Keep frame->output = NULL until frame is ready
      render: egl: Add utility functions for saving/restoring context
      render: Add wlr_renderer_blit_dmabuf()
      protocol: screencopy: Extend to report linux-dmabuf capability
      screencopy: Implement copying into linux-dmabuf
      examples: Add screencopy-dmabuf example
      render: Fix blit_dmabuf() breakage due to API change
      backend: drm: Fix dmabuf resource leak
      screencopy: Use correct constant for y-inversion
      render: gles2: Fix y-inversion in gles2_blit_dmabuf()
      screencopy: Use correct dmabuf to get y-inversion flag
      examples: screencopy-dmabuf: Fix y-inversion
      render: egl: Use current display to restore NULL context

Brian Ashworth (2):
      meson.build: update wayland requirement to 1.18
      wlr_keyboard_group: introduce enter and leave

David96 (1):
      Add wlr_surface_accepts_touch

Dorota Czaplejewicz (1):
      text_input_v3: Note features supported by the text field

Filip Sandborg (1):
      Fix uint32 overflow in fill_empty_gamma_table on Icelake platform

Greg Depoire--Ferrer (1):
      tinywl: Fix wrong anchor point while resizing a window

Greg V (1):
      xdg-shell: check for existing role before setting xdg_popup_surface_role

Guido Günther (4):
      Add wlr-output-power-management
      Implement wlr-output-power-management-v1
      examples: add output-power-management example client
      wlr_output_power_management_v1: Init output_power->link

Ilia Bozhinov (2):
      output-management: add current_configuration_dirty
      examples: make output-power-management oneshot by default

Isaac Freund (16):
      Send keyboard enter/leave on capability change
      Properly popluate keys array for enter on creation
      Send pointer enter/leave on capability change
      Return failure of wlr_renderer_init_wl_display()
      Return false on wlr_keyboard_set_keymap() failure
      tinywl: remove redundant create output global call
      Document the events of wlr_layer_surface
      tinywl: remove unused variables
      tinywl: handle request set selection
      layer shell: only send unmap on close if mapped
      Make wlr_xcursor_manager_load() return a bool
      layer-shell: handle serial wrapping overflow
      xdg-shell: handle serial wrapping overflow
      xdg-decoration: free old configure structs
      layer-shell: upgrade to v3, implement destructor
      layer-shell: remove unused surface list

Jan Beich (2):
      backend/session: allow GPU enumeration on FreeBSD
      xcursor: also look for cursor themes under ${datadir}/icons by default

Jan Staněk (1):
      Declare wlr_seat globals as extern

John Chadwick (1):
      xwm: end transfers when the requestor is destroyed

JonnyMako (1):
      backend/drm: fix missing cursor on external monitors with multi-GPU setup and nouveau

Julien Olivain (1):
      render/egl: include EGL/eglmesaext.h only if present

Kalyan Sriram (2):
      tinywl: fix geo_box bug in cursor resizing
      Don't send redundant capability updates

Kenny Levinsen (3):
      logind: Close fd before releasing device
      seat: Create inert objects for missing capabilities
      wlr_drag: Destroy drag after releasing grabs

Kirill Chibisov (1):
      xcursor: add xorg-x11 and cursors path to XCURSORPATH

Manuel Stoeckl (2):
      Fix output rotation direction
      output: fix output transform compositions

Michael Weiser (3):
      keyboard-shortcuts-inhibit: Implement the protocol
      keyboard-shortcuts-inhibit: Add client example
      idle-inhibit: Style and naming improvements

Rabit (1):
      Prevent memory leak in copypaste of the screencopy example

Rouven Czerwinski (4):
      backend/drm: add env variable to disable modifiers
      backend/drm: remove overzealous finish_drm_surface
      render: assert sane values for box functions
      surface: don't unset width and height in finalize

Scott Anderson (8):
      meson: Fix protocol includes for compositor examples
      examples: Fix compositor-examples
      wlr_surface: Post error if multiple role objects created
      backend/drm: introduce wlr_drm_fb
      backend/drm: don't have fallback atomic commits
      backend/drm: move atomic cursor code into pageflip code
      backend/drm: don't allow legacy to use direct scanout
      Remove libcap support

Scott Moreau (3):
      build: Add 'auto' to logind-provider combo option
      xwayland: Don't discard ready signals
      xwm: Destroy xwm on hangup or error

Simon Ser (129):
      build: replace version with soversion
      render: unconditionally disable implicit X11 includes
      meson: fix wayland-server minimum required version
      util: add wlr_output_destroy_safe
      output: don't destroy global immediately
      seat: don't destroy global immediately
      xwayland: ignore pointer focus changes
      backend/wayland: rename wl_seat.c to seat.c
      output: remove wlr_output_impl.schedule_frame
      backend/wayland: fix seat caps handling
      Introduce wlr_client_buffer
      output: add adaptive_sync_enabled property
      backend/x11: add support for adaptive_sync_enabled
      backend/drm: add support for adaptive_sync_enabled
      xwayland: use explicit indexes when initializing atom_map
      xwayland: remove duplicate _NET_WM_NAME entry
      xwayland: remove underscore prefix from atom names
      output: make wlr_output_schedule_frame set output->needs_frame
      output: don't send a needs_frame event if already sent
      util/log: improve time prefix
      render/gles2: remove duplicated format list
      buffer: remove unused wlr_client_buffer fields
      output: add comment about needs_frame in wlr_output_schedule_frame
      output: replace wlr_output.damage with a damage event
      backend/wayland: close keymap FD
      Gracefully handle inert wl_output resources
      buffer: add destroy event
      buffer: add a release event
      buffer: add width and height
      output: introduce wlr_output_test
      output: check buffer in wlr_output_test
      backend: reset EGL surface after buffer swap
      Add wlr_output_impl.rollback
      render/egl: make config attribs const
      backend: set EGL_RENDERABLE_TYPE and EGL_SURFACE_TYPE
      render/gles2: only call wlr_egl_bind_display if supported
      render: only expose linux-dmabuf if EGL extension is supported
      output: fix blurred hw cursors with fractional scaling
      output: check for buffer size compatibility in common code
      backend/wayland: check scan-out buffer is compatible in output_test
      output: fix maybe-uninitialized warning
      backend/multi: add backends at end of list
      build: use meson.override_dependency
      build: use dicts instead of get_variable
      build: use summary instead of message
      output_layout: improve docs
      render/drm_format_set: disallow DRM_FORMAT_INVALID
      render/gles2: add wlr_gles2_renderer_check_ext
      backend/headless: use FBOs instead of pbuffers
      backend/headless: add wlr_headless_backend_create_with_renderer
      render/texture: add width and height fields
      render/texture: make write_pixels optional
      backend/drm: strip alpha channel if necessary
      Remove .swp file added by mistake
      util/log: write log importance
      backend/drm: make page-flip error scarier
      examples/dmabuf-capture: use getopt
      backend/multi: handle backends depending on each other properly
      backend/headless: handle renderer destroy
      backend/drm: remove wlr_drm_interface.crtc_move_cursor
      backend/drm: remove unused fields
      backend/drm: remove mode argument to crtc_pageflip
      backend/drm: apply gamma LUT on page-flip
      backend/drm: rename crtc_pageflip to crtc_commit
      backend/drm: remove conn_enable from interface
      backend/drm: remove crtc_set_cursor from interface
      backend/drm: GAMMA_LUT_SIZE isn't atomic
      backend/drm: simplify atomic commit logic
      backend/drm: fix crash in session_signal
      backend/drm: remove missing cursor plane workaround
      backend/drm: fix combined modeset+enable commits
      backend/drm: disable cursor in dealloc_crtc
      backend/drm: print error in set_plane_props
      backend/drm: fix segfault in drm_crtc_page_flip
      output: make wlr_output_set_gamma atomic
      backend/drm: fix atomic commits when the GAMMA_LUT prop is missing
      Fix -Wreturn-type warnings
      render/egl: introduce wlr_egl_unset_current
      backend/drm: fix current EGL context on multi-GPU
      backend/drm: add missing wlr_egl_unset_current
      xwayland: split server
      xwayland: add option to disable WM
      render/egl: unset current context after swapping buffers
      backend/drm: rollback atomic blobs
      backend/drm: refuse to enable an output without a mode
      backend/drm: remove drm_connector_set_custom_mode
      backend/drm: remove enable_drm_connector
      backend/drm: make drm_connector_set_mode take a wlr_drm_connector
      backend/drm: nuke retry_pageflip
      backend/drm: introduce pending and current CRTC state
      backend/drm: don't set cursor if off-screen
      backend/drm: fix missing crtc->cursor NULL check
      Add comments for missing tablet tool entries
      backend/drm: rollback pending CRTC state on test commit
      backend/drm: make adaptive_sync atomic
      backend/drm: commit/rollback FBs in drm_crtc_commit
      backend/drm: drop extra wlr_output_update_enabled call
      backend/drm: always perform a CRTC commit in drm_connector_commit
      backend/wayland: fix spurious eglSwapBuffers failures
      render: stop making EGL context current in wlr_egl_init
      backend/drm: fix black screens when enabling output
      render: choose DMA-BUF texture target via eglQueryDmaBufModifiersEXT
      contributing: resource destroy handlers need to cleanup pointers
      contributing: add note about events that destroy objects
      backend/drm: fix stack overflow in dealloc_crtc
      buffer: document wlr_buffer_get_dmabuf DMA-BUF lifetime
      output: document wlr_output_export_dmabuf
      render/egl: explicit client extension handling
      examples/screencopy-dmabuf: call strncpy with maxlen - 1
      examples/fullscreen-shell: stop advertising linux-dmabuf unconditonally
      render/gles2: use .x/.y instead of .s/.t
      box: add wlr_fbox
      util/region: add wlr_region_scale_xy
      render: add wlr_render_subtexture_with_matrix
      surface: add wlr_surface_state.viewport
      surface: introduce wlr_surface_get_buffer_source_box
      viewporter: new protocol implementation
      surface: ignore viewport src rect on NULL buffer
      render/egl: print error name
      output: rename impl->rollback to rollback_render
      output: make rollback_render mandatory
      output: fix dangling renderer context after wlr_output_preferred_read_format
      backend/noop: add missing rollback_render output impl
      examples/pointer: fix wlr_renderer_end call order
      output: add backend docs
      backend/drm: fix DPMS on legacy interface
      backend/drm: fix typo in drm_surface_make_current arg
      backend/drm: check drm_surface_make_current return value
      Update version to 0.11.0

Simon Zeni (1):
      render/gles2: use glGetAttribLocation instead of hardcoded indices

Thomas Hebb (3):
      wlr_seat: Declare functions in the same order for pointer, keyboard, and touch
      wlr_seat: Clarify wording of non-grab-respecting function comments
      Allow keyboard and pointer grabs to hook clear_focus()

Tudor Brindus (19):
      backend/libinput: correctly populate x/y fields on tablet proximity in
      input/tablet: populate tool tip event position
      input/tablet: fix up updated axes after rotation
      input/tablet: clear focused surface on surface destroy
      wlr/types: use bitshifts for tablet axes enum
      backend/wayland: emit tablet tool axis events to the axis handler
      input/keyboard: expose keymap matching helper
      input/pointer: notify compositor when constraint region changes
      tablet: pass motion events to implicitly grabbed surface
      tablet: expose wlr_tablet_tool_v2_has_implicit_grab function
      util/log: use bright black rather than black for WLR_DEBUG
      xwayland: send focus change event unconditionally
      xwayland: add error-checking to `server_start_lazy`
      backend/wayland: scale tablet tool position into [0, 1] range
      util: fix and move `get_current_time_msec` into a util file
      util/time: de-duplicate `timespec_to_msec`
      util/time: move `timespec_sub` to time utilities
      input/keyboard: send modifiers on first keyboard enter
      input/pointer: add wlr_seat_pointer_wrap

Tudor Roman (1):
      seat: add selection event docs

Will Daly (1):
      Fix error when reconnecting external display

j-n-f (1):
      examples: fix improper use of `free`

r-c-f (1):
      seat: add check for NULL keyboard

xdavidwu (3):
      virtual-keyboard: add wlr_input_device_get_virtual_keyboard
      input-method: implement keyboard grabs
      examples/input-method-keyboard-grab: new example

0.10.1

Toggle 0.10.1's commit message

Verified

This tag was signed with the committer’s verified signature. The key has expired.
emersion Simon Ser
wlroots 0.10.1

This is a bugfix release for wlroots 0.10.0.

Aleksei Bavshin (1):
      xdg-shell: fix popups rendered outside of the screen

Scott Anderson (2):
      meson: Fix protocol includes for compositor examples
      examples: Fix compositor-examples

Simon Ser (2):
      xwayland: ignore pointer focus changes
      Update version to 0.10.1

0.10.0

Toggle 0.10.0's commit message
wlroots 0.10.0

Drew DeVault (1):
      Drop RDP backend

Jan Staněk (1):
      Honor the `examples` meson setting

Jason (1):
      Allow WLR_RDP_PORT to be any valid TCP/UDP port number

Scott Anderson (1):
      Bump meson version to 0.51.2

Simon Ser (9):
      backend/wayland: listen to wl_buffer.release events
      backend/wayland: handle display errors more gracefully
      render/egl: remove SURFACELESS_MESA special case
      render/gles2: unbind textures after use
      docs: remove rootston-specific env vars
      docs: establish one section per backend
      docs: document XDG_SESSION_ID
      backend/drm: prevent outputs from being destroyed on commit
      keyboard-group: two NULL keymaps are equal

xdavidwu (1):
      text-input: fix missing destroy signal init

0.9.1

Toggle 0.9.1's commit message
wlroots 0.9.1

Andri Yngvason (1):
      virtual-pointer: Actually use the value passed to axis_discrete

Ilia Bozhinov (1):
      xwm: allow applications to change focus between their own surfaces

Simon Ser (1):
      backend/wayland: fix frame callback not registered

0.9.0

Toggle 0.9.0's commit message
wlroots 0.9.0

Alynx Zhou (1):
      Skip assign when sub_x or sub_y is NULL in wlr_surface_surface_at

Andri Yngvason (3):
      output: Add commit sequence number
      protocol/screencopy: Add damage reporting
      screencopy: Implement damage reporting

Brian Ashworth (2):
      Introduce wlr_keyboard_group
      wlr_keyboard_group: fix mem leak in refresh_state

Danilo Spinella (1):
      Add new define EGL_NO_X11 for newer mesa library

Dorota Czaplejewicz (1):
      virtual_keyboard: Accept keycode 0

Drew DeVault (1):
      Introduce wlr_renderer_get_egl

Ferdinand Bachmann (1):
      Add missing include required by mesa and libglvnd change

György Kurucz (1):
      Fix heap-use-after-free in wlr_send_tablet_v2_tablet_pad_leave

Ilia Bozhinov (1):
      wlr_box: properly calculate closest point for non-positive area boxes

Ivan Molodetskikh (1):
      output: add block_idle_frame

Jan Beich (1):
      examples: set mode when creating shm object

Jason (2):
      Amend typos
      Amend typo

Josef Gajdusek (1):
      virtual-pointer: Add support for the wlr-virtual-pointer-unstable-v1

Manuel Stoeckl (1):
      output: fix cursor wl_surface.{enter,leave} tracking

Ronan Pigott (2):
      session/logind: support CanGraphical property
      render/gles2: do not set GL_TEXTURE_MAG_FILTER

Rouven Czerwinski (1):
      backend/drm: print preferred mode

Scott Anderson (8):
      backend/x11: Give X11 a real rendering loop
      session/logind: Clean up add_signal_matches
      render/gles: Simplify textures a bit
      backend: Do not attempt DRM on X11/WL failure
      backend/x11: Drop required present version
      backend/x11: Revert usage of present extension
      meson: Various improvements
      meson: Remove tag generation

Scott Moreau (3):
      xwayland: Expose configure request mask
      build: Pass library as first argument to pkgconfig.generate()
      xwayland: Clean up if Xwayland fails to start

Simon Ser (51):
      build: workaround for meson disabler object not working with if not
      render/egl: support formats with zero modifiers
      backend/drm: use modifiers for our GBM buffers
      build: simplify by using disabler deps
      backend/wayland: add support for direct scan-out
      render/gles2: don't unset the current EGL surface when destroying texture
      protocol: sync layer-shell with upstream
      backend/drm: track gbm_bo during direct scan-out
      render/egl: prevent use-after-free when destroying current surface
      backend/drm: retry without modifiers for the primary plane
      backend/drm: add support for custom modes
      output-management-v1: add assertion as a safety net
      render: remove EGL includes from wlr_texture.h
      render/gles2: provide public API to access GL texture
      backend/wayland: add support for relative-pointer-unstable-v1
      backend/wayland: expose remote objects
      output: add wlr_output_event_present.commit_seq
      Add -Wmissing-prototypes
      output: set wlr_output.commit_seq before firing the commit event
      output: fix off-by-one wlr_output_event_present.commit_seq
      presentation-time: make API more flexible
      presentation-time: add helper for common case
      backend/wayland: add support for presentation-time
      render: remove return in wlr_texture_get_size
      Simplify globals implementation by removing destructors
      Revert "output: add block_idle_frame"
      keyboard: emit key events without keymap
      backend/drm, backend/libinput: listen to session destroy
      backend/drm: fix segfault in init_drm_surface
      backend/drm: add BenQ to manufacturer list
      buffer: improve error handling
      surface: don't unref the current buffer on failure
      output: fix wlr_output_preferred_mode fallback
      Refactor EGL/GL API loading
      ci: add xorgproto dep to Arch build
      render: fix EGL extensions not loaded
      Revert "ci: add xorgproto dep to Arch build"
      ci: add a build run with all features disabled
      output: add description
      xdg-output-v1: use wlr_output.description
      output-management-v1: use wlr_output.description
      output: re-introduce atomic mode, enabled, scale and transform
      backend/drm: modeset before enabling an output
      output: clear pending bit if pending == current
      output: refuse to commit a buffer or modeset a disabled output
      tinywl: enable and commit output when modesetting
      xdg-shell: fix inert xdg_surface handling
      xdg-shell: make wlr_xdg_surface_from_resource reject NULL
      output: only advertise current mode
      backend/drm: don't modeset with a NULL mode after TTY switch
      render: guard rendering operations between begin() and end()

Timidger (2):
      layer_shell: set layer of existing surface
      Use layer shell v2

Ting-Wei Lan (1):
      backend/session/freebsd: Fix the way to get TTY path

myfreeweb (1):
      Send tablet tool frame on proximity_out

n3rdopolis (2):
      Update environment variable documentation to include more backends
      note libinput as well

0.8.1

Toggle 0.8.1's commit message
wlroots 0.8.1

This update fixes Drew's continued ability to find novel ways to mess up
releases.

Filip Sandborg (1):
      render/gles2: fix calculation for partial gles2 pixel read (#1809)

Ilia Bozhinov (1):
      layer-shell: ignore ack_configure() on closed surfaces

Ivan Molodetskikh (2):
      presentation_feedback: add the sampled state
      drm: use IMPORT_FD for INVALID modifier

Markus Ongyerth (3):
      Move initialization of wlr_tablet_pad into types/wlr_tablet_pad
      Add zwp-tablet-unstable-v2 client support
      Clean up wayland backend tablet support

Rouven Czerwinski (1):
      backend/drm: check for mst: in path property

Scott Anderson (1):
      render/egl: Change KHR_debug log to include error code

Sebastian Krzyszkowiak (1):
      wlr_seat_touch: Destroy the touchpoint on client destroy

Simon Ser (1):
      compositor: disconnect client on OOM in create_surface

Versus Void (1):
      xdg-output: send wl_output.done after xdg_output created

amingin (1):
      Fixes crash of compositor when unvalidated keycode 0 is passed (#1833)