From patchwork Tue May 5 17:36:57 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denys Dmytriyenko X-Patchwork-Id: 87544 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1F0BDCD3427 for ; Tue, 5 May 2026 17:37:05 +0000 (UTC) Received: from mailout4.zoneedit.com (mailout4.zoneedit.com [64.68.198.64]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.2106.1778002621262607869 for ; Tue, 05 May 2026 10:37:02 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: denix.org, ip: 64.68.198.64, mailfrom: denis@denix.org) Received: from localhost (localhost [127.0.0.1]) by mailout4.zoneedit.com (Postfix) with ESMTP id 5F79340C8A for ; Tue, 5 May 2026 17:37:00 +0000 (UTC) Received: from mailout4.zoneedit.com ([127.0.0.1]) by localhost (zmo14-pco.easydns.vpn [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id M5qShptfaP8y for ; Tue, 5 May 2026 17:37:00 +0000 (UTC) Received: from mail.denix.org (pool-100-15-87-159.washdc.fios.verizon.net [100.15.87.159]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mailout4.zoneedit.com (Postfix) with ESMTPSA id 49E34407E5 for ; Tue, 5 May 2026 17:37:00 +0000 (UTC) Received: from thorin.denix (thorin.denix [192.168.30.9]) by mail.denix.org (Postfix) with ESMTP id 26C6F17D1FD; Tue, 5 May 2026 13:36:59 -0400 (EDT) From: Denys Dmytriyenko To: openembedded-core@lists.openembedded.org Cc: Denys Dmytriyenko Subject: [PATCH 1/2] wayland: upgrade 1.24.0 -> 1.25.0 Date: Tue, 5 May 2026 13:36:57 -0400 Message-Id: <20260505173658.3662663-1-denis@denix.org> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 05 May 2026 17:37:05 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/236520 Massage existing patches to remove fuzz and apply to the new version. Release notes: https://lore.freedesktop.org/wayland-devel/Xc5mzCaUxqhO0w-Dls241-PmLXWdFT2DLLkz0Lhr4LAhDTZxiZfrDZeq9lCGGn2V8nxqcMZDTn6vSCdClRYkQ7vCUMPKwQokYhCjf93xRx4=@emersion.fr/T/#u Signed-off-by: Denys Dmytriyenko --- ...build-Fix-strndup-detection-on-MinGW.patch | 7 +++--- ...1-tests-Remove-event_loop_timer-test.patch | 24 +++++++++---------- .../{wayland_1.24.0.bb => wayland_1.25.0.bb} | 2 +- 3 files changed, 16 insertions(+), 17 deletions(-) rename meta/recipes-graphics/wayland/{wayland_1.24.0.bb => wayland_1.25.0.bb} (96%) diff --git a/meta/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch b/meta/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch index c6ddf8a1f9..d402fbf8b4 100644 --- a/meta/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch +++ b/meta/recipes-graphics/wayland/wayland/0001-build-Fix-strndup-detection-on-MinGW.patch @@ -1,4 +1,4 @@ -From a90bfa622f7323074c715674b368cba80bc7d196 Mon Sep 17 00:00:00 2001 +From b4a3b9f913e06f9b71966cd695df1ab14a031ed0 Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Thu, 20 Feb 2020 15:20:45 -0600 Subject: [PATCH] build: Fix strndup detection on MinGW @@ -20,14 +20,15 @@ Signed-off-by: Denys Dmytriyenko 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build -index 8e28f2a..b56ba91 100644 +index 33653e7..e05eaef 100644 --- a/meson.build +++ b/meson.build -@@ -45,11 +45,11 @@ have_funcs = [ +@@ -49,12 +49,12 @@ have_funcs = [ 'prctl', 'memfd_create', 'mremap', - 'strndup', + 'gettid', ] foreach f: have_funcs config_h.set('HAVE_' + f.underscorify().to_upper(), cc.has_function(f)) diff --git a/meta/recipes-graphics/wayland/wayland/0001-tests-Remove-event_loop_timer-test.patch b/meta/recipes-graphics/wayland/wayland/0001-tests-Remove-event_loop_timer-test.patch index e662d6cfd2..b225bec96d 100644 --- a/meta/recipes-graphics/wayland/wayland/0001-tests-Remove-event_loop_timer-test.patch +++ b/meta/recipes-graphics/wayland/wayland/0001-tests-Remove-event_loop_timer-test.patch @@ -1,4 +1,4 @@ -From 61fa7e7d9c282798988907cf3b8928c88d7a7930 Mon Sep 17 00:00:00 2001 +From 46da8d01e695f415aeb4a8442dbc13ae0898912c Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Thu, 6 Nov 2025 08:35:26 -0700 Subject: [PATCH] tests: Remove event_loop_timer test @@ -13,30 +13,28 @@ way to increase the timing constraints. Upstream-Status: Inappropriate [oe-specific] Signed-off-by: Joshua Watt +Signed-off-by: Denys Dmytriyenko --- tests/event-loop-test.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/event-loop-test.c b/tests/event-loop-test.c -index a51ba8f..0c39b09 100644 +index be15a34..3f5f476 100644 --- a/tests/event-loop-test.c +++ b/tests/event-loop-test.c -@@ -238,6 +238,7 @@ TEST(event_loop_multiple_same_signals) - wl_event_loop_destroy(loop); - } +@@ -245,6 +245,7 @@ struct timer_update_context { + int count; + }; +#if 0 /* Timing requirements are too tight for qemu testing */ static int - timer_callback(void *data) + timer_update_callback_1(void *data) { -@@ -280,6 +281,7 @@ TEST(event_loop_timer) - wl_event_source_remove(source2); +@@ -323,6 +324,7 @@ TEST(event_loop_timer_updates) + wl_event_source_remove(context.source2); wl_event_loop_destroy(loop); } +#endif - #define MSEC_TO_USEC(msec) ((msec) * 1000) - --- -2.51.1 - + struct timer_order_data { + struct wl_event_source *source; diff --git a/meta/recipes-graphics/wayland/wayland_1.24.0.bb b/meta/recipes-graphics/wayland/wayland_1.25.0.bb similarity index 96% rename from meta/recipes-graphics/wayland/wayland_1.24.0.bb rename to meta/recipes-graphics/wayland/wayland_1.25.0.bb index de7ee516bb..a0bc13df56 100644 --- a/meta/recipes-graphics/wayland/wayland_1.24.0.bb +++ b/meta/recipes-graphics/wayland/wayland_1.25.0.bb @@ -17,7 +17,7 @@ SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/releases/${PV}/downl file://0001-build-Fix-strndup-detection-on-MinGW.patch \ file://0001-tests-Remove-event_loop_timer-test.patch \ " -SRC_URI[sha256sum] = "82892487a01ad67b334eca83b54317a7c86a03a89cfadacfef5211f11a5d0536" +SRC_URI[sha256sum] = "c065f040afdff3177680600f249727e41a1afc22fccf27222f15f5306faa1f03" UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/tags" UPSTREAM_CHECK_REGEX = "releases/(?P\d+\.\d+\.(?!9\d+)\d+)" From patchwork Tue May 5 17:36:58 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Denys Dmytriyenko X-Patchwork-Id: 87545 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 20B0CCD3439 for ; Tue, 5 May 2026 17:37:05 +0000 (UTC) Received: from mailout4.zoneedit.com (mailout4.zoneedit.com [64.68.198.64]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.2105.1778002621247638197 for ; Tue, 05 May 2026 10:37:02 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: denix.org, ip: 64.68.198.64, mailfrom: denis@denix.org) Received: from localhost (localhost [127.0.0.1]) by mailout4.zoneedit.com (Postfix) with ESMTP id 6CC0A407E5 for ; Tue, 5 May 2026 17:37:00 +0000 (UTC) Received: from mailout4.zoneedit.com ([127.0.0.1]) by localhost (zmo14-pco.easydns.vpn [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KIqwmX9Gc94V for ; Tue, 5 May 2026 17:37:00 +0000 (UTC) Received: from mail.denix.org (pool-100-15-87-159.washdc.fios.verizon.net [100.15.87.159]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mailout4.zoneedit.com (Postfix) with ESMTPSA id 50E1E40C85 for ; Tue, 5 May 2026 17:37:00 +0000 (UTC) Received: from thorin.denix (thorin.denix [192.168.30.9]) by mail.denix.org (Postfix) with ESMTP id 2E3E117D202; Tue, 5 May 2026 13:36:59 -0400 (EDT) From: Denys Dmytriyenko To: openembedded-core@lists.openembedded.org Cc: Denys Dmytriyenko Subject: [PATCH 2/2] weston: upgrade 15.0.0 -> 15.0.1 Date: Tue, 5 May 2026 13:36:58 -0400 Message-Id: <20260505173658.3662663-2-denis@denix.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260505173658.3662663-1-denis@denix.org> References: <20260505173658.3662663-1-denis@denix.org> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 05 May 2026 17:37:05 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/236521 Remove previously backported patches. Release notes: https://lore.freedesktop.org/wayland-devel/aespQ3LKAOy5O3Hx@xpredator/T/#u Signed-off-by: Denys Dmytriyenko --- ...e-asserts-relying-on-shader-compiler.patch | 47 ------ ...guard-surface-output-creation-with-b.patch | 151 ------------------ .../{weston_15.0.0.bb => weston_15.0.1.bb} | 4 +- 3 files changed, 1 insertion(+), 201 deletions(-) delete mode 100644 meta/recipes-graphics/wayland/weston/0001-gl-shaders-Remove-asserts-relying-on-shader-compiler.patch delete mode 100644 meta/recipes-graphics/wayland/weston/0001-vulkan-renderer-guard-surface-output-creation-with-b.patch rename meta/recipes-graphics/wayland/{weston_15.0.0.bb => weston_15.0.1.bb} (96%) diff --git a/meta/recipes-graphics/wayland/weston/0001-gl-shaders-Remove-asserts-relying-on-shader-compiler.patch b/meta/recipes-graphics/wayland/weston/0001-gl-shaders-Remove-asserts-relying-on-shader-compiler.patch deleted file mode 100644 index 4c9b740bd2..0000000000 --- a/meta/recipes-graphics/wayland/weston/0001-gl-shaders-Remove-asserts-relying-on-shader-compiler.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 5c49563ef49a502a6b8fae44f8778e109d32c2d9 Mon Sep 17 00:00:00 2001 -From: Robert Mader -Date: Mon, 2 Mar 2026 13:11:05 +0100 -Subject: [PATCH] gl-shaders: Remove asserts relying on shader compiler - behavior - -yuv_coefficients and yuv_offsets should get optimized away by shader -compilers as the related code paths can never be reached. This seems to -work well on Mesa but not necessarily with other drivers. - -While on it, assert that the uniforms *are* present, unless the -yuv-to-rgb conversion is handled by the driver. - -Upstream-Status: Backport [https://gitlab.freedesktop.org/wayland/weston/-/commit/5c49563ef49a502a6b8fae44f8778e109d32c2d9] -Signed-off-by: Robert Mader ---- - libweston/renderer-gl/gl-shaders.c | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -diff --git a/libweston/renderer-gl/gl-shaders.c b/libweston/renderer-gl/gl-shaders.c -index 98041882..18eeedf6 100644 ---- a/libweston/renderer-gl/gl-shaders.c -+++ b/libweston/renderer-gl/gl-shaders.c -@@ -762,8 +762,18 @@ gl_shader_load_config_representation(struct weston_compositor *compositor, - - if (sconf->yuv_coefficients == WESTON_COLOR_MATRIX_COEF_UNSET || - sconf->yuv_coefficients == WESTON_COLOR_MATRIX_COEF_IDENTITY) { -- assert(shader->yuv_coefficients_uniform == -1); -- assert(shader->yuv_offsets_uniform == -1); -+ /* -+ * In this case the yuv_coefficients and yuv_offsets uniforms -+ * should never be used and thus get optimized away by the -+ * shader compiler. Unfortunately on some drivers this is not -+ * the case, so we can't assert on it. -+ */ -+ return; -+ } -+ -+ if (shader->yuv_coefficients_uniform == -1 || -+ shader->yuv_offsets_uniform == -1) { -+ assert(shader->key.variant == SHADER_VARIANT_EXTERNAL); - return; - } - --- -2.34.1 - diff --git a/meta/recipes-graphics/wayland/weston/0001-vulkan-renderer-guard-surface-output-creation-with-b.patch b/meta/recipes-graphics/wayland/weston/0001-vulkan-renderer-guard-surface-output-creation-with-b.patch deleted file mode 100644 index 2d69ae2106..0000000000 --- a/meta/recipes-graphics/wayland/weston/0001-vulkan-renderer-guard-surface-output-creation-with-b.patch +++ /dev/null @@ -1,151 +0,0 @@ -From ba10e6d81462fc8628dd340ba9404e13745eae18 Mon Sep 17 00:00:00 2001 -From: Erico Nunes -Date: Thu, 5 Mar 2026 17:29:06 +0100 -Subject: [PATCH] vulkan-renderer: guard surface output creation with backend - defines - -Fix compilation errors when compiling with x11 or wayland backends -disabled or not available. - -Fixes: 8f56d03d ("libweston: Vulkan renderer") - -Signed-off-by: Erico Nunes -Upstream-Status: Backport [https://cgit.freedesktop.org/wayland/weston/commit/?id=ba10e6d81] -Signed-off-by: Scott Murray ---- - .../vulkan-renderer-internal.h | 17 ++++++++++---- - libweston/renderer-vulkan/vulkan-renderer.c | 22 +++++++++++++++---- - 2 files changed, 31 insertions(+), 8 deletions(-) - -diff --git a/libweston/renderer-vulkan/vulkan-renderer-internal.h b/libweston/renderer-vulkan/vulkan-renderer-internal.h -index aadfc6e4..f8604227 100644 ---- a/libweston/renderer-vulkan/vulkan-renderer-internal.h -+++ b/libweston/renderer-vulkan/vulkan-renderer-internal.h -@@ -35,17 +35,21 @@ - #include - #include - --#include - #include - #include "shared/helpers.h" - #include "libweston/libweston.h" - #include "libweston/libweston-internal.h" --#include - --#define VK_USE_PLATFORM_XCB_KHR -+#if defined(BUILD_WAYLAND_COMPOSITOR) - #define VK_USE_PLATFORM_WAYLAND_KHR - #include -+#endif -+ -+#if defined(BUILD_X11_COMPOSITOR) -+#define VK_USE_PLATFORM_XCB_KHR -+#include - #include -+#endif - - #define MAX_NUM_IMAGES 5 - #define MAX_CONCURRENT_FRAMES 2 -@@ -173,10 +177,15 @@ struct vulkan_renderer { - struct wl_list pipeline_list; - struct dmabuf_allocator *allocator; - -+#if defined(BUILD_WAYLAND_COMPOSITOR) - PFN_vkCreateWaylandSurfaceKHR create_wayland_surface; -- PFN_vkCreateXcbSurfaceKHR create_xcb_surface; - PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR get_wayland_presentation_support; -+#endif -+ -+#if defined(BUILD_X11_COMPOSITOR) -+ PFN_vkCreateXcbSurfaceKHR create_xcb_surface; - PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR get_xcb_presentation_support; -+#endif - - PFN_vkGetImageMemoryRequirements2KHR get_image_memory_requirements2; - PFN_vkGetMemoryFdPropertiesKHR get_memory_fd_properties; -diff --git a/libweston/renderer-vulkan/vulkan-renderer.c b/libweston/renderer-vulkan/vulkan-renderer.c -index 9f701913..b15eff46 100644 ---- a/libweston/renderer-vulkan/vulkan-renderer.c -+++ b/libweston/renderer-vulkan/vulkan-renderer.c -@@ -303,16 +303,20 @@ static const struct vulkan_extension_table vulkan_inst_ext_table[] = { - .name = VK_KHR_SURFACE_EXTENSION_NAME, - .flag = EXTENSION_KHR_SURFACE, - }, -+#if defined(BUILD_WAYLAND_COMPOSITOR) - { - .name = VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME, - .flag = EXTENSION_KHR_WAYLAND_SURFACE, - .instance_dep = EXTENSION_KHR_SURFACE, - }, -+#endif -+#if defined(BUILD_X11_COMPOSITOR) - { - .name = VK_KHR_XCB_SURFACE_EXTENSION_NAME, - .flag = EXTENSION_KHR_XCB_SURFACE, - .instance_dep = EXTENSION_KHR_SURFACE, - }, -+#endif - }; - - /* Keep in sync with vulkan-renderer-internal.h. */ -@@ -3455,9 +3459,12 @@ vulkan_renderer_output_window_create_swapchain(struct weston_output *output, - struct vulkan_renderer *vr = get_renderer(ec); - struct vulkan_output_state *vo = get_output_state(output); - VkResult result; -- VkBool32 supported; -+ VkBool32 supported = 0; - assert(vulkan_instance_has(vr, EXTENSION_KHR_SURFACE)); - -+ vo->swapchain.surface = VK_NULL_HANDLE; -+ -+#if defined(BUILD_WAYLAND_COMPOSITOR) - if (options->wayland_display && options->wayland_surface) { - assert(vulkan_instance_has(vr, EXTENSION_KHR_WAYLAND_SURFACE)); - -@@ -3472,7 +3479,10 @@ vulkan_renderer_output_window_create_swapchain(struct weston_output *output, - result = vr->create_wayland_surface(vr->inst, &wayland_surface_create_info, NULL, - &vo->swapchain.surface); - check_vk_success(result, "vkCreateWaylandSurfaceKHR"); -- } else if (options->xcb_connection && options->xcb_window) { -+ } -+#endif -+#if defined(BUILD_X11_COMPOSITOR) -+ if (options->xcb_connection && options->xcb_window) { - assert(vulkan_instance_has(vr, EXTENSION_KHR_XCB_SURFACE)); - - supported = vr->get_xcb_presentation_support(vr->phys_dev, 0, options->xcb_connection, options->xcb_visualid); -@@ -3486,9 +3496,9 @@ vulkan_renderer_output_window_create_swapchain(struct weston_output *output, - result = vr->create_xcb_surface(vr->inst, &xcb_surface_create_info, NULL, - &vo->swapchain.surface); - check_vk_success(result, "vkCreateXcbSurfaceKHR"); -- } else { -- assert(0); - } -+#endif -+ assert(vo->swapchain.surface != VK_NULL_HANDLE); - - vkGetPhysicalDeviceSurfaceSupportKHR(vr->phys_dev, 0, vo->swapchain.surface, &supported); - assert(supported); -@@ -4190,15 +4200,19 @@ load_instance_proc(struct vulkan_renderer *vr, const char *func, void *proc_ptr) - static void - vulkan_renderer_setup_instance_extensions(struct vulkan_renderer *vr) - { -+#if defined(BUILD_WAYLAND_COMPOSITOR) - if (vulkan_instance_has(vr, EXTENSION_KHR_WAYLAND_SURFACE)) { - load_instance_proc(vr, "vkCreateWaylandSurfaceKHR", &vr->create_wayland_surface); - load_instance_proc(vr, "vkGetPhysicalDeviceWaylandPresentationSupportKHR", &vr->get_wayland_presentation_support); - } -+#endif - -+#if defined(BUILD_X11_COMPOSITOR) - if (vulkan_instance_has(vr, EXTENSION_KHR_XCB_SURFACE)) { - load_instance_proc(vr, "vkCreateXcbSurfaceKHR", &vr->create_xcb_surface); - load_instance_proc(vr, "vkGetPhysicalDeviceXcbPresentationSupportKHR", &vr->get_xcb_presentation_support); - } -+#endif - } - - static void --- -2.51.0 - diff --git a/meta/recipes-graphics/wayland/weston_15.0.0.bb b/meta/recipes-graphics/wayland/weston_15.0.1.bb similarity index 96% rename from meta/recipes-graphics/wayland/weston_15.0.0.bb rename to meta/recipes-graphics/wayland/weston_15.0.1.bb index da347659f1..c4158e7ea3 100644 --- a/meta/recipes-graphics/wayland/weston_15.0.0.bb +++ b/meta/recipes-graphics/wayland/weston_15.0.1.bb @@ -7,15 +7,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d79ee9e66bb0f95d3386a7acae780b70 \ " SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downloads/${BPN}-${PV}.tar.xz \ - file://0001-vulkan-renderer-guard-surface-output-creation-with-b.patch \ - file://0001-gl-shaders-Remove-asserts-relying-on-shader-compiler.patch \ file://weston.png \ file://weston.desktop \ file://xwayland.weston-start \ file://systemd-notify.weston-start \ " -SRC_URI[sha256sum] = "58c6186d29a5d2f0be0dec4882af71cc190a11da803f6ed1bf0b2c74120da973" +SRC_URI[sha256sum] = "551d039bfb0c837ba5a4d027cdb8ee16bded0eedb789821f8025d8a64b791f6d" UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/weston/-/tags" UPSTREAM_CHECK_REGEX = "releases/(?P\d+\.\d+\.(?!9\d+)\d+)"