aboutsummaryrefslogtreecommitdiffstats
path: root/meta-agl-ic-container/recipes-graphics/wayland
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-ic-container/recipes-graphics/wayland')
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0001-ivi-input-controller-update-to-weston-7-header-files.patch31
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0002-ivi-id-agent-update-to-weston-7-header-files.patch33
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-id-agent-update-dependencies-to-build-on-weston-.patch31
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0004-ivi-id-agent-update-dependencies-to-build-on-weston-.patch28
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0005-Fix-buld-error-in-krikston.patch68
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0006-Drop-weston-6-support-and-adjust-weston-7-8-10.patch31
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension_git.bb33
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf-guest/weston.cluster-guest.ini9
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf-guest/weston.default.ini9
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf-guest/weston.ivi-guest.ini14
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf-guest_0.1.bb34
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf.bbappend2
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf/shell.cfg3
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/weston-init-guest/weston.env4
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/weston-init-guest/weston.service19
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/weston-init-guest_0.1.bb46
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/weston-init.bbappend40
-rw-r--r--meta-agl-ic-container/recipes-graphics/wayland/weston-init/drm-lease.conf.in4
18 files changed, 439 insertions, 0 deletions
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0001-ivi-input-controller-update-to-weston-7-header-files.patch b/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0001-ivi-input-controller-update-to-weston-7-header-files.patch
new file mode 100644
index 00000000..b19243e0
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0001-ivi-input-controller-update-to-weston-7-header-files.patch
@@ -0,0 +1,31 @@
+From 6432f46f500321518e9a588215d4635ef7466692 Mon Sep 17 00:00:00 2001
+From: Rajendraprasad K J <KarammelJayakumar.Rajendraprasad@in.bosch.com>
+Date: Mon, 6 Jan 2020 06:41:57 -0500
+Subject: [PATCH 1/6] ivi-input-controller: update to weston 7 header files
+
+update the header file path.
+
+Upstream-Status: Submitted [https://github.com/GENIVI/wayland-ivi-extension/pull/110]
+
+Signed-off-by: Rajendraprasad K J <KarammelJayakumar.Rajendraprasad@in.bosch.com>
+Signed-off-by: Gowtham Tammana <g-tammana@ti.com>
+---
+ .../ivi-input-controller/src/ivi-input-controller.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+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 b4d54d1..8974115 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 <fcntl.h>
+ #include <unistd.h>
+
+-#include "plugin-registry.h"
++#include <libweston/plugin-registry.h>
+ #include "ilm_types.h"
+
+ #include "ivi-input-server-protocol.h"
+--
+2.17.1
+
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0002-ivi-id-agent-update-to-weston-7-header-files.patch b/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0002-ivi-id-agent-update-to-weston-7-header-files.patch
new file mode 100644
index 00000000..87e286ab
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0002-ivi-id-agent-update-to-weston-7-header-files.patch
@@ -0,0 +1,33 @@
+From 7b7a5e96388f2431e750583a035962d261292b43 Mon Sep 17 00:00:00 2001
+From: Rajendraprasad K J <KarammelJayakumar.Rajendraprasad@in.bosch.com>
+Date: Mon, 6 Jan 2020 06:45:11 -0500
+Subject: [PATCH 2/6] ivi-id-agent: update to weston 7 header files
+
+update the header file path.
+
+Upstream-Status: Submitted [https://github.com/GENIVI/wayland-ivi-extension/pull/110]
+
+Signed-off-by: Rajendraprasad K J <KarammelJayakumar.Rajendraprasad@in.bosch.com>
+Signed-off-by: Gowtham Tammana <g-tammana@ti.com>
+---
+ ivi-id-agent-modules/ivi-id-agent/src/ivi-id-agent.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ivi-id-agent-modules/ivi-id-agent/src/ivi-id-agent.c b/ivi-id-agent-modules/ivi-id-agent/src/ivi-id-agent.c
+index 8f0c199..b80e2a4 100644
+--- a/ivi-id-agent-modules/ivi-id-agent/src/ivi-id-agent.c
++++ b/ivi-id-agent-modules/ivi-id-agent/src/ivi-id-agent.c
+@@ -26,8 +26,8 @@
+ #include <limits.h>
+
+ #include <weston.h>
+-#include <libweston-6/libweston-desktop.h>
+-#include "config-parser.h"
++#include <libweston-desktop/libweston-desktop.h>
++#include <libweston/config-parser.h>
+ #include <weston/ivi-layout-export.h>
+
+ #ifndef INVALID_ID
+--
+2.17.1
+
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-id-agent-update-dependencies-to-build-on-weston-.patch b/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-id-agent-update-dependencies-to-build-on-weston-.patch
new file mode 100644
index 00000000..dcb21a1a
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0003-ivi-id-agent-update-dependencies-to-build-on-weston-.patch
@@ -0,0 +1,31 @@
+From 46ef7140611d684d1dbecd866608333e67a1985e Mon Sep 17 00:00:00 2001
+From: Rajendraprasad K J <KarammelJayakumar.Rajendraprasad@in.bosch.com>
+Date: Mon, 6 Jan 2020 06:45:54 -0500
+Subject: [PATCH 3/6] ivi-id-agent: update dependencies to build on weston 8
+
+upgrade libweston-desktop version.
+
+Upstream-Status: Submitted [https://github.com/GENIVI/wayland-ivi-extension/pull/110]
+
+Signed-off-by: Rajendraprasad K J <KarammelJayakumar.Rajendraprasad@in.bosch.com>
+Signed-off-by: Gowtham Tammana <g-tammana@ti.com>
+---
+ ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt b/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt
+index 3e604a5..4f285c2 100644
+--- a/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt
++++ b/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt
+@@ -25,7 +25,7 @@ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(WAYLAND_SERVER wayland-server REQUIRED)
+ pkg_check_modules(WESTON weston>=6.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-8 REQUIRED)
+
+ find_package(Threads REQUIRED)
+
+--
+2.17.1
+
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0004-ivi-id-agent-update-dependencies-to-build-on-weston-.patch b/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0004-ivi-id-agent-update-dependencies-to-build-on-weston-.patch
new file mode 100644
index 00000000..509becb6
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0004-ivi-id-agent-update-dependencies-to-build-on-weston-.patch
@@ -0,0 +1,28 @@
+From 7b301a1832c81d814a8475c8679eddd3d43f3487 Mon Sep 17 00:00:00 2001
+From: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
+Date: Thu, 28 Apr 2022 07:18:50 +0900
+Subject: [PATCH 4/6] ivi-id-agent: update dependencies to build on weston 10
+
+upgrade libweston-desktop version.
+
+Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
+---
+ ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt b/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt
+index 4f285c2..a67ac5a 100644
+--- a/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt
++++ b/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt
+@@ -25,7 +25,7 @@ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(WAYLAND_SERVER wayland-server REQUIRED)
+ pkg_check_modules(WESTON weston>=6.0.0 REQUIRED)
+ pkg_check_modules(PIXMAN pixman-1 REQUIRED)
+-pkg_check_modules(LIBWESTON_DESKTOP libweston-desktop-8 REQUIRED)
++pkg_check_modules(LIBWESTON_DESKTOP libweston-desktop-10 REQUIRED)
+
+ find_package(Threads REQUIRED)
+
+--
+2.17.1
+
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0005-Fix-buld-error-in-krikston.patch b/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0005-Fix-buld-error-in-krikston.patch
new file mode 100644
index 00000000..ab9c13f2
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0005-Fix-buld-error-in-krikston.patch
@@ -0,0 +1,68 @@
+From c54194acfc807fa3e1f5ce14e83826ebc6966ca7 Mon Sep 17 00:00:00 2001
+From: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
+Date: Thu, 28 Apr 2022 07:26:09 +0900
+Subject: [PATCH 5/6] Fix buld error in krikston
+
+Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
+---
+ ivi-layermanagement-api/ilmClient/include/ilm_client_platform.h | 2 +-
+ .../ilmClient/src/ilm_client_wayland_platform.c | 2 ++
+ ivi-layermanagement-api/ilmCommon/include/ilm_common_platform.h | 2 +-
+ .../ilmCommon/src/ilm_common_wayland_platform.c | 2 ++
+ 4 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/ivi-layermanagement-api/ilmClient/include/ilm_client_platform.h b/ivi-layermanagement-api/ilmClient/include/ilm_client_platform.h
+index 1fb10af..56368dc 100644
+--- a/ivi-layermanagement-api/ilmClient/include/ilm_client_platform.h
++++ b/ivi-layermanagement-api/ilmClient/include/ilm_client_platform.h
+@@ -35,7 +35,7 @@ typedef struct _ILM_CLIENT_PLATFORM_FUNC
+ ilmErrorTypes (*destroy)();
+ } ILM_CLIENT_PLATFORM_FUNC;
+
+-ILM_CLIENT_PLATFORM_FUNC gIlmClientPlatformFunc;
++extern ILM_CLIENT_PLATFORM_FUNC gIlmClientPlatformFunc;
+
+ void init_ilmClientPlatformTable();
+
+diff --git a/ivi-layermanagement-api/ilmClient/src/ilm_client_wayland_platform.c b/ivi-layermanagement-api/ilmClient/src/ilm_client_wayland_platform.c
+index 55b1621..8786251 100644
+--- a/ivi-layermanagement-api/ilmClient/src/ilm_client_wayland_platform.c
++++ b/ivi-layermanagement-api/ilmClient/src/ilm_client_wayland_platform.c
+@@ -35,6 +35,8 @@ static ilmErrorTypes wayland_surfaceRemove(const t_ilm_surface surfaceId);
+ static ilmErrorTypes wayland_init(t_ilm_nativedisplay nativedisplay);
+ static ilmErrorTypes wayland_destroy(void);
+
++ILM_CLIENT_PLATFORM_FUNC gIlmClientPlatformFunc;
++
+ void init_ilmClientPlatformTable(void)
+ {
+ gIlmClientPlatformFunc.surfaceCreate =
+diff --git a/ivi-layermanagement-api/ilmCommon/include/ilm_common_platform.h b/ivi-layermanagement-api/ilmCommon/include/ilm_common_platform.h
+index 4e7b55e..ec49467 100644
+--- a/ivi-layermanagement-api/ilmCommon/include/ilm_common_platform.h
++++ b/ivi-layermanagement-api/ilmCommon/include/ilm_common_platform.h
+@@ -32,7 +32,7 @@ typedef struct _ILM_COMMON_PLATFORM_FUNC
+ ilmErrorTypes (*destroy)();
+ } ILM_COMMON_PLATFORM_FUNC;
+
+-ILM_COMMON_PLATFORM_FUNC gIlmCommonPlatformFunc;
++extern ILM_COMMON_PLATFORM_FUNC gIlmCommonPlatformFunc;
+
+ void init_ilmCommonPlatformTable();
+
+diff --git a/ivi-layermanagement-api/ilmCommon/src/ilm_common_wayland_platform.c b/ivi-layermanagement-api/ilmCommon/src/ilm_common_wayland_platform.c
+index 7470d0d..eef842d 100644
+--- a/ivi-layermanagement-api/ilmCommon/src/ilm_common_wayland_platform.c
++++ b/ivi-layermanagement-api/ilmCommon/src/ilm_common_wayland_platform.c
+@@ -32,6 +32,8 @@ static t_ilm_nativedisplay wayland_getNativedisplay(void);
+ static t_ilm_bool wayland_isInitialized(void);
+ static ilmErrorTypes wayland_destroy(void);
+
++ILM_COMMON_PLATFORM_FUNC gIlmCommonPlatformFunc;
++
+ void init_ilmCommonPlatformTable(void)
+ {
+ gIlmCommonPlatformFunc.init = wayland_init;
+--
+2.17.1
+
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0006-Drop-weston-6-support-and-adjust-weston-7-8-10.patch b/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0006-Drop-weston-6-support-and-adjust-weston-7-8-10.patch
new file mode 100644
index 00000000..035e597b
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension/0006-Drop-weston-6-support-and-adjust-weston-7-8-10.patch
@@ -0,0 +1,31 @@
+From d25c266858ffbea51b435190ea8697d4a4511355 Mon Sep 17 00:00:00 2001
+From: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
+Date: Thu, 28 Apr 2022 08:00:07 +0900
+Subject: [PATCH 6/6] Drop weston 6 support and adjust weston 7,8,10
+
+Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
+---
+ ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt b/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt
+index a67ac5a..a4b4e1a 100644
+--- a/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt
++++ b/ivi-id-agent-modules/ivi-id-agent/CMakeLists.txt
+@@ -23,9 +23,11 @@ project(ivi-id-agent)
+
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(WAYLAND_SERVER wayland-server REQUIRED)
+-pkg_check_modules(WESTON weston>=6.0.0 REQUIRED)
++pkg_check_modules(WESTON weston>=7.0.0 REQUIRED)
+ pkg_check_modules(PIXMAN pixman-1 REQUIRED)
+-pkg_check_modules(LIBWESTON_DESKTOP libweston-desktop-10 REQUIRED)
++pkg_check_modules(LIBWESTON_DESKTOP libweston-desktop-10)
++pkg_check_modules(LIBWESTON_DESKTOP libweston-desktop-8)
++pkg_check_modules(LIBWESTON_DESKTOP libweston-desktop-7)
+
+ find_package(Threads REQUIRED)
+
+--
+2.17.1
+
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension_git.bb b/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension_git.bb
new file mode 100644
index 00000000..b99331aa
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/wayland-ivi-extension_git.bb
@@ -0,0 +1,33 @@
+SUMMARY = "Wayland IVI Extension"
+DESCRIPTION = "GENIVI Layer Management API based on Wayland IVI Extension"
+HOMEPAGE = "https://github.com/COVESA/wayland-ivi-extension"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=1f1a56bb2dadf5f2be8eb342acf4ed79"
+
+DEPENDS = "weston virtual/libgles2 pixman wayland-native"
+
+SRC_URI = " \
+ git://github.com/COVESA/${BPN}.git;protocol=https;branch=master \
+ file://0001-ivi-input-controller-update-to-weston-7-header-files.patch \
+ file://0002-ivi-id-agent-update-to-weston-7-header-files.patch \
+ file://0003-ivi-id-agent-update-dependencies-to-build-on-weston-.patch \
+ file://0004-ivi-id-agent-update-dependencies-to-build-on-weston-.patch \
+ file://0005-Fix-buld-error-in-krikston.patch \
+ file://0006-Drop-weston-6-support-and-adjust-weston-7-8-10.patch \
+ "
+SRCREV = "f6911a11dc911a5bcb380d0895db6cfd533a3569"
+
+S = "${WORKDIR}/git"
+
+inherit cmake pkgconfig
+
+EXTRA_OECMAKE := "-DWITH_ILM_INPUT=1"
+EXTRA_OECMAKE += "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"
+
+FILES:${PN} += "${datadir}/wayland-protocols/stable/ivi-application/ivi-application.xml"
+FILES:${PN} += "${libdir}/weston/*"
+FILES:${PN}-dbg += "${libdir}/weston/.debug/*"
+
+# Need these temporarily to prevent a non-fatal do_package_qa issue
+INSANE_SKIP:${PN} += "dev-deps"
+INSANE_SKIP:${PN}-dev += "dev-elf dev-so"
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf-guest/weston.cluster-guest.ini b/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf-guest/weston.cluster-guest.ini
new file mode 100644
index 00000000..c709d60d
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf-guest/weston.cluster-guest.ini
@@ -0,0 +1,9 @@
+[core]
+backend=drm-backend.so
+require-input=false
+modules=systemd-notify.so
+repaint-window=34
+
+[shell]
+panel-position=none
+background-color=0xff000000
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf-guest/weston.default.ini b/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf-guest/weston.default.ini
new file mode 100644
index 00000000..c709d60d
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf-guest/weston.default.ini
@@ -0,0 +1,9 @@
+[core]
+backend=drm-backend.so
+require-input=false
+modules=systemd-notify.so
+repaint-window=34
+
+[shell]
+panel-position=none
+background-color=0xff000000
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf-guest/weston.ivi-guest.ini b/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf-guest/weston.ivi-guest.ini
new file mode 100644
index 00000000..a664f5e0
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf-guest/weston.ivi-guest.ini
@@ -0,0 +1,14 @@
+[core]
+shell=ivi-shell.so
+backend=drm-backend.so
+require-input=false
+modules=systemd-notify.so,ivi-controller.so
+
+[ivi-shell]
+ivi-input-module=ivi-input-controller.so
+ivi-id-agent-module=ivi-id-agent.so
+
+[desktop-app-default]
+default-surface-id=9801
+default-surface-id-max=9821
+
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf-guest_0.1.bb b/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf-guest_0.1.bb
new file mode 100644
index 00000000..740fa8ff
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf-guest_0.1.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Configuration file for the Weston and AGL Wayland compositors for guest container"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI = " \
+ file://weston.default.ini \
+ file://weston.cluster-guest.ini \
+ file://weston.ivi-guest.ini \
+"
+
+S = "${WORKDIR}"
+
+inherit allarch
+
+# Default weston.ini
+WESTON_INI_FILE ??= "weston.default.ini"
+
+# Set container specific weston.ini
+WESTON_INI_FILE:aglcontainercluster ?= "weston.cluster-guest.ini"
+WESTON_INI_FILE:aglcontainerivi ?= "weston.ivi-guest.ini"
+
+do_install() {
+ install -D -p -m0644 ${WORKDIR}/${WESTON_INI_FILE} ${D}${sysconfdir}/xdg/weston/weston.ini
+}
+
+FILES:${PN} += " \
+ ${sysconfdir}/xdg/weston/weston.ini \
+ "
+CONFFILES:${PN} += " \
+ ${sysconfdir}/xdg/weston/weston.ini \
+ "
+RDEPENDS:${PN} = "weston-init-guest"
+RPROVIDES:${PN} = "weston-ini"
+RCONFLICTS:${PN} = "weston-ini-conf"
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf.bbappend
new file mode 100644
index 00000000..46dfc124
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf.bbappend
@@ -0,0 +1,2 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
+
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf/shell.cfg b/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf/shell.cfg
new file mode 100644
index 00000000..6fe34ea7
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/weston-ini-conf/shell.cfg
@@ -0,0 +1,3 @@
+[shell]
+panel-position=none
+background-color=0xff000000
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/weston-init-guest/weston.env b/meta-agl-ic-container/recipes-graphics/wayland/weston-init-guest/weston.env
new file mode 100644
index 00000000..ed5f2621
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/weston-init-guest/weston.env
@@ -0,0 +1,4 @@
+XDG_RUNTIME_DIR=/run/user/0
+DLM_RUNTIME_PATH=/var/display/drm-lease-manager
+DRM_LEASE_DEVICE=lease
+WAYLAND_DISPLAY=wayland-1
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/weston-init-guest/weston.service b/meta-agl-ic-container/recipes-graphics/wayland/weston-init-guest/weston.service
new file mode 100644
index 00000000..5f23ea79
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/weston-init-guest/weston.service
@@ -0,0 +1,19 @@
+[Unit]
+Description=Weston Wayland Compositor
+RequiresMountsFor=/run
+After=multi-user.target
+Wants=multi-user.target
+
+[Service]
+User=root
+PAMName=login
+EnvironmentFile=-/etc/default/weston
+StandardError=journal
+PermissionsStartOnly=true
+IgnoreSIGPIPE=no
+Type=notify
+
+ExecStart=/usr/bin/weston --config /etc/xdg/weston/weston.ini --idle-time=0 --drm-lease=${DRM_LEASE_DEVICE} --log=/var/log/weston.log
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/weston-init-guest_0.1.bb b/meta-agl-ic-container/recipes-graphics/wayland/weston-init-guest_0.1.bb
new file mode 100644
index 00000000..c95f92e0
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/weston-init-guest_0.1.bb
@@ -0,0 +1,46 @@
+SUMMARY = "Startup script and systemd unit file for the Weston Wayland compositor in guest cotainer"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI = "file://weston.env \
+ file://weston.service \
+ "
+
+S = "${WORKDIR}"
+
+inherit features_check systemd
+
+do_install() {
+ install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston
+
+ # Install Weston systemd service and accompanying udev rule
+ install -D -p -m0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service
+ sed -i -e s:/etc:${sysconfdir}:g \
+ -e s:/usr/bin:${bindir}:g \
+ -e s:/var:${localstatedir}:g \
+ ${D}${systemd_unitdir}/system/weston.service
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+# rdepends on weston-init-guest which depends on wayland
+REQUIRED_DISTRO_FEATURES = "wayland"
+
+FILES:${PN} += " \
+ ${sysconfdir}/xdg/weston/weston.ini \
+ ${systemd_system_unitdir}/weston.service \
+ ${sysconfdir}/default/weston \
+ "
+CONFFILES:${PN} += " \
+ ${sysconfdir}/xdg/weston/weston.ini \
+ ${sysconfdir}/default/weston \
+ "
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "weston.service"
+SYSTEMD_AUTO_ENABLE = "enable"
+
+RDEPENDS:${PN} = " \
+ weston \
+ weston-ini \
+ "
+RCONFLICTS:${PN} = "weston-init"
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/weston-init.bbappend b/meta-agl-ic-container/recipes-graphics/wayland/weston-init.bbappend
new file mode 100644
index 00000000..4374c455
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/weston-init.bbappend
@@ -0,0 +1,40 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
+
+AGL_DEFAULT_WESTONSTART ??= "/usr/bin/weston --config ${sysconfdir}/xdg/weston/weston.ini"
+WESTONARGS ?= "--idle-time=0 --drm-lease=\${DRM_LEASE_DEVICE}"
+
+WESTONSTART ??= "${AGL_DEFAULT_WESTONSTART} ${WESTONARGS}"
+WESTONSTART:append = " ${@bb.utils.contains("DISTRO_FEATURES", "agl-devel", " --debug", "",d)}"
+
+WIFILES = " \
+ file://drm-lease.conf.in \
+"
+
+SRC_URI:append = " ${WIFILES}"
+
+do_install:append() {
+ # 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,@WESTONSTART@,${WESTONSTART},g" \
+ -e "s,@WESTON_DRM_DEVICE@,${WESTON_DRM_DEVICE},g" \
+ ${WORKDIR}/${f} > ${WORKDIR}/${g}
+ fi
+ done
+
+ # Install weston drop-in
+ install -d ${D}${systemd_system_unitdir}/weston@.service.d
+ install -m644 ${WORKDIR}/drm-lease.conf ${D}/${systemd_system_unitdir}/weston@.service.d/
+
+ install -d ${D}${systemd_system_unitdir}/multi-user.target.wants
+ ln -s ../weston@.service ${D}${systemd_system_unitdir}/multi-user.target.wants/weston@root.service
+}
+
+FILES:${PN} += " \
+ ${systemd_system_unitdir}/ \
+"
diff --git a/meta-agl-ic-container/recipes-graphics/wayland/weston-init/drm-lease.conf.in b/meta-agl-ic-container/recipes-graphics/wayland/weston-init/drm-lease.conf.in
new file mode 100644
index 00000000..025cd58e
--- /dev/null
+++ b/meta-agl-ic-container/recipes-graphics/wayland/weston-init/drm-lease.conf.in
@@ -0,0 +1,4 @@
+[Service]
+Type=notify
+ExecStart=
+ExecStart=@WESTONSTART@