aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2022-03-21 17:03:07 -0400
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2022-03-22 13:36:31 +0000
commit33fa4e419dc15b86a169851fd4597447f0549ef0 (patch)
tree63681b5e2f95e7731dac17edc8a6d7ca94cd12e1
parent714379e09cc5e7b06012ba831289963cfc84ba4d (diff)
Restore Qt compositor cluster demo image
Changes: - Added the required backend plugin options for running with Qt's compositor to the PACKAGECONFIG variable in the qtbase recipe bbappend. - Restore an updated recipe for the agl-cluster-demo-qtcompositor image, with updates to the associated packagegroups for the app framework removal. - As part of the above, the duplication of the profile-cluster-qt5 package naming has been clarified in the qt5 versus qtcompositor packagegroups with new -wayland and -egl suffixes, with the previous plain -qt5 name aliasing the wayland option to maintain expected behavior. This avoids packaging conflict errors if building both types of cluster demo image in the same tree. - Restore updated cluster-gauges-qtcompositor recipe required for the image. - A simple systemd unit file has been added for the cluster-gauges application and is currently installed as a system session unit. Some rework of the agl-session scheme is required to run as a user unit, the intent is to address that in one of the 13.0.x point releases. Bug-AGL: SPEC-4283 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Id79484c025fef067d7d47eaf783768e700a9dc8d
-rw-r--r--recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor.service14
-rw-r--r--recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor_git.bb40
-rw-r--r--recipes-platform/images/agl-cluster-demo-qtcompositor.bb23
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-cluster-demo-qtcompositor.bb32
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb4
-rw-r--r--recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb7
-rw-r--r--recipes-qt/qt/qtbase_agldemo.inc4
7 files changed, 118 insertions, 6 deletions
diff --git a/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor.service b/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor.service
new file mode 100644
index 000000000..cedad0e8a
--- /dev/null
+++ b/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=cluster-gauges-qtcompositor
+
+[Service]
+Environment=XDG_RUNTIME_DIR=/run/user/0
+ExecStart=/usr/bin/cluster-gauges
+
+Restart=always
+
+StandardOutput=journal
+StandardError=journal
+
+[Install]
+WantedBy=graphical.target
diff --git a/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor_git.bb b/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor_git.bb
new file mode 100644
index 000000000..4210754f8
--- /dev/null
+++ b/recipes-demo/cluster-gauges-qtcompositor/cluster-gauges-qtcompositor_git.bb
@@ -0,0 +1,40 @@
+SUMMARY = "Minimal cluster demo gauges that can be used standalone"
+DESCRIPTION = "AGL HMI Application for demonstrating instrument cluster gauges as a wayland compositor"
+HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-cluster-demo-gauges"
+SECTION = "apps"
+
+LICENSE = "Apache-2.0 & BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984 \
+ file://app/cluster-gauges.qml;beginline=10;endline=49;md5=54187d50b29429abee6095fe8b7c1a78"
+
+DEPENDS = "qtquickcontrols2 qtwebsockets"
+
+PV = "1.0+git${SRCPV}"
+
+SRC_URI = "git://gerrit.automotivelinux.org/gerrit/apps/agl-cluster-demo-gauges;protocol=https;branch=${AGL_BRANCH} \
+ file://cluster-gauges-qtcompositor.service \
+"
+
+SRCREV = "${AGL_APP_REVISION}"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig cmake_qt5 systemd
+
+SYSTEMD_SERVICE:${PN} = "${BPN}.service"
+
+do_install:append() {
+ install -D -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service
+}
+
+FILES:${PN} += " ${systemd_user_unitdir}"
+
+RDEPENDS:${PN} += " \
+ qtquickcontrols \
+ qtquickcontrols-qmlplugins \
+ qtquickcontrols2 \
+ qtquickcontrols2-qmlplugins \
+ qtwebsockets \
+ qtwebsockets-qmlplugins \
+ kms-conf \
+"
diff --git a/recipes-platform/images/agl-cluster-demo-qtcompositor.bb b/recipes-platform/images/agl-cluster-demo-qtcompositor.bb
new file mode 100644
index 000000000..a9da97639
--- /dev/null
+++ b/recipes-platform/images/agl-cluster-demo-qtcompositor.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "AGL Cluster Demo Qtwayland Compositor image currently contains a \
+simple cluster interface and some AGL service."
+
+LICENSE = "MIT"
+
+require recipes-platform/images/agl-image-boot.inc
+
+IMAGE_FEATURES += "splash package-management ssh-server-dropbear"
+
+inherit features_check
+
+REQUIRED_DISTRO_FEATURES = "wayland"
+
+# add packages for cluster demo qtcompositor
+IMAGE_INSTALL:append = " \
+ packagegroup-agl-cluster-demo-qtcompositor \
+"
+
+# NOTE: This should be revisited after upgrading to hardknott or later,
+# as it may no longer be required. However, since Wayland is not
+# being used, the new "weston" image feature may not be a viable
+# option.
+SYSTEMD_DEFAULT_TARGET = "graphical.target"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-cluster-demo-qtcompositor.bb b/recipes-platform/packagegroups/packagegroup-agl-cluster-demo-qtcompositor.bb
new file mode 100644
index 000000000..a5c8b78e3
--- /dev/null
+++ b/recipes-platform/packagegroups/packagegroup-agl-cluster-demo-qtcompositor.bb
@@ -0,0 +1,32 @@
+SUMMARY = "The software for AGL Cluster Demo Qtwayland Compositor"
+DESCRIPTION = "A set of packages belong to AGL Cluster Demo Qtwayland Compositor"
+
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-cluster-demo-qtcompositor \
+ "
+
+ALLOW_EMPTY:${PN} = "1"
+
+RDEPENDS:${PN} += "\
+ packagegroup-agl-profile-cluster-qtcompositor \
+ packagegroup-agl-ttf-fonts \
+ packagegroup-agl-networking \
+ "
+
+AGL_SERVICE = " \
+ "
+
+AGL_APPS = " \
+ cluster-gauges-qtcompositor \
+ "
+
+RDEPENDS:${PN}:append = " \
+ linux-firmware-ralink \
+ can-utils \
+ ${AGL_SERVICE} \
+ ${AGL_APPS} \
+"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb
index 39b0c3739..1cf20937c 100644
--- a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb
+++ b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qt5.bb
@@ -6,6 +6,7 @@ inherit packagegroup
PACKAGES = "\
packagegroup-agl-profile-cluster-qt5 \
+ profile-cluster-qt5-wayland \
profile-cluster-qt5 \
"
@@ -17,4 +18,5 @@ RDEPENDS:${PN} += "\
packagegroup-agl-graphical-weston \
"
-RDEPENDS:profile-cluster-qt5 = "${PN}"
+RDEPENDS:profile-cluster-qt5-wayland = "${PN}"
+RDEPENDS:profile-cluster-qt5 = "profile-cluster-qt5-wayland"
diff --git a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb
index ae1ad96be..ba66b60d5 100644
--- a/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb
+++ b/recipes-platform/packagegroups/packagegroup-agl-profile-cluster-qtcompositor.bb
@@ -6,7 +6,7 @@ inherit packagegroup
PACKAGES = "\
packagegroup-agl-profile-cluster-qtcompositor \
- profile-cluster-qt5 \
+ profile-cluster-qt5-egl \
"
ALLOW_EMPTY:${PN} = "1"
@@ -23,13 +23,10 @@ QT_LITE = " \
qtwayland \
qtgraphicaleffects-qmlplugins \
qtsvg-plugins \
- qtwebsockets \
- qtwebsockets-qmlplugins \
- qtcompositor-conf \
"
RDEPENDS:${PN}:append = " \
${QT_LITE} \
"
-RDEPENDS:profile-cluster-qt5 = "${PN}"
+RDEPENDS:profile-cluster-qt5-egl = "${PN}"
diff --git a/recipes-qt/qt/qtbase_agldemo.inc b/recipes-qt/qt/qtbase_agldemo.inc
index 5e6477985..48d96b2dc 100644
--- a/recipes-qt/qt/qtbase_agldemo.inc
+++ b/recipes-qt/qt/qtbase_agldemo.inc
@@ -1 +1,5 @@
+# Enable EGL and KMS platform plugins to allow demos of Qt compositor
+# without Wayland
+PACKAGECONFIG_GL:append = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', ' eglfs kms gbm', '', d)}"
+
PACKAGECONFIG:append = " icu fontconfig sql-sqlite"