aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2021-02-23 16:26:14 -0500
committerScott Murray <scott.murray@konsulko.com>2022-03-29 15:23:29 -0400
commit47bf86a3e5d9015f504de4d64942bd17a643b4e6 (patch)
treeba310fc58601e67e98d18ffca2a06500c28a7ab5
parent50afe15c9db1a770428bc32cda413997b7c2b176 (diff)
meta-agl-core: update weston
Update weston bbappend for weston 10.0 in poky master, and remove now upstreamed patches. Bug-AGL: SPEC-3819 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I5d10435ec9b7c18bb36e8a88f6853f1628e5b052
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0001-clients-window-Add-set_app_id-function-change-Waylan.patch85
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0001-gl-renderer-Avoid-double-free-on-init-failure.patch33
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Remove-source-repaint_timer-in-weston_comp.patch34
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch51
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0002-Allow-weston-to-start-from-a-systemd-user-session.patch75
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0005-correctly-tear-down-drm-backend.patch37
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston_10.0.%.bbappend (renamed from meta-agl-core/recipes-graphics/wayland/weston_8.0.%.bbappend)2
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc10
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston_8.0_aglcore.inc24
9 files changed, 11 insertions, 340 deletions
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-clients-window-Add-set_app_id-function-change-Waylan.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-clients-window-Add-set_app_id-function-change-Waylan.patch
deleted file mode 100644
index 9c5ae7dfa..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston/0001-clients-window-Add-set_app_id-function-change-Waylan.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From f090255f242f46e1bad5ef21afea730d93cdcb9e Mon Sep 17 00:00:00 2001
-From: Marius Vlad <marius.vlad@collabora.com>
-Date: Fri, 14 Jan 2022 18:36:14 +0200
-Upstream-status: Submitted
-Subject: [PATCH] clients/window: Add set_app_id function + change Wayland
- Terminal
-
-Without this we can not switch to weston-terminal.
-
-Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
----
- clients/terminal.c | 3 ++-
- clients/window.c | 12 ++++++++++++
- clients/window.h | 3 +++
- 3 files changed, 17 insertions(+), 1 deletion(-)
-
-diff --git a/clients/terminal.c b/clients/terminal.c
-index 66e2bf5..49c88ab 100644
---- a/clients/terminal.c
-+++ b/clients/terminal.c
-@@ -2947,8 +2947,9 @@ terminal_create(struct display *display)
- terminal->margin_bottom = -1;
- terminal->window = window_create(display);
- terminal->widget = window_frame_create(terminal->window, terminal);
-- terminal->title = xstrdup("Wayland Terminal");
-+ terminal->title = xstrdup("weston-terminal");
- window_set_title(terminal->window, terminal->title);
-+ window_set_app_id(terminal->window, terminal->title);
- widget_set_transparent(terminal->widget, 0);
-
- init_state_machine(&terminal->state_machine);
-diff --git a/clients/window.c b/clients/window.c
-index 2bd303e..bfa1756 100644
---- a/clients/window.c
-+++ b/clients/window.c
-@@ -230,6 +230,7 @@ struct window {
- struct display *display;
- struct wl_list window_output_list;
- char *title;
-+ char *app_id;
- struct rectangle saved_allocation;
- struct rectangle min_allocation;
- struct rectangle pending_allocation;
-@@ -1609,6 +1610,7 @@ window_destroy(struct window *window)
- wl_list_remove(&window->link);
-
- free(window->title);
-+ free(window->app_id);
- free(window);
- }
-
-@@ -4812,6 +4814,16 @@ window_set_title(struct window *window, const char *title)
- xdg_toplevel_set_title(window->xdg_toplevel, title);
- }
-
-+void
-+window_set_app_id(struct window *window, const char *app_id)
-+{
-+ free(window->app_id);
-+ window->app_id = strdup(app_id);
-+
-+ if (window->xdg_toplevel)
-+ xdg_toplevel_set_app_id(window->xdg_toplevel, window->app_id);
-+}
-+
- const char *
- window_get_title(struct window *window)
- {
-diff --git a/clients/window.h b/clients/window.h
-index c66dd06..7a1a076 100644
---- a/clients/window.h
-+++ b/clients/window.h
-@@ -500,6 +500,9 @@ window_set_locked_pointer_motion_handler(
- void
- window_set_title(struct window *window, const char *title);
-
-+void
-+window_set_app_id(struct window *window, const char *app_id);
-+
- const char *
- window_get_title(struct window *window);
-
---
-2.33.0
-
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-gl-renderer-Avoid-double-free-on-init-failure.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-gl-renderer-Avoid-double-free-on-init-failure.patch
deleted file mode 100644
index 582a33161..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston/0001-gl-renderer-Avoid-double-free-on-init-failure.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From d76947b6668e0fabe0a4551ac6c2c978f93768cd Mon Sep 17 00:00:00 2001
-From: Daniel Stone <daniels@collabora.com>
-Upstream-Status: Backport
-Date: Mon, 3 Feb 2020 20:01:21 +0000
-Subject: [PATCH] gl-renderer: Avoid double-free on init failure
-
-If gl-renderer fails its initialisation, we return to compositor
-teardown, which will try to free the renderer if ec->renderer was set.
-This is unfortunate when we've already torn it down whilst failing
-gl-renderer init, so just clear the renderer member so we don't try to
-tear down twice.
-
-Signed-off-by: Daniel Stone <daniels@collabora.com>
-Reported-by: Emil Velikov <emil.velikov@collabora.com>
----
- libweston/renderer-gl/gl-renderer.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c
-index a40db3607..79285c008 100644
---- a/libweston/renderer-gl/gl-renderer.c
-+++ b/libweston/renderer-gl/gl-renderer.c
-@@ -3596,6 +3596,7 @@ fail_terminate:
- eglTerminate(gr->egl_display);
- fail:
- free(gr);
-+ ec->renderer = NULL;
- return -1;
- }
-
---
-2.33.0
-
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Remove-source-repaint_timer-in-weston_comp.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Remove-source-repaint_timer-in-weston_comp.patch
deleted file mode 100644
index bdcc249e2..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Remove-source-repaint_timer-in-weston_comp.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From d4b46cdd3cf0b7e9eaa415fc87a4281695f2349c Mon Sep 17 00:00:00 2001
-From: Lujin Wang <luwang@nvidia.com>
-Date: Mon, 12 Aug 2019 12:03:29 -0700
-Subject: [PATCH] libweston: Remove source repaint_timer in
- weston_compositor_shutdown
-
-Fixes a definitely lost:
-== 56 bytes in 1 blocks are definitely lost in loss record 16 of 45
-== at 0x48450F8: malloc (vg_replace_malloc.c:309)
-== by 0x4B55E93: wl_event_loop_add_timer (event-loop.c:197)
-== by 0x4126CF: weston_compositor_create (in /usr/local/bin/weston)
-== by 0x409997: main (in /usr/local/bin/weston)
-
-Signed-off-by: Lujin Wang <luwang@nvidia.com>
-Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
----
- libweston/compositor.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/libweston/compositor.c b/libweston/compositor.c
-index c2da3a48c..90321e860 100644
---- a/libweston/compositor.c
-+++ b/libweston/compositor.c
-@@ -7733,6 +7733,7 @@ weston_compositor_shutdown(struct weston_compositor *ec)
- struct weston_output *output, *next;
-
- wl_event_source_remove(ec->idle_source);
-+ wl_event_source_remove(ec->repaint_timer);
-
- /* Destroy all outputs associated with this compositor */
- wl_list_for_each_safe(output, next, &ec->output_list, link)
---
-GitLab
-
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch
deleted file mode 100644
index e8e324c32..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From d171c7b3ba346c4d0bd6494f45ebf0be3c3cc5fb Mon Sep 17 00:00:00 2001
-From: Marius Vlad <marius.vlad@collabora.com>
-Upstream-Status: Backport
-Date: Thu, 1 Apr 2021 00:12:00 +0300
-Subject: [PATCH] libweston/backend-drm: Re-order gbm destruction at
- DRM-backend tear down
-
-Tearing down the drm-backend when there are no input devices, would call
-for the gbm device destruction before compositor shutdown. The latter
-would call into the renderer detroy function and assume that the
-EGLDisplay, which was created using the before-mentioned gbm device, is
-still available. This patch re-orders the gbm destruction after the
-compositor shutdown when no one would make use of it.
-
-Fixes: #314
-
-Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
-Suggested-by: Daniel Stone <daniel.stone@collabora.com>
----
- libweston/backend-drm/drm.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c
-index c780c1c16..abfcabd3b 100644
---- a/libweston/backend-drm/drm.c
-+++ b/libweston/backend-drm/drm.c
-@@ -3203,10 +3203,6 @@ err_drm_source:
- err_udev_input:
- udev_input_destroy(&b->input);
- err_sprite:
--#ifdef BUILD_DRM_GBM
-- if (b->gbm)
-- gbm_device_destroy(b->gbm);
--#endif
- destroy_sprites(b);
- err_create_crtc_list:
- drmModeFreeResources(res);
-@@ -3218,6 +3214,10 @@ err_launcher:
- weston_launcher_destroy(compositor->launcher);
- err_compositor:
- weston_compositor_shutdown(compositor);
-+#ifdef BUILD_DRM_GBM
-+ if (b->gbm)
-+ gbm_device_destroy(b->gbm);
-+#endif
- free(b);
- return NULL;
- }
---
-2.33.0
-
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0002-Allow-weston-to-start-from-a-systemd-user-session.patch b/meta-agl-core/recipes-graphics/wayland/weston/0002-Allow-weston-to-start-from-a-systemd-user-session.patch
deleted file mode 100644
index d45f93a9b..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston/0002-Allow-weston-to-start-from-a-systemd-user-session.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From b6c891774e23762d6289447ab588bf739a55f628 Mon Sep 17 00:00:00 2001
-From: Derek Foreman <derek.foreman@collabora.com>
-Date: Thu, 15 Jul 2021 12:22:49 -0500
-Subject: [PATCH] launcher-logind: Try the user's primary session if not in a
- session
-
-If we're not in a session we can fall back to sd_uid_get_display() to
-find the user's primary session.
-
-This allows launching weston from an ssh session or as a systemd
-user service if a viable session is available.
-
-It also more closely follows how libseat finds the session. The libseat
-launcher can already do these things, so this change makes these
-features common to both launchers.
-
-Based on a patch by Sjoerd Simons <sjoerd.simons@collabora.com>
-
-Upstream-Status: Accepted (to be released with weston 10.0.0)
-
-Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
----
- libweston/launcher-logind.c | 29 +++++++++++++++++++++++++----
- 1 file changed, 25 insertions(+), 4 deletions(-)
-
-diff --git a/libweston/launcher-logind.c b/libweston/launcher-logind.c
-index 993d8e1a2..3fca1dff6 100644
---- a/libweston/launcher-logind.c
-+++ b/libweston/launcher-logind.c
-@@ -734,6 +734,29 @@ launcher_logind_activate(struct launcher_logind *wl)
- return 0;
- }
-
-+static int
-+launcher_logind_get_session(char **session)
-+{
-+ int r;
-+
-+ r = sd_pid_get_session(getpid(), session);
-+ if (r < 0) {
-+ if (r != -ENODATA) {
-+ weston_log("logind: not running in a systemd session: %d\n", r);
-+ return r;
-+ }
-+ } else {
-+ return r;
-+ }
-+
-+ /* When not inside a systemd session look if there is a suitable one */
-+ r = sd_uid_get_display(getuid(), session);
-+ if (r < 0)
-+ weston_log("logind: cannot find systemd session for uid: %d %d\n", getuid(), r);
-+
-+ return r;
-+}
-+
- static int
- launcher_logind_connect(struct weston_launcher **out, struct weston_compositor *compositor,
- int tty, const char *seat_id, bool sync_drm)
-@@ -759,11 +782,9 @@ launcher_logind_connect(struct weston_launcher **out, struct weston_compositor *
- goto err_wl;
- }
-
-- r = sd_pid_get_session(getpid(), &wl->sid);
-- if (r < 0) {
-- weston_log("logind: not running in a systemd session\n");
-+ r = launcher_logind_get_session(&wl->sid);
-+ if (r < 0)
- goto err_seat;
-- }
-
- t = NULL;
- r = sd_session_get_seat(wl->sid, &t);
---
-GitLab
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0005-correctly-tear-down-drm-backend.patch b/meta-agl-core/recipes-graphics/wayland/weston/0005-correctly-tear-down-drm-backend.patch
deleted file mode 100644
index cb122590b..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston/0005-correctly-tear-down-drm-backend.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-commit 5130a8c21a9deea54e8f7c96a3a5049e2d60a210
-Author: Marius Vlad <marius.vlad@collabora.com>
-Date: Thu Jul 30 14:47:32 2020 +0300
-
-backend-drm: Correctly tear down the DRM backend
-
-It seem that we skipped to put back in TEXT mode the tty, in case a DRM
-device node wasn't present at that time, or it isn't present at all. This
-orders the destroy part correctly as to handle that case as well.
-
-As a side effect, as the tty will still be set to GRAPHICS mode we will
-require a manual change of the tty number, which might be not possible
-on all systems. Properly putting back the tty to TEXT mode should avoid
-that, and allows to re-use the same tty no in case the DRM device has
-been created at a later point in time.
-
-Upstream-Status: Backport
-Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
-diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c
-index 980a12da..1cf61a33 100644
---- a/libweston/backend-drm/drm.c
-+++ b/libweston/backend-drm/drm.c
-@@ -3031,10 +3031,10 @@ err_sprite:
- destroy_sprites(b);
- err_udev_dev:
- udev_device_unref(drm_device);
--err_launcher:
-- weston_launcher_destroy(compositor->launcher);
- err_udev:
- udev_unref(b->udev);
-+err_launcher:
-+ weston_launcher_destroy(compositor->launcher);
- err_compositor:
- weston_compositor_shutdown(compositor);
- free(b);
diff --git a/meta-agl-core/recipes-graphics/wayland/weston_8.0.%.bbappend b/meta-agl-core/recipes-graphics/wayland/weston_10.0.%.bbappend
index f627f5cb2..685894116 100644
--- a/meta-agl-core/recipes-graphics/wayland/weston_8.0.%.bbappend
+++ b/meta-agl-core/recipes-graphics/wayland/weston_10.0.%.bbappend
@@ -1 +1 @@
-require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'weston_8.0_aglcore.inc', '', d)}
+require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'weston_10.0_aglcore.inc', '', d)}
diff --git a/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc b/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc
new file mode 100644
index 000000000..90ccbc8fa
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc
@@ -0,0 +1,10 @@
+FILESEXTRAPATHS:append := ":${THISDIR}/weston"
+
+# Workaround for incorrect upstream definition
+PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base"
+PACKAGECONFIG[headless] = "-Dbackend-headless=true"
+PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'weston-remoting', ' remoting', '', d)}"
+PACKAGECONFIG:append = "${@bb.utils.contains('AGL_FEATURES', 'waltham-remoting', ' remoting', '', d)}"
+
+# seat management is only for waltham-transmitter-plugin
+SRC_URI:append = "${@bb.utils.contains('AGL_FEATURES', 'waltham-remoting', 'file://0001-libweston-Migrate-weston_seat_init-release-to-public.patch', '', d)}"
diff --git a/meta-agl-core/recipes-graphics/wayland/weston_8.0_aglcore.inc b/meta-agl-core/recipes-graphics/wayland/weston_8.0_aglcore.inc
deleted file mode 100644
index c73015024..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston_8.0_aglcore.inc
+++ /dev/null
@@ -1,24 +0,0 @@
-FILESEXTRAPATHS:append := ":${THISDIR}/weston"
-
-SRC_URI:append = "\
- file://0002-Allow-weston-to-start-from-a-systemd-user-session.patch \
- file://0005-correctly-tear-down-drm-backend.patch \
- file://0001-clients-window-Add-set_app_id-function-change-Waylan.patch \
- file://0001-libweston-backend-drm-Re-order-gbm-destruction-at-DR.patch \
- file://0001-gl-renderer-Avoid-double-free-on-init-failure.patch \
- file://0001-libweston-Remove-source-repaint_timer-in-weston_comp.patch \
- file://0001-libweston-desktop-rename-weston_desktop_client_destr.patch \
- file://0002-libweston-desktop-introduce-weston_desktop_client_de.patch \
- file://0003-libweston-desktop-add-weston_desktop_xwayland_fini.patch \
- file://0001-libweston-add-weston_layer_fini.patch \
- "
-
-# Workaround for incorrect upstream definition
-PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base"
-PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base"
-PACKAGECONFIG[headless] = "-Dbackend-headless=true"
-PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'weston-remoting', ' remoting', '', d)}"
-PACKAGECONFIG:append = "${@bb.utils.contains('AGL_FEATURES', 'waltham-remoting', ' remoting', '', d)}"
-
-# seat management is only for waltham-transmitter-plugin
-SRC_URI:append = "${@bb.utils.contains('AGL_FEATURES', 'waltham-remoting', 'file://0001-libweston-Migrate-weston_seat_init-release-to-public.patch', '', d)}"