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

0.9.0

Compare
Choose a tag to compare
@ddevault ddevault released this 31 Dec 15:22
· 1286 commits to master since this release

wlroots 0.9.0 includes the following breaking changes:

layer_shell: set layer of existing surface #1842

The layer of a layer surface may now be changed at runtime. The layer field has been removed from struct wlr_layer_surface_v1 and introduced to struct wlr_layer_surface_v1_state.

backend/drm: add support for custom modes #1881

wlr_drm_connector_add_mode now returns the new mode instead of a bool.

Simplify globals implementation by removing destructors #1915

Destructors and resource lists for static globals have been removed.

Improve presentation-time API #1919

Instead of calling wlr_presentation_surface_sampled at render time and wlr_presentation_send_surface_presented at presentation time, most compositors now just need to call wlr_presentation_surface_sampled_on_output at render time. Compositors that call wlr_buffer_ref need to call wlr_presentation_surface_sampled when they ref the buffer, wlr_presentation_feedback_send_presented when this buffer has been presented for the first time and then wlr_presentation_feedback_destroy.

output: re-introduce atomic mode, enabled, scale and transform #1797

  • Compositors now need to call wlr_output_commit after wlr_output_enable, wlr_output_set_mode, wlr_output_set_custom_mode, wlr_output_set_transform or wlr_output_set_scale
  • wlr_output_set_mode no longer implicitly enables the output, compositors need to call wlr_output_enable as well
  • Compositors now need to call wlr_output_rollback after wlr_output_attach_render if they decide not to render
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