From 6cab35d83bda92540ca7b24ef874d871542a37c2 Mon Sep 17 00:00:00 2001 From: Jan-Simon Möller Date: Tue, 5 Nov 2019 12:17:23 +0100 Subject: Declare layer compatibility with zeus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit For the uprev to YP 3.0 zeus we need to update the layer compatibility. Change-Id: Ib762915305588c39400c3c8343152b4ecbfa4556 Signed-off-by: Jan-Simon Möller --- meta-agl-profile-graphical/conf/layer.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'meta-agl-profile-graphical') diff --git a/meta-agl-profile-graphical/conf/layer.conf b/meta-agl-profile-graphical/conf/layer.conf index a857b0c33..bfd8ef647 100644 --- a/meta-agl-profile-graphical/conf/layer.conf +++ b/meta-agl-profile-graphical/conf/layer.conf @@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "aglprofilegraphical" BBFILE_PATTERN_aglprofilegraphical = "^${LAYERDIR}/" BBFILE_PRIORITY_aglprofilegraphical = "70" -LAYERSERIES_COMPAT_aglprofilegraphical = "thud" +LAYERSERIES_COMPAT_aglprofilegraphical = "zeus" -- cgit 1.2.3-korg From 32521fe5ebaf54a7c78a81647cc0e248a4a03087 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Wed, 22 Jan 2020 13:48:13 -0500 Subject: meta-agl-profile-graphical: remove weston 5.0.0 patches Remove weston 5.0.0 patches and associated bbappend since there is no longer a weston 5.0.0 recipe in-tree to apply against. Bug-AGL: SPEC-2932 Change-Id: I033286c4214313b8cb665cdb8e0bf1d388cb696e Signed-off-by: Scott Murray --- ...-rework-goto-labels-to-avoid-memory-leaks.patch | 57 ----- .../weston/0002-ivi-shell-removed-assert.patch | 11 - ...-ivi-shell-introduction-of-IVI_INVALID_ID.patch | 20 -- ...face-added-interface-to-change-surface-id.patch | 73 ------ ...yout-introcuded-configure_desktop_changed.patch | 74 ------ ...t-introcuded-surface_create_and_configure.patch | 117 ---------- ...inked-libweston-desktop-and-added-structs.patch | 74 ------ ...ayout-use-libweston-desktop-api-for-views.patch | 30 --- ...dded-libweston-desktop-api_implementation.patch | 166 -------------- ...ivi-shell-remove-surface_destroy_listener.patch | 24 -- ...l-create-weston-desktop-in_wet_shell_init.patch | 30 --- ...r-register-for-desktop_surface_configured.patch | 133 ----------- ...simple-egl-remove-ivi-application-support.patch | 165 ------------- ...simple-shm-remove-ivi-application-support.patch | 107 --------- ...dow-client-remove-ivi-application-support.patch | 130 ----------- ...mpositor-add-output-type-to-weston_output.patch | 254 --------------------- ...tor-drm-introduce-drm_get_dmafd_from_view.patch | 109 --------- ...-get-stride-from-drm_get_dma_fd_from_view.patch | 59 ----- .../recipes-graphics/wayland/weston_5.0.0.bbappend | 27 --- 19 files changed, 1660 deletions(-) delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0002-ivi-shell-removed-assert.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0003-ivi-shell-introduction-of-IVI_INVALID_ID.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0004-layout-interface-added-interface-to-change-surface-id.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0005-ivi-layout-introcuded-configure_desktop_changed.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0006-ivi-layout-introcuded-surface_create_and_configure.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0007-ivi-shell-linked-libweston-desktop-and-added-structs.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0008-ivi-layout-use-libweston-desktop-api-for-views.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0009-ivi-shell-added-libweston-desktop-api_implementation.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0010-ivi-shell-remove-surface_destroy_listener.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0011-ivi-shell-create-weston-desktop-in_wet_shell_init.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0012-hmi-controller-register-for-desktop_surface_configured.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0013-simple-egl-remove-ivi-application-support.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0014-simple-shm-remove-ivi-application-support.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0015-window-client-remove-ivi-application-support.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0016-compositor-add-output-type-to-weston_output.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0017-compositor-drm-introduce-drm_get_dmafd_from_view.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0018-compositor-drm-get-stride-from-drm_get_dma_fd_from_view.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston_5.0.0.bbappend (limited to 'meta-agl-profile-graphical') diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch deleted file mode 100644 index b1e0b8a59..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch +++ /dev/null @@ -1,57 +0,0 @@ -diff --git a/ivi-shell/ivi-shell.c b/ivi-shell/ivi-shell.c -index 58f53bc5..34cdce27 100644 ---- a/ivi-shell/ivi-shell.c -+++ b/ivi-shell/ivi-shell.c -@@ -484,13 +484,14 @@ wet_shell_init(struct weston_compositor *compositor, - int *argc, char *argv[]) - { - struct ivi_shell *shell; -- int retval = -1; - - shell = zalloc(sizeof *shell); - if (shell == NULL) -- return -1; -+ goto err_shell; - - init_ivi_shell(compositor, shell); -+ /* TODO deinit_ivi_shell should be implemented, since init_ivi_shell is -+ * initializing multiple lists. */ - - shell->destroy_listener.notify = shell_destroy; - wl_signal_add(&compositor->destroy_signal, &shell->destroy_listener); -@@ -499,22 +500,29 @@ wet_shell_init(struct weston_compositor *compositor, - wl_signal_add(&compositor->wake_signal, &shell->wake_listener); - - if (input_panel_setup(shell) < 0) -- goto out; -+ goto err_shell; - - shell->text_backend = text_backend_init(compositor); - if (!shell->text_backend) -- goto out; -+ goto err_shell; - - if (wl_global_create(compositor->wl_display, - &ivi_application_interface, 1, - shell, bind_ivi_application) == NULL) -- goto out; -+ goto err_text_backend; - - ivi_layout_init_with_compositor(compositor); -+ /* TODO ivi_layout_destroy should be implemented, since multiple lists -+ * and signals are initialized.*/ - shell_add_bindings(compositor, shell); - -- retval = 0; -+ return IVI_SUCCEEDED; - --out: -- return retval; -+err_text_backend: -+ text_backend_destroy(shell->text_backend); -+ -+err_shell: -+ free(shell); -+ -+ return IVI_FAILED; - } diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0002-ivi-shell-removed-assert.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0002-ivi-shell-removed-assert.patch deleted file mode 100644 index 4507e769c..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0002-ivi-shell-removed-assert.patch +++ /dev/null @@ -1,11 +0,0 @@ -index e9ddf9a4..f3156d35 100644 ---- a/ivi-shell/ivi-shell.c -+++ b/ivi-shell/ivi-shell.c -@@ -114,7 +114,6 @@ shell_surface_send_configure(struct weston_surface *surface, - struct ivi_shell_surface *shsurf; - - shsurf = get_ivi_shell_surface(surface); -- assert(shsurf); - if (!shsurf) - return; - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0003-ivi-shell-introduction-of-IVI_INVALID_ID.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0003-ivi-shell-introduction-of-IVI_INVALID_ID.patch deleted file mode 100644 index 9f696d8a2..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0003-ivi-shell-introduction-of-IVI_INVALID_ID.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/ivi-shell/ivi-layout-export.h b/ivi-shell/ivi-layout-export.h -index 016d8b5c..02bfb2cb 100644 ---- a/ivi-shell/ivi-layout-export.h -+++ b/ivi-shell/ivi-layout-export.h -@@ -56,6 +56,7 @@ extern "C" { - #endif /* __cplusplus */ - - #include -+#include - - #include "stdbool.h" - #include "compositor.h" -@@ -63,6 +64,7 @@ extern "C" { - - #define IVI_SUCCEEDED (0) - #define IVI_FAILED (-1) -+#define IVI_INVALID_ID UINT_MAX - - struct ivi_layout_layer; - struct ivi_layout_screen; diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0004-layout-interface-added-interface-to-change-surface-id.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0004-layout-interface-added-interface-to-change-surface-id.patch deleted file mode 100644 index 6401c5b81..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0004-layout-interface-added-interface-to-change-surface-id.patch +++ /dev/null @@ -1,73 +0,0 @@ -index e1e897ed..5b1f12f0 100644 ---- a/ivi-shell/ivi-layout-export.h -+++ b/ivi-shell/ivi-layout-export.h -@@ -320,6 +320,12 @@ struct ivi_layout_interface { - struct ivi_layout_surface *ivisurf, - uint32_t duration); - -+ /** -+ * \brief set id of ivi_layout_surface -+ */ -+ int32_t (*surface_set_id)(struct ivi_layout_surface *ivisurf, -+ uint32_t id_surface); -+ - /** - * layer controller interface - */ -diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c -index 298e18ea..fa8e75f6 100644 ---- a/ivi-shell/ivi-layout.c -+++ b/ivi-shell/ivi-layout.c -@@ -1901,6 +1901,44 @@ ivi_layout_surface_set_transition_duration(struct ivi_layout_surface *ivisurf, - return 0; - } - -+/* -+ * This interface enables e.g. an id agent to set the id of an ivi-layout -+ * surface, that has been created by a desktop application. This can only be -+ * done once as long as the initial surface id equals IVI_INVALID_ID. Afterwards -+ * two events are emitted, namely surface_created and surface_configured. -+ */ -+static int32_t -+ivi_layout_surface_set_id(struct ivi_layout_surface *ivisurf, -+ uint32_t id_surface) -+{ -+ struct ivi_layout *layout = get_instance(); -+ struct ivi_layout_surface *search_ivisurf = NULL; -+ -+ if (!ivisurf) { -+ weston_log("%s: invalid argument\n", __func__); -+ return IVI_FAILED; -+ } -+ -+ if (ivisurf->id_surface != IVI_INVALID_ID) { -+ weston_log("surface id can only be set once\n"); -+ return IVI_FAILED; -+ } -+ -+ search_ivisurf = get_surface(&layout->surface_list, id_surface); -+ if (search_ivisurf) { -+ weston_log("id_surface(%d) is already created\n", id_surface); -+ return IVI_FAILED; -+ } -+ -+ ivisurf->id_surface = id_surface; -+ -+ wl_signal_emit(&layout->surface_notification.created, ivisurf); -+ wl_signal_emit(&layout->surface_notification.configure_changed, -+ ivisurf); -+ -+ return IVI_SUCCEEDED; -+} -+ - static int32_t - ivi_layout_surface_set_transition(struct ivi_layout_surface *ivisurf, - enum ivi_layout_transition_type type, -@@ -2058,6 +2096,7 @@ static struct ivi_layout_interface ivi_layout_interface = { - .surface_get_weston_surface = ivi_layout_surface_get_weston_surface, - .surface_set_transition = ivi_layout_surface_set_transition, - .surface_set_transition_duration = ivi_layout_surface_set_transition_duration, -+ .surface_set_id = ivi_layout_surface_set_id, - - /** - * layer controller interfaces diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0005-ivi-layout-introcuded-configure_desktop_changed.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0005-ivi-layout-introcuded-configure_desktop_changed.patch deleted file mode 100644 index ddd949e35..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0005-ivi-layout-introcuded-configure_desktop_changed.patch +++ /dev/null @@ -1,74 +0,0 @@ -index 5b1f12f0..dd0997aa 100644 ---- a/ivi-shell/ivi-layout-export.h -+++ b/ivi-shell/ivi-layout-export.h -@@ -187,6 +187,16 @@ struct ivi_layout_interface { - */ - int32_t (*add_listener_configure_surface)(struct wl_listener *listener); - -+ /** -+ * \brief add a listener for notification when desktop_surface is configured -+ * -+ * When an desktop_surface is configured, a signal is emitted -+ * to the listening controller plugins. -+ * The pointer of the configured desktop_surface is sent as the void *data argument -+ * to the wl_listener::notify callback function of the listener. -+ */ -+ int32_t (*add_listener_configure_desktop_surface)(struct wl_listener *listener); -+ - /** - * \brief Get all ivi_surfaces which are currently registered and managed - * by the services -diff --git a/ivi-shell/ivi-layout-private.h b/ivi-shell/ivi-layout-private.h -index 2b8bd472..fe5be01a 100644 ---- a/ivi-shell/ivi-layout-private.h -+++ b/ivi-shell/ivi-layout-private.h -@@ -104,6 +104,7 @@ struct ivi_layout { - struct wl_signal created; - struct wl_signal removed; - struct wl_signal configure_changed; -+ struct wl_signal configure_desktop_changed; - } surface_notification; - - struct weston_layer layout_layer; -diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c -index fa8e75f6..690af742 100644 ---- a/ivi-shell/ivi-layout.c -+++ b/ivi-shell/ivi-layout.c -@@ -1040,6 +1040,21 @@ ivi_layout_add_listener_configure_surface(struct wl_listener *listener) - return IVI_SUCCEEDED; - } - -+static int32_t -+ivi_layout_add_listener_configure_desktop_surface(struct wl_listener *listener) -+{ -+ struct ivi_layout *layout = get_instance(); -+ -+ if (!listener) { -+ weston_log("ivi_layout_add_listener_configure_desktop_surface: invalid argument\n"); -+ return IVI_FAILED; -+ } -+ -+ wl_signal_add(&layout->surface_notification.configure_desktop_changed, listener); -+ -+ return IVI_SUCCEEDED; -+} -+ - uint32_t - ivi_layout_get_id_of_surface(struct ivi_layout_surface *ivisurf) - { -@@ -2057,6 +2072,7 @@ ivi_layout_init_with_compositor(struct weston_compositor *ec) - wl_signal_init(&layout->surface_notification.created); - wl_signal_init(&layout->surface_notification.removed); - wl_signal_init(&layout->surface_notification.configure_changed); -+ wl_signal_init(&layout->surface_notification.configure_desktop_changed); - - /* Add layout_layer at the last of weston_compositor.layer_list */ - weston_layer_init(&layout->layout_layer, ec); -@@ -2081,6 +2097,7 @@ static struct ivi_layout_interface ivi_layout_interface = { - .add_listener_create_surface = ivi_layout_add_listener_create_surface, - .add_listener_remove_surface = ivi_layout_add_listener_remove_surface, - .add_listener_configure_surface = ivi_layout_add_listener_configure_surface, -+ .add_listener_configure_desktop_surface = ivi_layout_add_listener_configure_desktop_surface, - .get_surface = shell_get_ivi_layout_surface, - .get_surfaces = ivi_layout_get_surfaces, - .get_id_of_surface = ivi_layout_get_id_of_surface, diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0006-ivi-layout-introcuded-surface_create_and_configure.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0006-ivi-layout-introcuded-surface_create_and_configure.patch deleted file mode 100644 index 04461a1d4..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0006-ivi-layout-introcuded-surface_create_and_configure.patch +++ /dev/null @@ -1,117 +0,0 @@ -index 68ca68ba..c86cbb11 100644 ---- a/ivi-shell/ivi-layout-shell.h -+++ b/ivi-shell/ivi-layout-shell.h -@@ -39,6 +39,14 @@ struct weston_view; - struct weston_surface; - struct ivi_layout_surface; - -+void -+ivi_layout_desktop_surface_configure(struct ivi_layout_surface *ivisurf, -+ int32_t width, int32_t height); -+ -+struct ivi_layout_surface* -+ivi_layout_desktop_surface_create(struct weston_surface *wl_surface, -+ uint32_t id_surface); -+ - void - ivi_layout_surface_configure(struct ivi_layout_surface *ivisurf, - int32_t width, int32_t height); -diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c -index 690af742..086d0fd2 100644 ---- a/ivi-shell/ivi-layout.c -+++ b/ivi-shell/ivi-layout.c -@@ -1995,20 +1995,8 @@ ivi_layout_surface_dump(struct weston_surface *surface, - * methods of interaction between ivi-shell with ivi-layout - */ - --void --ivi_layout_surface_configure(struct ivi_layout_surface *ivisurf, -- int32_t width, int32_t height) --{ -- struct ivi_layout *layout = get_instance(); -- -- /* emit callback which is set by ivi-layout api user */ -- wl_signal_emit(&layout->surface_notification.configure_changed, -- ivisurf); --} -- --struct ivi_layout_surface* --ivi_layout_surface_create(struct weston_surface *wl_surface, -- uint32_t id_surface) -+static struct ivi_layout_surface* -+surface_create(struct weston_surface *wl_surface, uint32_t id_surface) - { - struct ivi_layout *layout = get_instance(); - struct ivi_layout_surface *ivisurf = NULL; -@@ -2018,14 +2006,6 @@ ivi_layout_surface_create(struct weston_surface *wl_surface, - return NULL; - } - -- ivisurf = get_surface(&layout->surface_list, id_surface); -- if (ivisurf != NULL) { -- if (ivisurf->surface != NULL) { -- weston_log("id_surface(%d) is already created\n", id_surface); -- return NULL; -- } -- } -- - ivisurf = calloc(1, sizeof *ivisurf); - if (ivisurf == NULL) { - weston_log("fails to allocate memory\n"); -@@ -2049,7 +2029,55 @@ ivi_layout_surface_create(struct weston_surface *wl_surface, - - wl_list_insert(&layout->surface_list, &ivisurf->link); - -- wl_signal_emit(&layout->surface_notification.created, ivisurf); -+ return ivisurf; -+} -+ -+void -+ivi_layout_desktop_surface_configure(struct ivi_layout_surface *ivisurf, -+ int32_t width, int32_t height) -+{ -+ struct ivi_layout *layout = get_instance(); -+ -+ /* emit callback which is set by ivi-layout api user */ -+ wl_signal_emit(&layout->surface_notification.configure_desktop_changed, -+ ivisurf); -+} -+ -+struct ivi_layout_surface* -+ivi_layout_desktop_surface_create(struct weston_surface *wl_surface, -+ uint32_t id_surface) -+{ -+ return surface_create(wl_surface, id_surface); -+} -+ -+void -+ivi_layout_surface_configure(struct ivi_layout_surface *ivisurf, -+ int32_t width, int32_t height) -+{ -+ struct ivi_layout *layout = get_instance(); -+ -+ /* emit callback which is set by ivi-layout api user */ -+ wl_signal_emit(&layout->surface_notification.configure_changed, -+ ivisurf); -+} -+ -+struct ivi_layout_surface* -+ivi_layout_surface_create(struct weston_surface *wl_surface, -+ uint32_t id_surface) -+{ -+ struct ivi_layout *layout = get_instance(); -+ struct ivi_layout_surface *ivisurf = NULL; -+ -+ ivisurf = get_surface(&layout->surface_list, id_surface); -+ if (ivisurf) { -+ weston_log("id_surface(%d) is already created\n", id_surface); -+ return NULL; -+ } -+ -+ ivisurf = surface_create(wl_surface, id_surface); -+ -+ if (ivisurf) -+ wl_signal_emit(&layout->surface_notification.created, ivisurf); - - return ivisurf; - } diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0007-ivi-shell-linked-libweston-desktop-and-added-structs.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0007-ivi-shell-linked-libweston-desktop-and-added-structs.patch deleted file mode 100644 index 9286ba00b..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0007-ivi-shell-linked-libweston-desktop-and-added-structs.patch +++ /dev/null @@ -1,74 +0,0 @@ -diff --git a/Makefile.am b/Makefile.am -index cdf82ab4..d990d400 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -993,6 +993,7 @@ ivi_shell_la_LDFLAGS = -module -avoid-version - ivi_shell_la_LIBADD = \ - libshared.la \ - libweston-@LIBWESTON_MAJOR@.la \ -+ libweston-desktop-@LIBWESTON_MAJOR@.la \ - $(COMPOSITOR_LIBS) - ivi_shell_la_CFLAGS = $(AM_CFLAGS) $(COMPOSITOR_CFLAGS) - ivi_shell_la_SOURCES = \ -diff --git a/ivi-shell/ivi-layout-private.h b/ivi-shell/ivi-layout-private.h -index fe5be01a..c054130b 100644 ---- a/ivi-shell/ivi-layout-private.h -+++ b/ivi-shell/ivi-layout-private.h -@@ -30,6 +30,7 @@ - - #include "compositor.h" - #include "ivi-layout-export.h" -+#include "libweston-desktop/libweston-desktop.h" - - struct ivi_layout_view { - struct wl_list link; /* ivi_layout::view_list */ -@@ -52,6 +53,7 @@ struct ivi_layout_surface { - - struct ivi_layout *layout; - struct weston_surface *surface; -+ struct weston_desktop_surface *weston_desktop_surface; - - struct ivi_layout_surface_properties prop; - -diff --git a/ivi-shell/ivi-shell.c b/ivi-shell/ivi-shell.c -index f3156d35..84db2c97 100644 ---- a/ivi-shell/ivi-shell.c -+++ b/ivi-shell/ivi-shell.c -@@ -44,7 +44,7 @@ - - #include "ivi-shell.h" - #include "ivi-application-server-protocol.h" --#include "ivi-layout-export.h" -+#include "ivi-layout-private.h" - #include "ivi-layout-shell.h" - #include "shared/helpers.h" - #include "compositor/weston.h" -@@ -271,6 +271,8 @@ application_surface_create(struct wl_client *client, - return; - } - -+ layout_surface->weston_desktop_surface = NULL; -+ - ivisurf = zalloc(sizeof *ivisurf); - if (ivisurf == NULL) { - wl_resource_post_no_memory(resource); -diff --git a/ivi-shell/ivi-shell.h b/ivi-shell/ivi-shell.h -index e35f75f2..be430853 100644 ---- a/ivi-shell/ivi-shell.h -+++ b/ivi-shell/ivi-shell.h -@@ -30,6 +30,7 @@ - #include - - #include "compositor.h" -+#include "libweston-desktop/libweston-desktop.h" - - struct ivi_shell - { -@@ -37,6 +38,7 @@ struct ivi_shell - - struct weston_compositor *compositor; - -+ struct weston_desktop *desktop; - struct wl_list ivi_surface_list; /* struct ivi_shell_surface::link */ - - struct text_backend *text_backend; diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0008-ivi-layout-use-libweston-desktop-api-for-views.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0008-ivi-layout-use-libweston-desktop-api-for-views.patch deleted file mode 100644 index e53a8c458..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0008-ivi-layout-use-libweston-desktop-api-for-views.patch +++ /dev/null @@ -1,30 +0,0 @@ -index 086d0fd2..6b854503 100644 ---- a/ivi-shell/ivi-layout.c -+++ b/ivi-shell/ivi-layout.c -@@ -153,7 +153,10 @@ ivi_view_destroy(struct ivi_layout_view *ivi_view) - wl_list_remove(&ivi_view->pending_link); - wl_list_remove(&ivi_view->order_link); - -- weston_view_destroy(ivi_view->view); -+ if (weston_surface_is_desktop_surface(ivi_view->ivisurf->surface)) -+ weston_desktop_surface_unlink_view(ivi_view->view); -+ else -+ weston_view_destroy(ivi_view->view); - - free(ivi_view); - } -@@ -170,7 +173,13 @@ ivi_view_create(struct ivi_layout_layer *ivilayer, - return NULL; - } - -- ivi_view->view = weston_view_create(ivisurf->surface); -+ if (weston_surface_is_desktop_surface(ivisurf->surface)) { -+ ivi_view->view = weston_desktop_surface_create_view( -+ ivisurf->weston_desktop_surface); -+ } else { -+ ivi_view->view = weston_view_create(ivisurf->surface); -+ } -+ - if (ivi_view->view == NULL) { - weston_log("fails to allocate memory\n"); - free(ivi_view); diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0009-ivi-shell-added-libweston-desktop-api_implementation.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0009-ivi-shell-added-libweston-desktop-api_implementation.patch deleted file mode 100644 index 6a72f15d8..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0009-ivi-shell-added-libweston-desktop-api_implementation.patch +++ /dev/null @@ -1,166 +0,0 @@ -index 84db2c97..e797e4f9 100644 ---- a/ivi-shell/ivi-shell.c -+++ b/ivi-shell/ivi-shell.c -@@ -489,6 +489,162 @@ shell_add_bindings(struct weston_compositor *compositor, - shell); - } - -+/* -+ * libweston-desktop -+ */ -+ -+static void -+desktop_surface_ping_timeout(struct weston_desktop_client *client, -+ void *user_data) -+{ -+ weston_log("ivi-shell: desktop_surface_ping_timeout is not supported\n"); -+} -+ -+static void -+desktop_surface_pong(struct weston_desktop_client *client, -+ void *user_data) -+{ -+ weston_log("ivi-shell: desktop_surface_pong is not supported\n"); -+} -+ -+static void -+desktop_surface_added(struct weston_desktop_surface *surface, -+ void *user_data) -+{ -+ struct ivi_shell *shell = (struct ivi_shell *) user_data; -+ struct ivi_layout_surface *layout_surface; -+ struct ivi_shell_surface *ivisurf; -+ struct weston_surface *weston_surf = -+ weston_desktop_surface_get_surface(surface); -+ -+ layout_surface = ivi_layout_desktop_surface_create(weston_surf, -+ IVI_INVALID_ID); -+ if (!layout_surface) { -+ return; -+ } -+ -+ layout_surface->weston_desktop_surface = surface; -+ -+ ivisurf = zalloc(sizeof *ivisurf); -+ if (!ivisurf) { -+ return; -+ } -+ -+ ivisurf->shell = shell; -+ ivisurf->id_surface = IVI_INVALID_ID; -+ -+ ivisurf->width = 0; -+ ivisurf->height = 0; -+ ivisurf->layout_surface = layout_surface; -+ ivisurf->surface = weston_surf; -+ -+ weston_desktop_surface_set_user_data(surface, ivisurf); -+} -+ -+static void -+desktop_surface_removed(struct weston_desktop_surface *surface, -+ void *user_data) -+{ -+ struct ivi_shell_surface *ivisurf = (struct ivi_shell_surface *) -+ weston_desktop_surface_get_user_data(surface); -+ -+ assert(ivisurf != NULL); -+ -+ if (ivisurf->layout_surface) -+ layout_surface_cleanup(ivisurf); -+} -+ -+static void -+desktop_surface_committed(struct weston_desktop_surface *surface, -+ int32_t sx, int32_t sy, void *user_data) -+{ -+ struct ivi_shell_surface *ivisurf = (struct ivi_shell_surface *) -+ weston_desktop_surface_get_user_data(surface); -+ struct weston_surface *weston_surf = -+ weston_desktop_surface_get_surface(surface); -+ -+ if(!ivisurf) -+ return; -+ -+ if (weston_surf->width == 0 || weston_surf->height == 0) -+ return; -+ -+ if (ivisurf->width != weston_surf->width || -+ ivisurf->height != weston_surf->height) { -+ ivisurf->width = weston_surf->width; -+ ivisurf->height = weston_surf->height; -+ -+ ivi_layout_desktop_surface_configure(ivisurf->layout_surface, -+ weston_surf->width, -+ weston_surf->height); -+ } -+} -+ -+static void -+desktop_surface_move(struct weston_desktop_surface *surface, -+ struct weston_seat *seat, uint32_t serial, void *user_data) -+{ -+ weston_log("ivi-shell: desktop_surface_move is not supported\n"); -+} -+ -+static void -+desktop_surface_resize(struct weston_desktop_surface *surface, -+ struct weston_seat *seat, uint32_t serial, -+ enum weston_desktop_surface_edge edges, void *user_data) -+{ -+ weston_log("ivi-shell: desktop_surface_resize is not supported\n"); -+} -+ -+static void -+desktop_surface_fullscreen_requested(struct weston_desktop_surface *surface, -+ bool fullscreen, -+ struct weston_output *output, -+ void *user_data) -+{ -+ weston_log("ivi-shell: desktop_surface_fullscreen_requested is not supported\n"); -+} -+ -+static void -+desktop_surface_maximized_requested(struct weston_desktop_surface *surface, -+ bool maximized, void *user_data) -+{ -+ weston_log("ivi-shell: desktop_surface_maximized_requested is not supported\n"); -+} -+ -+static void -+desktop_surface_minimized_requested(struct weston_desktop_surface *surface, -+ void *user_data) -+{ -+ weston_log("ivi-shell: desktop_surface_minimized_requested is not supported\n"); -+} -+ -+static void -+desktop_surface_set_xwayland_position(struct weston_desktop_surface *surface, -+ int32_t x, int32_t y, void *user_data) -+{ -+ weston_log("ivi-shell: desktop_surface_set_xwayland_position is not supported\n"); -+} -+ -+static const struct weston_desktop_api shell_desktop_api = { -+ .struct_size = sizeof(struct weston_desktop_api), -+ .ping_timeout = desktop_surface_ping_timeout, -+ .pong = desktop_surface_pong, -+ .surface_added = desktop_surface_added, -+ .surface_removed = desktop_surface_removed, -+ .committed = desktop_surface_committed, -+ -+ .move = desktop_surface_move, -+ .resize = desktop_surface_resize, -+ .fullscreen_requested = desktop_surface_fullscreen_requested, -+ .maximized_requested = desktop_surface_maximized_requested, -+ .minimized_requested = desktop_surface_minimized_requested, -+ .set_xwayland_position = desktop_surface_set_xwayland_position, -+}; -+ -+/* -+ * end of libweston-desktop -+ */ -+ - /* - * Initialization of ivi-shell. - */ diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0010-ivi-shell-remove-surface_destroy_listener.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0010-ivi-shell-remove-surface_destroy_listener.patch deleted file mode 100644 index b76c35d4f..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0010-ivi-shell-remove-surface_destroy_listener.patch +++ /dev/null @@ -1,24 +0,0 @@ -index e797e4f9..5f64e72d 100644 ---- a/ivi-shell/ivi-shell.c -+++ b/ivi-shell/ivi-shell.c -@@ -162,6 +162,10 @@ layout_surface_cleanup(struct ivi_shell_surface *ivisurf) - { - assert(ivisurf->layout_surface != NULL); - -+ /* destroy weston_surface destroy signal. */ -+ if (!ivisurf->layout_surface->weston_desktop_surface) -+ wl_list_remove(&ivisurf->surface_destroy_listener.link); -+ - ivi_layout_surface_destroy(ivisurf->layout_surface); - ivisurf->layout_surface = NULL; - -@@ -169,9 +173,6 @@ layout_surface_cleanup(struct ivi_shell_surface *ivisurf) - ivisurf->surface->committed_private = NULL; - weston_surface_set_label_func(ivisurf->surface, NULL); - ivisurf->surface = NULL; -- -- // destroy weston_surface destroy signal. -- wl_list_remove(&ivisurf->surface_destroy_listener.link); - } - - /* diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0011-ivi-shell-create-weston-desktop-in_wet_shell_init.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0011-ivi-shell-create-weston-desktop-in_wet_shell_init.patch deleted file mode 100644 index f6256f782..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0011-ivi-shell-create-weston-desktop-in_wet_shell_init.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/ivi-shell/ivi-shell.c b/ivi-shell/ivi-shell.c -index b0a2a2b9..a889afdb 100644 ---- a/ivi-shell/ivi-shell.c -+++ b/ivi-shell/ivi-shell.c -@@ -664,10 +664,14 @@ wet_shell_init(struct weston_compositor *compositor, - if (!shell->text_backend) - goto err_shell; - -+ shell->desktop = weston_desktop_create(compositor, &shell_desktop_api, shell); -+ if (!shell->desktop) -+ goto err_text_backend; -+ - if (wl_global_create(compositor->wl_display, - &ivi_application_interface, 1, - shell, bind_ivi_application) == NULL) -- goto err_text_backend; -+ goto err_desktop; - - ivi_layout_init_with_compositor(compositor); - /* TODO ivi_layout_destroy should be implemented, since multiple lists -@@ -676,6 +680,9 @@ wet_shell_init(struct weston_compositor *compositor, - - return IVI_SUCCEEDED; - -+err_desktop: -+ weston_desktop_destroy(shell->desktop); -+ - err_text_backend: - text_backend_destroy(shell->text_backend); - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0012-hmi-controller-register-for-desktop_surface_configured.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0012-hmi-controller-register-for-desktop_surface_configured.patch deleted file mode 100644 index 447cff4f8..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0012-hmi-controller-register-for-desktop_surface_configured.patch +++ /dev/null @@ -1,133 +0,0 @@ -diff --git a/ivi-shell/hmi-controller.c b/ivi-shell/hmi-controller.c -index a0e49ba0..340d1915 100644 ---- a/ivi-shell/hmi-controller.c -+++ b/ivi-shell/hmi-controller.c -@@ -129,9 +129,9 @@ struct hmi_controller { - struct weston_compositor *compositor; - struct wl_listener destroy_listener; - -- struct wl_listener surface_created; - struct wl_listener surface_removed; - struct wl_listener surface_configured; -+ struct wl_listener desktop_surface_configured; - - struct wl_client *user_interface; - struct ui_setting ui_setting; -@@ -576,28 +576,6 @@ create_layer(struct weston_output *output, - /** - * Internal set notification - */ --static void --set_notification_create_surface(struct wl_listener *listener, void *data) --{ -- struct hmi_controller *hmi_ctrl = -- wl_container_of(listener, hmi_ctrl, -- surface_created); -- struct ivi_layout_surface *ivisurf = data; -- struct hmi_controller_layer *layer_link = -- wl_container_of(hmi_ctrl->application_layer_list.prev, -- layer_link, -- link); -- struct ivi_layout_layer *application_layer = layer_link->ivilayer; -- int32_t ret = 0; -- -- /* skip ui widgets */ -- if (is_surf_in_ui_widget(hmi_ctrl, ivisurf)) -- return; -- -- ret = hmi_ctrl->interface->layer_add_surface(application_layer, ivisurf); -- assert(!ret); --} -- - static void - set_notification_remove_surface(struct wl_listener *listener, void *data) - { -@@ -665,6 +643,42 @@ set_notification_configure_surface(struct wl_listener *listener, void *data) - switch_mode(hmi_ctrl, hmi_ctrl->layout_mode); - } - -+static void -+set_notification_configure_desktop_surface(struct wl_listener *listener, void *data) -+{ -+ struct hmi_controller *hmi_ctrl = -+ wl_container_of(listener, hmi_ctrl, -+ desktop_surface_configured); -+ struct ivi_layout_surface *ivisurf = data; -+ struct hmi_controller_layer *layer_link = -+ wl_container_of(hmi_ctrl->application_layer_list.prev, -+ layer_link, -+ link); -+ struct ivi_layout_layer *application_layer = layer_link->ivilayer; -+ struct weston_surface *surface; -+ int32_t ret = 0; -+ -+ /* skip ui widgets */ -+ if (is_surf_in_ui_widget(hmi_ctrl, ivisurf)) -+ return; -+ -+ ret = hmi_ctrl->interface->layer_add_surface(application_layer, ivisurf); -+ assert(!ret); -+ -+ /* -+ * if application changes size of wl_buffer. The source rectangle shall be -+ * fit to the size. -+ */ -+ surface = hmi_ctrl->interface->surface_get_weston_surface(ivisurf); -+ if (surface) { -+ hmi_ctrl->interface->surface_set_source_rectangle(ivisurf, 0, -+ 0, surface->width, surface->height); -+ } -+ -+ hmi_ctrl->interface->commit_changes(); -+ switch_mode(hmi_ctrl, hmi_ctrl->layout_mode); -+} -+ - /** - * A hmi_controller used 4 ivi_layers to manage ivi_surfaces. The IDs of - * corresponding ivi_layer are defined in weston.ini. Default scene graph -@@ -868,6 +882,9 @@ hmi_controller_create(struct weston_compositor *ec) - hmi_ctrl->surface_configured.notify = set_notification_configure_surface; - hmi_ctrl->interface->add_listener_configure_surface(&hmi_ctrl->surface_configured); - -+ hmi_ctrl->desktop_surface_configured.notify = set_notification_configure_desktop_surface; -+ hmi_ctrl->interface->add_listener_configure_desktop_surface(&hmi_ctrl->desktop_surface_configured); -+ - hmi_ctrl->destroy_listener.notify = hmi_controller_destroy; - wl_signal_add(&hmi_ctrl->compositor->destroy_signal, - &hmi_ctrl->destroy_listener); -@@ -1289,12 +1306,6 @@ ivi_hmi_controller_UI_ready(struct wl_client *client, - - ivi_hmi_controller_add_launchers(hmi_ctrl, 256); - -- /* Add surface_created listener after the initialization of launchers. -- * Otherwise, surfaces of the launchers will be added to application -- * layer too.*/ -- hmi_ctrl->surface_created.notify = set_notification_create_surface; -- hmi_ctrl->interface->add_listener_create_surface(&hmi_ctrl->surface_created); -- - hmi_ctrl->is_initialized = 1; - } - -diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c -index b06bf309..ef354d49 100644 ---- a/ivi-shell/ivi-layout.c -+++ b/ivi-shell/ivi-layout.c -@@ -715,9 +715,15 @@ commit_surface_list(struct ivi_layout *layout) - ivisurf->pending.prop.transition_type = IVI_LAYOUT_TRANSITION_NONE; - - if (configured && !is_surface_transition(ivisurf)) { -- shell_surface_send_configure(ivisurf->surface, -- ivisurf->prop.dest_width, -- ivisurf->prop.dest_height); -+ if (ivisurf->weston_desktop_surface) { -+ weston_desktop_surface_set_size(ivisurf->weston_desktop_surface, -+ ivisurf->prop.dest_width, -+ ivisurf->prop.dest_height); -+ } else { -+ shell_surface_send_configure(ivisurf->surface, -+ ivisurf->prop.dest_width, -+ ivisurf->prop.dest_height); -+ } - } - } else { - configured = 0; diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0013-simple-egl-remove-ivi-application-support.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0013-simple-egl-remove-ivi-application-support.patch deleted file mode 100644 index 036b14cbc..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0013-simple-egl-remove-ivi-application-support.patch +++ /dev/null @@ -1,165 +0,0 @@ -diff --git a/Makefile.am b/Makefile.am -index 17c053e6..e0d3cb78 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -609,9 +609,7 @@ demo_clients += weston-simple-egl - weston_simple_egl_SOURCES = clients/simple-egl.c - nodist_weston_simple_egl_SOURCES = \ - protocol/xdg-shell-unstable-v6-protocol.c \ -- protocol/xdg-shell-unstable-v6-client-protocol.h \ -- protocol/ivi-application-protocol.c \ -- protocol/ivi-application-client-protocol.h -+ protocol/xdg-shell-unstable-v6-client-protocol.h - weston_simple_egl_CFLAGS = $(AM_CFLAGS) $(SIMPLE_EGL_CLIENT_CFLAGS) - weston_simple_egl_LDADD = $(SIMPLE_EGL_CLIENT_LIBS) -lm - endif -diff --git a/clients/simple-egl.c b/clients/simple-egl.c -index a1e57aef..936e015e 100644 ---- a/clients/simple-egl.c -+++ b/clients/simple-egl.c -@@ -45,8 +45,6 @@ - #include "xdg-shell-unstable-v6-client-protocol.h" - #include - #include --#include "ivi-application-client-protocol.h" --#define IVI_SURFACE_ID 9000 - - #include "shared/helpers.h" - #include "shared/platform.h" -@@ -74,7 +72,6 @@ struct display { - EGLConfig conf; - } egl; - struct window *window; -- struct ivi_application *ivi_application; - - PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC swap_buffers_with_damage; - }; -@@ -97,7 +94,6 @@ struct window { - struct wl_surface *surface; - struct zxdg_surface_v6 *xdg_surface; - struct zxdg_toplevel_v6 *xdg_toplevel; -- struct ivi_surface *ivi_surface; - EGLSurface egl_surface; - struct wl_callback *callback; - int fullscreen, maximized, opaque, buffer_size, frame_sync, delay; -@@ -359,27 +355,22 @@ static const struct zxdg_toplevel_v6_listener xdg_toplevel_listener = { - }; - - static void --handle_ivi_surface_configure(void *data, struct ivi_surface *ivi_surface, -- int32_t width, int32_t height) -+create_surface(struct window *window) - { -- struct window *window = data; -- -- wl_egl_window_resize(window->native, width, height, 0, 0); -- -- window->geometry.width = width; -- window->geometry.height = height; -+ struct display *display = window->display; -+ EGLBoolean ret; - -- if (!window->fullscreen) -- window->window_size = window->geometry; --} -+ window->surface = wl_compositor_create_surface(display->compositor); - --static const struct ivi_surface_listener ivi_surface_listener = { -- handle_ivi_surface_configure, --}; -+ window->native = -+ wl_egl_window_create(window->surface, -+ window->geometry.width, -+ window->geometry.height); -+ window->egl_surface = -+ weston_platform_create_egl_surface(display->egl.dpy, -+ display->egl.conf, -+ window->native, NULL); - --static void --create_xdg_surface(struct window *window, struct display *display) --{ - window->xdg_surface = zxdg_shell_v6_get_xdg_surface(display->shell, - window->surface); - zxdg_surface_v6_add_listener(window->xdg_surface, -@@ -394,50 +385,6 @@ create_xdg_surface(struct window *window, struct display *display) - - window->wait_for_configure = true; - wl_surface_commit(window->surface); --} -- --static void --create_ivi_surface(struct window *window, struct display *display) --{ -- uint32_t id_ivisurf = IVI_SURFACE_ID + (uint32_t)getpid(); -- window->ivi_surface = -- ivi_application_surface_create(display->ivi_application, -- id_ivisurf, window->surface); -- -- if (window->ivi_surface == NULL) { -- fprintf(stderr, "Failed to create ivi_client_surface\n"); -- abort(); -- } -- -- ivi_surface_add_listener(window->ivi_surface, -- &ivi_surface_listener, window); --} -- --static void --create_surface(struct window *window) --{ -- struct display *display = window->display; -- EGLBoolean ret; -- -- window->surface = wl_compositor_create_surface(display->compositor); -- -- window->native = -- wl_egl_window_create(window->surface, -- window->geometry.width, -- window->geometry.height); -- window->egl_surface = -- weston_platform_create_egl_surface(display->egl.dpy, -- display->egl.conf, -- window->native, NULL); -- -- -- if (display->shell) { -- create_xdg_surface(window, display); -- } else if (display->ivi_application ) { -- create_ivi_surface(window, display); -- } else { -- assert(0); -- } - - ret = eglMakeCurrent(window->display->egl.dpy, window->egl_surface, - window->egl_surface, window->display->egl.ctx); -@@ -469,8 +416,6 @@ destroy_surface(struct window *window) - zxdg_toplevel_v6_destroy(window->xdg_toplevel); - if (window->xdg_surface) - zxdg_surface_v6_destroy(window->xdg_surface); -- if (window->display->ivi_application) -- ivi_surface_destroy(window->ivi_surface); - wl_surface_destroy(window->surface); - - if (window->callback) -@@ -825,10 +770,6 @@ registry_handle_global(void *data, struct wl_registry *registry, - fprintf(stderr, "unable to load default left pointer\n"); - // TODO: abort ? - } -- } else if (strcmp(interface, "ivi_application") == 0) { -- d->ivi_application = -- wl_registry_bind(registry, name, -- &ivi_application_interface, 1); - } - } - -@@ -943,9 +884,6 @@ main(int argc, char **argv) - if (display.shell) - zxdg_shell_v6_destroy(display.shell); - -- if (display.ivi_application) -- ivi_application_destroy(display.ivi_application); -- - if (display.compositor) - wl_compositor_destroy(display.compositor); - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0014-simple-shm-remove-ivi-application-support.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0014-simple-shm-remove-ivi-application-support.patch deleted file mode 100644 index 495e50ca2..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0014-simple-shm-remove-ivi-application-support.patch +++ /dev/null @@ -1,107 +0,0 @@ -index f9c8010b..c37cd00b 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -574,9 +574,7 @@ nodist_weston_simple_shm_SOURCES = \ - protocol/xdg-shell-unstable-v6-protocol.c \ - protocol/xdg-shell-unstable-v6-client-protocol.h \ - protocol/fullscreen-shell-unstable-v1-protocol.c \ -- protocol/fullscreen-shell-unstable-v1-client-protocol.h \ -- protocol/ivi-application-protocol.c \ -- protocol/ivi-application-client-protocol.h -+ protocol/fullscreen-shell-unstable-v1-client-protocol.h - weston_simple_shm_CFLAGS = $(AM_CFLAGS) $(SIMPLE_CLIENT_CFLAGS) - weston_simple_shm_LDADD = $(SIMPLE_CLIENT_LIBS) libshared.la - -diff --git a/clients/simple-shm.c b/clients/simple-shm.c -index 9fa2e214..fc2ef001 100644 ---- a/clients/simple-shm.c -+++ b/clients/simple-shm.c -@@ -40,10 +40,6 @@ - #include "xdg-shell-unstable-v6-client-protocol.h" - #include "fullscreen-shell-unstable-v1-client-protocol.h" - --#include --#include "ivi-application-client-protocol.h" --#define IVI_SURFACE_ID 9000 -- - struct display { - struct wl_display *display; - struct wl_registry *registry; -@@ -52,7 +48,6 @@ struct display { - struct zwp_fullscreen_shell_v1 *fshell; - struct wl_shm *shm; - bool has_xrgb; -- struct ivi_application *ivi_application; - }; - - struct buffer { -@@ -67,7 +62,6 @@ struct window { - struct wl_surface *surface; - struct zxdg_surface_v6 *xdg_surface; - struct zxdg_toplevel_v6 *xdg_toplevel; -- struct ivi_surface *ivi_surface; - struct buffer buffers[2]; - struct buffer *prev_buffer; - struct wl_callback *callback; -@@ -165,17 +159,6 @@ static const struct zxdg_toplevel_v6_listener xdg_toplevel_listener = { - handle_xdg_toplevel_close, - }; - --static void --handle_ivi_surface_configure(void *data, struct ivi_surface *ivi_surface, -- int32_t width, int32_t height) --{ -- /* Simple-shm is resizable */ --} -- --static const struct ivi_surface_listener ivi_surface_listener = { -- handle_ivi_surface_configure, --}; -- - static struct window * - create_window(struct display *display, int width, int height) - { -@@ -213,19 +196,6 @@ create_window(struct display *display, int width, int height) - window->surface, - ZWP_FULLSCREEN_SHELL_V1_PRESENT_METHOD_DEFAULT, - NULL); -- } else if (display->ivi_application ) { -- uint32_t id_ivisurf = IVI_SURFACE_ID + (uint32_t)getpid(); -- window->ivi_surface = -- ivi_application_surface_create(display->ivi_application, -- id_ivisurf, window->surface); -- if (window->ivi_surface == NULL) { -- fprintf(stderr, "Failed to create ivi_client_surface\n"); -- abort(); -- } -- -- ivi_surface_add_listener(window->ivi_surface, -- &ivi_surface_listener, window); -- - } else { - assert(0); - } -@@ -407,11 +377,6 @@ registry_handle_global(void *data, struct wl_registry *registry, - id, &wl_shm_interface, 1); - wl_shm_add_listener(d->shm, &shm_listener, d); - } -- else if (strcmp(interface, "ivi_application") == 0) { -- d->ivi_application = -- wl_registry_bind(registry, id, -- &ivi_application_interface, 1); -- } - } - - static void -@@ -555,11 +520,6 @@ main(int argc, char **argv) - - fprintf(stderr, "simple-shm exiting\n"); - -- if (window->display->ivi_application) { -- ivi_surface_destroy(window->ivi_surface); -- ivi_application_destroy(window->display->ivi_application); -- } -- - destroy_window(window); - destroy_display(display); - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0015-window-client-remove-ivi-application-support.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0015-window-client-remove-ivi-application-support.patch deleted file mode 100644 index f3d2fe47f..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0015-window-client-remove-ivi-application-support.patch +++ /dev/null @@ -1,130 +0,0 @@ -index c37cd00b..f30ddbe9 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -665,8 +665,6 @@ nodist_libtoytoolkit_la_SOURCES = \ - protocol/viewporter-client-protocol.h \ - protocol/xdg-shell-unstable-v6-protocol.c \ - protocol/xdg-shell-unstable-v6-client-protocol.h \ -- protocol/ivi-application-protocol.c \ -- protocol/ivi-application-client-protocol.h \ - protocol/pointer-constraints-unstable-v1-protocol.c \ - protocol/pointer-constraints-unstable-v1-client-protocol.h \ - protocol/relative-pointer-unstable-v1-protocol.c \ -diff --git a/clients/window.c b/clients/window.c -index 95796d46..aac43abd 100644 ---- a/clients/window.c -+++ b/clients/window.c -@@ -82,10 +82,6 @@ typedef void *EGLContext; - - #include "window.h" - --#include --#include "ivi-application-client-protocol.h" --#define IVI_SURFACE_ID 9000 -- - #define ZWP_RELATIVE_POINTER_MANAGER_V1_VERSION 1 - #define ZWP_POINTER_CONSTRAINTS_V1_VERSION 1 - -@@ -107,7 +103,6 @@ struct display { - struct wl_data_device_manager *data_device_manager; - struct text_cursor_position *text_cursor_position; - struct zxdg_shell_v6 *xdg_shell; -- struct ivi_application *ivi_application; /* ivi style shell */ - struct zwp_relative_pointer_manager_v1 *relative_pointer_manager; - struct zwp_pointer_constraints_v1 *pointer_constraints; - EGLDisplay dpy; -@@ -269,8 +264,6 @@ struct window { - struct window *parent; - struct window *last_parent; - -- struct ivi_surface *ivi_surface; -- - struct window_frame *frame; - - /* struct surface::link, contains also main_surface */ -@@ -1441,19 +1434,6 @@ window_get_display(struct window *window) - return window->display; - } - --static void --handle_ivi_surface_configure(void *data, struct ivi_surface *ivi_surface, -- int32_t width, int32_t height) --{ -- struct window *window = data; -- -- window_schedule_resize(window, width, height); --} -- --static const struct ivi_surface_listener ivi_surface_listener = { -- handle_ivi_surface_configure, --}; -- - static void - surface_create_surface(struct surface *surface, uint32_t flags) - { -@@ -1604,9 +1584,6 @@ window_destroy(struct window *window) - if (window->xdg_surface) - zxdg_surface_v6_destroy(window->xdg_surface); - -- if (window->ivi_surface) -- ivi_surface_destroy(window->ivi_surface); -- - surface_destroy(window->main_surface); - - wl_list_remove(&window->link); -@@ -5200,7 +5177,7 @@ window_create_internal(struct display *display, int custom) - surface = surface_create(window); - window->main_surface = surface; - -- assert(custom || display->xdg_shell || display->ivi_application); -+ assert(custom || display->xdg_shell); - - window->custom = custom; - window->preferred_format = WINDOW_PREFERRED_FORMAT_NONE; -@@ -5220,7 +5197,6 @@ struct window * - window_create(struct display *display) - { - struct window *window; -- uint32_t id_ivisurf; - - window = window_create_internal(display, 0); - -@@ -5243,16 +5219,6 @@ window_create(struct display *display) - window_inhibit_redraw(window); - - wl_surface_commit(window->main_surface->surface); -- } else if (display->ivi_application) { -- /* auto generation of ivi_id based on process id + basement of id */ -- id_ivisurf = IVI_SURFACE_ID + (uint32_t)getpid(); -- window->ivi_surface = -- ivi_application_surface_create(display->ivi_application, -- id_ivisurf, window->main_surface->surface); -- fail_on_null(window->ivi_surface, 0, __FILE__, __LINE__); -- -- ivi_surface_add_listener(window->ivi_surface, -- &ivi_surface_listener, window); - } - - return window; -@@ -6013,11 +5979,6 @@ registry_handle_global(void *data, struct wl_registry *registry, uint32_t id, - wl_registry_bind(registry, id, - &wl_subcompositor_interface, 1); - } -- else if (strcmp(interface, "ivi_application") == 0) { -- d->ivi_application = -- wl_registry_bind(registry, id, -- &ivi_application_interface, 1); -- } - - if (d->global_handler) - d->global_handler(d, id, interface, version, d->user_data); -@@ -6316,9 +6277,6 @@ display_destroy(struct display *display) - if (display->xdg_shell) - zxdg_shell_v6_destroy(display->xdg_shell); - -- if (display->ivi_application) -- ivi_application_destroy(display->ivi_application); -- - if (display->shm) - wl_shm_destroy(display->shm); - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0016-compositor-add-output-type-to-weston_output.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0016-compositor-add-output-type-to-weston_output.patch deleted file mode 100644 index 6b93b06e8..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0016-compositor-add-output-type-to-weston_output.patch +++ /dev/null @@ -1,254 +0,0 @@ -From 8ea60075d5310101bebedf09c94902e9d41432ac Mon Sep 17 00:00:00 2001 -From: Veeresh Kadasani -Date: Mon, 29 Jul 2019 17:04:12 +0900 -Subject: [PATCH 1/3] compositor: add output type to weston_output - -This enables weston to use multiple types of backend -Each backends have own output structure for each functions -To avoid invalid member access, type identifier is needed - -Signed-off-by: Veeresh Kadasani ---- - libweston/compositor-drm.c | 78 +++++++++++++++++++++++------------------ - libweston/compositor-fbdev.c | 2 +- - libweston/compositor-headless.c | 2 +- - libweston/compositor-rdp.c | 2 +- - libweston/compositor-wayland.c | 2 +- - libweston/compositor-x11.c | 2 +- - libweston/compositor.h | 12 ++++++- - 7 files changed, 60 insertions(+), 40 deletions(-) - -diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c -index 3891176..26a480c 100644 ---- a/libweston/compositor-drm.c -+++ b/libweston/compositor-drm.c -@@ -843,8 +843,9 @@ drm_output_find_by_crtc(struct drm_backend *b, uint32_t crtc_id) - struct drm_output *output; - - wl_list_for_each(output, &b->compositor->output_list, base.link) { -- if (output->crtc_id == crtc_id) -- return output; -+ if(output->base.output_type == OUTPUT_DRM) -+ if (output->crtc_id == crtc_id) -+ return output; - } - - return NULL; -@@ -859,7 +860,8 @@ drm_head_find_by_connector(struct drm_backend *backend, uint32_t connector_id) - wl_list_for_each(base, - &backend->compositor->head_list, compositor_link) { - head = to_drm_head(base); -- if (head->connector_id == connector_id) -+ if(base->output->output_type == OUTPUT_DRM) -+ if (head->connector_id == connector_id) - return head; - } - -@@ -5728,6 +5730,7 @@ drm_output_enable(struct weston_output *base) - drmModeRes *resources; - int ret; - -+ output->base.output_type = OUTPUT_DRM; - resources = drmModeGetResources(b->drm.fd); - if (!resources) { - weston_log("drmModeGetResources failed\n"); -@@ -6188,23 +6191,25 @@ drm_backend_update_heads(struct drm_backend *b, struct udev_device *drm_device) - /* Remove connectors that have disappeared. */ - wl_list_for_each_safe(base, next, - &b->compositor->head_list, compositor_link) { -- bool removed = true; -+ if (base->output->output_type == OUTPUT_DRM) { -+ bool removed = true; - -- head = to_drm_head(base); -+ head = to_drm_head(base); - -- for (i = 0; i < resources->count_connectors; i++) { -- if (resources->connectors[i] == head->connector_id) { -- removed = false; -- break; -- } -- } -+ for (i = 0; i < resources->count_connectors; i++) { -+ if (resources->connectors[i] == head->connector_id) { -+ removed = false; -+ break; -+ } -+ } - -- if (!removed) -- continue; -+ if (!removed) -+ continue; - -- weston_log("DRM: head '%s' (connector %d) disappeared.\n", -- head->base.name, head->connector_id); -- drm_head_destroy(head); -+ weston_log("DRM: head '%s' (connector %d) disappeared.\n", -+ head->base.name, head->connector_id); -+ drm_head_destroy(head); -+ } - } - - drm_backend_update_unused_outputs(b, resources); -@@ -6309,23 +6314,26 @@ session_notify(struct wl_listener *listener, void *data) - * pending frame callbacks. */ - - wl_list_for_each(output, &compositor->output_list, base.link) { -- output->base.repaint_needed = false; -- if (output->cursor_plane) -- drmModeSetCursor(b->drm.fd, output->crtc_id, -- 0, 0, 0); -+ if(output->base.output_type == OUTPUT_DRM) { -+ output->base.repaint_needed = false; -+ if (output->cursor_plane) -+ drmModeSetCursor(b->drm.fd, output->crtc_id, -+ 0, 0, 0); -+ } - } -- -- output = container_of(compositor->output_list.next, -- struct drm_output, base.link); -- -- wl_list_for_each(plane, &b->plane_list, link) { -- if (plane->type != WDRM_PLANE_TYPE_OVERLAY) -- continue; -- -- drmModeSetPlane(b->drm.fd, -- plane->plane_id, -- output->crtc_id, 0, 0, -- 0, 0, 0, 0, 0, 0, 0, 0); -+ if(output->base.output_type == OUTPUT_DRM) { -+ output = container_of(compositor->output_list.next, -+ struct drm_output, base.link); -+ -+ wl_list_for_each(plane, &b->plane_list, link) { -+ if (plane->type != WDRM_PLANE_TYPE_OVERLAY) -+ continue; -+ -+ drmModeSetPlane(b->drm.fd, -+ plane->plane_id, -+ output->crtc_id, 0, 0, -+ 0, 0, 0, 0, 0, 0, 0, 0); -+ } - } - } - } -@@ -6649,7 +6657,8 @@ switch_to_gl_renderer(struct drm_backend *b) - } - - wl_list_for_each(output, &b->compositor->output_list, base.link) -- pixman_renderer_output_destroy(&output->base); -+ if(output->base.output_type == OUTPUT_DRM) -+ pixman_renderer_output_destroy(&output->base); - - b->compositor->renderer->destroy(b->compositor); - -@@ -6661,7 +6670,8 @@ switch_to_gl_renderer(struct drm_backend *b) - } - - wl_list_for_each(output, &b->compositor->output_list, base.link) -- drm_output_init_egl(output, b); -+ if(output->base.output_type == OUTPUT_DRM) -+ drm_output_init_egl(output, b); - - b->use_pixman = 0; - -diff --git a/libweston/compositor-fbdev.c b/libweston/compositor-fbdev.c -index a71b7bd..8edb50b 100644 ---- a/libweston/compositor-fbdev.c -+++ b/libweston/compositor-fbdev.c -@@ -501,7 +501,7 @@ fbdev_output_enable(struct weston_output *base) - struct fbdev_head *head; - int fb_fd; - struct wl_event_loop *loop; -- -+ output->base.output_type = OUTPUT_FBDEV; - head = fbdev_output_get_head(output); - - /* Create the frame buffer. */ -diff --git a/libweston/compositor-headless.c b/libweston/compositor-headless.c -index 61a5bd9..f633cd7 100644 ---- a/libweston/compositor-headless.c -+++ b/libweston/compositor-headless.c -@@ -159,7 +159,7 @@ headless_output_enable(struct weston_output *base) - loop = wl_display_get_event_loop(b->compositor->wl_display); - output->finish_frame_timer = - wl_event_loop_add_timer(loop, finish_frame_handler, output); -- -+ output->base.output_type = OUTPUT_HEADLESS; - if (b->use_pixman) { - output->image_buf = malloc(output->base.current_mode->width * - output->base.current_mode->height * 4); -diff --git a/libweston/compositor-rdp.c b/libweston/compositor-rdp.c -index 134e729..429370c 100644 ---- a/libweston/compositor-rdp.c -+++ b/libweston/compositor-rdp.c -@@ -554,7 +554,7 @@ rdp_output_enable(struct weston_output *base) - struct rdp_output *output = to_rdp_output(base); - struct rdp_backend *b = to_rdp_backend(base->compositor); - struct wl_event_loop *loop; -- -+ output->base.output_type = OUTPUT_RDP; - output->shadow_surface = pixman_image_create_bits(PIXMAN_x8r8g8b8, - output->base.current_mode->width, - output->base.current_mode->height, -diff --git a/libweston/compositor-wayland.c b/libweston/compositor-wayland.c -index e80ecc1..808fc8f 100644 ---- a/libweston/compositor-wayland.c -+++ b/libweston/compositor-wayland.c -@@ -1221,7 +1221,7 @@ wayland_output_enable(struct weston_output *base) - struct wayland_backend *b = to_wayland_backend(base->compositor); - enum mode_status mode_status; - int ret = 0; -- -+ output->base.output_type = OUTPUT_WAYLAND; - weston_log("Creating %dx%d wayland output at (%d, %d)\n", - output->base.current_mode->width, - output->base.current_mode->height, -diff --git a/libweston/compositor-x11.c b/libweston/compositor-x11.c -index 4a9d068..afbaa73 100644 ---- a/libweston/compositor-x11.c -+++ b/libweston/compositor-x11.c -@@ -933,7 +933,7 @@ x11_output_enable(struct weston_output *base) - XCB_EVENT_MASK_STRUCTURE_NOTIFY, - 0 - }; -- -+ output->base.output_type = OUTPUT_X11; - if (!b->no_input) - values[0] |= - XCB_EVENT_MASK_KEY_PRESS | -diff --git a/libweston/compositor.h b/libweston/compositor.h -index 8b7a102..60feda3 100644 ---- a/libweston/compositor.h -+++ b/libweston/compositor.h -@@ -169,6 +169,16 @@ enum dpms_enum { - WESTON_DPMS_OFF - }; - -+/* bit compatible with drm definitions. */ -+enum output_type { -+ OUTPUT_DRM, -+ OUTPUT_FBDEV, -+ OUTPUT_HEADLESS, -+ OUTPUT_RDP, -+ OUTPUT_WAYLAND, -+ OUTPUT_X11, -+ OUTPUT_WALTHAM -+}; - /** Represents a monitor - * - * This object represents a monitor (hardware backends like DRM) or a window -@@ -201,7 +211,7 @@ struct weston_head { - struct weston_output { - uint32_t id; - char *name; -- -+ enum output_type output_type; - /** Matches the lifetime from the user perspective */ - struct wl_signal user_destroy_signal; - --- -2.7.4 - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0017-compositor-drm-introduce-drm_get_dmafd_from_view.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0017-compositor-drm-introduce-drm_get_dmafd_from_view.patch deleted file mode 100644 index 6fb963fb1..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0017-compositor-drm-introduce-drm_get_dmafd_from_view.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 020508b35b2bf6c89d62961eb95e2f81d6381ab5 Mon Sep 17 00:00:00 2001 -From: Veeresh Kadasani -Date: Mon, 29 Jul 2019 17:07:00 +0900 -Subject: [PATCH 2/3] compositor-drm: introduce drm_get_dmafd_from_view - -This API enables to get dmafd from weston_view - -Signed-off-by: Veeresh Kadasani ---- - libweston/compositor-drm.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++ - libweston/compositor-drm.h | 7 ++++++ - 2 files changed, 64 insertions(+) - -diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c -index 26a480c..2b99db5 100644 ---- a/libweston/compositor-drm.c -+++ b/libweston/compositor-drm.c -@@ -5420,6 +5420,62 @@ drm_output_set_seat(struct weston_output *base, - } - - static int -+drm_get_dma_fd_from_view(struct weston_output *base, -+ struct weston_view *ev) -+{ -+ struct drm_backend *b = to_drm_backend(base->compositor); -+ struct weston_buffer *buffer = ev->surface->buffer_ref.buffer; -+ struct gbm_bo *bo; -+ struct drm_fb *current; -+ struct linux_dmabuf_buffer *dmabuf; -+ bool is_opaque = drm_view_is_opaque(ev); -+ uint32_t format; -+ int fd, ret; -+ -+ if(!buffer) { -+ weston_log("buffer is NULL\n"); -+ return -1; -+ } -+ -+ if(dmabuf = linux_dmabuf_buffer_get(buffer->resource)) { -+ current = drm_fb_get_from_dmabuf(dmabuf, b, is_opaque); -+ if (!current) -+ { -+ fprintf(stderr, "failed to get drm_fb from dmabuf\n"); -+ return -1; -+ } -+ } -+ else if(ev->surface->buffer_ref.buffer->legacy_buffer) { -+ bo = gbm_bo_import(b->gbm, GBM_BO_IMPORT_WL_BUFFER, -+ buffer->resource, GBM_BO_USE_SCANOUT); -+ if (!bo) { -+ weston_log("failed to get gbm_bo\n"); -+ return -1; -+ } -+ current = drm_fb_get_from_bo(bo, b, is_opaque, BUFFER_CLIENT); -+ -+ if (!current) { -+ weston_log("failed to get drm_fb from bo\n"); -+ return -1; -+ } -+ -+ } -+ else { -+ weston_log("Buffer is not supported\n"); -+ return -1; -+ } -+ -+ ret = drmPrimeHandleToFD(b->drm.fd, current->handles[0], -+ DRM_CLOEXEC, &fd); -+ free(current); -+ if (ret) { -+ weston_log("failed to create prime fd for front buffer\n"); -+ return -1; -+ } -+ -+ return fd; -+} -+static int - drm_output_init_gamma_size(struct drm_output *output) - { - struct drm_backend *backend = to_drm_backend(output->base.compositor); -@@ -6696,6 +6752,7 @@ static const struct weston_drm_output_api api = { - drm_output_set_mode, - drm_output_set_gbm_format, - drm_output_set_seat, -+ drm_get_dma_fd_from_view, - }; - - static struct drm_backend * -diff --git a/libweston/compositor-drm.h b/libweston/compositor-drm.h -index 9c37c15..a82a2a9 100644 ---- a/libweston/compositor-drm.h -+++ b/libweston/compositor-drm.h -@@ -78,6 +78,13 @@ struct weston_drm_output_api { - */ - void (*set_seat)(struct weston_output *output, - const char *seat); -+ -+ /** Get the dma fd from drm view. -+ * -+ * The dma fd is got from weston_view. -+ * Returns fd on success, -1 on failure. -+ */ -+ int (*get_dma_fd_from_view)(struct weston_output *output, struct weston_view *view); - }; - - static inline const struct weston_drm_output_api * --- -2.7.4 - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0018-compositor-drm-get-stride-from-drm_get_dma_fd_from_view.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0018-compositor-drm-get-stride-from-drm_get_dma_fd_from_view.patch deleted file mode 100644 index e2655d120..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0018-compositor-drm-get-stride-from-drm_get_dma_fd_from_view.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 0dac780379228396a19048544b9e53d5aa407583 Mon Sep 17 00:00:00 2001 -From: Veeresh Kadasani -Date: Mon, 29 Jul 2019 17:08:31 +0900 -Subject: [PATCH 3/3] compositor-drm: get stride from drm_get_dma_fd_from_view - -Modify drm_get_dma_fd_from_view to get buffer stride. - -Signed-off-by: Veeresh Kadasani ---- - libweston/compositor-drm.c | 5 +++-- - libweston/compositor-drm.h | 2 +- - 2 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/libweston/compositor-drm.c b/libweston/compositor-drm.c -index 2b99db5..ec2765f 100644 ---- a/libweston/compositor-drm.c -+++ b/libweston/compositor-drm.c -@@ -5421,7 +5421,7 @@ drm_output_set_seat(struct weston_output *base, - - static int - drm_get_dma_fd_from_view(struct weston_output *base, -- struct weston_view *ev) -+ struct weston_view *ev, int *buf_stride) - { - struct drm_backend *b = to_drm_backend(base->compositor); - struct weston_buffer *buffer = ev->surface->buffer_ref.buffer; -@@ -5444,6 +5444,7 @@ drm_get_dma_fd_from_view(struct weston_output *base, - fprintf(stderr, "failed to get drm_fb from dmabuf\n"); - return -1; - } -+ *buf_stride=current->strides[0]; - } - else if(ev->surface->buffer_ref.buffer->legacy_buffer) { - bo = gbm_bo_import(b->gbm, GBM_BO_IMPORT_WL_BUFFER, -@@ -5458,7 +5459,7 @@ drm_get_dma_fd_from_view(struct weston_output *base, - weston_log("failed to get drm_fb from bo\n"); - return -1; - } -- -+ *buf_stride=current->strides[0]; - } - else { - weston_log("Buffer is not supported\n"); -diff --git a/libweston/compositor-drm.h b/libweston/compositor-drm.h -index a82a2a9..c2461b3 100644 ---- a/libweston/compositor-drm.h -+++ b/libweston/compositor-drm.h -@@ -84,7 +84,7 @@ struct weston_drm_output_api { - * The dma fd is got from weston_view. - * Returns fd on success, -1 on failure. - */ -- int (*get_dma_fd_from_view)(struct weston_output *output, struct weston_view *view); -+ int (*get_dma_fd_from_view)(struct weston_output *output, struct weston_view *view, int *buf_stride); - }; - - static inline const struct weston_drm_output_api * --- -2.7.4 - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston_5.0.0.bbappend b/meta-agl-profile-graphical/recipes-graphics/wayland/weston_5.0.0.bbappend deleted file mode 100644 index 108cca83f..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston_5.0.0.bbappend +++ /dev/null @@ -1,27 +0,0 @@ -FILESEXTRAPATHS_append := ":${THISDIR}/${PN}" - -SRC_URI_append = "\ - file://0001-Allow-regular-users-to-launch-Weston_2.0.0.patch \ - file://0001-ivi-shell-rework-goto-labels-to-avoid-memory-leaks.patch \ - file://0002-ivi-shell-removed-assert.patch \ - file://0003-ivi-shell-introduction-of-IVI_INVALID_ID.patch \ - file://0004-layout-interface-added-interface-to-change-surface-id.patch \ - file://0005-ivi-layout-introcuded-configure_desktop_changed.patch \ - file://0006-ivi-layout-introcuded-surface_create_and_configure.patch \ - file://0007-ivi-shell-linked-libweston-desktop-and-added-structs.patch \ - file://0008-ivi-layout-use-libweston-desktop-api-for-views.patch \ - file://0009-ivi-shell-added-libweston-desktop-api_implementation.patch \ - file://0010-ivi-shell-remove-surface_destroy_listener.patch \ - file://0011-ivi-shell-create-weston-desktop-in_wet_shell_init.patch \ - file://0012-hmi-controller-register-for-desktop_surface_configured.patch \ - file://0013-simple-egl-remove-ivi-application-support.patch \ - file://0014-simple-shm-remove-ivi-application-support.patch \ - file://0015-window-client-remove-ivi-application-support.patch \ - file://use-XDG_RUNTIMESHARE_DIR.patch \ - file://0016-compositor-add-output-type-to-weston_output.patch \ - file://0017-compositor-drm-introduce-drm_get_dmafd_from_view.patch \ - file://0018-compositor-drm-get-stride-from-drm_get_dma_fd_from_view.patch \ - " - - -EXTRA_OECONF_append = " --enable-sys-uid" -- cgit 1.2.3-korg From b18272900ec4ffff9968d7db998841de86abe2a5 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Wed, 22 Jan 2020 16:46:21 -0500 Subject: meta-agl-profile-graphical: upgrade to gstreamer 1.16 Rename gstreamer1.0-plugins-bad bbappend and update PREFERRED_VERSION definitions in distro configuration to handle upgrade to gstreamer 1.16 in oe-core. Bug-AGL: SPEC-2932 Change-Id: Ibc7362e6f45512fcda353a9479e2e437e1ee7f0c Signed-off-by: Scott Murray --- meta-agl-distro/conf/distro/poky-agl.conf | 14 +++++++------- .../gstreamer1.0-plugins-bad_1.14.%.bbappend | 2 -- .../gstreamer1.0-plugins-bad_1.16.%.bbappend | 2 ++ 3 files changed, 9 insertions(+), 9 deletions(-) delete mode 100644 meta-agl-profile-graphical/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_1.14.%.bbappend create mode 100644 meta-agl-profile-graphical/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_1.16.%.bbappend (limited to 'meta-agl-profile-graphical') diff --git a/meta-agl-distro/conf/distro/poky-agl.conf b/meta-agl-distro/conf/distro/poky-agl.conf index 65119a7aa..d9d703d22 100644 --- a/meta-agl-distro/conf/distro/poky-agl.conf +++ b/meta-agl-distro/conf/distro/poky-agl.conf @@ -95,13 +95,13 @@ DISTRO_FEATURES_remove = "x11" DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit pulseaudio" # Prefer GStreamer 1.14.x by default -PREFERRED_VERSION_gstreamer1.0 ?= "1.14.%" -PREFERRED_VERSION_gstreamer1.0-plugins-bad ?= "1.14.%" -PREFERRED_VERSION_gstreamer1.0-plugins-base ?= "1.14.%" -PREFERRED_VERSION_gstreamer1.0-plugins-good ?= "1.14.%" -PREFERRED_VERSION_gstreamer1.0-plugins-ugly ?= "1.14.%" -PREFERRED_VERSION_gstreamer1.0-libav ?= "1.14.%" -PREFERRED_VERSION_gstreamer1.0-omx ?= "1.14.%" +PREFERRED_VERSION_gstreamer1.0 ?= "1.16.%" +PREFERRED_VERSION_gstreamer1.0-plugins-bad ?= "1.16.%" +PREFERRED_VERSION_gstreamer1.0-plugins-base ?= "1.16.%" +PREFERRED_VERSION_gstreamer1.0-plugins-good ?= "1.16.%" +PREFERRED_VERSION_gstreamer1.0-plugins-ugly ?= "1.16.%" +PREFERRED_VERSION_gstreamer1.0-libav ?= "1.16.%" +PREFERRED_VERSION_gstreamer1.0-omx ?= "1.16.%" # Prefer libjpeg-turbo PREFERRED_PROVIDER_jpeg = "libjpeg-turbo" diff --git a/meta-agl-profile-graphical/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_1.14.%.bbappend b/meta-agl-profile-graphical/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_1.14.%.bbappend deleted file mode 100644 index df13a042d..000000000 --- a/meta-agl-profile-graphical/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_1.14.%.bbappend +++ /dev/null @@ -1,2 +0,0 @@ -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -SRC_URI_append="${@bb.utils.contains_any("MACHINE", "m3ulcb h3ulcb m3ulcb-nogfx", " "," file://0001-install-wayland.h.patch", d)}" diff --git a/meta-agl-profile-graphical/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_1.16.%.bbappend b/meta-agl-profile-graphical/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_1.16.%.bbappend new file mode 100644 index 000000000..df13a042d --- /dev/null +++ b/meta-agl-profile-graphical/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_1.16.%.bbappend @@ -0,0 +1,2 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +SRC_URI_append="${@bb.utils.contains_any("MACHINE", "m3ulcb h3ulcb m3ulcb-nogfx", " "," file://0001-install-wayland.h.patch", d)}" -- cgit 1.2.3-korg From a1ff5158b4e59e02533454b5582edf084387ba3d Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Wed, 22 Jan 2020 20:26:42 -0500 Subject: meta-agl-profile-graphical: update wayland-ivi-extension for weston 7.0.0 Tweak one patch to wayland-ivi-extension to handle switching from weston 6 to 7, and add another to handle the location of the plugin-registry.h header file having changed in weston 7. Bug-AGL: SPEC-2932 Change-Id: I6c861c593bbde24d4b18a88f1a42d87ac0450bfd Signed-off-by: Scott Murray --- .../0002-ivi-id-agent-added-ivi-id-agent.patch | 6 +++--- .../0006-fix-plugin-registry-include.patch | 13 +++++++++++++ .../recipes-graphics/wayland/wayland-ivi-extension_git.bb | 1 + 3 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0006-fix-plugin-registry-include.patch (limited to 'meta-agl-profile-graphical') diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0002-ivi-id-agent-added-ivi-id-agent.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0002-ivi-id-agent-added-ivi-id-agent.patch index 7deb01e99..d86e1f22e 100644 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0002-ivi-id-agent-added-ivi-id-agent.patch +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0002-ivi-id-agent-added-ivi-id-agent.patch @@ -73,7 +73,7 @@ index 0000000..7354a7e +pkg_check_modules(WAYLAND_SERVER wayland-server REQUIRED) +pkg_check_modules(WESTON weston>=5.0.0 REQUIRED) +pkg_check_modules(PIXMAN pixman-1 REQUIRED) -+pkg_check_modules(LIBWESTON_DESKTOP libweston-desktop-6 REQUIRED) ++pkg_check_modules(LIBWESTON_DESKTOP libweston-desktop-7 REQUIRED) + +find_package(Threads REQUIRED) + @@ -149,8 +149,8 @@ index 0000000..9bc115d +#include + +#include -+#include -+#include "config-parser.h" ++#include ++#include "libweston/config-parser.h" +#include + +#ifndef INVALID_ID diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0006-fix-plugin-registry-include.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0006-fix-plugin-registry-include.patch new file mode 100644 index 000000000..dddbfd370 --- /dev/null +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0006-fix-plugin-registry-include.patch @@ -0,0 +1,13 @@ +diff --git a/ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c b/ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c +index a0bfc48..257a1dc 100644 +--- a/ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c ++++ b/ivi-input-modules/ivi-input-controller/src/ivi-input-controller.c +@@ -31,7 +31,7 @@ + #include + #include + +-#include "plugin-registry.h" ++#include + #include "ilm_types.h" + + #include "ivi-input-server-protocol.h" diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension_git.bb b/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension_git.bb index 3935929a5..68fc694a8 100644 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension_git.bb +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension_git.bb @@ -12,6 +12,7 @@ SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=http \ file://0002-add-LayerManagerControl-error-status.patch \ file://0004-ivi-ilmcontrol-added-focus-notification.patch \ file://0005-disable-EGLWLMockNavigation-example-build.patch \ + file://0006-fix-plugin-registry-include.patch \ " SRC_URI_append_wandboard = " file://wandboard_fix_build.patch" SRCREV = "736fb654ac81230cf4f9e51a5772d3a02d7639bf" -- cgit 1.2.3-korg From 4bc95c3f87907f918eec3b83c475054a5bdef376 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Mon, 27 Jan 2020 12:36:33 -0500 Subject: meta-agl-profile-graphical: update weston and weston-init Update weston and weston-init bbappends to handle weston 6.0.0 to 7.0.0 upgrade and other upstream changes: - weston 6.0.0 bbappend renamed for weston 7.0.0. - Wildcard weston_%.bbappend removed, as none of its changes are required with the latest upstream recipe. - Update weston patches for 7.0.0. Notable changes are that the patch to allow launching weston as a non-root user has been reworked for the switch to meson for weston builds, and the compositor backend patch for Waltham has been disabled until someone more familiar with the code can update it. - weston-init changes and udev rules updated to work with upstream support for running weston as non-root. The major rework is to simplify things such that all AGL configuration is done as an over-ride to the new upstream weston@.service file. The ability to specify which TTY to run weston on has been removed in favor of upstream's hard-coded tty7 as part of this change, to cut down on the amount of extra configuration required. Bug-AGL: SPEC-2932 Change-Id: I6f8b213bacb2de7526aa1a3c01b1482be78becef Signed-off-by: Scott Murray --- .../classes/agl-graphical.bbclass | 5 +-- .../recipes-graphics/wayland/weston-init.bbappend | 37 +++++++--------- .../wayland/weston-init/weston.conf.in | 17 +++----- .../wayland/weston-init/zz-dri.rules.in | 2 +- .../wayland/weston-init/zz-input.rules | 1 - .../wayland/weston-init/zz-input.rules.in | 1 + .../wayland/weston-init/zz-tty.rules.in | 2 +- ...llow-regular-users-to-launch-Weston_2.0.0.patch | 39 ----------------- ...llow-regular-users-to-launch-Weston_7.0.0.patch | 51 ++++++++++++++++++++++ ...shell-Fix-crash-due-no-transmitter-screen.patch | 2 +- .../recipes-graphics/wayland/weston_%.bbappend | 4 -- .../recipes-graphics/wayland/weston_6.0.0.bbappend | 10 ----- .../recipes-graphics/wayland/weston_7.0.0.bbappend | 14 ++++++ 13 files changed, 94 insertions(+), 91 deletions(-) delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/zz-input.rules create mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/zz-input.rules.in delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-Allow-regular-users-to-launch-Weston_2.0.0.patch create mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-Allow-regular-users-to-launch-Weston_7.0.0.patch delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston_%.bbappend delete mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston_6.0.0.bbappend create mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston_7.0.0.bbappend (limited to 'meta-agl-profile-graphical') diff --git a/meta-agl-profile-graphical/classes/agl-graphical.bbclass b/meta-agl-profile-graphical/classes/agl-graphical.bbclass index e99a441b7..65106db18 100644 --- a/meta-agl-profile-graphical/classes/agl-graphical.bbclass +++ b/meta-agl-profile-graphical/classes/agl-graphical.bbclass @@ -1,7 +1,6 @@ -WESTONTTY ??= "1" WESTONUSER ??= "display" WESTONGROUP ??= "display" -WESTONARGS ?= "--idle-time=0 --tty=${WESTONTTY}" -WESTONLAUNCHARGS ??= "--tty /dev/tty${WESTONTTY} --user ${WESTONUSER}" +WESTONARGS ?= "--idle-time=0 --tty=7" +WESTONLAUNCHARGS ??= "--tty /dev/tty7 --user ${WESTONUSER}" DISPLAY_XDG_RUNTIME_DIR ??= "/run/platform/${WESTONUSER}" diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init.bbappend b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init.bbappend index 247aeeee3..c71402fed 100644 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init.bbappend +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init.bbappend @@ -2,17 +2,14 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" inherit agl-graphical - WESTONSTART ??= "${@bb.utils.contains("DISTRO_FEATURES", "agl-compositor", "/usr/bin/agl-compositor", "/usr/bin/weston",d)} ${WESTONARGS}" WESTONSTART_append = " ${@bb.utils.contains("IMAGE_FEATURES", "debug-tweaks", " --log=${DISPLAY_XDG_RUNTIME_DIR}/weston.log", "",d)}" -DROPIN_NAME = "weston-init" - WIFILES = " \ file://weston.conf.in \ file://tmpfiles.conf.in \ file://zz-dri.rules.in \ - file://zz-input.rules \ + file://zz-input.rules.in \ file://zz-tty.rules.in \ " @@ -23,37 +20,34 @@ WIFILES_append_imx = " \ SRC_URI_append = " ${WIFILES}" do_install_append() { + # Remove upstream weston.ini to avoid conflict with weston-ini-conf package + rm -f ${D}${sysconfdir}/xdg/weston/weston.ini - # files - files=$(echo ${WIFILES} | sed s,file://,,g) + # Remove upstream weston udev rules just to be safe + rm -f ${D}${sysconfdir}/udev/rules.d/71-weston-drm.rules - # process ".in" files + # Process ".in" files + files=$(echo ${WIFILES} | sed s,file://,,g) for f in ${files}; do g=${f%.in} if [ "${f}" != "${g}" ]; then sed -e "s,@WESTONUSER@,${WESTONUSER},g" \ -e "s,@WESTONGROUP@,${WESTONGROUP},g" \ -e "s,@XDG_RUNTIME_DIR@,${DISPLAY_XDG_RUNTIME_DIR},g" \ - -e "s,@WESTONTTY@,${WESTONTTY},g" \ -e "s,@WESTONSTART@,${WESTONSTART},g" \ ${WORKDIR}/${f} > ${WORKDIR}/${g} fi done - # removes any unexpected entry from weston.service - for x in Group User ExecStart PAMName; do - sed -i "/^ *$x *=/d" ${D}${systemd_system_unitdir}/weston.service - done - - # install weston drop-in - install -d ${D}${systemd_system_unitdir}/weston.service.d - install -m644 ${WORKDIR}/weston.conf ${D}/${systemd_system_unitdir}/weston.service.d/${DROPIN_NAME}.conf + # Install weston drop-in + install -d ${D}${systemd_system_unitdir}/weston@.service.d + install -m644 ${WORKDIR}/weston.conf ${D}/${systemd_system_unitdir}/weston@.service.d/weston-init.conf - # install tmpfiles drop-in + # Install tmpfiles drop-in install -d ${D}${libdir}/tmpfiles.d - install -m644 ${WORKDIR}/tmpfiles.conf ${D}${libdir}/tmpfiles.d/${DROPIN_NAME}.conf + install -m644 ${WORKDIR}/tmpfiles.conf ${D}${libdir}/tmpfiles.d/weston-init.conf - # install udev rules + # Install udev rules install -d ${D}${sysconfdir}/udev/rules.d for f in ${files}; do g=${f%.in} @@ -65,8 +59,9 @@ do_install_append() { } FILES_${PN} += " \ - ${libdir}/tmpfiles.d/*.conf \ - ${systemd_system_unitdir}/weston.service.d/${DROPIN_NAME}.conf \ + ${libdir}/tmpfiles.d/ \ + ${systemd_system_unitdir}/weston@.service.d/ \ " +SYSTEMD_AUTO_ENABLE = "enable" diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/weston.conf.in b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/weston.conf.in index 89c436695..211136cc9 100644 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/weston.conf.in +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/weston.conf.in @@ -1,17 +1,14 @@ -[Unit] -Conflicts=getty@tty@WESTONTTY@.service [Service] Type=notify -User=@WESTONUSER@ -Group=@WESTONGROUP@ Environment="XDG_RUNTIME_DIR=@XDG_RUNTIME_DIR@" Environment="XDG_RUNTIMESHARE_DIR=@XDG_RUNTIME_DIR@/share" ExecStartPre=/bin/mkdir -p @XDG_RUNTIME_DIR@/share ExecStartPre=+/usr/bin/chsmack -a User::App-Shared -t @XDG_RUNTIME_DIR@/share +# Note that clearing PAMName (thus not having PAMName=login) disables +# logind support for the session, which allows setting XDG_RUNTIME_DIR +# to something other than /run/user/% (as is done above). +# Without systemd-logind support, weston needs to be patched to allow +# its direct launcher to work for non-root users in this scenario. +PAMName= +ExecStart= ExecStart=@WESTONSTART@ -TTYPath=/dev/tty@WESTONTTY@ -StandardInput=tty -TTYReset=yes -TTYVHangup=yes -TTYVTDisallocate=yes -UtmpIdentifier=tty@WESTONTTY@ diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/zz-dri.rules.in b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/zz-dri.rules.in index 707d12e28..51c68c303 100644 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/zz-dri.rules.in +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/zz-dri.rules.in @@ -1 +1 @@ -SUBSYSTEM=="drm", MODE="0660", GROUP="@WESTONGROUP@", SECLABEL{smack}="*", TAG+="systemd", ENV{SYSTEMD_WANTS}="weston.service" +SUBSYSTEM=="drm", MODE="0660", GROUP="@WESTONGROUP@", SECLABEL{smack}="*", TAG+="systemd", ENV{SYSTEMD_WANTS}="weston@@WESTONUSER@.service" diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/zz-input.rules b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/zz-input.rules deleted file mode 100644 index c0842135a..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/zz-input.rules +++ /dev/null @@ -1 +0,0 @@ -SUBSYSTEM=="input", MODE="0660", GROUP="input", SECLABEL{smack}="*", TAG+="systemd", ENV{SYSTEMD_WANTS}="weston.service" diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/zz-input.rules.in b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/zz-input.rules.in new file mode 100644 index 000000000..fb3e677f4 --- /dev/null +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/zz-input.rules.in @@ -0,0 +1 @@ +SUBSYSTEM=="input", MODE="0660", GROUP="input", SECLABEL{smack}="*", TAG+="systemd", ENV{SYSTEMD_WANTS}="weston@@WESTONUSER@.service" diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/zz-tty.rules.in b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/zz-tty.rules.in index bfdf55b81..e5ce4b553 100644 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/zz-tty.rules.in +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston-init/zz-tty.rules.in @@ -1 +1 @@ -SUBSYSTEM=="tty", KERNEL=="tty@WESTONTTY@", OWNER="@WESTONUSER@", SECLABEL{smack}="*", TAG+="systemd", ENV{SYSTEMD_WANTS}="weston.service" +SUBSYSTEM=="tty", KERNEL=="tty7", OWNER="@WESTONUSER@", SECLABEL{smack}="*", TAG+="systemd", ENV{SYSTEMD_WANTS}="weston@@WESTONUSER@.service" diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-Allow-regular-users-to-launch-Weston_2.0.0.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-Allow-regular-users-to-launch-Weston_2.0.0.patch deleted file mode 100644 index 3a59ba0c8..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-Allow-regular-users-to-launch-Weston_2.0.0.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 6c145cea35f0b77613d6e3f48679c976b9839d7c Mon Sep 17 00:00:00 2001 -From: Ronan Le Martret -Date: Wed, 31 May 2017 22:48:18 +0000 -Subject: [PATCH] Allow regular users to launch Weston - -Signed-off-by: Ronan Le Martret - -diff --git a/configure.ac b/configure.ac -index 50f8e013..2043b9b0 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -156,6 +156,12 @@ PKG_CHECK_MODULES(XKBCOMMON_COMPOSE, [xkbcommon >= 0.5.0], - [AC_DEFINE(HAVE_XKBCOMMON_COMPOSE, 1, - [Define if xkbcommon is 0.5.0 or newer])],true) - -+AC_ARG_ENABLE(sys-uid, [ --enable-sys-uid],, -+ enable_sys_uid=no) -+if test x$enable_sys_uid = xyes; then -+ AC_DEFINE(ENABLE_SYS_UID, [1], [Allow regular users to launch Weston]) -+fi -+ - AC_ARG_ENABLE(setuid-install, [ --enable-setuid-install],, - enable_setuid_install=yes) - AM_CONDITIONAL(ENABLE_SETUID_INSTALL, test x$enable_setuid_install = xyes) -diff --git a/libweston/launcher-direct.c b/libweston/launcher-direct.c -index e0ce6d63..d0db9bb5 100644 ---- a/libweston/launcher-direct.c -+++ b/libweston/launcher-direct.c -@@ -283,8 +283,10 @@ launcher_direct_connect(struct weston_launcher **out, struct weston_compositor * - { - struct launcher_direct *launcher; - -+#ifndef ENABLE_SYS_UID - if (geteuid() != 0) - return -EINVAL; -+#endif - - launcher = zalloc(sizeof(*launcher)); - if (launcher == NULL) diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-Allow-regular-users-to-launch-Weston_7.0.0.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-Allow-regular-users-to-launch-Weston_7.0.0.patch new file mode 100644 index 000000000..362f6b064 --- /dev/null +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-Allow-regular-users-to-launch-Weston_7.0.0.patch @@ -0,0 +1,51 @@ +Allow regular users to launch Weston + +Signed-off-by: Ronan Le Martret +[Reworked for Weston 7.0.0 switch to meson] +Signed-off-by: Scott Murray + +diff --git a/libweston/launcher-direct.c b/libweston/launcher-direct.c +index 9fa329b6..8e218804 100644 +--- a/libweston/launcher-direct.c ++++ b/libweston/launcher-direct.c +@@ -291,8 +291,10 @@ launcher_direct_connect(struct weston_launcher **out, struct weston_compositor * + { + struct launcher_direct *launcher; + ++#ifndef ENABLE_USER_START + if (geteuid() != 0) + return -EINVAL; ++#endif + + launcher = zalloc(sizeof(*launcher)); + if (launcher == NULL) +diff --git a/libweston/meson.build b/libweston/meson.build +index d8d3fc07..0d39ebf1 100644 +--- a/libweston/meson.build ++++ b/libweston/meson.build +@@ -216,6 +216,10 @@ if get_option('weston-launch') + meson.add_install_script('echo', 'REMINDER: You are installing weston-launch, please make it setuid-root.') + endif + ++if get_option('enable-user-start') ++ config_h.set('ENABLE_USER_START', '1') ++endif ++ + subdir('renderer-gl') + subdir('backend-drm') + subdir('backend-fbdev') +diff --git a/meson_options.txt b/meson_options.txt +index d5bf1d54..c93f31d1 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -217,3 +217,10 @@ option( + value: false, + description: 'Generate documentation' + ) ++ ++option( ++ 'enable-user-start', ++ type: 'boolean', ++ value: true, ++ description: 'Tests: enable start as non-root user' ++) diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0002-ivi-shell-Fix-crash-due-no-transmitter-screen.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0002-ivi-shell-Fix-crash-due-no-transmitter-screen.patch index 51779cf45..05ce7de30 100644 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0002-ivi-shell-Fix-crash-due-no-transmitter-screen.patch +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0002-ivi-shell-Fix-crash-due-no-transmitter-screen.patch @@ -40,7 +40,7 @@ index 2c450f3..1fbfeeb 100644 #include "ivi-layout-private.h" #include "ivi-layout-shell.h" - -+#include "plugin-registry.h" ++#include #include "shared/helpers.h" #include "shared/os-compatibility.h" diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston_%.bbappend b/meta-agl-profile-graphical/recipes-graphics/wayland/weston_%.bbappend deleted file mode 100644 index bcfe11b17..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston_%.bbappend +++ /dev/null @@ -1,4 +0,0 @@ -PACKAGECONFIG[notify] = "--enable-systemd-notify,--disable-systemd-notify,systemd" -PACKAGECONFIG_append = " notify" - -RRECOMMENDS_${PN}_remove = "weston-conf" diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston_6.0.0.bbappend b/meta-agl-profile-graphical/recipes-graphics/wayland/weston_6.0.0.bbappend deleted file mode 100644 index 67442bd6b..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston_6.0.0.bbappend +++ /dev/null @@ -1,10 +0,0 @@ -FILESEXTRAPATHS_append := ":${THISDIR}/${PN}" - -SRC_URI_append = "\ - file://0001-Allow-regular-users-to-launch-Weston_2.0.0.patch \ - file://use-XDG_RUNTIMESHARE_DIR.patch \ - file://0002-ivi-shell-Fix-crash-due-no-transmitter-screen.patch \ - file://0003-compositor-drm-introduce-drm_get_dmafd_from_view.patch \ - file://0001-config-parser-Export-get_full_path-and-destroy.patch \ - " -EXTRA_OECONF_append = " --enable-sys-uid" diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston_7.0.0.bbappend b/meta-agl-profile-graphical/recipes-graphics/wayland/weston_7.0.0.bbappend new file mode 100644 index 000000000..c2e52798d --- /dev/null +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston_7.0.0.bbappend @@ -0,0 +1,14 @@ +FILESEXTRAPATHS_append := ":${THISDIR}/${PN}" + +# NOTE: +# file://0003-compositor-drm-introduce-drm_get_dmafd_from_view.patch +# has been removed until someone more familiar with weston internals +# and waltham can take a look and update it. +SRC_URI_append = "\ + file://0001-Allow-regular-users-to-launch-Weston_7.0.0.patch \ + file://use-XDG_RUNTIMESHARE_DIR.patch \ + file://0002-ivi-shell-Fix-crash-due-no-transmitter-screen.patch \ + file://0001-config-parser-Export-get_full_path-and-destroy.patch \ + " + +EXTRA_OEMESON_append = " -Denable-user-start=true" -- cgit 1.2.3-korg From 43a93c4a0184e24652638ff79feb1bc4ce415e86 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Mon, 27 Jan 2020 13:23:27 -0500 Subject: meta-agl-profile-graphical: don't always build agl-compositor Make agl-compositor inclusion in packagegroup-agl-graphical-weston dependent upon the agl-compositor DISTRO_FEATURE, to avoid build failures due to weston 6.0.0 vs 7.0.0 issues in it. Those will need to be addressed separately from the main zeus upgrade process. Bug-AGL: SPEC-2932 Change-Id: Ibeae03d208eebaa87a210d4dbadd258db75fffae Signed-off-by: Scott Murray --- .../recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'meta-agl-profile-graphical') diff --git a/meta-agl-profile-graphical/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb b/meta-agl-profile-graphical/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb index a97b6ebe2..35db34df9 100644 --- a/meta-agl-profile-graphical/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb +++ b/meta-agl-profile-graphical/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb @@ -17,6 +17,6 @@ RDEPENDS_${PN} += " \ weston-ready \ agl-login-manager \ agl-desktop-config \ - agl-compositor \ + ${@bb.utils.contains("DISTRO_FEATURES", "agl-compositor", "agl-compositor", "",d)} \ " -- cgit 1.2.3-korg From 8787f82ce32a5fe42c56513ce32e8d1d94ce3e3e Mon Sep 17 00:00:00 2001 From: Marius Vlad Date: Wed, 12 Feb 2020 14:08:51 +0200 Subject: recipes-graphics/wayland/weston: Expose weston_output_damage() Seems that we can damage all the outputs, but not individual and output so patch libweston to include that declaration. The symbol's already exported. Bug-AGL: SPEC-3179 Change-Id: I6f765304c61d4ef288ebf015a131d9e138d50e97 Signed-off-by: Marius Vlad --- ...-Expose-weston_output_damage-in-libweston.patch | 30 ++++++++++++++++++++++ .../recipes-graphics/wayland/weston_7.0.0.bbappend | 1 + 2 files changed, 31 insertions(+) create mode 100644 meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-libweston-Expose-weston_output_damage-in-libweston.patch (limited to 'meta-agl-profile-graphical') diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-libweston-Expose-weston_output_damage-in-libweston.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-libweston-Expose-weston_output_damage-in-libweston.patch new file mode 100644 index 000000000..32755c4b3 --- /dev/null +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0001-libweston-Expose-weston_output_damage-in-libweston.patch @@ -0,0 +1,30 @@ +From 7e5fb58591a29d60657158262a0772796bfd3461 Mon Sep 17 00:00:00 2001 +From: Marius Vlad +Date: Wed, 12 Feb 2020 13:18:19 +0200 +Subject: [PATCH] libweston: Expose weston_output_damage() in libweston + +We have weston_compositor_damage_all() exported and declared but users +might need weston_output_damage() to refer to an individual output. The +symbol already exported so just declare it. + +Signed-off-by: Marius Vlad +--- + include/libweston/libweston.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/include/libweston/libweston.h b/include/libweston/libweston.h +index 1439775e..9fac5be0 100644 +--- a/include/libweston/libweston.h ++++ b/include/libweston/libweston.h +@@ -1604,6 +1604,8 @@ weston_compositor_schedule_repaint(struct weston_compositor *compositor); + void + weston_compositor_damage_all(struct weston_compositor *compositor); + void ++weston_output_damage(struct weston_output *woutput); ++void + weston_compositor_wake(struct weston_compositor *compositor); + void + weston_compositor_sleep(struct weston_compositor *compositor); +-- +2.20.1 + diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston_7.0.0.bbappend b/meta-agl-profile-graphical/recipes-graphics/wayland/weston_7.0.0.bbappend index c2e52798d..67ce0ba5e 100644 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston_7.0.0.bbappend +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston_7.0.0.bbappend @@ -9,6 +9,7 @@ SRC_URI_append = "\ file://use-XDG_RUNTIMESHARE_DIR.patch \ file://0002-ivi-shell-Fix-crash-due-no-transmitter-screen.patch \ file://0001-config-parser-Export-get_full_path-and-destroy.patch \ + file://0001-libweston-Expose-weston_output_damage-in-libweston.patch \ " EXTRA_OEMESON_append = " -Denable-user-start=true" -- cgit 1.2.3-korg