diff options
Diffstat (limited to 'recipes-graphics/wayland')
-rw-r--r-- | recipes-graphics/wayland/wayland-protocols_1.22.imx.bb (renamed from recipes-graphics/wayland/wayland-protocols_1.20.imx.bb) | 4 | ||||
-rw-r--r-- | recipes-graphics/wayland/weston-init/imx/weston.ini | 3 | ||||
-rw-r--r-- | recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch | 52 | ||||
-rw-r--r-- | recipes-graphics/wayland/weston/0001-meson.build-fix-incorrect-header.patch | 32 | ||||
-rw-r--r-- | recipes-graphics/wayland/weston/0001-weston-launch-Provide-a-default-version-that-doesn-t.patch | 2 | ||||
-rw-r--r-- | recipes-graphics/wayland/weston/systemd-notify.weston-start | 9 | ||||
-rw-r--r-- | recipes-graphics/wayland/weston/xwayland.weston-start | 2 | ||||
-rw-r--r-- | recipes-graphics/wayland/weston_9.0.0.imx.bb | 25 |
8 files changed, 114 insertions, 15 deletions
diff --git a/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb b/recipes-graphics/wayland/wayland-protocols_1.22.imx.bb index 0d1f4726..8cc2f137 100644 --- a/recipes-graphics/wayland/wayland-protocols_1.20.imx.bb +++ b/recipes-graphics/wayland/wayland-protocols_1.22.imx.bb | |||
@@ -9,8 +9,8 @@ LICENSE = "MIT" | |||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \ | 9 | LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \ |
10 | file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53" | 10 | file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53" |
11 | 11 | ||
12 | SRC_URI = "git://source.codeaurora.org/external/imx/wayland-protocols-imx.git;protocol=https;branch=wayland-protocols-imx-1.20" | 12 | SRC_URI = "git://source.codeaurora.org/external/imx/wayland-protocols-imx.git;protocol=https;branch=wayland-protocols-imx-1.22" |
13 | SRCREV = "9cacf108d0ee5863c7a656da5d2271bc2396e43d" | 13 | SRCREV = "0f71ffe59cf4c3f050ff79ea18f96345fcf0061e" |
14 | S = "${WORKDIR}/git" | 14 | S = "${WORKDIR}/git" |
15 | 15 | ||
16 | inherit autotools pkgconfig | 16 | inherit autotools pkgconfig |
diff --git a/recipes-graphics/wayland/weston-init/imx/weston.ini b/recipes-graphics/wayland/weston-init/imx/weston.ini index 916e621a..3e8be42f 100644 --- a/recipes-graphics/wayland/weston-init/imx/weston.ini +++ b/recipes-graphics/wayland/weston-init/imx/weston.ini | |||
@@ -5,6 +5,7 @@ idle-time=0 | |||
5 | #xwayland=true | 5 | #xwayland=true |
6 | #repaint-window=16 | 6 | #repaint-window=16 |
7 | #enable-overlay-view=1 | 7 | #enable-overlay-view=1 |
8 | modules=screen-share.so | ||
8 | 9 | ||
9 | #[shell] | 10 | #[shell] |
10 | #size=1920x1080 | 11 | #size=1920x1080 |
@@ -27,4 +28,4 @@ touchscreen_calibrator=true | |||
27 | #transform=rotate-90 | 28 | #transform=rotate-90 |
28 | 29 | ||
29 | [screen-share] | 30 | [screen-share] |
30 | command=@bindir@/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize | 31 | command=@bindir@/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize --rdp-tls-cert=/etc/freerdp/keys/server.crt --rdp-tls-key=/etc/freerdp/keys/server.key |
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..db640055 --- /dev/null +++ b/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch | |||
@@ -0,0 +1,52 @@ | |||
1 | From 4be82f75a47bd456452ab713d7d57a75d844f42a Mon Sep 17 00:00:00 2001 | ||
2 | From: Marius Vlad <marius.vlad@collabora.com> | ||
3 | Date: Thu, 1 Apr 2021 00:12:00 +0300 | ||
4 | Subject: [PATCH] libweston/backend-drm: Re-order gbm destruction at | ||
5 | DRM-backend tear down | ||
6 | |||
7 | Tearing down the drm-backend when there are no input devices, would call | ||
8 | for the gbm device destruction before compositor shutdown. The latter | ||
9 | would call into the renderer detroy function and assume that the | ||
10 | EGLDisplay, which was created using the before-mentioned gbm device, is | ||
11 | still available. This patch re-orders the gbm destruction after the | ||
12 | compositor shutdown when no one would make use of it. | ||
13 | |||
14 | Fixes: #314 | ||
15 | |||
16 | Signed-off-by: Marius Vlad <marius.vlad@collabora.com> | ||
17 | Suggested-by: Daniel Stone <daniel.stone@collabora.com> | ||
18 | |||
19 | Upstream-Status: Backport [https://gitlab.freedesktop.org/wayland/weston/-/commit/d171c7b3ba346c4d0bd6494f45ebf0be3c3cc5fb] | ||
20 | --- | ||
21 | libweston/backend-drm/drm.c | 8 ++++---- | ||
22 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
23 | |||
24 | diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c | ||
25 | index 9d3b5dcc..67834d3e 100644 | ||
26 | --- a/libweston/backend-drm/drm.c | ||
27 | +++ b/libweston/backend-drm/drm.c | ||
28 | @@ -3402,10 +3402,6 @@ err_drm_source: | ||
29 | wl_event_source_remove(b->drm_source); | ||
30 | err_udev_input: | ||
31 | udev_input_destroy(&b->input); | ||
32 | -#ifdef BUILD_DRM_GBM | ||
33 | - if (b->gbm) | ||
34 | - gbm_device_destroy(b->gbm); | ||
35 | -#endif | ||
36 | destroy_sprites(b); | ||
37 | err_udev_dev: | ||
38 | udev_device_unref(drm_device); | ||
39 | @@ -3415,6 +3411,10 @@ err_launcher: | ||
40 | weston_launcher_destroy(compositor->launcher); | ||
41 | err_compositor: | ||
42 | weston_compositor_shutdown(compositor); | ||
43 | +#ifdef BUILD_DRM_GBM | ||
44 | + if (b->gbm) | ||
45 | + gbm_device_destroy(b->gbm); | ||
46 | +#endif | ||
47 | free(b); | ||
48 | return NULL; | ||
49 | } | ||
50 | -- | ||
51 | 2.17.1 | ||
52 | |||
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 @@ | |||
1 | From a2ba4714a6872e547621d29d9ddcb0f374b88cf6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Tue, 20 Apr 2021 20:42:18 -0700 | ||
4 | Subject: [PATCH] meson.build: fix incorrect header | ||
5 | |||
6 | The wayland.c actually include 'xdg-shell-client-protocol.h' instead of | ||
7 | the server one, so fix it. Otherwise, it's possible to get build failure | ||
8 | due to race condition. | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | |||
12 | Signed-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 | |||
17 | diff --git a/libweston/backend-wayland/meson.build b/libweston/backend-wayland/meson.build | ||
18 | index 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 | -- | ||
31 | 2.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 | |||
11 | PAM is not available, provide a default version of weston-launch | 11 | PAM is not available, provide a default version of weston-launch |
12 | without non-root-user support. | 12 | without non-root-user support. |
13 | 13 | ||
14 | Upstream-Status: Pending | 14 | Upstream-Status: Denied [https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/725] |
15 | 15 | ||
16 | Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> | 16 | Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> |
17 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> | 17 | Signed-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 | |||
7 | if [[ -x "/usr/lib/weston/systemd-notify.so" ]]; then | ||
8 | add_weston_module "systemd-notify.so" | ||
9 | fi | ||
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 | ||
3 | if type Xwayland >/dev/null 2>/dev/null; then | 3 | if 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" | ||
7 | fi | 5 | fi |
diff --git a/recipes-graphics/wayland/weston_9.0.0.imx.bb b/recipes-graphics/wayland/weston_9.0.0.imx.bb index 76296c8e..0ab2c6b2 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 | ||
8 | SUMMARY = "Weston, a Wayland compositor" | 8 | SUMMARY = "Weston, a Wayland compositor" |
9 | DESCRIPTION = "Weston is the reference implementation of a Wayland compositor" | 9 | DESCRIPTION = "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 | ||
23 | SRC_URI:append:libc-musl = " file://dont-use-plane-add-prop.patch " | 26 | SRC_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 | ||
39 | WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" | 42 | WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}" |
40 | 43 | ||
41 | EXTRA_OEMESON += "-Dbackend-default=auto -Dbackend-rdp=false -Dpipewire=false" | 44 | EXTRA_OEMESON += "-Dbackend-default=auto -Dpipewire=false" |
42 | 45 | ||
43 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms fbdev wayland egl clients', '', d)} \ | 46 | PACKAGECONFIG ??= "${@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 | |||
64 | PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false" | 67 | PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false" |
65 | # Weston on framebuffer | 68 | # Weston on framebuffer |
66 | PACKAGECONFIG[fbdev] = "-Dbackend-fbdev=true,-Dbackend-fbdev=false,udev mtdev" | 69 | PACKAGECONFIG[fbdev] = "-Dbackend-fbdev=true,-Dbackend-fbdev=false,udev mtdev" |
70 | # Weston on RDP | ||
71 | PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp" | ||
67 | # weston-launch | 72 | # weston-launch |
68 | PACKAGECONFIG[launch] = "-Dweston-launch=true,-Dweston-launch=false,drm" | 73 | PACKAGECONFIG[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 |
84 | PACKAGECONFIG[clients] = "-Dsimple-clients=all -Ddemo-clients=true,-Dsimple-clients= -Ddemo-clients=false" | 89 | PACKAGECONFIG[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 |
86 | PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0" | 91 | PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base" |
87 | # Weston with PAM support | 92 | # Weston with PAM support |
88 | PACKAGECONFIG[pam] = "-Dpam=true,-Dpam=false,libpam" | 93 | PACKAGECONFIG[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 |
@@ -149,13 +158,11 @@ SUMMARY = "Weston, a Wayland compositor, i.MX fork" | |||
149 | DEFAULT_PREFERENCE = "-1" | 158 | DEFAULT_PREFERENCE = "-1" |
150 | 159 | ||
151 | SRCBRANCH = "weston-imx-9.0" | 160 | SRCBRANCH = "weston-imx-9.0" |
152 | SRC_URI = "git://source.codeaurora.org/external/imx/weston-imx.git;protocol=https;branch=${SRCBRANCH} \ | 161 | SRC_URI:remove = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \ |
153 | file://weston.png \ | 162 | file://0001-tests-include-fcntl.h-for-open-O_RDWR-O_CLOEXEC-and-.patch \ |
154 | file://weston.desktop \ | ||
155 | file://xwayland.weston-start \ | ||
156 | file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \ | ||
157 | " | 163 | " |
158 | SRCREV = "230e9bc3d647e511e0601e3d45034f22495ed3c7" | 164 | SRC_URI:prepend = "git://source.codeaurora.org/external/imx/weston-imx.git;protocol=https;branch=${SRCBRANCH} " |
165 | SRCREV = "26da63a46b926c8301d8c271f6869c893cc35afa" | ||
159 | S = "${WORKDIR}/git" | 166 | S = "${WORKDIR}/git" |
160 | 167 | ||
161 | # Disable OpenGL for parts with GPU support for 2D but not 3D | 168 | # Disable OpenGL for parts with GPU support for 2D but not 3D |