mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-08-08 08:30:47 -09:00
package/weston: bump to 15.0.0
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> Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
committed by
Julien Olivain
parent
c7179b0309
commit
2e6b2b82d5
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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_SCREENSHARE),y)
|
||||
WESTON_CONF_OPTS += -Dscreenshare=true
|
||||
ifeq ($(BR2_PACKAGE_WESTON_SHELL_LUA),y)
|
||||
WESTON_DEPENDENCIES += lua
|
||||
WESTON_CONF_OPTS += -Dshell-lua=true
|
||||
else
|
||||
WESTON_CONF_OPTS += -Dscreenshare=false
|
||||
WESTON_CONF_OPTS += -Dshell-lua=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_WESTON_SCREENSHARE),y)
|
||||
WESTON_CONF_OPTS += -Ddeprecated-screenshare=true
|
||||
else
|
||||
WESTON_CONF_OPTS += -Ddeprecated-screenshare=false
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_WESTON_DEMO_CLIENTS),y)
|
||||
|
||||
Reference in New Issue
Block a user