Tags give the ability to mark specific points in history as being important
  • pureos/0.10.1-1pureos+librem5.4
    wlroots Debian release 0.10.1-1pureos+librem5.4
  • 0.11.0
    751a21d9 · Update version to 0.11.0 ·
    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
  • pureos/0.10.1-1pureos+librem5.3
    wlroots Debian release 0.10.1-1pureos+librem5.3
  • pureos/0.10.1-1pureos+librem5.2
    wlroots Debian release 0.10.1-1pureos+librem5.2
  • pureos/0.10.1-1pureos+librem5.1
    wlroots Debian release 0.10.1-1pureos+librem5.1
  • pureos/0.10.0-3pureos+librem5.2
    wlroots Debian release 0.10.0-3pureos+librem5.2
  • debian/0.10.1-1
    wlroots Debian release 0.10.1-1
  • pureos/0.10.0-3pureos+librem5.1
    wlroots Debian release 0.10.0-3pureos+librem5.1
  • 0.10.1
    0c7c5624 · Update version to 0.10.1 ·
    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
  • debian/0.10.0-2
    wlroots Debian release 0.10.0-2
  • debian/0.10.0-1
    wlroots Debian release 0.10.0-1
  • 0.10.0
    57ffb35d · Update version to 0.10.0 ·
    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
    a2cbb4e4 · Update version to 0.9.1 ·
    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
    1c5ca793 · Update version to 0.9.0 ·
    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
  • debian/0.8.1-1
    wlroots Debian release 0.8.1-1
  • pureos/0.7.0-2pureos+librem5.1
    wlroots Debian release 0.7.0-2pureos+librem5.1
  • 0.8.1
    b051bb68 · Update version to 0.8.1 ·
    wlroots 0.8.1
    This update fixes Drew's continued ability to find novel ways to mess up
    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)
  • debian/0.7.0-2
    wlroots Debian release 0.7.0-2
  • debian/0.7.0-1
    wlroots Debian release 0.7.0-1
  • 0.7.0
    a20bb387 · Update version to 0.7.0 ·
    wlroots 0.7.0
    wlroots 0.7.0 includes the following breaking changes:
    	wlr_output_mode: drop wlr_outupt_mode.flags
    This field was never used and has now been removed.
    	wlr_output: drop wlr_output.transform
    This field was not meaningful.
    	Orbital screenshooter and gamma-control have been removed
    These protocols are obsolete and have been replaced with more mature wlr
    Andri Yngvason (2):
          backend: touch: Assign good ids to single touch devices
          backend: touch: Fixup incomplete patch for single touch devices.
    Antonin Décimo (12):
          render/drm: keep old drm_format if realloc fails
          xcursor: avoid leak and loss of all cursors if cursors realloc fails
          Fix memory leak
          Simplify check
          wlr_surface: condition is always false
          xdg_shell: remove variable self-assignment
          backend/session: non-void function should return a value
          backend/drm: use UINT64_C for uint64_t literals
          Avoid loss of a fractional part
          backend/wayland: check if zxdg_toplevel_decoration_v1 is not NULL
          xwayland: prevent possible array overrun
          examples: remove duplicated condition
    Ashkan Kiani (1):
          Use a set to track pointer button state.
    Brian Ashworth (4):
          session/logind: keep active for pause_device gone
          zwp_virtual-keyboard: fix mmap error handling
          wlr_xdg_toplevel: reparent on parent unmap
          wlr-layer-shell-v1: destroy xdg popups on unmap
    Dorota Czaplejewicz (2):
          x11: Send a frame event on the pointer after button events
          virtual_keyboard: Require keymap before accepting keycodes
    Drew DeVault (4):
          Remove rootston
          Add libinput-1.14 support
          Revert "render/drm: keep old drm_format if realloc fails"
          Add _incr_version to contrib/
    Greg V (1):
          Support pointer-gestures on Wayland backend
    Guido Günther (4):
          wlr_seat_touch: Don't destroy touch point with surface
          layer-shell: Remove unused event source
          layer-shell: Reject requests on gone surfaces
          text_input: Don't forget to send enter events
    Ilia Bozhinov (2):
          output: clear output->damage on successful commit
          output-damage: set needs swap only when we have new damage
    Jan Beich (1):
          Test RDP backend on FreeBSD as well
    Jan Chren (2):
          session/logind: specify seat exactly
          session/logind: check for XDG_SESSION_ID first
    Jason Francis (3):
          screencopy: fix segfault on disabled output
          screencopy: send failed after output disconnect
          export-dmabuf-v1: fix segfault on output disable
    Manuel Stoeckl (6):
          Implement serial validation for selection requests
          wlr_seat: Fix edge cases with serial validation
          wlr_pointer_gestures: Register event serials
          wlr_tablet_v2: Register event serials
          wlr_seat: special-case first serial set use
          Use -fmacro-prefix-map to strip build path
    Michiel (1):
          Fixes #1689 RDP RemoteFX crash
    Rouven Czerwinski (5):
          wlr_output: remove idle_done on output destroy
          drm: legacy: issue a NULL modeset on disable
          backend: drm: switch to pageflip_handler_2
          backend/drm: destroy output immediately
          Revert "output: atomic mode"
    Scott Anderson (3):
          Remove WLR_DRM_NO_ATOMIC_GAMMA workaround
          backend/drm: Simplify object matching code
          backend/drm: Exit-early if 0 crtcs
    Sebastian Krzyszkowiak (9):
          seat: Move focus back to first shell surface when unfocusing layer surface
          xdg_shell(_v6): Take maximize/fullscreen state into account on view init
          wlr_touch: Declare wlr_touch_impl usage as const
          backends/x11: Touch support
          wlr_input_method_v2: Remove input method's resource from the list on destroy
          wlr_seat_touch: add a way for a grab to ignore a touch point
          wlr_xdg_popup: grab touch events alongside pointer and keyboard
          wlr_xdg_popup: don't treat all surfaces of grabbing client as grabbing surfaces
          Revert "wlr_xdg_popup: don't treat all surfaces of grabbing client as grabbing surfaces"
    Silvan Jegen (1):
          rootston: remove duplicated include
    Simon Ser (26):
          backend/wayland: use xdg-decoration-unstable-v1
          backend/wayland: remove wl_shm
          render/gles2: print GL_RENDERER
          Remove orbital screenshooter and gamma-control
          backend/drm: check format when scanning out DMA-BUF
          backend/drm: strip alpha channel on scan-out
          render/dmabuf: add wlr_dmabuf_attributes_copy
          buffer: add wlr_buffer_get_dmabuf
          output: change set_dmabuf to attach_buffer
          output: fix attach_buffer semantics
          output: save buffer in pending state
          backend/drm: hold buffers while scanning out
          backend/drm: reject DMA-BUFs with flags
          rootston: add support for direct scan-out
          output: refuse to scan-out if software cursors are used
          output: introduce wlr_output_lock_attach_render
          output-damage: support direct scan-out
          backend/drm: fallback to drmModeAddFB2
          backend/drm: add support for multiplanar BOs
          output: reset the pending state on failed commit
          output: remove wlr_output_impl.transform
          output: drop wlr_output_mode.flags
          Remove all wayland-server.h includes
          output: atomic mode, enabled, scale and transform
          xdg-output: add support for xdg-output-unstable-v1 version 3
          backend/drm: fix missing plane formats
    emersion (1):
          backend/drm: add basic support for direct scan-out