summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Hochstein <tom.hochstein@nxp.com>2022-01-27 17:59:12 -0600
committerTom Hochstein <tom.hochstein@nxp.com>2022-01-29 16:10:03 -0600
commit20d809ad97104d228672ce15be5ce0abf489bbbe (patch)
treea1b0ba9e0131692c8e408f9860a5322d60c25451
parent9bfbf2b84e1bedb8a2d3aab67493ac2877c86491 (diff)
downloadmeta-freescale-20d809ad97104d228672ce15be5ce0abf489bbbe.tar.gz
weston: Update base portion of recipe
Update the base portion of the i.MX fork recipe to the latest OE-core recipe c8aa0222ce2be647911114aaebcbb0d55d7caf87. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
-rw-r--r--recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch50
-rw-r--r--recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch32
-rw-r--r--recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch2
-rw-r--r--recipes-graphics/wayland/weston/systemd-notify.weston-start9
-rw-r--r--recipes-graphics/wayland/weston/xwayland.weston-start2
-rw-r--r--recipes-graphics/wayland/weston_9.0.0.imx.bb15
6 files changed, 104 insertions, 6 deletions
diff --git a/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch b/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch
new file mode 100644
index 00000000..f8f75894
--- /dev/null
+++ b/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch
@@ -0,0 +1,50 @@
1From c8bfa1f8d576cdc6d515dbbac36c48c6166be0d5 Mon Sep 17 00:00:00 2001
2From: Marius Vlad <marius.vlad@collabora.com>
3Date: Thu, 1 Apr 2021 00:12:00 +0300
4Subject: [PATCH] libweston/backend-drm: Re-order gbm destruction at DRM-backend tear down
5
6Tearing down the drm-backend when there are no input devices, would call
7for the gbm device destruction before compositor shutdown. The latter
8would call into the renderer detroy function and assume that the
9EGLDisplay, which was created using the before-mentioned gbm device, is
10still available. This patch re-orders the gbm destruction after the
11compositor shutdown when no one would make use of it.
12
13Fixes: #314
14
15Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
16Suggested-by: Daniel Stone <daniel.stone@collabora.com>
17
18Upstream-Status: Backport [https://gitlab.freedesktop.org/wayland/weston/-/commit/d171c7b3ba346c4d0bd6494f45ebf0be3c3cc5fb]
19---
20 libweston/backend-drm/drm.c | 8 ++++----
21 1 file changed, 4 insertions(+), 4 deletions(-)
22
23diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c
24index 2780f3b..fbcfeca 100644
25--- a/libweston/backend-drm/drm.c
26+++ b/libweston/backend-drm/drm.c
27@@ -3025,10 +3025,6 @@ err_drm_source:
28 err_udev_input:
29 udev_input_destroy(&b->input);
30 err_sprite:
31-#ifdef BUILD_DRM_GBM
32- if (b->gbm)
33- gbm_device_destroy(b->gbm);
34-#endif
35 destroy_sprites(b);
36 err_udev_dev:
37 udev_device_unref(drm_device);
38@@ -3038,6 +3034,10 @@ err_launcher:
39 weston_launcher_destroy(compositor->launcher);
40 err_compositor:
41 weston_compositor_shutdown(compositor);
42+#ifdef BUILD_DRM_GBM
43+ if (b->gbm)
44+ gbm_device_destroy(b->gbm);
45+#endif
46 free(b);
47 return NULL;
48 }
49--
502.33.0
diff --git a/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch b/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch
new file mode 100644
index 00000000..06e0f7ba
--- /dev/null
+++ b/recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch
@@ -0,0 +1,32 @@
1From a2ba4714a6872e547621d29d9ddcb0f374b88cf6 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Tue, 20 Apr 2021 20:42:18 -0700
4Subject: [PATCH] meson.build: fix incorrect header
5
6The wayland.c actually include 'xdg-shell-client-protocol.h' instead of
7the server one, so fix it. Otherwise, it's possible to get build failure
8due to race condition.
9
10Upstream-Status: Pending
11
12Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
13---
14 libweston/backend-wayland/meson.build | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/libweston/backend-wayland/meson.build b/libweston/backend-wayland/meson.build
18index 7e82513..29270b5 100644
19--- a/libweston/backend-wayland/meson.build
20+++ b/libweston/backend-wayland/meson.build
21@@ -10,7 +10,7 @@ srcs_wlwl = [
22 fullscreen_shell_unstable_v1_protocol_c,
23 presentation_time_protocol_c,
24 presentation_time_server_protocol_h,
25- xdg_shell_server_protocol_h,
26+ xdg_shell_client_protocol_h,
27 xdg_shell_protocol_c,
28 ]
29
30--
312.30.2
32
diff --git a/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch b/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
index 3279a728..f6ebfd8f 100644
--- a/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
+++ b/recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch
@@ -11,7 +11,7 @@ Since starting weston as root is a valid use case by itself, if
11PAM is not available, provide a default version of weston-launch 11PAM is not available, provide a default version of weston-launch
12without non-root-user support. 12without non-root-user support.
13 13
14Upstream-Status: Pending 14Upstream-Status: Denied [https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/725]
15 15
16Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> 16Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
17Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> 17Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
diff --git a/recipes-graphics/wayland/weston/systemd-notify.weston-start b/recipes-graphics/wayland/weston/systemd-notify.weston-start
new file mode 100644
index 00000000..a97e7b38
--- /dev/null
+++ b/recipes-graphics/wayland/weston/systemd-notify.weston-start
@@ -0,0 +1,9 @@
1#!/bin/sh
2
3# SPDX-FileCopyrightText: Huawei Inc.
4# SPDX-License-Identifier: Apache-2.0
5
6
7if [[ -x "/usr/lib/weston/systemd-notify.so" ]]; then
8 add_weston_module "systemd-notify.so"
9fi
diff --git a/recipes-graphics/wayland/weston/xwayland.weston-start b/recipes-graphics/wayland/weston/xwayland.weston-start
index b483c97c..db384b1a 100644
--- a/recipes-graphics/wayland/weston/xwayland.weston-start
+++ b/recipes-graphics/wayland/weston/xwayland.weston-start
@@ -2,6 +2,4 @@
2 2
3if type Xwayland >/dev/null 2>/dev/null; then 3if type Xwayland >/dev/null 2>/dev/null; then
4 mkdir -p /tmp/.X11-unix 4 mkdir -p /tmp/.X11-unix
5
6 add_weston_argument "--modules=xwayland.so"
7fi 5fi
diff --git a/recipes-graphics/wayland/weston_9.0.0.imx.bb b/recipes-graphics/wayland/weston_9.0.0.imx.bb
index 2d66dff4..4b4679e3 100644
--- a/recipes-graphics/wayland/weston_9.0.0.imx.bb
+++ b/recipes-graphics/wayland/weston_9.0.0.imx.bb
@@ -3,7 +3,7 @@
3# recipe. The second section customizes the recipe for i.MX. 3# recipe. The second section customizes the recipe for i.MX.
4 4
5########### OE-core copy ################## 5########### OE-core copy ##################
6# Upstream hash: 0a882490fe75915c7a119f3498df6750be25f8e0 6# Upstream hash: c8aa0222ce2be647911114aaebcbb0d55d7caf87
7 7
8SUMMARY = "Weston, a Wayland compositor" 8SUMMARY = "Weston, a Wayland compositor"
9DESCRIPTION = "Weston is the reference implementation of a Wayland compositor" 9DESCRIPTION = "Weston is the reference implementation of a Wayland compositor"
@@ -16,8 +16,11 @@ SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
16 file://weston.png \ 16 file://weston.png \
17 file://weston.desktop \ 17 file://weston.desktop \
18 file://xwayland.weston-start \ 18 file://xwayland.weston-start \
19 file://systemd-notify.weston-start \
19 file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ 20 file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
20 file://0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch \ 21 file://0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch \
22 file://0001-meson.build-fix-incorrect-header.patch \
23 file://0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch \
21" 24"
22 25
23SRC_URI:append:libc-musl = " file://dont-use-plane-add-prop.patch " 26SRC_URI:append:libc-musl = " file://dont-use-plane-add-prop.patch "
@@ -38,7 +41,7 @@ LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', '-Wl,-z,undefs', '',
38 41
39WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" 42WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
40 43
41EXTRA_OEMESON += "-Dbackend-default=auto -Dbackend-rdp=false -Dpipewire=false" 44EXTRA_OEMESON += "-Dbackend-default=auto -Dpipewire=false"
42 45
43PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl clients', '', d)} \ 46PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl clients', '', d)} \
44 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \ 47 ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 'xwayland', '', d)} \
@@ -64,6 +67,8 @@ PACKAGECONFIG[x11] = "-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libx
64PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false" 67PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
65# Weston on framebuffer 68# Weston on framebuffer
66PACKAGECONFIG[fbdev] = "-Dbackend-fbdev=true,-Dbackend-fbdev=false,udev mtdev" 69PACKAGECONFIG[fbdev] = "-Dbackend-fbdev=true,-Dbackend-fbdev=false,udev mtdev"
70# Weston on RDP
71PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp"
67# weston-launch 72# weston-launch
68PACKAGECONFIG[launch] = "-Dweston-launch=true,-Dweston-launch=false,drm" 73PACKAGECONFIG[launch] = "-Dweston-launch=true,-Dweston-launch=false,drm"
69# VA-API desktop recorder 74# VA-API desktop recorder
@@ -83,7 +88,7 @@ PACKAGECONFIG[colord] = "-Dcolor-management-colord=true,-Dcolor-management-color
83# Clients support 88# Clients support
84PACKAGECONFIG[clients] = "-Dsimple-clients=all -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false" 89PACKAGECONFIG[clients] = "-Dsimple-clients=all -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false"
85# Virtual remote output with GStreamer on DRM backend 90# Virtual remote output with GStreamer on DRM backend
86PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0" 91PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base"
87# Weston with PAM support 92# Weston with PAM support
88PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam" 93PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam"
89# Weston with screen-share support 94# Weston with screen-share support
@@ -114,6 +119,10 @@ do_install:append() {
114 install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland 119 install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland
115 fi 120 fi
116 121
122 if [ "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'yes', 'no', d)}" = "yes" ]; then
123 install -Dm 644 ${WORKDIR}/systemd-notify.weston-start ${D}${datadir}/weston-start/systemd-notify
124 fi
125
117 if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then 126 if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then
118 chmod u+s ${D}${bindir}/weston-launch 127 chmod u+s ${D}${bindir}/weston-launch
119 fi 128 fi