Skip to content
Tags give the ability to mark specific points in history as being important
  • phoc/2023-05-04
    wlroots for phoc
  • 0.15.0
    wlroots 0.15.0
    Release highlights:
    - A new experimental Vulkan renderer has been merged (manually enabled with
    - A new scene-graph API has been introduced to enable more code-sharing between
    - Large parts of the backend and renderer APIs have been refactored and
    - The `drm-lease-v1` protocol has been implemented.
    - Feedback support has been added to the `linux-dmabuf-unstable-v1`
      implementation, unlocking many zero-copy and multi-GPU optimizations and
    - The `wlr_output` rendering API now supports 10bpc and 16bpc formats.
    - The DRM backend now supports hotplugging secondary GPUs at runtime.
    - `wlr_region` and `wlr_box` are now stable APIs.
    Full changelog below.
    Andri Yngvason (2):
          screencopy: Use output->front_buffer instead of wlr_output_export_dmabuf
          screencopy: Handle shm copy in commit event handler
    Anthony Super (1):
          Add error handling to backend creation
    Chris Chamberlain (2):
          backend: fix return value of attempt_drm_backend
          backend/drm: add wlr_drm_backend_monitor
    Cole Mickens (1):
          egl: use alts for EGL_EXT_device_enum, if missing
    David Rosca (1):
          seat: Only resend keyboard/pointer enter to focused clients
    Demi Marie Obenour (1):
          Improve wlr_drm_format documentation
    Devin J. Pohly (9):
          scene: add node reparent function
          scene: ensure node cannot be reparented below itself
          scene: make graph loops fatal when debugging
          scene: stricter assertions on reparent
          scene: iterate nodes instead of surfaces when rendering
          scene: add RECT node type
          scene: replace surface_at() with node_at()
          examples/scene-graph: demonstrate scene_rect node type
          scene: remove redundant empty-region check in render_texture()
    Dylan Araps (1):
          util/time: make NSEC_PER_SEC static
    Elyes HAOUAS (1):
          Fix spelling errors
    Guido Günther (3):
          xwayland: Allow to retrieve _NET_STARTUP_ID
          xwayland: Allow to retrieve startup-id via _NET_STARTUP_INFO
          xdg-activation: Allow to submit tokens
    Haelwenn (lanodan) Monnier (3):
          render/pixman/renderer.c: Fix memory-leak in create_buffer
          render/egl.c: Fix memory leaks in egl_create
          backend/drm/legacy.c: Fix memory leak in drm_legacy_crtc_set_gamma
    Hubert Hirtz (1):
          Fix a typo in
    Isaac Freund (15):
          layer-shell: replace close() with destroy()
          tinywl: simplify logic for sending pointer events
          scene: assert that node != sibling in place above/below
          scene: add functions to place node on top/bottom
          output: fix leak of wlr_drm_format
          text-input/input-method: handle strdup() failure
          text-input: fix type of send_preedit_string() args
          wlr_drag: emit destroy after wl_data_device.leave
          tinywl: use wlr_scene
          scene: send surface enter/leave output events
          scene: add primary output to wlr_scene_surface
          scene: add wlr_scene_send_frame_done()
          tinywl: use wlr_scene_send_frame_done()
          scene: fix wlr_scene_send_frame_done() API
          scene: add wlr_scene_set_presentation()
    Jan Beich (2):
          backend: drop unconditional and unused <libinput.h>
          render: completely disable gles2 if requested but libEGL is found
    John Lindgren (1):
          Insert new outputs at the end of the list
    Jonathan Wong (1):
          Added whitespace between "output" and "(not"
    Joshua Ashton (2):
          render/vulkan: Use image view swizzles instead of shader hack
          render/vulkan: Optimize vertex shader
    José Expósito (8):
          protocol/meson: bump wayland-protocols requirement to 1.23
          pointer: add hold pointer event definition
          build: check if libinput supports hold gestures
          backend/libinput: send hold gesture events
          backend/wayland: send hold gesture events
          cursor: emit hold gesture events
          wlr_pointer_gestures: update protocol to version 2
          wlr_pointer_gestures: hold gestures (protocol v3)
    Kirill Primak (34):
          surface: don't cache frame callback lists
          util: add wlr_addon
          wlr_outputs: add wlr_addon_set
          wlr_output_layout: use wlr_addons
          util/addon: find both by owner and impl
          surface: fix place_below handling
          util/box: introduce wlr_fbox_transform()
          surface: fix wlr_surface_get_buffer_source_box()
          subsurface: unlock surface on destroy
          surface: cache frame callback lists again
          surface: move subsurface lists to state
          surface: rename impl and its functions
          surface: change surface_finalize_state() to surface_finalize_pending()
          surface: inline surface_commit_pending()
          xdg popup: move function to a file it belongs to
          xdg-toplevel: refactor configure/state flow
          xdg-surface: simplify configure mechanism
          xdg surface: check adding configure_idle for NULL
          layer-shell: refactor configure/state flow
          layer-shell: add `committed` bitmask
          xdg-surface: add pending state
          xdg-shell: remove redundant NULL buffer check
          layer-shell: move NULL buffer check to role precommit handler
          xdg-decoration: refactor configure/state flow
          output: disallow NULL event for wlr_output_send_present()
          output: add presented flag to presentation event
          presentation-time: don't send presented on discard
          presentation-time: use a surface addon
 add CoC section
          surface: fix damage transformation
          subsurface: simplify and fix parent commit handling
          subsurface: apply position change at the right moment
          surface: fix non-buffer damage handling
          subsurface: don't add to parent list immediately
    Manuel Stoeckl (7):
          render/pixel-format: add a few 10-bit and FP16 formats
          render/gles2: hide shm formats without GL support
          render/gles2: add a few 10-bit and FP16 formats
          output: lift up output format fallback logic
          output: use XRGB8888 format instead of ARGB8888
          output: Add function to set preferred render format
          output: remove XRGB8888 cursor fallback format
    MarkusVolk (1):
          backend.c: do not try to explicitly clean up the libinput backend
    Michele Sorcinelli (1):
          xwayland: do not free cursor in handle_server_ready()
    Moon Sungjoon (1):
          backend/wayland: improve wayland input device name
    Quantum (3):
          viewporter: remove crop and scale state upon destruction
          scene: fix compile error in release builds
          Fix uninitialized variable errors in release mode
    Raphael Robatsch (1):
          util/token: don't leak /dev/urandom fd to children
    Roman Gilg (1):
          backend/headless: unlink input device on destroy
    Ronan Pigott (3):
          xdg-activation-v1: enable compositors to request their own tokens
          xdg-activation-v1: add data field and emit token destroy events
          backend/wayland: use xdga client activation
    Rouven Czerwinski (6):
          backend/drm: return true on test if no crtc
          output: check output enabled before sending frame
          Revert "backend/drm: Check if output is enabled before sending frame event"
          backend/drm: try to allocate crtc for formats
          linux-dmabuf-v1: filter out LINEAR if implicit
          linux-dmabuf-v1: fix implicit check
    Simon Ser (288):
          build: bump version to 0.15.0
          backend/drm: rename page_flip_handler to handle_page_flip
          render/egl: remove stale wlr_egl_export_image_to_dmabuf decl
          render/egl: make most functions private
          xwayland: improve startup log message
          build: use meson.global_build_root()
          ci: remove -Dlibseat from Alpine build
          ci: make Meson warnings fatal
          Drop WLR_VERSION_API_*
          surface: remove SURFACE_VERSION
          surface: make wlr_subsurface_create private
          pointer: document event data types
          touch: document event data types
          surface: accept commits with buffer size not divisible by scale
          render/egl: replace wlr_egl_create with wlr_egl_create_with_drm_fd
          Remove unused wlr_list.h includes
          util/array: add array_remove_at
          backend/libinput: stop using wlr_list internally
          tablet: stop using wlr_list
          Drop wlr_list
          tablet-v2: fix pad and tool object versions
          buffer: introduce wlr_readonly_data_buffer
          render: use wlr_readonly_data_buffer in wlr_texture_from_pixels
          render: drop wlr_renderer_impl.texture_from_pixels
          buffer: add wlr_dmabuf_buffer
          render: use wlr_dmabuf_buffer in wlr_texture_from_dmabuf
          render: drop wlr_renderer_impl.texture_from_dmabuf
          buffer: make enum wlr_buffer_cap public
          backend/libinput: use wl_array for
          surface: allow locking pending state in commit handler
          Remove reference to the announce mailing list
          region: stabilize interface
          region: drop leftover reference to the mailing list
          Revert "backend/drm: populate cursor plane's current_fb"
          backend/drm: don't clear pending cursor FB on failed commit
          xcursor: improve documentation
          Add a stub wl_drm implementation
          drm: add support for DMA-BUFs
          buffer: handle wl_drm buffers
          render/gles2: use wlr_drm for wl_drm implementation
          render: remove wl_drm support from wlr_renderer
          render/egl: remove EGL_WL_bind_wayland_display support
          buffer: remove renderer param from wlr_resource_get_buffer_size
          buffer: stop sending wl_buffer.release events from wlr_client_buffer
          buffer: unify texture creation in wlr_client_buffer_import
          output: detach buffer from renderer before commit
          output-damage: fix output swapchain handling
          touch: add frame event
          backend/libinput: send touch frame events
          backend/wayland: send touch frame events
          backend/x11: send touch frame events
          cursor: add touch frame event
          seat: add wlr_seat_touch_{send,notify}_frame
          Fix invalid uses of wl_array_for_each
          backend/drm: force linear layout for multi-GPU buffers
          backend/drm: stop using drm_surface_make_current in drm_surface_blit
          backend/drm: add test_only arg to wlr_drm_interface.crtc_commit
          backend/drm: move legacy-specific checks to legacy.c
          backend/drm: remove backend arg from wlr_drm_interface.crtc_commit
          buffer: rename wlr_client_buffer variables to client_buffer
          buffer: stop using source resource in wlr_client_buffer_apply_damage
          buffer: add wlr_client_buffer.source
          buffer: stop using resource in client_buffer_get_dmabuf
          buffer: drop wlr_client_buffer.resource
          render/egl: rename wlr_egl.exts to better match Khronos
          render/gles2: rename wlr_egl.exts to better match Khronos
          render/gles2: set has_alpha for DMA-BUFs
          render/gles2: disable blending opportunistically
          buffer: drop resource arg from wlr_client_buffer_create
          output: add generic wlr_output_export_dmabuf implementation
          backend/headless: remove wlr_output_impl.export_dmabuf
          backend/drm: remove wlr_output_impl.export_dmabuf
          output: remove wlr_output_impl.export_dmabuf
          backend/wayland: properly cleanup wlr_wl_pointer
          backend/drm: fix NULL data in handle_drm_event
          buffer: re-use wlr_shm_client_buffer
          backend/drm: stop restoring CRTCs on exit
          backend/drm: add DRM_MODE_CONNECTOR_USB to conn_get_name
          render: drop wlr_renderer_impl.init_wl_display
          render/egl: set EGL_IMAGE_PRESERVED_KHR
          render/egl: add support for EGL_EXT_device_drm_render_node
          xwayland: simplify argv filling logic
          xwayland: embed wlr_xwayland_server_options in server struct
          output: fallback to XRGB in output_pick_format
          backend/drm: implement get_primary_formats
          output: use pending resolution when allocating swapchain
          output: allocate and attach empty buffer on modeset
          output: fallback to modifier-less allocation on modeset test failure
          backend/drm: allow legacy scan-out if FB props match
          backend/drm: remove primary swapchain
          backend/drm: remove SCANOUT check in drm_connector_test
          backend/drm: drop drm_surface_{make,unset}_current
          backend/drm: drop get_renderer implementation
          backend/drm: stop initializing renderer for parent backend
          backend/drm: fix wrong type for get_cursor_format return values
          backend/noop: drop attach_render/rollback_render
          output: drop wlr_output_impl.{attach,rollback}_render
          output-damage: stop using enum wlr_output_state_buffer_type
          output: drop wlr_output_state.buffer_type
          render/pixel-format: add some 24 and 16-bit formats
          render/gles2: add support for some 24 and 16-bit formats
          backend/drm: preserve mode order from kernel
          render/pixel_format: add more formats for Pixman
          render/pixman/pixel_format: add more formats
          output: try skipping buffer allocation if the backend allows it
          backend/drm: require buffer on modeset in drm_connector_test
          examples/fullscreen-shell: remove unused render_data.view field
          build: remove "." from include dirs
          seat: allow compositors to not load a keymap
          ci: add smoke test
          backend/drm: add proper error handling to wlr_drm_backend_create
          backend/drm: always perform a test commit in drm_connector_test
          surface: kill wlr_surface.previous
          surface: drop surface_state_copy
          buffer: add addon set
          render/gles2: make wlr_gles2_buffer an addon
          render/gles2: make wlr_gles2_texture a wlr_buffer addon
          backend/drm: use addon for wlr_drm_fb
          backend/drm: add support for FB_DAMAGE_CLIPS
          backend: unify startup messages
          backend/drm: generate CVT reduced modes
          backend/{drm,libinput}: exclude headers when disabled
          Move allocator stuff into new directory
          render/egl: reopen DRM node for GBM
          backend/drm: introduce wlr_drm_bo_handle_table
          Introduce new scene-graph API
          examples/scene-graph: new example
          scene: add wlr_scene_node_toggle
          scene: allow nodes to have arbitrary parents
          scene: add user data pointer to wlr_scene_node
          scene: add wlr_scene_node_surface_at
          contributing: add new section about commit log
          contributing: use references for links
          contributing: clone wlroots fork with SSH
          contributing: turn remaining links into refs
          Link to gamja for web chat
          render/allocator: re-open GBM FD
          render/allocator/gbm: fix create() docs for FD ownership
          build: add subproject fallback for wayland
          build: add subproject fallback for wayland-protocols
          contributing: don't reference issues in commit first line
          render/allocator: use legacy authentication for primary nodes
          backend/drm: handle drm_surface_blit errors
          render/allocator/gbm: add log message for gbm_bo_get_fd_for_plane
          util/shm: add allocate_shm_file_pair
          keyboard: add wlr_keyboard.keymap_fd
          seat: avoid copying the keymap for each client
          subsurface: rename wlr_subsurface_state to wlr_subsurface_parent_state
          subsurface: move parent link to state
          buffer: take a wlr_buffer in wlr_client_buffer_apply_damage
          buffer: make wlr_client_buffer_apply_damage return a bool
          viewporter: add doc comment explaining compositor requirements
          viewporter: hide wlr_viewport
          surface: ensure buffer is reset to NULL in surface_state_move
          surface: drop wlr_surface_state.buffer_resource
          surface: fix abort on NULL buffer attach
          backend/drm: rename enum wlr_drm_connector_state to status
          backend/drm: introduce wlr_drm_connector_state
          backend/drm: fix crash on VT switch
          backend/drm: drop unused arg from get_possible_crtcs
          backend/drm: drop drm_connector_init_renderer
          output-damage: fix damage on modeset
          backend/drm: drop attempt_enable_needs_modeset
          backend/drm: drop wlr_drm_connector.desired_mode
          scene: fix wlr_scene_render_output offset
          scene: add scene outputs
          scene: add wlr_scene_output_commit
          scene: add wlr_scene_node_coords
          scene: add damage tracking support
          examples/scene-graph: use wlr_scene_output
          scene: move source to subdir
          scene: add wlr_scene_attach_output_layout
          buffer: add data_ptr access flags
          ci: switch to seatd-launch
          scene: add wlr_scene_tree
          surface: add addon set
          scene: add wlr_scene_subsurface_tree_create
          build: simplify get_variable calls
          backend/drm: add support for panel orientation
          scene: drop default case in wlr_scene_node_at
          scene: unify intersection logic in wlr_scene_node_at
          scene: add wlr_scene_buffer
          util/box: introduce wlr_fbox_empty
          scene: add wlr_scene_buffer_set_source_box
          scene: add scene_node_get_size helper
          scene: use scene_node_get_size in wlr_scene_node_at
          scene: add wlr_scene_buffer_set_dest_size
          scene: add wlr_scene_buffer_set_transform
          backend: create renderer and allocator in wlr_backend_autocreate
          xdg-shell: introduce wlr_xdg_surface.current
          xdg-shell: rename wlr_xdg_surface.next_configure_serial
          xdg-shell: stop clearing wlr_xdg_surface state on unmap
          render/drm_format_set: add wlr_drm_format_has
          Require INVALID for implicit format modifiers
          backend/drm: fail on explicit modifier in drmModeAddFB2
          render/egl: always add LINEAR to supported modifiers
          render/drm_format_set: remove special LINEAR case
          Revert "render/drm_format_set: remove special LINEAR case"
          Revert "render/egl: always add LINEAR to supported modifiers"
          Revert "backend/drm: fail on explicit modifier in drmModeAddFB2"
          Revert "Require INVALID for implicit format modifiers"
          Revert "render/drm_format_set: add wlr_drm_format_has"
          render/allocator: use render node if available in reopen_drm_node
          render/allocator: use empty DRM lease to re-open node
          scene: remove surface commit listener when node is destroyed
          render/vulkan: check vulkan-headers dependency
          presentation-time: remove unused field
          scene: add wlr_scene_output_for_each_surface
          scene: add support for direct scan-out
          output: split into multiple files
          xdg-foreign-v2: use error enum
          output: refuse to enable with zero mode
          readme: refresh dependencies
          backend/drm: add entry for Valve EDID vendor
          backend/x11: fix code style in get_touchpoint_from_x11_touch_id
          scene: inline subsurface_tree_destroy
          sceeencopy-v1: listen to output destroy in capture_output
          backend/drm: get rid of BO handle table
          output: fix stack variable lifetime in wlr_output_send_present
          backend/drm: avoid creating empty FB_DAMAGE_CLIPS prop
          ci: add .gitlab-ci.yml
          xwayland: add support for -noTouchPointerEmulation
          backend/session: introduce wlr_device_change_event
          backend/drm: handle per-connector hotplug events
          scene: fix calloc size mismatch
          export-dmabuf-v1: stop using wlr_output_export_dmabuf
          screencopy-v1: stop using wlr_output_export_dmabuf
          output: drop wlr_output_export_dmabuf
          linux-dmabuf-v1: properly validate flags
          Remove support for DMA-BUF flags
          output: add wlr_output_init_render
          output: fix renderer buffer cap sanity check in wlr_output_init_render
          Introduce WLR_DEVICE_LEASE events
          backend/drm: introduce wlr_drm_lease
          drm-lease-v1: listen to lease destroy event
          backend/drm: scan leases on uevent
          linux-dmabuf-v1: hide wlr_linux_buffer_params_v1
          backend/wayland: report parent presentation clock
          input-device: remove
          render/vulkan: quiet glslangValidator
          docs/env_vars: drop WLR_DIRECT_TTY
          render: pick DRM FD in autocreate
          render/allocator: fallback to renderer DRM FD in autocreate
          backend/headless: stop picking a DRM FD
          render: introduce WLR_RENDER_DRM_DEVICE
          backend/headless: drop wlr_headless_backend_create_with_renderer
          scene: add wlr_scene_xdg_surface_create
          render/drm_format_set: add wlr_drm_format_has
          Require INVALID for implicit format modifiers
          backend/drm: fail on explicit modifier in drmModeAddFB2
          render/egl: always add LINEAR to supported modifiers
          render/drm_format_set: remove special LINEAR case
          backend/drm: always add LINEAR to supported modifiers
          render: add DMA-BUF docs
          scene: add support for viewporter
          backend/drm: poison buffers which cannot be scanned out
          output: destroy swapchain when disabled
          output: don't leave dangling cursor_front_buffer
          output: fix typo in wlr_output_impl.get_primary_formats docs
          output: add wlr_output_get_primary_formats
          scene: add wlr_scene_get_scene_output
          render/egl: store IMG_context_priority in wlr_egl
          render/egl: add wlr_egl_create_with_context
          render/pixman: advertise MOD_INVALID instead of MOD_LINEAR
          render/egl: improve modifier support detection
          output: fix modifier stripping
          readme: update wrapper libraries link
          render/drm-format-set: add wlr_drm_format_set_intersect
          output: add wlr_output_event_commit.buffer
          export-dmabuf-v1: use wlr_output_event_commit.buffer
          screencopy-v1: use wlr_output_event_commit.buffer
          output: drop front_buffer
          render: add wlr_renderer_init_wl_shm
          linux-dmabuf-v1: implement v4
          linux-dmabuf-v1: add per-surface feedback
          build: move wayland-client dep to backend/wayland/
          examples/layer-shell: remove wlroots dependency
          examples: remove unnecessary wlroots deps for clients
          examples: remove unnecessary partial_dependency() call
          output: introduce wlr_output_set_name
          Fix incorrect %zd formatting directives
          output: add support for protocol interface version 4
          util/global: remove wl_display arg from wlr_global_destroy_safe
          backend/drm: use drmModeFormatModifierBlobIterNext
          backend/drm: use drmCloseBufferHandle
          build: add subproject fallback for libdrm
          backend/wayland: add basic linux-dmabuf feedback support
    Simon Zeni (36):
          types/wlr_box: remove unused wlr_box_from_pixman_box32 and wlr_box_rotated_bounds functions
          move wlr_box from /types to /util
          util/box: stabilize interface
          types/wlr_buffer: split wlr_client_buffer_import function
          types/wlr_surface: get buffer size from wlr_buffer_import
          types/wlr_buffer: remove wlr_resource_get_buffer_size
          types/wlr_buffer: remove wlr_renderer argument from wlr_buffer_from_resource
          types/wlr_buffer: introduce wlr_buffer_resource_interface
          types/wlr_buffer: create custom wlr_buffer from wl_resource
          render/wlr_texture: put wlr_texture_from_buffer into the public API
          render/egl: initialize wlr_egl with EGL_PLATFORM_DEVICE_EXT
          backend/drm: implement drm lease function
          backend/drm: introduce wlr_drm_backend_get_non_master_fd
          protocol/meson: bump wayland-protocols requirement to 1.22
          types: introduce wlr_drm_lease_v1
          types/buffer: make {begin,end}_data_ptr_access part of the public API
          backend/multi: implement get_buffer_caps
          render/allocator: make wlr_allocator part of the public API
          examples: init wlr_output with allocator and renderer
          tinywl: autocreate allocator and init output
          backend: remove backend ensure renderer and allocator check
          backend: remove backend_get_allocator
          types/wlr_screencopy_v1: use renderer from output
          types/wlr_scene: use renderer from wlr_output
          backend/x11: get renderer from wlr_x11_output
          backend/headless: don't store the parent renderer
          backend/drm: stop initializing backend renderer
          backend/multi: remove backend_get_renderer
          backend: remove wlr_backend_get_renderer
          backend/multi: add asserts in wlr_multi_backend_add
          backend: fix attempt_backend_by_name multi backend self insertion
          tinywl: init output render before commit
          tinywl: build with meson if examples option is enabled
          ci/archlinux: enable address and undefined sanitizers
          backend: remove noop backend
          types/wlr_drm_lease_v1: add NULL check to drm lease resource destroy
    Stacy Harper (1):
          layer-shell: don't set committed flag if the property didn't change
    Tadeo Kondrak (2):
          input-method-unstable-v2: Add error for surface with existing role
          Implement input_method_v2 popups
    Tudor Brindus (3):
          input/pointer: try harder to not send duplicate motion events
          input/tablet: fix `wl_array_for_each` usage on tablet proximity
          xwm: do not restack surfaces on activation
    Vyivel (2):
          render/pixman: fix texture_is_opaque()
          input/pointer: send axis source once per frame
    ayaka (1):
          backend: make DRM and libinput backends optional
    buffet (1):
          Update loc count in readme
    fwsmit (1):
          examples/foreign-toplevel: fix toplevel not being freed
    muradm (1):
          backend: wait for session to become active
    nyorain (1):
          render/vulkan: add Vulkan renderer
    tiosgz (4):
          for_each_surface: only iterate mapped surfaces
          surface_at: check if surfaces are mapped
          scene/subsurface_tree: hide unmapped subsurfaces
          Fix wlr_scene_node_lower_to_bottom
    yuiiio (1):
          render/egl: fix typo
    Érico Nogueira (1):
          docs: mention WLR_RENDERER=vulkan.
  • 0.12.0
    238d1c07 · Update version to 0.12.0 ·
    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.5.0
    c9137cba · Update version to 0.5.0 ·
    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
  • librem5/0.0.0_git20180607
  • librem5/0.0.0_git20180524
  • librem5/0.0.0_git20180516
  • librem5/0.0.0_git20180503
  • librem5/0.0.0_git20180428
    tag librem5/0.0.0_git20180428
  • librem5/0.0.0_git20180425