new file mode 100644
@@ -0,0 +1,28 @@
+From 54cd5c3354c618815addd7e1d82fc66247099136 Mon Sep 17 00:00:00 2001
+From: Tom Pollard <tom.pollard@codethink.co.uk>
+Date: Tue, 28 Jul 2026 10:51:27 +0100
+Subject: [PATCH] Allow libdisplay-info 0.4.0
+
+Upstream-Status: Backport [https://gitlab.freedesktop.org/wayland/weston/-/commit/54cd5c3354c618815addd7e1d82fc66247099136]
+
+Signed-off-by: Tom Pollard <tom.pollard@codethink.co.uk>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 03f4d3201f..4814a81592 100644
+--- a/meson.build
++++ b/meson.build
+@@ -180,7 +180,7 @@ endif
+
+ dep_libdisplay_info = dependency(
+ 'libdisplay-info',
+- version: ['>= 0.2.0', '< 0.4.0'],
++ version: ['>= 0.2.0', '< 0.5.0'],
+ fallback: ['display-info', 'di_dep'],
+ default_options: [
+ 'werror=false',
+--
+GitLab
+
similarity index 89%
rename from meta/recipes-graphics/wayland/weston_15.0.1.bb
rename to meta/recipes-graphics/wayland/weston_16.0.0.bb
@@ -11,9 +11,10 @@ SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downlo
file://weston.desktop \
file://xwayland.weston-start \
file://systemd-notify.weston-start \
+ file://Allow-libdisplay-info-0.4.0.patch \
"
-SRC_URI[sha256sum] = "551d039bfb0c837ba5a4d027cdb8ee16bded0eedb789821f8025d8a64b791f6d"
+SRC_URI[sha256sum] = "dfb32e2bccabda957b94a8d0ec6075acd18c71c87ebc543ee3e618d294ca0f7f"
UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/weston/-/tags"
UPSTREAM_CHECK_REGEX = "releases/(?P<pver>\d+\.\d+\.(?!9\d+)\d+)"
@@ -31,16 +32,14 @@ LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', '-Wl,-z,undefs', '',
WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
-EXTRA_OEMESON += "-Dpipewire=false -Dtests=false"
+EXTRA_OEMESON += "-Dbackend-pipewire=false -Dtests=false"
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms wayland egl clients', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'systemd vulkan x11', d)} \
${@bb.utils.contains_any('DISTRO_FEATURES', 'wayland x11', '', 'headless', d)} \
image-jpeg \
- screenshare \
shell-desktop \
- shell-fullscreen \
shell-ivi \
shell-kiosk \
"
@@ -61,8 +60,6 @@ PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libx
PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
# Weston on RDP
PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp,freerdp"
-# VA-API desktop recorder
-PACKAGECONFIG[vaapi] = "-Ddeprecated-backend-drm-screencast-vaapi=true,-Ddeprecated-backend-drm-screencast-vaapi=false,libva"
# Weston with EGL support
PACKAGECONFIG[egl] = "-Drenderer-gl=true,-Drenderer-gl=false,virtual/egl"
# Weston with Vulkan support
@@ -78,13 +75,9 @@ PACKAGECONFIG[xwayland] = "-Dxwayland=true,-Dxwayland=false,libxcb libxcursor xw
# Clients support
PACKAGECONFIG[clients] = "-Dsimple-clients=${SIMPLECLIENTS} -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false"
# Virtual remote output with GStreamer on DRM backend
-PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base"
-# Weston with screen-share support
-PACKAGECONFIG[screenshare] = "-Ddeprecated-screenshare=true,-Ddeprecated-screenshare=false"
+PACKAGECONFIG[remoting] = "-Ddeprecated-remoting=true,-Ddeprecated-remoting=false,gstreamer1.0 gstreamer1.0-plugins-base"
# Traditional desktop shell
PACKAGECONFIG[shell-desktop] = "-Dshell-desktop=true,-Dshell-desktop=false"
-# Fullscreen shell
-PACKAGECONFIG[shell-fullscreen] = "-Ddeprecated-shell-fullscreen=true,-Ddeprecated-shell-fullscreen=false"
# In-Vehicle Infotainment (IVI) shell
PACKAGECONFIG[shell-ivi] = "-Dshell-ivi=true,-Dshell-ivi=false"
# Kiosk shell