Skip to content
Tags give the ability to mark specific points in history as being important
  • 0.7.0 protected
    a20bb387 · Update version to 0.7.0 ·
    Release: wlroots 0.7.0
    wlroots 0.7.0
    
    wlroots 0.7.0 includes the following breaking changes:
    
    	wlr_output_mode: drop wlr_outupt_mode.flags
    
    This field was never used and has now been removed.
    
    	wlr_output: drop wlr_output.transform
    
    This field was not meaningful.
    
    	Orbital screenshooter and gamma-control have been removed
    
    These protocols are obsolete and have been replaced with more mature wlr
    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.0 protected
    c0305f4f · Update version to 0.6.0 ·
    Release: wlroots 0.6.0
    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.0 protected
    c9137cba · Update version to 0.5.0 ·
    Release:
    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.1 protected
    b46e097f · Update version to 0.4.1 ·
    Release:
    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.4 protected Release: 0.4
    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.3 protected Release: 0.3
    0.3
  • 0.2 protected
    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
  • 0.1 protected
    wlroots 0.1
    
    This is a meaningless line drawn in the sand.