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

wlroots 0.13.0 #2778

Closed
emersion opened this issue Mar 12, 2021 · 2 comments
Closed

wlroots 0.13.0 #2778

emersion opened this issue Mar 12, 2021 · 2 comments
Labels

Comments

@emersion
Copy link
Member

Planning for the next release.

https://github.com/swaywm/wlroots/milestone/5

@emersion emersion added the meta label Mar 12, 2021
@swaywm swaywm locked and limited conversation to collaborators Mar 12, 2021
@emersion
Copy link
Member Author

emersion commented Mar 12, 2021

Provisional release notes below.

wlroots 0.13.0 includes the following breaking changes.

Breaking changes for compositors

These changes can affect most compositors.

Breaking changes for custom backends and renderers

These changes are unlikely to affect compositors that don't have a custom
backend or renderer.

Full changelog
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 (4):
      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

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 (256):
      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

Simon Zeni (10):
      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

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

@emersion emersion pinned this issue Mar 12, 2021
@emersion
Copy link
Member Author

emersion commented Apr 7, 2021

@emersion emersion closed this as completed Apr 7, 2021
@emersion emersion unpinned this issue Apr 7, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Development

No branches or pull requests

1 participant