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