From ce72d0643cf308dadc555c22273ad726b54bd053 Mon Sep 17 00:00:00 2001 From: rewine Date: Wed, 24 Jul 2024 16:36:27 +0800 Subject: [PATCH] chore: update deb patch to build on deepin --- debian/changelog | 6 + debian/control | 4 +- ...libwlroots12.dirs => libwlroots-0.18.dirs} | 0 debian/libwlroots-0.18.install | 1 + debian/libwlroots-0.18.shlibs | 1 + debian/libwlroots12.install | 1 - debian/libwlroots12.shlibs | 1 - ...rm-add-support-for-SIZE_HINTS-proper.patch | 257 ++++++++++++++++++ ...rm-add-support-for-atomic-tearing-pa.patch | 41 +++ ...shm-add-support-for-wl_shm-version-2.patch | 59 ++++ ...ayland-use-wl_shm.release-if-availab.patch | 43 +++ .../0005-Relax-wayland-server-to-1.22.patch | 25 ++ ...t-destroy-signal-in-destroy-function.patch | 24 -- ...h-when-glGetInteger64vEXT-is-missing.patch | 35 --- debian/patches/init-destroy-signal.patch | 24 -- .../reset_hardware_cursor_on_failure.patch | 13 - debian/patches/series | 9 +- 17 files changed, 440 insertions(+), 104 deletions(-) rename debian/{libwlroots12.dirs => libwlroots-0.18.dirs} (100%) create mode 100644 debian/libwlroots-0.18.install create mode 100644 debian/libwlroots-0.18.shlibs delete mode 100644 debian/libwlroots12.install delete mode 100644 debian/libwlroots12.shlibs create mode 100644 debian/patches/0001-Revert-backend-drm-add-support-for-SIZE_HINTS-proper.patch create mode 100644 debian/patches/0002-Revert-backend-drm-add-support-for-atomic-tearing-pa.patch create mode 100644 debian/patches/0003-Revert-shm-add-support-for-wl_shm-version-2.patch create mode 100644 debian/patches/0004-Revert-backend-wayland-use-wl_shm.release-if-availab.patch create mode 100644 debian/patches/0005-Relax-wayland-server-to-1.22.patch delete mode 100644 debian/patches/emit-destroy-signal-in-destroy-function.patch delete mode 100644 debian/patches/gles2-Avoid-crash-when-glGetInteger64vEXT-is-missing.patch delete mode 100644 debian/patches/init-destroy-signal.patch delete mode 100644 debian/patches/reset_hardware_cursor_on_failure.patch diff --git a/debian/changelog b/debian/changelog index bc2deed..d2112e2 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +wlroots (0.18.0-1deepin1) unstable; urgency=medium + + * New upstream release + + -- rewine Wed, 24 Jul 2024 16:15:06 +0800 + wlroots (0.17.2-1deepin1) unstable; urgency=medium * Add deepin patchs diff --git a/debian/control b/debian/control index a83ac6c..7698d59 100644 --- a/debian/control +++ b/debian/control @@ -54,7 +54,7 @@ Architecture: any Multi-Arch: same Depends: ${misc:Depends}, - libwlroots12 (= ${binary:Version}), + libwlroots-0.18 (= ${binary:Version}), libcap-dev, libdisplay-info-dev, libdrm-dev (>= 2.4.114), @@ -91,7 +91,7 @@ Description: Modular wayland compositor library - development headers . This package contains the development headers. -Package: libwlroots12 +Package: libwlroots-0.18 Architecture: any Multi-Arch: same Depends: diff --git a/debian/libwlroots12.dirs b/debian/libwlroots-0.18.dirs similarity index 100% rename from debian/libwlroots12.dirs rename to debian/libwlroots-0.18.dirs diff --git a/debian/libwlroots-0.18.install b/debian/libwlroots-0.18.install new file mode 100644 index 0000000..3666236 --- /dev/null +++ b/debian/libwlroots-0.18.install @@ -0,0 +1 @@ +usr/lib/*/lib*.so diff --git a/debian/libwlroots-0.18.shlibs b/debian/libwlroots-0.18.shlibs new file mode 100644 index 0000000..308c12c --- /dev/null +++ b/debian/libwlroots-0.18.shlibs @@ -0,0 +1 @@ +libwlroots 0.18 libwlroots-0.18 (>= 0.18.0) diff --git a/debian/libwlroots12.install b/debian/libwlroots12.install deleted file mode 100644 index 3ddde58..0000000 --- a/debian/libwlroots12.install +++ /dev/null @@ -1 +0,0 @@ -usr/lib/*/lib*.so.* diff --git a/debian/libwlroots12.shlibs b/debian/libwlroots12.shlibs deleted file mode 100644 index 7de3920..0000000 --- a/debian/libwlroots12.shlibs +++ /dev/null @@ -1 +0,0 @@ -libwlroots 12 libwlroots12 (>= 0.17.0) diff --git a/debian/patches/0001-Revert-backend-drm-add-support-for-SIZE_HINTS-proper.patch b/debian/patches/0001-Revert-backend-drm-add-support-for-SIZE_HINTS-proper.patch new file mode 100644 index 0000000..696ece3 --- /dev/null +++ b/debian/patches/0001-Revert-backend-drm-add-support-for-SIZE_HINTS-proper.patch @@ -0,0 +1,257 @@ +From 80390d49cd40d7fc71f963cd9ee3fd1d5c8a09b5 Mon Sep 17 00:00:00 2001 +From: rewine +Date: Wed, 24 Jul 2024 16:21:54 +0800 +Subject: [PATCH 1/5] Revert "backend/drm: add support for SIZE_HINTS property" + +This reverts commit a35b4f059d0fb8a3a88853eda41e6111d42b6e38. +--- + backend/drm/drm.c | 81 +++-------------------------- + backend/drm/properties.c | 1 - + include/backend/drm/drm.h | 3 -- + include/backend/drm/properties.h | 1 - + include/wlr/interfaces/wlr_output.h | 11 ++-- + meson.build | 2 +- + types/output/cursor.c | 24 ++------- + 7 files changed, 17 insertions(+), 106 deletions(-) + +diff --git a/backend/drm/drm.c b/backend/drm/drm.c +index 5756f289..2f4a74d1 100644 +--- a/backend/drm/drm.c ++++ b/backend/drm/drm.c +@@ -135,26 +135,6 @@ bool check_drm_features(struct wlr_drm_backend *drm) { + return true; + } + +-static bool init_plane_cursor_sizes(struct wlr_drm_plane *plane, +- const struct drm_plane_size_hint *hints, size_t hints_len) { +- assert(hints_len > 0); +- plane->cursor_sizes = calloc(hints_len, sizeof(plane->cursor_sizes[0])); +- if (plane->cursor_sizes == NULL) { +- return false; +- } +- plane->cursor_sizes_len = hints_len; +- +- for (size_t i = 0; i < hints_len; i++) { +- const struct drm_plane_size_hint hint = hints[i]; +- plane->cursor_sizes[i] = (struct wlr_output_cursor_size){ +- .width = hint.width, +- .height = hint.height, +- }; +- } +- +- return true; +-} +- + static bool init_plane(struct wlr_drm_backend *drm, + struct wlr_drm_plane *p, const drmModePlane *drm_plane) { + uint32_t id = drm_plane->plane_id; +@@ -206,37 +186,6 @@ static bool init_plane(struct wlr_drm_backend *drm, + drmModeFreePropertyBlob(blob); + } + +- uint64_t size_hints_blob_id = 0; +- if (p->props.size_hints) { +- if (!get_drm_prop(drm->fd, p->id, p->props.size_hints, &size_hints_blob_id)) { +- wlr_log(WLR_ERROR, "Failed to read SIZE_HINTS property"); +- return false; +- } +- } +- if (size_hints_blob_id != 0) { +- drmModePropertyBlobRes *blob = drmModeGetPropertyBlob(drm->fd, size_hints_blob_id); +- if (!blob) { +- wlr_log(WLR_ERROR, "Failed to read SIZE_HINTS blob"); +- return false; +- } +- +- const struct drm_plane_size_hint *size_hints = blob->data; +- size_t size_hints_len = blob->length / sizeof(size_hints[0]); +- if (!init_plane_cursor_sizes(p, size_hints, size_hints_len)) { +- return false; +- } +- +- drmModeFreePropertyBlob(blob); +- } else { +- const struct drm_plane_size_hint size_hint = { +- .width = drm->cursor_width, +- .height = drm->cursor_height, +- }; +- if (!init_plane_cursor_sizes(p, &size_hint, 1)) { +- return false; +- } +- } +- + assert(drm->num_crtcs <= 32); + for (size_t j = 0; j < drm->num_crtcs; j++) { + uint32_t crtc_bit = 1 << j; +@@ -1054,15 +1003,8 @@ static bool drm_connector_set_cursor(struct wlr_output *output, + conn->cursor_enabled = false; + drm_fb_clear(&conn->cursor_pending_fb); + if (buffer != NULL) { +- bool found = false; +- for (size_t i = 0; i < plane->cursor_sizes_len; i++) { +- struct wlr_output_cursor_size size = plane->cursor_sizes[i]; +- if (size.width == buffer->width && size.height == buffer->height) { +- found = true; +- break; +- } +- } +- if (!found) { ++ if ((uint64_t)buffer->width != drm->cursor_width || ++ (uint64_t)buffer->height != drm->cursor_height) { + wlr_drm_conn_log(conn, WLR_DEBUG, "Cursor buffer size mismatch"); + return false; + } +@@ -1188,18 +1130,11 @@ static const struct wlr_drm_format_set *drm_connector_get_cursor_formats( + return &plane->formats; + } + +-static const struct wlr_output_cursor_size *drm_connector_get_cursor_sizes(struct wlr_output *output, +- size_t *len) { +- struct wlr_drm_connector *conn = get_drm_connector_from_output(output); +- if (!drm_connector_alloc_crtc(conn)) { +- return NULL; +- } +- struct wlr_drm_plane *plane = conn->crtc->cursor; +- if (!plane) { +- return NULL; +- } +- *len = plane->cursor_sizes_len; +- return plane->cursor_sizes; ++static void drm_connector_get_cursor_size(struct wlr_output *output, ++ int *width, int *height) { ++ struct wlr_drm_backend *drm = get_drm_backend_from_backend(output->backend); ++ *width = (int)drm->cursor_width; ++ *height = (int)drm->cursor_height; + } + + static const struct wlr_drm_format_set *drm_connector_get_primary_formats( +@@ -1225,7 +1160,7 @@ static const struct wlr_output_impl output_impl = { + .commit = drm_connector_commit, + .get_gamma_size = drm_connector_get_gamma_size, + .get_cursor_formats = drm_connector_get_cursor_formats, +- .get_cursor_sizes = drm_connector_get_cursor_sizes, ++ .get_cursor_size = drm_connector_get_cursor_size, + .get_primary_formats = drm_connector_get_primary_formats, + }; + +diff --git a/backend/drm/properties.c b/backend/drm/properties.c +index d78bfaf6..9223fab6 100644 +--- a/backend/drm/properties.c ++++ b/backend/drm/properties.c +@@ -56,7 +56,6 @@ static const struct prop_info plane_info[] = { + { "HOTSPOT_X", INDEX(hotspot_x) }, + { "HOTSPOT_Y", INDEX(hotspot_y) }, + { "IN_FORMATS", INDEX(in_formats) }, +- { "SIZE_HINTS", INDEX(size_hints) }, + { "SRC_H", INDEX(src_h) }, + { "SRC_W", INDEX(src_w) }, + { "SRC_X", INDEX(src_x) }, +diff --git a/include/backend/drm/drm.h b/include/backend/drm/drm.h +index 1106e9f5..d154d37f 100644 +--- a/include/backend/drm/drm.h ++++ b/include/backend/drm/drm.h +@@ -29,9 +29,6 @@ struct wlr_drm_plane { + + struct wlr_drm_format_set formats; + +- struct wlr_output_cursor_size *cursor_sizes; +- size_t cursor_sizes_len; +- + struct wlr_drm_plane_props props; + + uint32_t initial_crtc_id; +diff --git a/include/backend/drm/properties.h b/include/backend/drm/properties.h +index 57073702..c039065a 100644 +--- a/include/backend/drm/properties.h ++++ b/include/backend/drm/properties.h +@@ -44,7 +44,6 @@ struct wlr_drm_plane_props { + uint32_t type; + uint32_t rotation; // Not guaranteed to exist + uint32_t in_formats; // Not guaranteed to exist +- uint32_t size_hints; // Not guaranteed to exist + + // atomic-modesetting only + +diff --git a/include/wlr/interfaces/wlr_output.h b/include/wlr/interfaces/wlr_output.h +index 2a40a0fe..b5123475 100644 +--- a/include/wlr/interfaces/wlr_output.h ++++ b/include/wlr/interfaces/wlr_output.h +@@ -25,10 +25,6 @@ + WLR_OUTPUT_STATE_SUBPIXEL | \ + WLR_OUTPUT_STATE_LAYERS) + +-struct wlr_output_cursor_size { +- int width, height; +-}; +- + /** + * A backend implementation of struct wlr_output. + * +@@ -86,11 +82,10 @@ struct wlr_output_impl { + const struct wlr_drm_format_set *(*get_cursor_formats)( + struct wlr_output *output, uint32_t buffer_caps); + /** +- * Get the list of sizes suitable for the cursor buffer. Attempts to use a +- * different size for the cursor may fail. ++ * Get the size suitable for the cursor buffer. Attempts to use a different ++ * size for the cursor may fail. + */ +- const struct wlr_output_cursor_size *(*get_cursor_sizes)(struct wlr_output *output, +- size_t *len); ++ void (*get_cursor_size)(struct wlr_output *output, int *width, int *height); + /** + * Get the list of DRM formats suitable for the primary buffer, + * assuming a buffer with the specified capabilities. +diff --git a/meson.build b/meson.build +index c28bb772..c9c74f9b 100644 +--- a/meson.build ++++ b/meson.build +@@ -111,7 +111,7 @@ wayland_server = dependency('wayland-server', + ) + + drm = dependency('libdrm', +- version: '>=2.4.122', ++ version: '>=2.4.120', + fallback: 'libdrm', + default_options: [ + 'auto_features=disabled', +diff --git a/types/output/cursor.c b/types/output/cursor.c +index 2bf78528..4d5a3706 100644 +--- a/types/output/cursor.c ++++ b/types/output/cursor.c +@@ -196,27 +196,13 @@ static struct wlr_buffer *render_cursor_buffer(struct wlr_output_cursor *cursor) + + int width = cursor->width; + int height = cursor->height; +- if (output->impl->get_cursor_sizes) { ++ if (output->impl->get_cursor_size) { + // Apply hardware limitations on buffer size +- size_t sizes_len = 0; +- const struct wlr_output_cursor_size *sizes = +- output->impl->get_cursor_sizes(cursor->output, &sizes_len); +- +- bool found = false; +- for (size_t i = 0; i < sizes_len; i++) { +- struct wlr_output_cursor_size size = sizes[i]; +- if ((int)texture->width <= size.width && (int)texture->height <= size.height) { +- width = size.width; +- height = size.height; +- found = true; +- break; +- } +- } +- +- if (!found) { ++ output->impl->get_cursor_size(cursor->output, &width, &height); ++ if ((int)texture->width > width || (int)texture->height > height) { + wlr_log(WLR_DEBUG, "Cursor texture too large (%dx%d), " +- "exceeds hardware limitations", texture->width, +- texture->height); ++ "exceeds hardware limitations (%dx%d)", texture->width, ++ texture->height, width, height); + return NULL; + } + } +-- +2.44.0 + diff --git a/debian/patches/0002-Revert-backend-drm-add-support-for-atomic-tearing-pa.patch b/debian/patches/0002-Revert-backend-drm-add-support-for-atomic-tearing-pa.patch new file mode 100644 index 0000000..8a3c718 --- /dev/null +++ b/debian/patches/0002-Revert-backend-drm-add-support-for-atomic-tearing-pa.patch @@ -0,0 +1,41 @@ +From 78120f6c009ad2609837d2eaaaf9fb135a9fcbc7 Mon Sep 17 00:00:00 2001 +From: rewine +Date: Wed, 24 Jul 2024 16:22:56 +0800 +Subject: [PATCH 2/5] Revert "backend/drm: add support for atomic tearing + page-flips" + +This reverts commit 00b869c1a96f300a8f25da95d624524895e0ddf2. +--- + backend/drm/drm.c | 2 -- + meson.build | 2 +- + 2 files changed, 1 insertion(+), 3 deletions(-) + +diff --git a/backend/drm/drm.c b/backend/drm/drm.c +index 2f4a74d1..1bc06876 100644 +--- a/backend/drm/drm.c ++++ b/backend/drm/drm.c +@@ -119,8 +119,6 @@ bool check_drm_features(struct wlr_drm_backend *drm) { + + if (drm->iface == &legacy_iface) { + drm->supports_tearing_page_flips = drmGetCap(drm->fd, DRM_CAP_ASYNC_PAGE_FLIP, &cap) == 0 && cap == 1; +- } else { +- drm->supports_tearing_page_flips = drmGetCap(drm->fd, DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP, &cap) == 0 && cap == 1; + } + + if (env_parse_bool("WLR_DRM_NO_MODIFIERS")) { +diff --git a/meson.build b/meson.build +index c9c74f9b..e349f3dd 100644 +--- a/meson.build ++++ b/meson.build +@@ -111,7 +111,7 @@ wayland_server = dependency('wayland-server', + ) + + drm = dependency('libdrm', +- version: '>=2.4.120', ++ version: '>=2.4.118', + fallback: 'libdrm', + default_options: [ + 'auto_features=disabled', +-- +2.44.0 + diff --git a/debian/patches/0003-Revert-shm-add-support-for-wl_shm-version-2.patch b/debian/patches/0003-Revert-shm-add-support-for-wl_shm-version-2.patch new file mode 100644 index 0000000..09649e7 --- /dev/null +++ b/debian/patches/0003-Revert-shm-add-support-for-wl_shm-version-2.patch @@ -0,0 +1,59 @@ +From 89ccbb3cab5f7c6ca8696760ffcefdc1dfe12e7e Mon Sep 17 00:00:00 2001 +From: rewine +Date: Wed, 24 Jul 2024 16:23:15 +0800 +Subject: [PATCH 3/5] Revert "shm: add support for wl_shm version 2" + +This reverts commit 22dab77d28ee8527c240ddaed63d1bd6b65e587d. +--- + types/wlr_shm.c | 12 ++---------- + 1 file changed, 2 insertions(+), 10 deletions(-) + +diff --git a/types/wlr_shm.c b/types/wlr_shm.c +index 1f45c88a..4b79f99e 100644 +--- a/types/wlr_shm.c ++++ b/types/wlr_shm.c +@@ -22,7 +22,7 @@ + #error "Lock-free C11 atomic pointers are required" + #endif + +-#define SHM_VERSION 2 ++#define SHM_VERSION 1 + + struct wlr_shm_pool { + struct wl_resource *resource; // may be NULL +@@ -460,14 +460,8 @@ error_fd: + close(fd); + } + +-static void shm_handle_release(struct wl_client *client, +- struct wl_resource *resource) { +- wl_resource_destroy(resource); +-} +- + static const struct wl_shm_interface shm_impl = { + .create_pool = shm_handle_create_pool, +- .release = shm_handle_release, + }; + + static void shm_bind(struct wl_client *client, void *data, uint32_t version, +@@ -497,8 +491,6 @@ static void handle_display_destroy(struct wl_listener *listener, void *data) { + + struct wlr_shm *wlr_shm_create(struct wl_display *display, uint32_t version, + const uint32_t *formats, size_t formats_len) { +- assert(version <= SHM_VERSION); +- + // ARGB8888 and XRGB8888 must be supported per the wl_shm spec + bool has_argb8888 = false, has_xrgb8888 = false; + for (size_t i = 0; i < formats_len; i++) { +@@ -530,7 +522,7 @@ struct wlr_shm *wlr_shm_create(struct wl_display *display, uint32_t version, + shm->formats[i] = convert_drm_format_to_wl_shm(formats[i]); + } + +- shm->global = wl_global_create(display, &wl_shm_interface, version, ++ shm->global = wl_global_create(display, &wl_shm_interface, SHM_VERSION, + shm, shm_bind); + if (shm->global == NULL) { + wlr_log(WLR_ERROR, "wl_global_create failed"); +-- +2.44.0 + diff --git a/debian/patches/0004-Revert-backend-wayland-use-wl_shm.release-if-availab.patch b/debian/patches/0004-Revert-backend-wayland-use-wl_shm.release-if-availab.patch new file mode 100644 index 0000000..03b65d8 --- /dev/null +++ b/debian/patches/0004-Revert-backend-wayland-use-wl_shm.release-if-availab.patch @@ -0,0 +1,43 @@ +From 52417ac40f89919e7a2b1ccbefe507f7efa068b7 Mon Sep 17 00:00:00 2001 +From: rewine +Date: Wed, 24 Jul 2024 16:23:33 +0800 +Subject: [PATCH 4/5] Revert "backend/wayland: use wl_shm.release if available" + +This reverts commit 0028e0638f4b966d9a97007da7e57bd40aecc972. +--- + backend/wayland/backend.c | 12 ++---------- + 1 file changed, 2 insertions(+), 10 deletions(-) + +diff --git a/backend/wayland/backend.c b/backend/wayland/backend.c +index c2b2f2fa..b0bce786 100644 +--- a/backend/wayland/backend.c ++++ b/backend/wayland/backend.c +@@ -393,11 +393,7 @@ static void registry_global(void *data, struct wl_registry *registry, + wl->legacy_drm = wl_registry_bind(registry, name, &wl_drm_interface, 1); + wl_drm_add_listener(wl->legacy_drm, &legacy_drm_listener, wl); + } else if (strcmp(iface, wl_shm_interface.name) == 0) { +- uint32_t target_version = version; +- if (version > 2) { +- target_version = 2; +- } +- wl->shm = wl_registry_bind(registry, name, &wl_shm_interface, target_version); ++ wl->shm = wl_registry_bind(registry, name, &wl_shm_interface, 1); + wl_shm_add_listener(wl->shm, &shm_listener, wl); + } else if (strcmp(iface, xdg_activation_v1_interface.name) == 0) { + wl->activation_v1 = wl_registry_bind(registry, name, +@@ -519,11 +515,7 @@ static void backend_destroy(struct wlr_backend *backend) { + wl_drm_destroy(wl->legacy_drm); + } + if (wl->shm) { +- if (wl_shm_get_version(wl->shm) >= WL_SHM_RELEASE_SINCE_VERSION) { +- wl_shm_release(wl->shm); +- } else { +- wl_shm_destroy(wl->shm); +- } ++ wl_shm_destroy(wl->shm); + } + if (wl->zwp_relative_pointer_manager_v1) { + zwp_relative_pointer_manager_v1_destroy(wl->zwp_relative_pointer_manager_v1); +-- +2.44.0 + diff --git a/debian/patches/0005-Relax-wayland-server-to-1.22.patch b/debian/patches/0005-Relax-wayland-server-to-1.22.patch new file mode 100644 index 0000000..dc44e80 --- /dev/null +++ b/debian/patches/0005-Relax-wayland-server-to-1.22.patch @@ -0,0 +1,25 @@ +From dfe4dada71b2eb177c7e11b801f714be378d98ae Mon Sep 17 00:00:00 2001 +From: rewine +Date: Wed, 24 Jul 2024 16:25:35 +0800 +Subject: [PATCH 5/5] Relax wayland-server to 1.22 + +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index e349f3dd..9885e9d8 100644 +--- a/meson.build ++++ b/meson.build +@@ -105,7 +105,7 @@ internal_config = configuration_data() + + wayland_project_options = ['tests=false', 'documentation=false'] + wayland_server = dependency('wayland-server', +- version: '>=1.23', ++ version: '>=1.22', + fallback: 'wayland', + default_options: wayland_project_options, + ) +-- +2.44.0 + diff --git a/debian/patches/emit-destroy-signal-in-destroy-function.patch b/debian/patches/emit-destroy-signal-in-destroy-function.patch deleted file mode 100644 index cdc8414..0000000 --- a/debian/patches/emit-destroy-signal-in-destroy-function.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 293b0aa502d2e64d68290b1b615e9bd6d203d818 Mon Sep 17 00:00:00 2001 -From: groveer -Date: Mon, 6 May 2024 15:42:18 +0800 -Subject: [PATCH] wlr_pointer_gestures_v1: emit destroy signal in destroy - function - ---- - types/wlr_pointer_gestures_v1.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/types/wlr_pointer_gestures_v1.c b/types/wlr_pointer_gestures_v1.c -index bd9e1f9eb..ebb1c8689 100644 ---- a/types/wlr_pointer_gestures_v1.c -+++ b/types/wlr_pointer_gestures_v1.c -@@ -396,6 +396,7 @@ static void pointer_gestures_v1_bind(struct wl_client *wl_client, void *data, - static void handle_display_destroy(struct wl_listener *listener, void *data) { - struct wlr_pointer_gestures_v1 *gestures = - wl_container_of(listener, gestures, display_destroy); -+ wl_signal_emit_mutable(&gestures->events.destroy, NULL); - wl_list_remove(&gestures->display_destroy.link); - wl_global_destroy(gestures->global); - free(gestures); --- -GitLab diff --git a/debian/patches/gles2-Avoid-crash-when-glGetInteger64vEXT-is-missing.patch b/debian/patches/gles2-Avoid-crash-when-glGetInteger64vEXT-is-missing.patch deleted file mode 100644 index a7582fd..0000000 --- a/debian/patches/gles2-Avoid-crash-when-glGetInteger64vEXT-is-missing.patch +++ /dev/null @@ -1,35 +0,0 @@ -From: =?utf-8?q?Guido_G=C3=BCnther?= -Date: Tue, 12 Mar 2024 10:38:21 +0100 -Subject: gles2: Avoid crash when glGetInteger64vEXT is missing - -The spec for GL_EXT_disjoint_timer_query says - -> The GetInteger64vEXT command is required only if OpenGL ES 3.0 or later -> is not supported. - -Some GLES 3.2 implementations like the proprietary mali driver on the -rk3566 based OrangePi advertise GL_EXT_disjoint_timer_query but lack -glGetInteger64vEXT. Use glGetInteger64v instead. - -(cherry picked from commit 341b3c8bd2387d9d6fb684e006a4eb45dfe09efa) ---- - render/gles2/renderer.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/render/gles2/renderer.c b/render/gles2/renderer.c -index 4899cfc..215a5e4 100644 ---- a/render/gles2/renderer.c -+++ b/render/gles2/renderer.c -@@ -915,7 +915,11 @@ struct wlr_renderer *wlr_gles2_renderer_create(struct wlr_egl *egl) { - load_gl_proc(&renderer->procs.glQueryCounterEXT, "glQueryCounterEXT"); - load_gl_proc(&renderer->procs.glGetQueryObjectivEXT, "glGetQueryObjectivEXT"); - load_gl_proc(&renderer->procs.glGetQueryObjectui64vEXT, "glGetQueryObjectui64vEXT"); -- load_gl_proc(&renderer->procs.glGetInteger64vEXT, "glGetInteger64vEXT"); -+ if (eglGetProcAddress("glGetInteger64vEXT")) { -+ load_gl_proc(&renderer->procs.glGetInteger64vEXT, "glGetInteger64vEXT"); -+ } else { -+ load_gl_proc(&renderer->procs.glGetInteger64vEXT, "glGetInteger64v"); -+ } - } - - if (renderer->exts.KHR_debug) { diff --git a/debian/patches/init-destroy-signal.patch b/debian/patches/init-destroy-signal.patch deleted file mode 100644 index 021cd3b..0000000 --- a/debian/patches/init-destroy-signal.patch +++ /dev/null @@ -1,24 +0,0 @@ -From dead0ebcc8cc0df26925b633040a39190eeb0c55 Mon Sep 17 00:00:00 2001 -From: groveer -Date: Mon, 6 May 2024 15:11:36 +0800 -Subject: [PATCH] wlr_pointer_gestures_v1: init destroy signal - ---- - types/wlr_pointer_gestures_v1.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/types/wlr_pointer_gestures_v1.c b/types/wlr_pointer_gestures_v1.c -index 0763f3ac34..bd9e1f9ebd 100644 ---- a/types/wlr_pointer_gestures_v1.c -+++ b/types/wlr_pointer_gestures_v1.c -@@ -420,6 +420,8 @@ struct wlr_pointer_gestures_v1 *wlr_pointer_gestures_v1_create( - return NULL; - } - -+ wl_signal_init(&gestures->events.destroy); -+ - gestures->display_destroy.notify = handle_display_destroy; - wl_display_add_destroy_listener(display, &gestures->display_destroy); - --- -GitLab diff --git a/debian/patches/reset_hardware_cursor_on_failure.patch b/debian/patches/reset_hardware_cursor_on_failure.patch deleted file mode 100644 index b5336d7..0000000 --- a/debian/patches/reset_hardware_cursor_on_failure.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/types/output/cursor.c b/types/output/cursor.c -index ad37a04..341692d 100644 ---- a/types/output/cursor.c -+++ b/types/output/cursor.c -@@ -359,6 +359,8 @@ static bool output_cursor_attempt_hardware(struct wlr_output_cursor *cursor) { - return false; - } - -+ output->hardware_cursor = NULL; -+ - struct wlr_texture *texture = cursor->texture; - - // If the cursor was hidden or was a software cursor, the hardware diff --git a/debian/patches/series b/debian/patches/series index e8ba015..82d1c78 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,5 +1,6 @@ +0001-Revert-backend-drm-add-support-for-SIZE_HINTS-proper.patch +0002-Revert-backend-drm-add-support-for-atomic-tearing-pa.patch +0003-Revert-shm-add-support-for-wl_shm-version-2.patch +0004-Revert-backend-wayland-use-wl_shm.release-if-availab.patch +0005-Relax-wayland-server-to-1.22.patch Revert-layer-shell-error-on-0-dimension-without-anchors.patch -gles2-Avoid-crash-when-glGetInteger64vEXT-is-missing.patch -emit-destroy-signal-in-destroy-function.patch -init-destroy-signal.patch -reset_hardware_cursor_on_failure.patch