diff options
Diffstat (limited to 'meta-agl-ic-container/recipes-graphics')
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@ |