From 7a80742dc5c8be95e680c58874cb8b14d6600853 Mon Sep 17 00:00:00 2001 From: Naoto Yamaguchi Date: Sun, 7 Nov 2021 00:11:36 +0900 Subject: Fix: weston is not running after BSP 5.5 merged in cluster-demo weston is not running after BSP 5.5 merged. This patch create new weston-init for gest usage. Bug-AGL: SPEC-4131 Signed-off-by: Naoto Yamaguchi Change-Id: I9b6edc1c45aad0f985a307f3ffb0fe6a47195dd5 --- .../cluster-refgui/cluster-refgui/cluster.service | 4 +- .../wayland/weston-init-guest/weston.env | 1 + .../wayland/weston-init-guest/weston.ini | 9 +++++ .../wayland/weston-init-guest/weston.service | 19 +++++++++ .../wayland/weston-init-guest_0.1.bb | 47 ++++++++++++++++++++++ .../images/guest-image-cluster-demo.bb | 3 +- 6 files changed, 79 insertions(+), 4 deletions(-) create mode 100644 meta-agl-lxc/recipes-graphics/wayland/weston-init-guest/weston.env create mode 100644 meta-agl-lxc/recipes-graphics/wayland/weston-init-guest/weston.ini create mode 100644 meta-agl-lxc/recipes-graphics/wayland/weston-init-guest/weston.service create mode 100644 meta-agl-lxc/recipes-graphics/wayland/weston-init-guest_0.1.bb diff --git a/meta-agl-lxc/recipes-demo/cluster-refgui/cluster-refgui/cluster.service b/meta-agl-lxc/recipes-demo/cluster-refgui/cluster-refgui/cluster.service index d0c1ba4e..b43c475b 100644 --- a/meta-agl-lxc/recipes-demo/cluster-refgui/cluster-refgui/cluster.service +++ b/meta-agl-lxc/recipes-demo/cluster-refgui/cluster-refgui/cluster.service @@ -1,7 +1,7 @@ [Unit] Description=AGL Cluster Reference GUI -After=weston@root.service -Requires=weston@root.service +After=multi-user.target weston.service +Requires=multi-user.target weston.service [Service] Environment=XDG_RUNTIME_DIR=/run/user/0 diff --git a/meta-agl-lxc/recipes-graphics/wayland/weston-init-guest/weston.env b/meta-agl-lxc/recipes-graphics/wayland/weston-init-guest/weston.env new file mode 100644 index 00000000..d6b1a197 --- /dev/null +++ b/meta-agl-lxc/recipes-graphics/wayland/weston-init-guest/weston.env @@ -0,0 +1 @@ +XDG_RUNTIME_DIR=/run/user/0 diff --git a/meta-agl-lxc/recipes-graphics/wayland/weston-init-guest/weston.ini b/meta-agl-lxc/recipes-graphics/wayland/weston-init-guest/weston.ini new file mode 100644 index 00000000..2c05c58a --- /dev/null +++ b/meta-agl-lxc/recipes-graphics/wayland/weston-init-guest/weston.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=0xff808080 diff --git a/meta-agl-lxc/recipes-graphics/wayland/weston-init-guest/weston.service b/meta-agl-lxc/recipes-graphics/wayland/weston-init-guest/weston.service new file mode 100644 index 00000000..5f23ea79 --- /dev/null +++ b/meta-agl-lxc/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-lxc/recipes-graphics/wayland/weston-init-guest_0.1.bb b/meta-agl-lxc/recipes-graphics/wayland/weston-init-guest_0.1.bb new file mode 100644 index 00000000..e18dbe52 --- /dev/null +++ b/meta-agl-lxc/recipes-graphics/wayland/weston-init-guest_0.1.bb @@ -0,0 +1,47 @@ +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.ini \ + file://weston.service \ + " + +S = "${WORKDIR}" + +inherit features_check systemd + +do_install() { + install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini + 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 which depends on virtual/egl +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" + +RCONFLICTS_${PN} = "weston-init" diff --git a/meta-agl-lxc/recipes-platform/images/guest-image-cluster-demo.bb b/meta-agl-lxc/recipes-platform/images/guest-image-cluster-demo.bb index bbf72fbf..3d88b8d0 100644 --- a/meta-agl-lxc/recipes-platform/images/guest-image-cluster-demo.bb +++ b/meta-agl-lxc/recipes-platform/images/guest-image-cluster-demo.bb @@ -5,8 +5,7 @@ require guest-image-minimal.bb IMAGE_INSTALL += " \ weston \ - weston-init \ - weston-ini-conf-landscape \ + weston-init-guest \ cluster-refgui \ pipewire-ic-ipc \ " -- cgit 1.2.3-korg