Download raw body.
update: wayland/wlroots 0.19
Hi,
Now that pixman 0.46.4 is in xenocara and snapshots with it are
available:
The patch below updates wlroots to version 0.19.
Changelog :
https://gitlab.freedesktop.org/wlroots/wlroots/-/releases/0.19.0
You need to run a system with the new pixman version to test this.
Note that labwc, sway and wayfire will need updates too, I'm sending
the patches in following mails.
Index: Makefile
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/Makefile,v
diff -u -p -u -r1.13 Makefile
--- Makefile 14 Aug 2025 15:09:26 -0000 1.13
+++ Makefile 15 Aug 2025 16:30:30 -0000
@@ -1,8 +1,7 @@
COMMENT = modular Wayland compositor library
-V = ${MODWLROOTS_VERSION}.2
+V = ${MODWLROOTS_VERSION}.0
EPOCH = 0
-REVISION = 1
DISTNAME = wlroots-${V}
CATEGORIES = wayland
@@ -13,7 +12,7 @@ HOMEPAGE = https://gitlab.freedesktop.or
# MIT
PERMIT_PACKAGE = Yes
-SHARED_LIBS += wlroots-0.18 0.0 # 0.0
+SHARED_LIBS += wlroots-0.19 0.0 # 0.0
MODULES = devel/meson wayland/wlroots
@@ -56,6 +55,9 @@ RUN_DEPENDS = \
graphics/ffmpeg \
graphics/png \
wayland/xwayland
+
+CONFIGURE_ARGS = \
+ -Dallocators=gbm
DEBUG_PACKAGES = ${BUILD_PACKAGES}
Index: distinfo
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/distinfo,v
diff -u -p -u -r1.8 distinfo
--- distinfo 16 Dec 2024 18:25:23 -0000 1.8
+++ distinfo 15 Aug 2025 16:30:30 -0000
@@ -1,2 +1,2 @@
-SHA256 (wlroots-0.18.2.tar.gz) = z3dsFpFp8nmAjZ6rxlg/SEM43NRUyWaihf8XjIjBBdQ=
-SIZE (wlroots-0.18.2.tar.gz) = 629379
+SHA256 (wlroots-0.19.0.tar.gz) = rvsP4mM7Cq0dZhI7L0GvqwBPtiXip3kEks3TmoBcrJE=
+SIZE (wlroots-0.19.0.tar.gz) = 669326
Index: wlroots.port.mk
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/wlroots.port.mk,v
diff -u -p -u -r1.1 wlroots.port.mk
--- wlroots.port.mk 14 Aug 2025 15:09:26 -0000 1.1
+++ wlroots.port.mk 15 Aug 2025 16:30:30 -0000
@@ -1,4 +1,4 @@
-MODWLROOTS_VERSION = 0.18
+MODWLROOTS_VERSION = 0.19
MODWLROOTS_WANTLIB = wlroots-${MODWLROOTS_VERSION}
MODWLROOTS_LIB_DEPENDS = wayland/wlroots
Index: patches/patch-backend_drm_backend_c
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/patches/patch-backend_drm_backend_c,v
diff -u -p -u -r1.1 patch-backend_drm_backend_c
--- patches/patch-backend_drm_backend_c 11 Aug 2025 18:34:17 -0000 1.1
+++ patches/patch-backend_drm_backend_c 15 Aug 2025 16:30:30 -0000
@@ -1,7 +1,13 @@
Index: backend/drm/backend.c
--- backend/drm/backend.c.orig
+++ backend/drm/backend.c
-@@ -10,6 +10,7 @@
+@@ -3,11 +3,13 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #include <wayland-server-core.h>
+ #include <wlr/backend/interface.h>
#include <wlr/backend/session.h>
#include <wlr/interfaces/wlr_output.h>
#include <wlr/util/log.h>
@@ -9,7 +15,7 @@ Index: backend/drm/backend.c
#include <xf86drm.h>
#include "backend/drm/drm.h"
#include "backend/drm/fb.h"
-@@ -167,6 +168,8 @@ static void handle_parent_destroy(struct wl_listener *
+@@ -207,6 +209,8 @@ static bool init_mgpu_renderer(struct wlr_drm_backend
struct wlr_backend *wlr_drm_backend_create(struct wlr_session *session,
struct wlr_device *dev, struct wlr_backend *parent) {
@@ -18,7 +24,7 @@ Index: backend/drm/backend.c
assert(session && dev);
assert(!parent || wlr_backend_is_drm(parent));
-@@ -267,6 +270,28 @@ struct wlr_backend *wlr_drm_backend_create(struct wlr_
+@@ -283,6 +287,28 @@ struct wlr_backend *wlr_drm_backend_create(struct wlr_
drm->session_destroy.notify = handle_session_destroy;
wl_signal_add(&session->events.destroy, &drm->session_destroy);
Index: patches/patch-backend_drm_drm_c
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/patches/patch-backend_drm_drm_c,v
diff -u -p -u -r1.1 patch-backend_drm_drm_c
--- patches/patch-backend_drm_drm_c 11 Aug 2025 18:34:17 -0000 1.1
+++ patches/patch-backend_drm_drm_c 15 Aug 2025 16:30:30 -0000
@@ -1,7 +1,7 @@
Index: backend/drm/drm.c
--- backend/drm/drm.c.orig
+++ backend/drm/drm.c
-@@ -9,6 +9,7 @@
+@@ -8,6 +8,7 @@
#include <stdlib.h>
#include <string.h>
#include <strings.h>
@@ -19,7 +19,7 @@ Index: backend/drm/drm.c
if (drm->iface->finish != NULL) {
drm->iface->finish(drm);
}
-@@ -2113,6 +2117,18 @@ int handle_drm_event(int fd, uint32_t mask, void *data
+@@ -2050,6 +2054,18 @@ int handle_drm_event(int fd, uint32_t mask, void *data
wlr_log(WLR_ERROR, "drmHandleEvent failed");
wlr_backend_destroy(&drm->backend);
}
Index: patches/patch-include_backend_drm_drm_h
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/patches/patch-include_backend_drm_drm_h,v
diff -u -p -u -r1.1 patch-include_backend_drm_drm_h
--- patches/patch-include_backend_drm_drm_h 11 Aug 2025 18:34:17 -0000 1.1
+++ patches/patch-include_backend_drm_drm_h 15 Aug 2025 16:30:30 -0000
@@ -1,7 +1,7 @@
Index: include/backend/drm/drm.h
--- include/backend/drm/drm.h.orig
+++ include/backend/drm/drm.h
-@@ -85,6 +85,7 @@ struct wlr_drm_backend {
+@@ -92,6 +92,7 @@ struct wlr_drm_backend {
bool addfb2_modifiers;
int fd;
@@ -9,7 +9,7 @@ Index: include/backend/drm/drm.h
char *name;
struct wlr_device *dev;
struct liftoff_device *liftoff;
-@@ -96,6 +97,7 @@ struct wlr_drm_backend {
+@@ -103,6 +104,7 @@ struct wlr_drm_backend {
struct wlr_drm_plane *planes;
struct wl_event_source *drm_event;
@@ -17,9 +17,9 @@ Index: include/backend/drm/drm.h
struct wl_listener session_destroy;
struct wl_listener session_active;
-@@ -215,6 +217,7 @@ bool commit_drm_device(struct wlr_drm_backend *drm,
+@@ -226,6 +228,7 @@ void scan_drm_leases(struct wlr_drm_backend *drm);
+ bool commit_drm_device(struct wlr_drm_backend *drm,
const struct wlr_backend_output_state *states, size_t states_len, bool test_only);
- void restore_drm_device(struct wlr_drm_backend *drm);
int handle_drm_event(int fd, uint32_t mask, void *data);
+int handle_drm_kevent(int fd, uint32_t mask, void *data);
void destroy_drm_connector(struct wlr_drm_connector *conn);
Index: patches/patch-meson_build
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/patches/patch-meson_build,v
diff -u -p -u -r1.2 patch-meson_build
--- patches/patch-meson_build 7 Nov 2024 09:44:27 -0000 1.2
+++ patches/patch-meson_build 15 Aug 2025 16:30:30 -0000
@@ -3,7 +3,7 @@ No librt on OpenBSD
Index: meson.build
--- meson.build.orig
+++ meson.build
-@@ -134,7 +134,6 @@ pixman = dependency('pixman-1',
+@@ -121,7 +121,6 @@ pixman = dependency('pixman-1',
default_options: ['werror=false'],
)
math = cc.find_library('m')
@@ -11,7 +11,7 @@ Index: meson.build
wlr_files = []
wlr_deps = [
-@@ -143,7 +142,6 @@ wlr_deps = [
+@@ -130,7 +129,6 @@ wlr_deps = [
xkbcommon,
pixman,
math,
Index: patches/patch-render_drm_syncobj_c
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/patches/patch-render_drm_syncobj_c,v
diff -u -p -u -r1.1 patch-render_drm_syncobj_c
--- patches/patch-render_drm_syncobj_c 7 Nov 2024 09:44:27 -0000 1.1
+++ patches/patch-render_drm_syncobj_c 15 Aug 2025 16:30:30 -0000
@@ -3,7 +3,7 @@ ETIMEDOUT on OpenBSD, not ETIME
Index: render/drm_syncobj.c
--- render/drm_syncobj.c.orig
+++ render/drm_syncobj.c
-@@ -126,7 +126,7 @@ out:
+@@ -161,7 +161,7 @@ out:
bool wlr_drm_syncobj_timeline_check(struct wlr_drm_syncobj_timeline *timeline,
uint64_t point, uint32_t flags, bool *result) {
int etime;
Index: pkg/PLIST
===================================================================
RCS file: /local/cvs/ports/wayland/wlroots/pkg/PLIST,v
diff -u -p -u -r1.5 PLIST
--- pkg/PLIST 14 Aug 2025 15:09:26 -0000 1.5
+++ pkg/PLIST 15 Aug 2025 16:30:30 -0000
@@ -13,6 +13,7 @@ include/wlroots-${MODWLROOTS_VERSION}/wl
include/wlroots-${MODWLROOTS_VERSION}/wlr/config.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/
include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_buffer.h
+include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_ext_image_capture_source_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_keyboard.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_output.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/interfaces/wlr_pointer.h
@@ -38,6 +39,7 @@ include/wlroots-${MODWLROOTS_VERSION}/wl
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_alpha_modifier_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_buffer.h
+include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_color_management_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_compositor.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_content_type_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_cursor.h
@@ -48,10 +50,12 @@ include/wlroots-${MODWLROOTS_VERSION}/wl
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_drm.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_drm_lease_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_export_dmabuf_v1.h
+include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_data_control_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_foreign_toplevel_list_v1.h
+include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_image_capture_source_v1.h
+include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_ext_image_copy_capture_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_foreign_toplevel_management_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_fractional_scale_v1.h
-include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_fullscreen_shell_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_gamma_control_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_idle_inhibit_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_idle_notify_v1.h
@@ -63,7 +67,6 @@ include/wlroots-${MODWLROOTS_VERSION}/wl
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_layer_shell_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_linux_dmabuf_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_linux_drm_syncobj_v1.h
-include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_matrix.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_layer.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_output_layout.h
@@ -76,7 +79,6 @@ include/wlroots-${MODWLROOTS_VERSION}/wl
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_presentation_time.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_primary_selection.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_primary_selection_v1.h
-include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_region.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_relative_pointer_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_scene.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_screencopy_v1.h
@@ -101,11 +103,14 @@ include/wlroots-${MODWLROOTS_VERSION}/wl
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xcursor_manager.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_activation_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_decoration_v1.h
+include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_dialog_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_foreign_registry.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_foreign_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_foreign_v2.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_output_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_shell.h
+include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_system_bell_v1.h
+include/wlroots-${MODWLROOTS_VERSION}/wlr/types/wlr_xdg_toplevel_icon_v1.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/util/
include/wlroots-${MODWLROOTS_VERSION}/wlr/util/addon.h
include/wlroots-${MODWLROOTS_VERSION}/wlr/util/box.h
--
Matthieu Herrb
update: wayland/wlroots 0.19