From 49a85681e52d1f568a5bb6086d7e14af701ac6dc Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Tue, 20 Feb 2024 15:17:17 -0500 Subject: Enable running audio services on host for KVM demo Changes: - Add agl-kvm-host-audio feature for configuring other changes. - Make installation of packagegroup-agl-ivi-service-platform in the KVM host versus IVI images dependent on the agl-kvm-host-audio feature. Some recipe dependencies are tweaked by the feature being specified to avoid accidentally pulling things into the IVI guest images. - Add KVM demo specific configuration for applications affected by running the databroker on the host versus in the IVI guest, and use it if the agl-kvm-host-kuksa feature is enabled. Bug-AGL: SPEC-5082 Change-Id: I3a6e6216a90e4d260c20f0b048e6332466aef4ff Signed-off-by: Scott Murray Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29702 ci-image-boot-test: Jenkins Job builder account ci-image-build: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller Tested-by: Jenkins Job builder account --- recipes-platform/images/agl-image-ivi.bb | 2 +- recipes-platform/images/agl-ivi-demo-features.inc | 7 ++++++- .../images/agl-ivi-demo-platform-flutter.bb | 2 ++ recipes-platform/images/agl-ivi-demo-platform.bb | 1 + recipes-platform/images/agl-kvm-demo-platform.bb | 23 ++++++++++++++++++++++ .../packagegroup-agl-demo-cluster-support.bb | 15 -------------- .../packagegroup-agl-ivi-multimedia.bb | 2 +- 7 files changed, 34 insertions(+), 18 deletions(-) delete mode 100644 recipes-platform/packagegroups/packagegroup-agl-demo-cluster-support.bb (limited to 'recipes-platform') diff --git a/recipes-platform/images/agl-image-ivi.bb b/recipes-platform/images/agl-image-ivi.bb index 165a45b0..69d0ed99 100644 --- a/recipes-platform/images/agl-image-ivi.bb +++ b/recipes-platform/images/agl-image-ivi.bb @@ -14,7 +14,7 @@ IMAGE_INSTALL += " \ packagegroup-agl-ivi-navigation \ packagegroup-agl-ivi-identity \ packagegroup-agl-ivi-services-applaunchd \ - packagegroup-agl-ivi-services-platform \ + ${@bb.utils.contains("AGL_FEATURES", "agl-kvm-host-audio", "", "packagegroup-agl-ivi-services-platform", d)} \ iproute2 \ " diff --git a/recipes-platform/images/agl-ivi-demo-features.inc b/recipes-platform/images/agl-ivi-demo-features.inc index eb4d253c..9aabaafe 100644 --- a/recipes-platform/images/agl-ivi-demo-features.inc +++ b/recipes-platform/images/agl-ivi-demo-features.inc @@ -1,7 +1,12 @@ require agl-demo-features.inc FEATURE_PACKAGES_agl-demo-preload = "packagegroup-agl-demo-preload" -FEATURE_PACKAGES_agl-demo-cluster-support = "packagegroup-agl-demo-cluster-support" + +FEATURE_PACKAGES_agl-demo-cluster-support = " \ + tbtnavi \ + ${@bb.utils.contains("AGL_FEATURES", "agl-kvm-host-kuksa", "tbtnavi-conf-kvm-demo", "tbtnavi-conf", d)} \ + ${@bb.utils.contains("AGL_FEATURES", "agl-kvm-host-kuksa", "", "kuksa-databroker-agl-demo-cluster", d)} \ +" IMAGE_FEATURES += " \ ${@bb.utils.contains("DISTRO_FEATURES", "agl-devel", "can-test-tools" , "", d)} \ diff --git a/recipes-platform/images/agl-ivi-demo-platform-flutter.bb b/recipes-platform/images/agl-ivi-demo-platform-flutter.bb index a50c00bf..558acd12 100644 --- a/recipes-platform/images/agl-ivi-demo-platform-flutter.bb +++ b/recipes-platform/images/agl-ivi-demo-platform-flutter.bb @@ -4,5 +4,7 @@ DESCRIPTION = "AGL Flutter Demo Platform image" AGL_APPS_INSTALL += " \ flutter-ics-homescreen \ + ${@bb.utils.contains("AGL_FEATURES", "agl-kvm-host-kuksa", "flutter-ics-homescreen-conf-kvm-demo", "flutter-ics-homescreen-conf", d)} \ ondemandnavi \ + ${@bb.utils.contains("AGL_FEATURES", "agl-kvm-host-kuksa", "ondemandnavi-conf-kvm-demo", "ondemandnavi-conf", d)} \ " diff --git a/recipes-platform/images/agl-ivi-demo-platform.bb b/recipes-platform/images/agl-ivi-demo-platform.bb index 318bae46..2854462c 100644 --- a/recipes-platform/images/agl-ivi-demo-platform.bb +++ b/recipes-platform/images/agl-ivi-demo-platform.bb @@ -6,6 +6,7 @@ AGL_APPS_INSTALL += " \ dashboard \ hvac \ ondemandnavi \ + ${@bb.utils.contains("AGL_FEATURES", "agl-kvm-host-kuksa", "ondemandnavi-conf-kvm-demo", "ondemandnavi-conf", d)} \ settings \ mediaplayer \ messaging \ diff --git a/recipes-platform/images/agl-kvm-demo-platform.bb b/recipes-platform/images/agl-kvm-demo-platform.bb index feafe2e1..ddb2ddb4 100644 --- a/recipes-platform/images/agl-kvm-demo-platform.bb +++ b/recipes-platform/images/agl-kvm-demo-platform.bb @@ -30,6 +30,29 @@ IMAGE_INSTALL += " \ alsa-utils \ " +# Until virtio sound is workable with QEMU, run the audio using +# services on the host for a better demo experience. At the +# moment, this also includes the HVAC service since it does not +# make sense to try to make things more fine-grained with respect +# to configuration for where things expect to find the databroker. +# It will need to be revisited when virtio-snd, virtio-gpio, etc. +# become feasible to use. +HOST_AUDIO_INSTALL = " \ + packagegroup-agl-ivi-services-platform \ + agl-service-radio-conf-kvm-demo \ + packagegroup-pipewire \ + wireplumber-config-agl \ + wireplumber-policy-config-agl \ + mpd \ + udisks2 \ + ${@bb.utils.contains("DISTRO_FEATURES", "agl-devel", "packagegroup-pipewire-tools mpc" , "", d)} \ +" + +IMAGE_INSTALL += "\ + ${@bb.utils.contains("AGL_FEATURES", "agl-kvm-host-kuksa", "kuksa-databroker-agl-demo-cluster", "", d)} \ + ${@bb.utils.contains("AGL_FEATURES", "agl-kvm-host-audio", "${HOST_AUDIO_INSTALL}", "", d)} \ +" + # Potential size reduction options #IMAGE_LINGUAS = " " #NO_RECOMMENDATIONS = "1" diff --git a/recipes-platform/packagegroups/packagegroup-agl-demo-cluster-support.bb b/recipes-platform/packagegroups/packagegroup-agl-demo-cluster-support.bb deleted file mode 100644 index 10e26dc9..00000000 --- a/recipes-platform/packagegroups/packagegroup-agl-demo-cluster-support.bb +++ /dev/null @@ -1,15 +0,0 @@ -SUMMARY = "Extra software and configuration for cluster demo with AGL IVI profile demo platform" - -LICENSE = "MIT" - -inherit packagegroup - -PROVIDES = "${PACKAGES}" -PACKAGES = "\ - packagegroup-agl-demo-cluster-support \ -" - -RDEPENDS:${PN} += "\ - tbtnavi \ - kuksa-databroker-agl-demo-cluster \ -" diff --git a/recipes-platform/packagegroups/packagegroup-agl-ivi-multimedia.bb b/recipes-platform/packagegroups/packagegroup-agl-ivi-multimedia.bb index 8865a9f0..78c96faf 100644 --- a/recipes-platform/packagegroups/packagegroup-agl-ivi-multimedia.bb +++ b/recipes-platform/packagegroups/packagegroup-agl-ivi-multimedia.bb @@ -21,5 +21,5 @@ RDEPENDS:${PN} += "\ ${@bb.utils.contains('DISTRO_FEATURES', 'pipewire', '${PIPEWIRE_PACKAGES}', '', d)} \ gstreamer1.0-plugins-base-meta \ gstreamer1.0-plugins-good-meta \ - mpd \ + ${@bb.utils.contains('AGL_FEATURES', 'agl-kvm-host-audio', '', 'mpd', d)} \ " -- cgit 1.2.3-korg