From: Thomas Devoogdt <thomas@devoogdt.com>
To: buildroot@buildroot.org
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Thomas Devoogdt <thomas.devoogdt@barco.com>
Subject: [Buildroot] [PATCH v1 2/2] package/weston: bump to 15.0.0
Date: Fri, 17 Apr 2026 16:22:44 +0200 [thread overview]
Message-ID: <20260417142244.18803-2-thomas@devoogdt.com> (raw)
In-Reply-To: <20260417142244.18803-1-thomas@devoogdt.com>
From: Thomas Devoogdt <thomas.devoogdt@barco.com>
Announcement:
- 14.0.91: https://lore.freedesktop.org/wayland-devel/aUkQG3KWNC3drDYd@xpredator/T/#u
- 14.0.92: https://lore.freedesktop.org/wayland-devel/aWUJ7MMZmM5yrhSx@xpredator/T/#u
- 14.0.93: https://lore.freedesktop.org/wayland-devel/aW3jJBLBT_UXv1RT@xpredator/T/#u
- 14.0.94: https://lore.freedesktop.org/wayland-devel/aXcyB9n8QaRyFRxw@xpredator/T/#u
- 14.0.95: https://lore.freedesktop.org/wayland-devel/aYHCEa_-Q_v16WNn@xpredator/T/#u
- 14.0.96: https://lore.freedesktop.org/wayland-devel/aY9Vp5A3S-FpQbjC@xpredator/T/#u
- 14.0.97: https://lore.freedesktop.org/wayland-devel/aY9gbvuzD41IaNfo@xpredator/T/#u
- 15.0.0: https://lore.freedesktop.org/wayland-devel/aZbDU-xtVMLhB0wD@xpredator/T/#u
Changes:
- Support for renderer-vulkan, and shell-lua has been added.
- Some features, drm-screencast-vaapi, shell-fullscreen, and screenshare
are now deprecated, but kept for this release.
- 0001-build-Allow-libdisplay-info-0.3.0.patch is dropped as it is upstream.
- 0001-vulkan-renderer-guard-surface-output-creation-with-b.patch has been added
to fix a dependency on <xcb/xcb.h>, which is already upstream.
Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
---
...01-build-Allow-libdisplay-info-0.3.0.patch | 37 -----
...guard-surface-output-creation-with-b.patch | 151 ++++++++++++++++++
package/weston/Config.in | 17 ++
package/weston/weston.hash | 6 +-
package/weston/weston.mk | 28 +++-
5 files changed, 192 insertions(+), 47 deletions(-)
delete mode 100644 package/weston/0001-build-Allow-libdisplay-info-0.3.0.patch
create mode 100644 package/weston/0001-vulkan-renderer-guard-surface-output-creation-with-b.patch
diff --git a/package/weston/0001-build-Allow-libdisplay-info-0.3.0.patch b/package/weston/0001-build-Allow-libdisplay-info-0.3.0.patch
deleted file mode 100644
index d97d1a9bf41..00000000000
--- a/package/weston/0001-build-Allow-libdisplay-info-0.3.0.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 83b49400c1dfb72e3019267fd03f165d0bffec76 Mon Sep 17 00:00:00 2001
-From: Fiona Klute <fiona.klute@gmx.de>
-Date: Mon, 6 Oct 2025 15:20:26 +0200
-Subject: [PATCH] build: Allow libdisplay-info 0.3.0
-
-This is a backport of the change in upstream commit
-683eabb61ec43a270f2e3ed67c63bbe3754b1214 "build: Allow libdisplay-info 0.3.0"
-[1], applying the loosened version limit to the DRM backend only. The dependency
-definition was moved to the top level meson.build in [2], and the lower bound
-increased in [3].
-
-[1] https://gitlab.freedesktop.org/wayland/weston/-/commit/683eabb61ec43a270f2e3ed67c63bbe3754b1214
-[2] https://gitlab.freedesktop.org/wayland/weston/-/commit/76e659f45edd23a8b1b253a93316ec73c709bc71
-[3] https://gitlab.freedesktop.org/wayland/weston/-/commit/82c5b386d860a479ed5a157f4dde58ffe202b948
-
-Upstream: https://gitlab.freedesktop.org/wayland/weston/-/commit/683eabb61ec43a270f2e3ed67c63bbe3754b1214 (backported)
-Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
----
- libweston/backend-drm/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libweston/backend-drm/meson.build b/libweston/backend-drm/meson.build
-index 002669e6..a8f2ea59 100644
---- a/libweston/backend-drm/meson.build
-+++ b/libweston/backend-drm/meson.build
-@@ -4,7 +4,7 @@ endif
-
- dep_libdisplay_info = dependency(
- 'libdisplay-info',
-- version: ['>= 0.1.1', '< 0.3.0'],
-+ version: ['>= 0.1.1', '< 0.4.0'],
- fallback: ['display-info', 'di_dep'],
- default_options: [
- 'werror=false',
---
-2.51.0
-
diff --git a/package/weston/0001-vulkan-renderer-guard-surface-output-creation-with-b.patch b/package/weston/0001-vulkan-renderer-guard-surface-output-creation-with-b.patch
new file mode 100644
index 00000000000..8d887303360
--- /dev/null
+++ b/package/weston/0001-vulkan-renderer-guard-surface-output-creation-with-b.patch
@@ -0,0 +1,151 @@
+From 60e0ec39183f932b7b4ba60070a5b2ac64b42d30 Mon Sep 17 00:00:00 2001
+From: Erico Nunes <nunes.erico@gmail.com>
+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")
+
+Upstream: https://gitlab.freedesktop.org/wayland/weston/-/commit/ba10e6d81462fc8628dd340ba9404e13745eae18
+Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
+Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com>
+---
+ .../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 <stdbool.h>
+ #include <time.h>
+
+-#include <wayland-util.h>
+ #include <vulkan/vulkan.h>
+ #include "shared/helpers.h"
+ #include "libweston/libweston.h"
+ #include "libweston/libweston-internal.h"
+-#include <xcb/xcb.h>
+
+-#define VK_USE_PLATFORM_XCB_KHR
++#if defined(BUILD_WAYLAND_COMPOSITOR)
+ #define VK_USE_PLATFORM_WAYLAND_KHR
+ #include <vulkan/vulkan_wayland.h>
++#endif
++
++#if defined(BUILD_X11_COMPOSITOR)
++#define VK_USE_PLATFORM_XCB_KHR
++#include <xcb/xcb.h>
+ #include <vulkan/vulkan_xcb.h>
++#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.43.0
+
diff --git a/package/weston/Config.in b/package/weston/Config.in
index 614fef6bcc0..774b75d5fbd 100644
--- a/package/weston/Config.in
+++ b/package/weston/Config.in
@@ -144,6 +144,14 @@ comment "XWayland support needs a toolchain w/ threads, dynamic library"
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
+config BR2_PACKAGE_WESTON_VULKAN
+ bool "Vulkan support"
+ depends on BR2_PACKAGE_HAS_LIBGBM
+ select BR2_PACKAGE_VULKAN_LOADER
+
+comment "Vulkan support needs gbm"
+ depends on !BR2_PACKAGE_HAS_LIBGBM
+
# Weston needs at least one shell; this can be one of the bundled ones,
# below, of from a third-party package, which should then select this.
config BR2_PACKAGE_WESTON_HAS_SHELL
@@ -168,6 +176,15 @@ config BR2_PACKAGE_WESTON_SHELL_KIOSK
default y
select BR2_PACKAGE_WESTON_HAS_SHELL
+config BR2_PACKAGE_WESTON_SHELL_LUA
+ bool "lua shell"
+ default y
+ depends on BR2_PACKAGE_LUA_5_4
+ select BR2_PACKAGE_WESTON_HAS_SHELL
+
+comment "lua shell needs a Lua >= 5.4"
+ depends on !BR2_PACKAGE_LUA_5_4
+
config BR2_PACKAGE_WESTON_SCREENSHARE
bool "screenshare"
default y
diff --git a/package/weston/weston.hash b/package/weston/weston.hash
index cd2a82508d4..24f0f08bab4 100644
--- a/package/weston/weston.hash
+++ b/package/weston/weston.hash
@@ -1,4 +1,4 @@
-# From https://lists.freedesktop.org/archives/wayland-devel/2025-April/044158.html
-sha256 b47216b3530da76d02a3a1acbf1846a9cd41d24caa86448f9c46f78f20b6e0ac weston-14.0.2.tar.xz
-sha512 e8214ec893e6c3ae94eb3c92feba104b0201843e9143f726a3e9a4d396d02523c94da706c1348cf934bc339fb1a4bc1fecdb865f0ea914115fd346d9eda091f5 weston-14.0.2.tar.xz
+# From https://lore.freedesktop.org/wayland-devel/aZbDU-xtVMLhB0wD@xpredator/
+sha256 58c6186d29a5d2f0be0dec4882af71cc190a11da803f6ed1bf0b2c74120da973 weston-15.0.0.tar.xz
+sha512 1196db00b473f036ba290e1073729c2b9e29ac061d9687b30dfad14e3b139313d3ca9c8000838e1b9c39713e96a2c544ec05d80bafad0b8ea1d1f380befa250d weston-15.0.0.tar.xz
sha256 fdb65868f65d0fbdb05c2d3b779e10ce9969fa0c4b9262ba4f260e87086ab860 COPYING
diff --git a/package/weston/weston.mk b/package/weston/weston.mk
index 57869b7e63f..e160c89477d 100644
--- a/package/weston/weston.mk
+++ b/package/weston/weston.mk
@@ -4,7 +4,7 @@
#
################################################################################
-WESTON_VERSION = 14.0.2
+WESTON_VERSION = 15.0.0
WESTON_SITE = https://gitlab.freedesktop.org/wayland/weston/-/releases/$(WESTON_VERSION)/downloads
WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz
WESTON_LICENSE = MIT
@@ -70,6 +70,13 @@ WESTON_CONF_OPTS += \
-Dbackend-pipewire=false
endif
+ifeq ($(BR2_PACKAGE_WESTON_VULKAN),y)
+WESTON_CONF_OPTS += -Drenderer-vulkan=true
+WESTON_DEPENDENCIES += host-python-glslang libgbm vulkan-loader
+else
+WESTON_CONF_OPTS += -Drenderer-vulkan=false
+endif
+
WESTON_CONF_OPTS += -Dsimple-clients=$(subst $(space),$(comma),$(strip $(WESTON_SIMPLE_CLIENTS)))
ifeq ($(BR2_PACKAGE_WESTON_RDP),y)
@@ -115,10 +122,10 @@ WESTON_CONF_OPTS += -Dxwayland=false
endif
ifeq ($(BR2_PACKAGE_LIBVA),y)
-WESTON_CONF_OPTS += -Dbackend-drm-screencast-vaapi=true
+WESTON_CONF_OPTS += -Ddeprecated-backend-drm-screencast-vaapi=true
WESTON_DEPENDENCIES += libva
else
-WESTON_CONF_OPTS += -Dbackend-drm-screencast-vaapi=false
+WESTON_CONF_OPTS += -Ddeprecated-backend-drm-screencast-vaapi=false
endif
ifeq ($(BR2_PACKAGE_LCMS2),y)
@@ -149,9 +156,9 @@ WESTON_CONF_OPTS += -Dshell-desktop=false
endif
ifeq ($(BR2_PACKAGE_WESTON_SHELL_FULLSCREEN),y)
-WESTON_CONF_OPTS += -Dshell-fullscreen=true
+WESTON_CONF_OPTS += -Ddeprecated-shell-fullscreen=true
else
-WESTON_CONF_OPTS += -Dshell-fullscreen=false
+WESTON_CONF_OPTS += -Ddeprecated-shell-fullscreen=false
endif
ifeq ($(BR2_PACKAGE_WESTON_SHELL_IVI),y)
@@ -166,10 +173,17 @@ else
WESTON_CONF_OPTS += -Dshell-kiosk=false
endif
+ifeq ($(BR2_PACKAGE_WESTON_SHELL_LUA),y)
+WESTON_DEPENDENCIES += lua
+WESTON_CONF_OPTS += -Dshell-lua=true
+else
+WESTON_CONF_OPTS += -Dshell-lua=false
+endif
+
ifeq ($(BR2_PACKAGE_WESTON_SCREENSHARE),y)
-WESTON_CONF_OPTS += -Dscreenshare=true
+WESTON_CONF_OPTS += -Ddeprecated-screenshare=true
else
-WESTON_CONF_OPTS += -Dscreenshare=false
+WESTON_CONF_OPTS += -Ddeprecated-screenshare=false
endif
ifeq ($(BR2_PACKAGE_WESTON_DEMO_CLIENTS),y)
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2026-04-17 14:22 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-17 14:22 [Buildroot] [PATCH v1 1/2] package/wayland-protocols: bump to 1.48 Thomas Devoogdt
2026-04-17 14:22 ` Thomas Devoogdt [this message]
2026-04-17 16:54 ` Adrian Perez de Castro
2026-04-17 20:55 ` Julien Olivain via buildroot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260417142244.18803-2-thomas@devoogdt.com \
--to=thomas@devoogdt.com \
--cc=buildroot@buildroot.org \
--cc=thomas.devoogdt@barco.com \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox