Skip to content
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