diff options
Diffstat (limited to 'meta-agl-profile-graphical/recipes-graphics/wayland')
16 files changed, 103 insertions, 320 deletions
diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0001-Added-ivi-id-agent-to-CMake.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0001-Added-ivi-id-agent-to-CMake.patch index feeef0e22..7ea0b6e9b 100644 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0001-Added-ivi-id-agent-to-CMake.patch +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0001-Added-ivi-id-agent-to-CMake.patch @@ -3,33 +3,20 @@ From: Michael Teyfel <mteyfel@de.adit-jv.com> Date: Fri, 12 Oct 2018 17:12:24 +0200 Subject: [PATCH 1/3] Added ivi-id-agent to CMake +Reworked for wayland-ivi-extension 2.2.0 by Scott Murray. + Signed-off-by: Michael Teyfel <mteyfel@de.adit-jv.com> ---- - CMakeLists.txt | 4 ++++ - 1 file changed, 4 insertions(+) +Signed-off-by: Scott Murray <scott.murray@konsulko.com> diff --git a/CMakeLists.txt b/CMakeLists.txt -index c82136e..33662b9 100644 +index 7d0044a..988fc89 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -23,6 +23,9 @@ SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules) - - project(wayland-ivi-extension) - -+find_package(PkgConfig REQUIRED) -+pkg_check_modules(WESTON weston>=2.0.0 REQUIRED) -+ - SET(IVI_EXTENSION_VERSION 2.0.2) - SET(ILM_API_VERSION 2.0.2) - -@@ -35,6 +38,7 @@ add_subdirectory(ivi-layermanagement-api/ilmClient) - add_subdirectory(ivi-layermanagement-api/ilmControl) - add_subdirectory(ivi-layermanagement-api/test) +@@ -40,6 +40,7 @@ add_subdirectory(ivi-layermanagement-api/test) add_subdirectory(ivi-layermanagement-examples) + add_subdirectory(ivi-layermanagement-api/ilmInput) + add_subdirectory(ivi-input-modules/ivi-input-controller) +add_subdirectory(ivi-id-agent-modules/ivi-id-agent) - if(WITH_ILM_INPUT) - add_subdirectory(ivi-input-api/ilmInput) --- -2.7.4 - + + #============================================================================================= 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 2b78357fe..c39c23982 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 @@ -35,19 +35,14 @@ weston: https://github.com/mtey/weston/tree/xdg_support_ivi_id_agent Since libweston-desktop is used to introduce desktop-surface support, xdg-protocol is supported. +Reworked for wayland-ivi-extension 2.2.0 by Scott Murray. + Signed-off-by: Michael Teyfel <mteyfel@de.adit-jv.com> ---- - ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt | 69 ++++ - .../ivi-id-agent/src/ivi-id-agent.c | 381 +++++++++++++++++++++ - ivi-id-agent-modules/ivi-id-agent/weston.ini.in | 20 ++ - 3 files changed, 470 insertions(+) - create mode 100644 ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt - create mode 100644 ivi-id-agent-modules/ivi-id-agent/src/ivi-id-agent.c - create mode 100644 ivi-id-agent-modules/ivi-id-agent/weston.ini.in +Signed-off-by: Scott Murray <scott.murray@konsulko.com> diff --git a/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt b/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt new file mode 100644 -index 0000000..2def105 +index 0000000..7354a7e --- /dev/null +++ b/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt @@ -0,0 +1,69 @@ @@ -76,9 +71,9 @@ index 0000000..2def105 + +find_package(PkgConfig REQUIRED) +pkg_check_modules(WAYLAND_SERVER wayland-server REQUIRED) -+pkg_check_modules(WESTON weston>=2.0.0 REQUIRED) ++pkg_check_modules(WESTON weston>=5.0.0 REQUIRED) +pkg_check_modules(PIXMAN pixman-1 REQUIRED) -+pkg_check_modules(LIBWESTON_DESKTOP libweston-desktop-2 REQUIRED) ++pkg_check_modules(LIBWESTON_DESKTOP libweston-desktop-5 REQUIRED) + +find_package(Threads REQUIRED) + @@ -533,6 +528,3 @@ index 0000000..48a196c +[desktop-app-default] +default-surface-id=2000000 +default-surface-id-max=2001000 --- -2.7.4 - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-load-id-agent-module.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-load-id-agent-module.patch index 06fe7843a..8985879b0 100644 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-load-id-agent-module.patch +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-controller-load-id-agent-module.patch @@ -3,16 +3,16 @@ From: Michael Teyfel <mteyfel@de.adit-jv.com> Date: Fri, 12 Oct 2018 16:57:24 +0200 Subject: [PATCH 3/3] ivi-controller: load id-agent module +Reworked for wayland-ivi-extension 2.2.0 by Scott Murray. + Signed-off-by: Michael Teyfel <mteyfel@de.adit-jv.com> ---- - weston-ivi-shell/src/ivi-controller.c | 39 +++++++++++++++++++++++++++++++++++ - 1 file changed, 39 insertions(+) +Signed-off-by: Scott Murray <scott.murray@konsulko.com> diff --git a/weston-ivi-shell/src/ivi-controller.c b/weston-ivi-shell/src/ivi-controller.c -index 6d95c88..f6ac174 100644 +index 8faec2a..8fa51f4 100644 --- a/weston-ivi-shell/src/ivi-controller.c +++ b/weston-ivi-shell/src/ivi-controller.c -@@ -2164,6 +2164,41 @@ load_input_module(struct ivishell *shell) +@@ -2154,6 +2154,41 @@ load_input_module(struct ivishell *shell) return 0; } @@ -54,9 +54,9 @@ index 6d95c88..f6ac174 100644 static void launch_client_process(void *data) { -@@ -2229,6 +2264,10 @@ controller_module_init(struct weston_compositor *compositor, - return -1; - } +@@ -2221,6 +2256,10 @@ wet_module_init(struct weston_compositor *compositor, + shell->destroy_listener.notify = ivi_shell_destroy; + wl_signal_add(&compositor->destroy_signal, &shell->destroy_listener); + if (load_id_agent_module(shell) < 0) { + weston_log("ivi-controller: id-agent module not loaded\n"); @@ -65,6 +65,3 @@ index 6d95c88..f6ac174 100644 if (shell->bkgnd_surface_id && shell->ivi_client_name) { loop = wl_display_get_event_loop(compositor->wl_display); wl_event_loop_add_idle(loop, launch_client_process, shell); --- -2.7.4 - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0004-ivi-ilmcontrol-added-focus-notification.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0004-ivi-ilmcontrol-added-focus-notification.patch index a665c060f..05d1cc238 100644 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0004-ivi-ilmcontrol-added-focus-notification.patch +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension/0004-ivi-ilmcontrol-added-focus-notification.patch @@ -11,10 +11,10 @@ index a88f2b0..12a2017 100644 } t_ilm_notification_mask; diff --git a/ivi-layermanagement-api/ilmControl/src/ilm_control_wayland_platform.c b/ivi-layermanagement-api/ilmControl/src/ilm_control_wayland_platform.c -index 9b4762b..5104459 100644 +index a912e50..5166839 100644 --- a/ivi-layermanagement-api/ilmControl/src/ilm_control_wayland_platform.c +++ b/ivi-layermanagement-api/ilmControl/src/ilm_control_wayland_platform.c -@@ -779,6 +779,12 @@ input_listener_input_focus(void *data, +@@ -819,6 +819,12 @@ input_listener_input_focus(void *data, surf_ctx->prop.focus |= device; else surf_ctx->prop.focus &= ~device; @@ -25,4 +25,5 @@ index 9b4762b..5104459 100644 + ILM_NOTIFICATION_FOCUS); + } } - }
\ No newline at end of file + } + diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension_2.0.2.bb b/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension_git.bb index de673a272..d507d2f7e 100644 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension_2.0.2.bb +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/wayland-ivi-extension_git.bb @@ -5,25 +5,23 @@ BUGTRACKER = "http://bugs.genivi.org/enter_bug.cgi?product=Wayland%20IVI%20Exten LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=1f1a56bb2dadf5f2be8eb342acf4ed79" -SRCREV = "ff067a640451de46836200624ece7ac777977c30" -SRC_URI = "git://github.com/GENIVI/${BPN}.git;branch=2.0;protocol=http \ - file://0001-Added-ivi-id-agent-to-CMake.patch \ - file://0002-ivi-id-agent-added-ivi-id-agent.patch \ - file://0003-ivi-controller-load-id-agent-module.patch \ - file://0002-add-LayerManagerControl-error-status.patch \ - file://0004-ivi-ilmcontrol-added-focus-notification.patch \ +SRC_URI = "git://github.com/GENIVI/${BPN}.git;protocol=http \ + file://0001-Added-ivi-id-agent-to-CMake.patch \ + file://0002-ivi-id-agent-added-ivi-id-agent.patch \ + file://0003-ivi-controller-load-id-agent-module.patch \ + file://0002-add-LayerManagerControl-error-status.patch \ + file://0004-ivi-ilmcontrol-added-focus-notification.patch \ " SRC_URI_append_wandboard = " file://wandboard_fix_build.patch" +SRCREV = "736fb654ac81230cf4f9e51a5772d3a02d7639bf" +PV = "2.2.0+git${SRCPV}" S = "${WORKDIR}/git" DEPENDS = "weston virtual/libgles2 pixman wayland-native" FILESEXTRAPATHS_prepend := ":${THISDIR}/wayland-ivi-extension:" -# workaround paralellism issue: -PARALLEL_MAKE = "" - inherit cmake EXTRA_OECMAKE := "-DWITH_ILM_INPUT=1" 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 index bd1a72b0f..3a59ba0c8 100644 --- 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 @@ -4,18 +4,14 @@ Date: Wed, 31 May 2017 22:48:18 +0000 Subject: [PATCH] Allow regular users to launch Weston Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh> ---- - configure.ac | 6 ++++++ - libweston/launcher-direct.c | 2 ++ - 2 files changed, 8 insertions(+) diff --git a/configure.ac b/configure.ac -index 7e84c14..8b3e17e 100644 +index 50f8e013..2043b9b0 100644 --- a/configure.ac +++ b/configure.ac -@@ -155,6 +155,12 @@ if test x$enable_xkbcommon = xyes; then - true) - fi +@@ -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) @@ -27,10 +23,10 @@ index 7e84c14..8b3e17e 100644 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 4fc1c3c..8f16a69 100644 +index e0ce6d63..d0db9bb5 100644 --- a/libweston/launcher-direct.c +++ b/libweston/launcher-direct.c -@@ -275,8 +275,10 @@ launcher_direct_connect(struct weston_launcher **out, struct weston_compositor * +@@ -283,8 +283,10 @@ launcher_direct_connect(struct weston_launcher **out, struct weston_compositor * { struct launcher_direct *launcher; @@ -41,6 +37,3 @@ index 4fc1c3c..8f16a69 100644 launcher = zalloc(sizeof(*launcher)); if (launcher == NULL) --- -2.7.4 - 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 index 449b7a0fd..b1e0b8a59 100644 --- 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 @@ -1,40 +1,40 @@ -index 67619b8f..e9ddf9a4 100644 +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 -@@ -497,44 +497,53 @@ wet_shell_init(struct weston_compositor *compositor, +@@ -484,13 +484,14 @@ wet_shell_init(struct weston_compositor *compositor, + int *argc, char *argv[]) { struct ivi_shell *shell; - struct ivi_shell_setting setting = { }; - int retval = -1; shell = zalloc(sizeof *shell); if (shell == NULL) - return -1; - - if (ivi_shell_setting_create(&setting, compositor, argc, argv) != 0) - return -1; + goto err_shell; - init_ivi_shell(compositor, shell, &setting); + 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_settings; -+ goto err_settings; +- goto out; ++ goto err_shell; shell->text_backend = text_backend_init(compositor); if (!shell->text_backend) -- goto out_settings; -+ goto err_settings; +- goto out; ++ goto err_shell; if (wl_global_create(compositor->wl_display, &ivi_application_interface, 1, shell, bind_ivi_application) == NULL) -- goto out_settings; +- goto out; + goto err_text_backend; ivi_layout_init_with_compositor(compositor); @@ -42,23 +42,14 @@ index 67619b8f..e9ddf9a4 100644 + * and signals are initialized.*/ shell_add_bindings(compositor, shell); - /* Call module_init of ivi-modules which are defined in weston.ini */ - if (load_controller_modules(compositor, setting.ivi_module, - argc, argv) < 0) -- goto out_settings; -+ goto err_text_backend; -+ +- retval = 0; + return IVI_SUCCEEDED; -- retval = 0; +-out: +- return retval; +err_text_backend: + text_backend_destroy(shell->text_backend); - --out_settings: -+err_settings: - free(setting.ivi_module); - -- return retval; ++ +err_shell: + free(shell); + 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 index 6f683ca92..9f696d8a2 100644 --- 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 @@ -1,7 +1,8 @@ -index 2317d6e9..e1e897ed 100644 +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,12 +56,14 @@ extern "C" { +@@ -56,6 +56,7 @@ extern "C" { #endif /* __cplusplus */ #include <stdint.h> @@ -9,6 +10,7 @@ index 2317d6e9..e1e897ed 100644 #include "stdbool.h" #include "compositor.h" +@@ -63,6 +64,7 @@ extern "C" { #define IVI_SUCCEEDED (0) #define IVI_FAILED (-1) 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 index 551e449ad..f6256f782 100644 --- 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 @@ -1,9 +1,10 @@ -index 5f64e72d..dc8e6f1d 100644 +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 -@@ -677,10 +677,14 @@ wet_shell_init(struct weston_compositor *compositor, +@@ -664,10 +664,14 @@ wet_shell_init(struct weston_compositor *compositor, if (!shell->text_backend) - goto err_settings; + goto err_shell; + shell->desktop = weston_desktop_create(compositor, &shell_desktop_api, shell); + if (!shell->desktop) @@ -17,12 +18,7 @@ index 5f64e72d..dc8e6f1d 100644 ivi_layout_init_with_compositor(compositor); /* TODO ivi_layout_destroy should be implemented, since multiple lists -@@ -690,10 +694,13 @@ wet_shell_init(struct weston_compositor *compositor, - /* Call module_init of ivi-modules which are defined in weston.ini */ - if (load_controller_modules(compositor, setting.ivi_module, - argc, argv) < 0) -- goto err_text_backend; -+ goto err_desktop; +@@ -676,6 +680,9 @@ wet_shell_init(struct weston_compositor *compositor, return IVI_SUCCEEDED; 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 index c5d85bb17..447cff4f8 100644 --- 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 @@ -1,4 +1,5 @@ -index d5403e06..7b2f2707 100644 +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 { @@ -12,7 +13,7 @@ index d5403e06..7b2f2707 100644 struct wl_client *user_interface; struct ui_setting ui_setting; -@@ -581,28 +581,6 @@ create_layer(struct weston_output *output, +@@ -576,28 +576,6 @@ create_layer(struct weston_output *output, /** * Internal set notification */ @@ -34,14 +35,14 @@ index d5403e06..7b2f2707 100644 - if (is_surf_in_ui_widget(hmi_ctrl, ivisurf)) - return; - -- ret = ivi_layout_interface->layer_add_surface(application_layer, ivisurf); +- ret = hmi_ctrl->interface->layer_add_surface(application_layer, ivisurf); - assert(!ret); -} - static void set_notification_remove_surface(struct wl_listener *listener, void *data) { -@@ -670,6 +648,42 @@ set_notification_configure_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); } @@ -64,55 +65,54 @@ index d5403e06..7b2f2707 100644 + if (is_surf_in_ui_widget(hmi_ctrl, ivisurf)) + return; + -+ ret = ivi_layout_interface->layer_add_surface(application_layer, ivisurf); ++ 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 = ivi_layout_interface->surface_get_weston_surface(ivisurf); ++ surface = hmi_ctrl->interface->surface_get_weston_surface(ivisurf); + if (surface) { -+ ivi_layout_interface->surface_set_source_rectangle(ivisurf, 0, ++ hmi_ctrl->interface->surface_set_source_rectangle(ivisurf, 0, + 0, surface->width, surface->height); + } + -+ ivi_layout_interface->commit_changes(); ++ 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 -@@ -852,6 +866,9 @@ hmi_controller_create(struct weston_compositor *ec) +@@ -868,6 +882,9 @@ hmi_controller_create(struct weston_compositor *ec) hmi_ctrl->surface_configured.notify = set_notification_configure_surface; - ivi_layout_interface->add_listener_configure_surface(&hmi_ctrl->surface_configured); + hmi_ctrl->interface->add_listener_configure_surface(&hmi_ctrl->surface_configured); + hmi_ctrl->desktop_surface_configured.notify = set_notification_configure_desktop_surface; -+ ivi_layout_interface->add_listener_configure_desktop_surface(&hmi_ctrl->desktop_surface_configured); ++ 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); -@@ -1275,13 +1292,6 @@ ivi_hmi_controller_UI_ready(struct wl_client *client, - ivi_layout_interface->commit_changes(); +@@ -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; -- ivi_layout_interface->add_listener_create_surface(&hmi_ctrl->surface_created); +- 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 6b854503..22d63708 100644 +index b06bf309..ef354d49 100644 --- a/ivi-shell/ivi-layout.c +++ b/ivi-shell/ivi-layout.c -@@ -787,9 +787,15 @@ commit_surface_list(struct ivi_layout *layout) +@@ -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)) { 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 index 8094f9b85..036b14cbc 100644 --- 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 @@ -1,7 +1,8 @@ -index 23f79dfe..f9c8010b 100644 +diff --git a/Makefile.am b/Makefile.am +index 17c053e6..e0d3cb78 100644 --- a/Makefile.am +++ b/Makefile.am -@@ -616,9 +616,7 @@ demo_clients += weston-simple-egl +@@ -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 \ @@ -13,7 +14,7 @@ index 23f79dfe..f9c8010b 100644 weston_simple_egl_LDADD = $(SIMPLE_EGL_CLIENT_LIBS) -lm endif diff --git a/clients/simple-egl.c b/clients/simple-egl.c -index dad0f09b..07e7e785 100644 +index a1e57aef..936e015e 100644 --- a/clients/simple-egl.c +++ b/clients/simple-egl.c @@ -45,8 +45,6 @@ @@ -40,8 +41,8 @@ index dad0f09b..07e7e785 100644 - struct ivi_surface *ivi_surface; EGLSurface egl_surface; struct wl_callback *callback; - int fullscreen, opaque, buffer_size, frame_sync, delay; -@@ -355,27 +351,22 @@ static const struct zxdg_toplevel_v6_listener xdg_toplevel_listener = { + 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 @@ -81,7 +82,7 @@ index dad0f09b..07e7e785 100644 window->xdg_surface = zxdg_shell_v6_get_xdg_surface(display->shell, window->surface); zxdg_surface_v6_add_listener(window->xdg_surface, -@@ -390,50 +381,6 @@ create_xdg_surface(struct window *window, struct display *display) +@@ -394,50 +385,6 @@ create_xdg_surface(struct window *window, struct display *display) window->wait_for_configure = true; wl_surface_commit(window->surface); @@ -132,7 +133,7 @@ index dad0f09b..07e7e785 100644 ret = eglMakeCurrent(window->display->egl.dpy, window->egl_surface, window->egl_surface, window->display->egl.ctx); -@@ -465,8 +412,6 @@ destroy_surface(struct window *window) +@@ -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); @@ -141,7 +142,7 @@ index dad0f09b..07e7e785 100644 wl_surface_destroy(window->surface); if (window->callback) -@@ -821,10 +766,6 @@ registry_handle_global(void *data, struct wl_registry *registry, +@@ -825,10 +770,6 @@ registry_handle_global(void *data, struct wl_registry *registry, fprintf(stderr, "unable to load default left pointer\n"); // TODO: abort ? } @@ -152,7 +153,7 @@ index dad0f09b..07e7e785 100644 } } -@@ -939,9 +880,6 @@ main(int argc, char **argv) +@@ -943,9 +884,6 @@ main(int argc, char **argv) if (display.shell) zxdg_shell_v6_destroy(display.shell); diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0016-ivi-shell_add_screen_remove_layer_api.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0016-ivi-shell_add_screen_remove_layer_api.patch deleted file mode 100644 index 3e85e93f6..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0016-ivi-shell_add_screen_remove_layer_api.patch +++ /dev/null @@ -1,82 +0,0 @@ -From deee858b0b199d8cfa8033a46d7078f30b23725e Mon Sep 17 00:00:00 2001 -From: "Ucan, Emre (ADITG/SW1)" <eucan@de.adit-jv.com> -Date: Thu, 2 Mar 2017 08:47:33 +0000 -Subject: ivi-shell: add_screen_remove_layer API - -It is analagous to layer_remove_surface API. -The API removes a layer from the render order -of the screen. - -v3: -add the new vfunc at the end of -the ivi_layout_interface struct. - -Signed-off-by: Emre Ucan <eucan@de.adit-jv.com> -Reviewed-by: Eugen Friedrich <friedrix@gmail.com> -Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> - -diff --git a/ivi-shell/ivi-layout-export.h b/ivi-shell/ivi-layout-export.h -index 2317d6e..39ffde1 100644 ---- a/ivi-shell/ivi-layout-export.h -+++ b/ivi-shell/ivi-layout-export.h -@@ -578,6 +578,16 @@ struct ivi_layout_interface { - */ - struct ivi_layout_surface * - (*get_surface)(struct weston_surface *surface); -+ -+ /** -+ * \brief Remove a ivi_layer to a weston_output which is currently managed -+ * by the service -+ * -+ * \return IVI_SUCCEEDED if the method call was successful -+ * \return IVI_FAILED if the method call was failed -+ */ -+ int32_t (*screen_remove_layer)(struct weston_output *output, -+ struct ivi_layout_layer *removelayer); - }; - - #ifdef __cplusplus -diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c -index 298e18e..8e4280b 100644 ---- a/ivi-shell/ivi-layout.c -+++ b/ivi-shell/ivi-layout.c -@@ -1664,6 +1664,27 @@ ivi_layout_screen_add_layer(struct weston_output *output, - } - - static int32_t -+ivi_layout_screen_remove_layer(struct weston_output *output, -+ struct ivi_layout_layer *removelayer) -+{ -+ struct ivi_layout_screen *iviscrn; -+ -+ if (output == NULL || removelayer == NULL) { -+ weston_log("ivi_layout_screen_remove_layer: invalid argument\n"); -+ return IVI_FAILED; -+ } -+ -+ iviscrn = get_screen_from_output(output); -+ -+ wl_list_remove(&removelayer->pending.link); -+ wl_list_init(&removelayer->pending.link); -+ -+ iviscrn->order.dirty = 1; -+ -+ return IVI_SUCCEEDED; -+} -+ -+static int32_t - ivi_layout_screen_set_render_order(struct weston_output *output, - struct ivi_layout_layer **pLayer, - const int32_t number) -@@ -2088,6 +2109,7 @@ static struct ivi_layout_interface ivi_layout_interface = { - */ - .get_screens_under_layer = ivi_layout_get_screens_under_layer, - .screen_add_layer = ivi_layout_screen_add_layer, -+ .screen_remove_layer = ivi_layout_screen_remove_layer, - .screen_set_render_order = ivi_layout_screen_set_render_order, - - /** --- -cgit v0.10.2 - - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0017-ivi-shell-register-ivi_layout_interface.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0017-ivi-shell-register-ivi_layout_interface.patch deleted file mode 100644 index 87d883c02..000000000 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/0017-ivi-shell-register-ivi_layout_interface.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 5b1d282c7a7d2badf74bb19f9ddc0d49d3d4562b Mon Sep 17 00:00:00 2001 -From: Emre Ucan <eucan@de.adit-jv.com> -Date: Thu, 25 Jan 2018 14:36:10 +0100 -Subject: [PATCH] ivi-shell: register ivi_layout_interface - -Signed-off-by: Emre Ucan <eucan@de.adit-jv.com> -Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> ---- - ivi-shell/ivi-layout-export.h | 13 +++++++++++++ - ivi-shell/ivi-layout.c | 6 ++++++ - ivi-shell/ivi-shell.c | 2 -- - 3 files changed, 19 insertions(+), 2 deletions(-) - -diff --git a/ivi-shell/ivi-layout-export.h b/ivi-shell/ivi-layout-export.h -index 2317d6e..9452691 100644 ---- a/ivi-shell/ivi-layout-export.h -+++ b/ivi-shell/ivi-layout-export.h -@@ -59,6 +59,7 @@ extern "C" { - - #include "stdbool.h" - #include "compositor.h" -+#include "plugin-registry.h" - - #define IVI_SUCCEEDED (0) - #define IVI_FAILED (-1) -@@ -140,6 +141,8 @@ enum ivi_layout_transition_type{ - IVI_LAYOUT_TRANSITION_MAX, - }; - -+#define IVI_LAYOUT_API_NAME "ivi_layout_api_v1" -+ - struct ivi_layout_interface { - - /** -@@ -580,6 +583,16 @@ struct ivi_layout_interface { - (*get_surface)(struct weston_surface *surface); - }; - -+static inline const struct ivi_layout_interface * -+ivi_layout_get_api(struct weston_compositor *compositor) -+{ -+ const void *api; -+ api = weston_plugin_api_get(compositor, IVI_LAYOUT_API_NAME, -+ sizeof(struct ivi_layout_interface)); -+ -+ return (const struct ivi_layout_interface *)api; -+} -+ - #ifdef __cplusplus - } - #endif /* __cplusplus */ -diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c -index 64e4ead..c2c1a35 100644 ---- a/ivi-shell/ivi-layout.c -+++ b/ivi-shell/ivi-layout.c -@@ -2000,6 +2000,8 @@ ivi_layout_surface_create(struct weston_surface *wl_surface, - return ivisurf; - } - -+static struct ivi_layout_interface ivi_layout_interface; -+ - void - ivi_layout_init_with_compositor(struct weston_compositor *ec) - { -@@ -2028,6 +2030,10 @@ ivi_layout_init_with_compositor(struct weston_compositor *ec) - - layout->transitions = ivi_layout_transition_set_create(ec); - wl_list_init(&layout->pending_transition_list); -+ -+ weston_plugin_api_register(ec, IVI_LAYOUT_API_NAME, -+ &ivi_layout_interface, -+ sizeof(struct ivi_layout_interface)); - } - - static struct ivi_layout_interface ivi_layout_interface = { -diff --git a/ivi-shell/ivi-shell.c b/ivi-shell/ivi-shell.c -index 67619b8..2dabdf9 100644 ---- a/ivi-shell/ivi-shell.c -+++ b/ivi-shell/ivi-shell.c -@@ -425,8 +425,6 @@ ivi_shell_setting_create(struct ivi_shell_setting *dest, - if (!dest->ivi_module && - weston_config_section_get_string(section, "ivi-module", - &dest->ivi_module, NULL) < 0) { -- weston_log("Error: ivi-shell: No ivi-module set\n"); -- result = -1; - } - - weston_config_section_get_bool(section, "developermode", --- -2.7.4 - diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/use-XDG_RUNTIMESHARE_DIR.patch b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/use-XDG_RUNTIMESHARE_DIR.patch index 91c2239cb..2f3b0108a 100644 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston/use-XDG_RUNTIMESHARE_DIR.patch +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston/use-XDG_RUNTIMESHARE_DIR.patch @@ -29,15 +29,12 @@ remain maintained locally out of mainstream in the wait of further investigations. Signed-off-by: José Bollo <jose.bollo@iot.bzh> ---- - shared/os-compatibility.c | 1 + - 1 file changed, 1 insertion(+) diff --git a/shared/os-compatibility.c b/shared/os-compatibility.c -index e19fb61b..7e93e818 100644 +index e19fb61b..826e48b8 100644 --- a/shared/os-compatibility.c +++ b/shared/os-compatibility.c -@@ -157,6 +157,8 @@ os_create_anonymous_file(off_t size) +@@ -157,7 +157,9 @@ os_create_anonymous_file(off_t size) int fd; int ret; @@ -47,6 +44,4 @@ index e19fb61b..7e93e818 100644 + path = getenv("XDG_RUNTIME_DIR"); if (!path) { errno = ENOENT; --- -2.13.6 - + return -1; diff --git a/meta-agl-profile-graphical/recipes-graphics/wayland/weston_%.bbappend b/meta-agl-profile-graphical/recipes-graphics/wayland/weston_%.bbappend index 51e640e06..bcfe11b17 100644 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston_%.bbappend +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston_%.bbappend @@ -1,2 +1,4 @@ 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_2.0.0.bbappend b/meta-agl-profile-graphical/recipes-graphics/wayland/weston_5.0.0.bbappend index c0a301ec1..579429b18 100644 --- a/meta-agl-profile-graphical/recipes-graphics/wayland/weston_2.0.0.bbappend +++ b/meta-agl-profile-graphical/recipes-graphics/wayland/weston_5.0.0.bbappend @@ -17,11 +17,12 @@ SRC_URI_append = "\ 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://0016-ivi-shell_add_screen_remove_layer_api.patch \ - file://0017-ivi-shell-register-ivi_layout_interface.patch \ - file://0018-compositor-add-output-type-to-weston_output.patch \ - file://0019-compositor-drm-introduce-drm_get_dmafd_from_view.patch \ file://use-XDG_RUNTIMESHARE_DIR.patch \ " +# FIXME: The following patches need to be updated for weston 5.0.0: +# file://0018-compositor-add-output-type-to-weston_output.patch +# file://0019-compositor-drm-introduce-drm_get_dmafd_from_view.patch + + EXTRA_OECONF_append = " --enable-sys-uid" |