From 2e0fd28b2470f6d81bfb1b0b273af5742060ed6a Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Sun, 12 May 2024 15:28:59 -0400 Subject: Rework KVM demo configuration Changes: - Move KVM demo configuration and image recipes to a new sub-layer, meta-agl-kvm-demo, to keep things that may not be buildable with just the agl-demo feature separate to avoid confusion. It will hopefully also avoid clutter in recipes-platform/images. This sub-layer is pulled in when the agl-kvm setup feature is given to aglsetup.sh. - Remove the agl-kvm-host-kuksa and agl-kvm-host-audio setup features. - Add new *-guest and *-guest-preconfigured flavors of the Flutter IVI and IC images under meta-agl-kvm-demo that that have the desired configuration changes baked in. - Add required qemu-config recipe variants for the new guest image flavors. At the moment there is more duplication of configuration for this than is desired, and some reworking of agl-qemu-runner configuration may come as a follow up to avoid this. - Remove qemu-config recipe variants for unused Qt guest images. If it becomes desirable to use the Qt demo images as guests this can be revisited. - Added agl-kvm-demo-flutter-preconfigured image variant that supports the full demo setup (i.e. "green machine" with steering wheel, equivalent to CES 2024 demos). NOTES: - The agl-kvm-demo image remains and builds roughly the same image as before, with the KUKSA.val databroker running in the IVI guest and cluster support enabled. Replacing this image with a bbclass abstraction and an e.g. agl-kvm-demo-flutter image is under consideration. Bug-AGL: SPEC-5138 Change-Id: I64936208fd032e5ba47366e3a7ff572dc18338e4 Signed-off-by: Scott Murray Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29918 ci-image-build: Jenkins Job builder account Tested-by: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account --- .../wayland/weston-ini-conf/weston.ini.kvm.in | 18 ------- .../wayland/weston-ini-conf_agldemo.inc | 59 ++-------------------- 2 files changed, 3 insertions(+), 74 deletions(-) delete mode 100644 recipes-graphics/wayland/weston-ini-conf/weston.ini.kvm.in (limited to 'recipes-graphics') diff --git a/recipes-graphics/wayland/weston-ini-conf/weston.ini.kvm.in b/recipes-graphics/wayland/weston-ini-conf/weston.ini.kvm.in deleted file mode 100644 index 79ca30cd..00000000 --- a/recipes-graphics/wayland/weston-ini-conf/weston.ini.kvm.in +++ /dev/null @@ -1,18 +0,0 @@ -[core] -backend=drm-backend.so -require-input=false -modules=systemd-notify.so - -[shell] -locking=true -panel-position=none - -# A display is connected to HDMI-A-1 -[output] -name=HDMI-A-1 -agl-shell-app-id=@GUEST_VM1_IMAGE@ - -# A display is connected to HDMI-A-2 -[output] -name=HDMI-A-2 -agl-shell-app-id=@GUEST_VM2_IMAGE@ diff --git a/recipes-graphics/wayland/weston-ini-conf_agldemo.inc b/recipes-graphics/wayland/weston-ini-conf_agldemo.inc index 11818f68..14290b99 100644 --- a/recipes-graphics/wayland/weston-ini-conf_agldemo.inc +++ b/recipes-graphics/wayland/weston-ini-conf_agldemo.inc @@ -1,9 +1,6 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/weston-ini-conf:" -SRC_URI += " \ - file://remote-output.cfg.in \ - file://weston.ini.kvm.in \ -" +SRC_URI += "file://remote-output.cfg.in" # Options for the user to change in local.conf # e.g. REMOTING_OUTPUT_MODE = "1080x1488" @@ -11,49 +8,26 @@ REMOTING_OUTPUT_MODE ??= "640x720@30" REMOTING_OUTPUT_HOST ??= "192.168.10.3" REMOTING_OUTPUT_PORT ??= "5005" -# Default app IDs for KVM guests -GUEST_VM1_IMAGE ?= "agl-ivi-demo-flutter" -GUEST_VM2_IMAGE ?= "agl-cluster-demo-flutter" - do_configure:append() { # Standalone cluster support version sed -e "s#host=.*#host=${REMOTING_OUTPUT_HOST}#" \ -e "s#port=.*#port=${REMOTING_OUTPUT_PORT}#" \ ${WORKDIR}/remote-output.cfg.in > ${WORKDIR}/remote-output.cfg - - # KVM guest cluster version - sed -e "s#host=.*#host=172.16.10.3#" \ - -e "s#port=.*#port=${REMOTING_OUTPUT_PORT}#" \ - ${WORKDIR}/remote-output.cfg.in > ${WORKDIR}/remote-output-kvm.cfg } do_compile:append() { - # Create regular and KVM remoting enabled versions of the default - # portrait and landscape demo IVI configurations + # Create remoting enabled versions of the default portrait + # and landscape demo IVI configurations for c in weston.ini.default weston.ini.landscape; do cp ${WORKDIR}/$c ${WORKDIR}/${c}-remoting echo >> ${WORKDIR}/${c}-remoting cat ${WORKDIR}/remote-output.cfg >> ${WORKDIR}/${c}-remoting - - cp ${WORKDIR}/$c ${WORKDIR}/${c}-remoting-kvm - echo >> ${WORKDIR}/${c}-remoting-kvm - cat ${WORKDIR}/remote-output-kvm.cfg >> ${WORKDIR}/${c}-remoting-kvm done - - # Create a canned configuration for the a KVM host, filling in - # the guest VM application ids to pin them to specific outputs. - rm -f ${WORKDIR}/weston.ini.kvm - sed -e "s/@GUEST_VM1_ID@/${GUEST_VM1_IMAGE}/g" \ - -e "s/@GUEST_VM2_ID@/${GUEST_VM2_IMAGE}/g" \ - ${WORKDIR}/weston.ini.kvm.in > ${WORKDIR}/weston.ini.kvm } do_install:append() { install -m 0644 ${WORKDIR}/weston.ini.default-remoting ${D}${weston_ini_dir}/ - install -m 0644 ${WORKDIR}/weston.ini.default-remoting-kvm ${D}${weston_ini_dir}/ install -m 0644 ${WORKDIR}/weston.ini.landscape-remoting ${D}${weston_ini_dir}/ - install -m 0644 ${WORKDIR}/weston.ini.landscape-remoting-kvm ${D}${weston_ini_dir}/ - install -m 0644 ${WORKDIR}/weston.ini.kvm ${D}${weston_ini_dir}/ } # remoting @@ -65,15 +39,6 @@ ALTERNATIVE:${PN}-remoting = "weston.ini" ALTERNATIVE_TARGET_${PN}-remoting = "${weston_ini_dir}/weston.ini.default-remoting" ALTERNATIVE_PRIORITY_${PN}-remoting = "30" -# remoting-kvm - -PACKAGE_BEFORE_PN += "${PN}-remoting-kvm" -FILES:${PN}-remoting-kvm = "${weston_ini_dir}/weston.ini.default-remoting-kvm" -RPROVIDES:${PN}-remoting-kvm = "weston-ini" -ALTERNATIVE:${PN}-remoting-kvm = "weston.ini" -ALTERNATIVE_TARGET_${PN}-remoting-kvm = "${weston_ini_dir}/weston.ini.default-remoting-kvm" -ALTERNATIVE_PRIORITY_${PN}-remoting-kvm = "35" - # landscape-remoting PACKAGE_BEFORE_PN += "${PN}-landscape-remoting" @@ -82,21 +47,3 @@ RPROVIDES:${PN}-landscape-remoting = "weston-ini" ALTERNATIVE:${PN}-landscape-remoting = "weston.ini" ALTERNATIVE_TARGET_${PN}-landscape-remoting = "${weston_ini_dir}/weston.ini.landscape-remoting" ALTERNATIVE_PRIORITY_${PN}-landscape-remoting = "31" - -# landscape-remoting-kvm - -PACKAGE_BEFORE_PN += "${PN}-landscape-remoting-kvm" -FILES:${PN}-landscape-remoting-kvm = "${weston_ini_dir}/weston.ini.landscape-remoting-kvm" -RPROVIDES:${PN}-landscape-remoting-kvm = "weston-ini" -ALTERNATIVE:${PN}-landscape-remoting-kvm = "weston.ini" -ALTERNATIVE_TARGET_${PN}-landscape-remoting-kvm = "${weston_ini_dir}/weston.ini.landscape-remoting-kvm" -ALTERNATIVE_PRIORITY_${PN}-landscape-remoting-kvm = "36" - -# kvm - -PACKAGE_BEFORE_PN += "${PN}-kvm" -FILES:${PN}-kvm = "${weston_ini_dir}/weston.ini.kvm" -RPROVIDES:${PN}-kvm = "weston-ini" -ALTERNATIVE:${PN}-kvm = "weston.ini" -ALTERNATIVE_TARGET_${PN}-kvm = "${weston_ini_dir}/weston.ini.kvm" -ALTERNATIVE_PRIORITY_${PN}-kvm = "40" -- cgit 1.2.3-korg