-
0.14.149a57442 · ·
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.08810e950 · ·
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.069c71dbc · ·
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.0238d1c07 · ·
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.0751a21d9 · ·
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.10c7c5624 · ·
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.057ffb35d · ·
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.1a2cbb4e4 · ·
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.01c5ca793 · ·
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.1b051bb68 · ·
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)
-
0.8.0df77592b · ·
wlroots 0.8.0 wlroots 0.8.0 includes the following breaking changes: presentation_feedback: add the sampled state The wlr_presentation_time structures have been rewritten. To correctly support presentation-time, use wlr_presentation_surface_sampled after you sample (read from) each surface. Changelog: Drew DeVault (4): wlr_idle_inhibit_v1: style fixes drm backend: detect non-desktop outputs drm backend: implement DRM lease issuance Introduce wlr_drm_lease_v1 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 (1): presentation_feedback: add the sampled state 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
-
0.7.0a20bb387 · ·
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 protocols. 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
-
0.6.0c0305f4f · ·
wlroots 0.6.0 wlroots 0.6.0 includes the following breaking changes: Remove wlr_wl_shell We have removed the long-deprecated wl_shell implementation from wlroots. output: refactor frame submission API To migrate from the old API to the new one: 1. Replace wlr_output_make_current calls with wlr_output_attach_render 2. Replace wlr_output_swap_buffers calls with wlr_output_set_damage and wlr_output_commit 3. Replace wlr_output_damage_make_current calls with wlr_output_damage_attach_render 4. Replace wlr_output_damage_swap_buffers with wlr_output_set_damage and wlr_output_commit 5. Replace wlr_output.needs_swap with wlr_output.needs_frame 6. Replace wlr_output.events.swap_buffers with wlr_output.events.precommit output: remove lx, ly The layout coordinates have been removed from wlr_output. Wayland clients now receive a non-meaningful value from this interface, and should switch to using xdg-output for this purpose. Rename lid_switch to switch_device to disambiguate lid and tablet mode switches To update your compositors, run s/lid_switch/switch_device/g. Full changelog: Alyssa Ross (1): Fix missing headers when building without X11 Brian Ashworth (6): backend/wayland: improve output number handling backend/x11: improve output number handling backend/headless: improve output number handling backend/noop: improve output number handling wlr_xdg_toplevel: store pending fullscreen output wlr_xdg_toplevel_v6: store pending fullscreen output Drew DeVault (2): Add FreeRDP backend for remote desktop support Remove wlr_wl_shell Guido Günther (3): wlr_output: Add preferred property (#1625) rootston: Also iterate layer shell popups Emit preferred mode Ilia Bozhinov (8): meson.build: require libinput >= 1.9.0 noop: implement setting a custom mode rootston: remove disabled outputs from the output layout output: do nothing in output_set_image if backend has no renderer idle: enable the compositors to add custom idle timeouts (#1655) foreign-toplevel: support fullscreen state and request rootston: add support for foreign-toplevel fullscreening examples: add fullscreening to foreign-toplevel.c Jan Beich (2): backend: unbreak on 32-bit architectures Switch to system epoll-shim.pc in FreeBSD build Markus Ongyerth (1): send proximity_out in proximity in for tablet_v2 Ryan Walklin (1): s/lid_switch/switch_device Scott Anderson (2): render: introduce wlr_drm_format_set Advertise wl_seat version 7 Simon Ser (20): data-device: ignore accept for selection offers output: introduce wlr_output_preferred_mode rootston: use wlr_output_preferred_mode output: refactor frame submission API output: refactor backend API output: rename swap_buffers event to precommit output-damage: refactor API output: rename needs_commit to needs_frame render/egl: fix zero-length VLA backend/wayland: fix wlr_wl_pointer use-after-free output-damage: fix segfault after destroy render/egl: fix swapping with no damage rootston: don't submit too much damage output: disambiguate the two types of damage rootston: fix damage tracking debug mode output: introduce wlr_output_schedule_done xdg-output: schedule a wl_output.done event on update seat: fallback to v6 if libwayland 1.17 isn't available backend/noop: disallow rendering ci: enable Meson auto features Stuart Dilts (1): types/meson.build: Add compile args for libinput to lib_wlr_types (#1636) emersion (18): meson: remove -Wredundant-decls render: switch wlr_renderer to wlr_drm_format_set util/log: setup wayland log handler Add support for wlr-output-management-unstable-v1 Split wlr_output_configuration_head_v1 Add apply and test events to manager output-management-v1: various fixes rootston: add output-management-v1 support output-management-v1: add support for modes rootston: update output-management-v1 state when output is modeset output-management-v1: add support for position, transform and scale output-management-v1: support applying configuration output-management-v1: fix wl_fixed_t conversion output-management-v1: support outputs without modes output-management-v1: update protocol, add set_custom_mode rootston: disable then enable outputs when applying output-management state output-management-v1: add more docs output: remove lx, ly
-
0.5.0c9137cba · ·
wlroots 0.5.0 Brian Ashworth (1): wlr_output_layout_get_box: handle empty layout Guido Günther (4): Unbreak build with '-Wstrict-prototypes' rootston/view: Remove redundant declaration in the same file wlr_xdg_shell: Remove redundant declaration in the same file Remove glEGLImageTargetTexture2DOES Ian Fan (1): seat: fix remaining wlr_button_state enum rename Ilia Bozhinov (2): xwm: use min size as base size hint if it is missing and vice versa xwm: fix typos in WM_NORMAL_HINTS handling Niklas Schulze (1): backend/session: Allow setting a custom tty via WLR_DIRECT_TTY Scott Anderson (1): backend/drm: Don't fail on failing to find overlay format emersion (15): seat: guard against button count corruption meson: enable more compiler warnings seat: use wlr_button_state enum instead of uint32_t seat: only store serial if pressing a button tinywl: send pointer frame events backend/session: add noop session rootston: refactor rendering rootston: fix rotated views rendering rootston: fix Xwayland children rendering when fullscreen rootston: split rendering code into render.c rootston: fix input events for rotated views xwayland: don't set DISPLAY seat: add debug logs when validating grab serials backend/session: open TTY with O_CLOEXEC for direct session xwayland: set CLOEXEC on /dev/null FD
-
0.4.1b46e097f · ·
wlroots 0.4.1 Guido Günther (1): rootston: Make add_{switch,binding}_config static athrungithub (1): clang compile fix #1572 emersion (1): Bump version to 0.4
-
0.4d4252067 · ·
wlroots 0.4 Brian Ashworth (4): xwm: stack below on map drm: do not modeset to current mode wlr_output: do not modeset to current mode backend/drm: fix modeset on drm fd resume Connor E (2): Make popup inert when destroyed. Add build-*/ to gitignore. Drew DeVault (2): Use freebsd/latest for FreeBSD sr.ht builds Revert "drm: do not modeset to current mode" Geoff Greer (1): Add a wlr_output_set_subpixel() Ivan Molodetskikh (2): data-control: add primary selection support Update data-control Jan Beich (1): Add xcb-errors to FreeBSD build Markus Ongyerth (1): Prevent NULL dereference in tablet_tool handler Rouven Czerwinski (1): backend/drm: fix memory leak in realloc crtcs Scott Anderson (1): backend/drm: Unset cursor on cleanup Sebastian Krzyszkowiak (3): Post protocol error on invalid wl_surface scale rootston: don't try to maximize fullscreen surfaces rootston: surface_at: check for fullscreen surfaces in between TOP and OVERLAY layers Uli Schlachter (1): xwm: Add _NET_CLIENT_LIST support Vincent Vanlaer (3): Allow cursor render surface to be used as fb Copy cursor surface to secondary gpu if necessary Add workaround for hardware cursors on nouveau emersion (21): Bump project version to 0.3 data-device: destroy previous source when starting drag xdg-shell: destroy child popups on unmap Deprecate old protocols primary-selection-v1: copy from gtk-primary-selection surface: error out on invalid transform subsurface: add map/unmap events xwayland, data-device: fix surface state on unmap data-device: make old offers inert before sending selection backend/drm: fix NULL dereference when unsetting cursor xwayland: don't use SOCK_CLOEXEC xwayland: remove remaining SOCK_CLOEXEC data-device: refactor wlr_drag data-device: fix drag cleanup if not started rootston: cancel drag on invalid serial data-offer: send WL_DATA_OFFER_ERROR_INVALID_FINISH data-device: unbreak wl_data_source.cancel during drag-and-drop rootston: move part of desktop.c to view.c, use an interface for views rootston: add a view child interface rootston: make roots_view embedded and remove unions data-device: check if there's a source before sending dnd_finish mnussbaum (1): Allow compositors to run as systemd user units
-
-
0.2a22311ec · ·
wlroots 0.2 Cedric Sodhi (1): Tell Mesa not to attempt X11 headers Cosimo Cecchi (1): xcursor: Support XDG user data dir location Drew DeVault (26): Merge pull request #1307 from emersion/static-analysis Merge pull request #1289 from ixru/fix-cursor-visibility Merge pull request #1327 from RyanDwyer/xwm-unset-minmax-hints Add FreeBSD build Merge pull request #1338 from emersion/wayland-swap-interval Merge pull request #1340 from emersion/fix-input-method-destroy Merge pull request #1332 from emersion/shm-open Merge pull request #1346 from emersion/fix-schedule-frame-mgpu Merge pull request #1341 from emersion/view-at-unmapped Merge pull request #1350 from emersion/check-gles2-bgra-ext Merge pull request #1261 from arandomhuman/damage-control Merge pull request #1357 from emersion/xopen-source Merge pull request #1358 from emersion/xcursor-heap Merge pull request #1364 from ManDay/master Merge pull request #1356 from emersion/egl-renderable-type Merge pull request #1369 from ascent12/wayland_backend Merge pull request #1372 from emersion/config10 Merge pull request #1373 from emersion/fix-teardown-segfaults Merge pull request #1366 from emersion/render-software-cursors Merge pull request #1375 from emersion/tablet-segfault Merge pull request #1392 from emersion/disable-static-analysis Merge pull request #1396 from emersion/fix-destroyed-subsurface Merge pull request #1384 from emersion/data-multiple-devices Merge pull request #1387 from emersion/rename-gtk-primary-selection Merge pull request #1399 from emersion/fix-wl-backend-zero-vla Merge pull request #1400 from emersion/xcursor-fixes Ilia Bozhinov (1): output: add wlr_output_preferred_read_format() Julio Galvan (1): Fix compilation error on musl Philipp Ludwig (1): xcursor: fix crash when encountering cursor themes with circular dependencies Rostislav Pehlivanov (2): Skip interlaced modes during drm mode detection Fix interlaced mode rejection Ryan Dwyer (3): xwm: Unset min/max size hints if they're not used Merge pull request #1335 from emersion/fucking-transparency Merge pull request #1395 from emersion/text-input-log-newline Scott Anderson (11): backend/wayland: Move registry into backend backend/wayland: Use specific wl_global versions backend/wayland: Move initilisation code earlier backend/wayland: Make header order consistent backend/x11: Rename xcb_conn to xcb backend/x11: Make header order consistent backend/x11: Move atom initilisation earlier backend/x11: Check for xinput extension backend/x11: Add new Xinput events backend/x11: Remove old input functions backend/x11: Hide cursor with Xfixes Sorcus (1): Fix "variable ‘cursor_default’ set but not used" Tobias Stoeckmann (1): xcursor: Fix heap overflows when parsing malicious files buffet (1): Fixed loc count in readme emersion (48): backend: fix use-after-free in wlr_backend_autocreate tablet-v2: fix memory leak on OOM, fix resource version Update version to 0.1 xwayland: fix typo to enable transparency Merge pull request #1336 from swaywm/freebsd idle: allow zero timeout render: on Wayland, make eglSwapBuffers non-blocking Merge pull request #1337 from emersion/idle-zero-timeout Merge pull request #1339 from MrSorcus/master input-method-v2: initialize destroy signal util: use shm_open for in-memory files xwayland: don't fail if XDG_RUNTIME_DIR is not set rootston: fix segfault in view_at rootston: fix segfault when destroying unmapped fullscreen views backend/drm: add WLR_DRM_NO_ATOMIC_GAMMA env variable backend/drm: fix frame scheduling on secondary GPUs Merge pull request #1344 from emersion/no-atomic-gamma render/gles2: remove assumptions about supported formats backend/drm: specify minimum config attributes render/gles2: check for GL_OES_EGL_image_external surface: fix wlr_surface_get_effective_damage to give surface coords Use _POSIX_C_SOURCE, use shm_open examples: only link clients to wlroots if necessary Merge pull request #1362 from julio641742/patch-1 Merge pull request #1361 from sghctoma/fix-shm render: correctly set EGL_RENDERABLE_TYPE backend/wayland: handle WL_EVENT_WRITABLE for Wayland socket Use #if instead of #ifdef for wlroots config data xdg-shell: don't destroy xdg role state on role destroy tablet-v2: fix segfault on display destroy Merge pull request #1368 from ascent12/x11_backend output: remove wlr_output_set_fullscreen_surface output: add wlr_output_render_software_cursors output: make wlr_egl flip the damage gtk-primary-selection: support multiple devices gtk-primary-selection: track resources Merge pull request #1382 from atomnuker/master Merge pull request #1380 from emersion/gtk-primary-selection-multiple-devices Merge pull request #1385 from atomnuker/master Rename wlr_primary_selection to wlr_gtk_primary_selection Merge pull request #1390 from ammen99/fix-preferred-read-format Merge pull request #1391 from buffet/fix-loc-count Disable Clang static analysis text-input-v3: remove newline in log message data-device: allow multiple devices for the same seat data-device: never cancel the source when offer is destroyed surface: fix destroyed subsurfaces handling backend/wayland: fix zero-length VLA ixru (2): Fix cursor visibility on surface commit Better placement of visibility check random human (5): wlr_surface: fix surface damage transformation wlr_surface: fix surface damage on resize wlr_surface: remove duplicated damage calculation wlr_surface: more consistent argument naming in surface_update_damage wlr_surface: add wlr_surface_get_effective_damage sghctoma (3): Force ftruncate for shared mem. objects on FreeBSD Use ftruncate to set shared memory object's size Remove WLR_HAS_POSIX_FALLOCATE from build system
-