--- /dev/null
+# We have a conf and classes directory, add to BBPATH
+BBPATH =. "${LAYERDIR}:"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "agl-kvm-demo-layer"
+BBFILE_PATTERN_agl-kvm-demo-layer = "^${LAYERDIR}/"
+BBFILE_PRIORITY_agl-kvm-demo-layer = "70"
+
+LAYERSERIES_COMPAT_agl-kvm-demo-layer = "kirkstone"
+
+LAYERDEPENDS_agl-kvm-demo-layer = "agldemo"
+
QEMU_MEM_OPT="-m 1G"
QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:03,netdev=net0"
QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=2048M video=Virtual-1:1920x1080"
+QEMU_XDG_APP_ID="agl-cluster-demo"
QEMU_TASKSET_CPUS="4-7"
-QEMU_SMP_OPT="-smp 4"
-QEMU_MEM_OPT="-m 2G"
+QEMU_SMP_OPT="-smp 2"
+QEMU_MEM_OPT="-m 1G"
QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:03,netdev=net0"
QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=2048M video=Virtual-1:1920x1080"
+QEMU_XDG_APP_ID="agl-cluster-demo"
QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:02,netdev=net0"
QEMU_CAN_OPT="-object can-bus,id=canbus0 -object can-host-socketcan,id=canhost0,if=can0,canbus=canbus0 -device kvaser_pci,canbus=canbus0"
QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=4196M video=Virtual-1:1920x1080"
+QEMU_XDG_APP_ID="agl-ivi-demo"
QEMU_NET_OPT="-netdev bridge,br=vmnet0,id=net0 -device virtio-net-device,mac=52:54:00:12:00:02,netdev=net0"
QEMU_CAN_OPT="-object can-bus,id=canbus0 -object can-host-socketcan,id=canhost0,if=can0,canbus=canbus0 -device kvaser_pci,canbus=canbus0"
QEMU_KERNEL_CMDLINE_APPEND="root=/dev/vda rw mem=4196M video=Virtual-1:1920x1080"
+QEMU_XDG_APP_ID="agl-ivi-demo"
--- /dev/null
+require qemu-config-agl-cluster-demo-flutter-guest.bb
+
+QEMU_IMAGE = "agl-cluster-demo-flutter-guest-preconfigured"
do_configure[noexec] = "1"
do_compile[noexec] = "1"
-QEMU_IMAGE = "agl-cluster-demo-flutter"
+QEMU_IMAGE = "agl-cluster-demo-flutter-guest"
QEMU_UNIT = "agl-qemu-runner@${QEMU_IMAGE}.service"
do_install() {
--- /dev/null
+require qemu-config-agl-ivi-demo-flutter-guest.bb
+
+QEMU_IMAGE = "agl-ivi-demo-flutter-guest-preconfigured"
do_configure[noexec] = "1"
do_compile[noexec] = "1"
-QEMU_IMAGE = "agl-ivi-demo-flutter"
+QEMU_IMAGE = "agl-ivi-demo-flutter-guest"
QEMU_UNIT = "agl-qemu-runner@${QEMU_IMAGE}.service"
do_install() {
#export WAYLAND_DISPLAY=wayland-1
# This sets the XDG app id, which we need for setting outputs with
-# agl-compositor
-export SDL_VIDEO_WAYLAND_WMCLASS="${image}"
+# agl-compositor. If QEMU_XDG_APP_ID is not set, the image name
+# is used.
+export SDL_VIDEO_WAYLAND_WMCLASS="${QEMU_XDG_APP_ID:-${image}}"
${TASKSET_CMD} \
qemu-system-${arch} \
--- /dev/null
+require ${@bb.utils.contains('AGL_FEATURES', 'agldemo', 'weston-ini-conf_agldemo.inc', '', d)}
# A display is connected to HDMI-A-1
[output]
name=HDMI-A-1
-agl-shell-app-id=@GUEST_VM1_IMAGE@
+agl-shell-app-id=@GUEST_VM1_ID@
# A display is connected to HDMI-A-2
[output]
name=HDMI-A-2
-agl-shell-app-id=@GUEST_VM2_IMAGE@
+agl-shell-app-id=@GUEST_VM2_ID@
--- /dev/null
+FILESEXTRAPATHS:prepend := "${THISDIR}/weston-ini-conf:"
+
+SRC_URI += "file://weston.ini.kvm.in"
+
+REMOTING_KVM_OUTPUT_HOST ?= "172.16.10.3"
+
+# Default app IDs for KVM guests
+GUEST_VM1_ID ?= "agl-ivi-demo"
+GUEST_VM2_ID ?= "agl-cluster-demo"
+
+do_configure:append() {
+ # KVM guest cluster version
+ sed -e "s#host=.*#host=${REMOTING_KVM_OUTPUT_HOST}#" \
+ -e "s#port=.*#port=${REMOTING_OUTPUT_PORT}#" \
+ ${WORKDIR}/remote-output.cfg.in > ${WORKDIR}/remote-output-kvm.cfg
+}
+
+do_compile:append() {
+ # Create KVM 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-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_ID}/g" \
+ -e "s/@GUEST_VM2_ID@/${GUEST_VM2_ID}/g" \
+ ${WORKDIR}/weston.ini.kvm.in > ${WORKDIR}/weston.ini.kvm
+}
+
+do_install:append() {
+ install -m 0644 ${WORKDIR}/weston.ini.default-remoting-kvm ${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-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-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"
--- /dev/null
+require agl-cluster-demo-flutter-guest.bb
+
+SUMMARY = "AGL KVM demo guest preconfigured cluster Flutter image"
+
+# The cluster screen is rotated in the full demo setup, so the
+# default compositor configuration needs to be replaced.
+IMAGE_INSTALL:remove = "weston-ini-conf-landscape"
+
+IMAGE_INSTALL += " \
+ psplash-inverted-config \
+ weston-ini-conf-landscape-inverted \
+"
--- /dev/null
+require recipes-platform/images/agl-cluster-demo-flutter.bb
+
+SUMMARY = "AGL KVM demo guest cluster Flutter image"
+
+# We do not want a local databroker instance
+IMAGE_FEATURES:remove = "kuksa-val-databroker"
+
+FLUTTER_CLUSTER_DASHBOARD_CONF = "flutter-cluster-dashboard-conf-kvm-demo"
--- /dev/null
+require agl-ivi-demo-flutter-guest.bb
+
+SUMMARY = "AGL KVM demo preconfigured guest IVI Flutter image"
+
+# KUKSA.val always runs externally
+IMAGE_FEATURES:remove = "kuksa-val-databroker"
+
+# Everything runs on the host for now
+PLATFORM_SERVICES_INSTALL = ""
+
+# We do not want weston-terminal visible
+IMAGE_INSTALL:remove = "weston-terminal-conf"
--- /dev/null
+require recipes-platform/images/agl-ivi-demo-flutter.bb
+
+SUMMARY = "AGL KVM demo guest IVI Flutter image"
+
+# We assume there's always a cluster in the KVM demo
+IMAGE_FEATURES += "agl-demo-cluster-support"
+
+FLUTTER_ICS_HOMESCREEN_CONF = "flutter-ics-homescreen-conf-kvm-demo"
+ONDEMANDNAVI_CONF = "ondemandnavi-conf-kvm-demo"
+TBTNAVI_CONF = "tbtnavi-conf-kvm-demo"
+
+IMAGE_INSTALL += " \
+ weston-ini-conf-remoting-kvm \
+"
--- /dev/null
+LICENSE = "MIT"
+
+require agl-kvm-demo.bb
+
+SUMMARY = "AGL KVM+QEMU preconfigured Flutter demo image"
+
+# If building with "agl-kvm-host-kuksa", the databroker and likely
+# some clients run on the host
+IMAGE_FEATURES += " \
+ kuksa-val-databroker \
+ kuksa-val-databroker-client \
+"
+
+# 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 \
+ packagegroup-agl-ivi-multimedia-platform \
+ agl-service-radio-conf-kvm-demo \
+ packagegroup-pipewire \
+ wireplumber-config-agl \
+ wireplumber-policy-config-agl \
+ udisks2 \
+ ${@bb.utils.contains("DISTRO_FEATURES", "agl-devel", "packagegroup-pipewire-tools mpc" , "", d)} \
+"
+
+IMAGE_INSTALL += "\
+ kuksa-databroker-agl-demo-cluster \
+ ${HOST_AUDIO_INSTALL} \
+"
+
+GUEST_VM1_IMAGE = "agl-ivi-demo-flutter-guest-preconfigured"
+GUEST_VM2_IMAGE = "agl-cluster-demo-flutter-guest-preconfigured"
-SUMMARY = "AGL KVM+QEMU Demo Platform image."
+SUMMARY = "AGL KVM+QEMU demo image"
LICENSE = "MIT"
require recipes-platform/images/agl-image-compositor.bb
-require agl-demo-features.inc
+require recipes-platform/images/agl-demo-features.inc
IMAGE_FEATURES += "splash package-management ssh-server-openssh"
-# If building with "agl-kvm-host-kuksa", the databroker and likely
-# some clients run on the host
IMAGE_FEATURES += " \
- ${@bb.utils.contains("AGL_FEATURES", "agl-kvm-host-kuksa", "kuksa-val-databroker kuksa-val-databroker-client", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "agl-devel", "can-test-tools" , "", d)} \
"
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"
GUEST_MACHINE ?= "virtio-${TUNE_ARCH}"
-GUEST_VM1_IMAGE ?= "agl-ivi-demo-flutter"
-GUEST_VM2_IMAGE ?= "agl-cluster-demo-flutter"
+GUEST_VM1_IMAGE ?= "agl-ivi-demo-flutter-guest"
+GUEST_VM2_IMAGE ?= "agl-cluster-demo-flutter-guest"
GUEST_IMAGES ?= "agl-kvm-guest:${GUEST_VM1_IMAGE} agl-kvm-guest:${GUEST_VM2_IMAGE}"
+++ /dev/null
-SUMMARY = "Setting files for agl-cluster-demo-plaform guest VM"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-inherit systemd allarch
-
-SRC_URI = "file://${QEMU_IMAGE}.conf"
-
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
-QEMU_IMAGE = "agl-cluster-demo-qt"
-QEMU_UNIT = "agl-qemu-runner@${QEMU_IMAGE}.service"
-
-do_install() {
- # Install template unit links
- install -d ${D}${systemd_system_unitdir}
- ln -sf agl-qemu-runner@.service ${D}${systemd_system_unitdir}/${QEMU_UNIT}
- install -d ${D}${systemd_system_unitdir}/multi-user.target.wants
- ln -sf ${systemd_system_unitdir}/${QEMU_UNIT} ${D}${systemd_system_unitdir}/multi-user.target.wants/${QEMU_UNIT}
-
- # Install conf file
- install -d ${D}${sysconfdir}/agl-qemu-runner
- install -m 0644 ${WORKDIR}/${QEMU_IMAGE}.conf ${D}${sysconfdir}/agl-qemu-runner/
-}
-
-FILES:${PN} += "${systemd_system_unitdir}"
-
-RDEPENDS:${PN} += "agl-qemu-runner qemu-config-vmnet0"
+++ /dev/null
-SUMMARY = "Setting files for agl-demo-plaform guest VM"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-inherit systemd allarch
-
-SRC_URI = "file://${QEMU_IMAGE}.conf"
-
-do_configure[noexec] = "1"
-do_compile[noexec] = "1"
-
-QEMU_IMAGE = "agl-ivi-demo-qt"
-QEMU_UNIT = "agl-qemu-runner@${QEMU_IMAGE}.service"
-
-do_install() {
- # Install template unit links
- install -d ${D}${systemd_system_unitdir}
- ln -sf agl-qemu-runner@.service ${D}${systemd_system_unitdir}/${QEMU_UNIT}
- install -d ${D}${systemd_system_unitdir}/multi-user.target.wants
- ln -sf ${systemd_system_unitdir}/${QEMU_UNIT} ${D}${systemd_system_unitdir}/multi-user.target.wants/${QEMU_UNIT}
-
- # Install conf file
- install -d ${D}${sysconfdir}/agl-qemu-runner
- install -m 0644 ${WORKDIR}/${QEMU_IMAGE}.conf ${D}${sysconfdir}/agl-qemu-runner/
-}
-
-FILES:${PN} += "${systemd_system_unitdir}"
-
-RDEPENDS:${PN} += "agl-qemu-runner qemu-config-vmnet0"
--- /dev/null
+hostname: 172.16.10.1
+authorization : "/etc/xdg/AGL/cluster-dashboard/cluster-dashboard.token"
+use-tls : true
+tls-server-name : "localhost"
file://flutter_cluster_dashboard_on_bg.json \
file://cluster-dashboard.yaml \
file://cluster-dashboard.yaml.demo \
+ file://cluster-dashboard.yaml.kvm-demo \
file://cluster-dashboard.token \
file://kvm.conf \
"
inherit flutter-app update-alternatives systemd
-CLUSTER_DEMO_VSS_HOSTNAME ??= "192.168.10.2"
-
APP_CONFIG = "flutter_cluster_dashboard_on_bg.json"
SYSTEMD_SERVICE:${PN} = "flutter-cluster-dashboard.service"
install -d ${D}${sysconfdir}/xdg/AGL/cluster-dashboard
install -m 0644 ${WORKDIR}/cluster-dashboard.yaml ${D}${sysconfdir}/xdg/AGL/cluster-dashboard.yaml.default
install -m 0644 ${WORKDIR}/cluster-dashboard.yaml.demo ${D}${sysconfdir}/xdg/AGL/
- sed -i "s/^hostname: .*/hostname: ${CLUSTER_DEMO_VSS_HOSTNAME}/" ${D}${sysconfdir}/xdg/AGL/cluster-dashboard.yaml.demo
+ install -m 0644 ${WORKDIR}/cluster-dashboard.yaml.kvm-demo ${D}${sysconfdir}/xdg/AGL/
install -m 0644 ${WORKDIR}/cluster-dashboard.token ${D}${sysconfdir}/xdg/AGL/cluster-dashboard/
}
RDEPENDS:${PN} += "flutter-auto agl-flutter-env liberation-fonts"
-PACKAGE_BEFORE_PN += "${PN}-conf ${PN}-conf-demo"
+PACKAGE_BEFORE_PN += "${PN}-conf ${PN}-conf-demo ${PN}-conf-kvm-demo"
FILES:${PN}-conf += "${sysconfdir}/xdg/AGL/cluster-dashboard.yaml.default"
RDEPENDS:${PN}-conf = "${PN}"
FILES:${PN}-conf-demo += " \
${sysconfdir}/xdg/AGL/cluster-dashboard.yaml.demo \
- ${systemd_system_unitdir}/flutter-cluster-dashboard.service.d/kvm.conf \
"
RDEPENDS:${PN}-conf-demo = "${PN}"
RPROVIDES:${PN}-conf-demo = "cluster-dashboard.yaml"
RCONFLICTS:${PN}-conf-demo = "${PN}-conf"
ALTERNATIVE:${PN}-conf-demo = "cluster-dashboard.yaml"
ALTERNATIVE_TARGET_${PN}-conf-demo = "${sysconfdir}/xdg/AGL/cluster-dashboard.yaml.demo"
+
+FILES:${PN}-conf-kvm-demo += " \
+ ${sysconfdir}/xdg/AGL/cluster-dashboard.yaml.kvm-demo \
+ ${systemd_system_unitdir}/flutter-cluster-dashboard.service.d/kvm.conf \
+"
+RDEPENDS:${PN}-conf-kvm-demo = "${PN}"
+RPROVIDES:${PN}-conf-kvm-demo = "cluster-dashboard.yaml"
+RCONFLICTS:${PN}-conf-kvm-demo = "${PN}-conf"
+ALTERNATIVE:${PN}-conf-kvm-demo = "cluster-dashboard.yaml"
+ALTERNATIVE_TARGET_${PN}-conf-kvm-demo = "${sysconfdir}/xdg/AGL/cluster-dashboard.yaml.kvm-demo"
flutter-auto \
agl-flutter-env \
applaunchd \
- ${@bb.utils.contains('AGL_FEATURES', 'agl-kvm-host-audio', '', 'agl-service-radio mpd', d)} \
"
PACKAGE_BEFORE_PN += "${PN}-conf ${PN}-conf-kvm-demo"
RRECOMMENDS:${PN} += " \
bluez5 \
connman \
- ${@bb.utils.contains('AGL_FEATURES', 'agl-kvm-host-audio', '', 'mpd', d)} \
"
BBCLASSEXTEND = "nativesdk"
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"
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
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"
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"
# Cluster application configuration needs to be replaced for
# the full demo to handle different databroker configuration.
-IMAGE_INSTALL:remove = "flutter-cluster-dashboard-conf"
+FLUTTER_CLUSTER_DASHBOARD_CONF = "flutter-cluster-dashboard-conf-demo"
IMAGE_INSTALL += " \
psplash-inverted-config \
weston-ini-conf-landscape-inverted \
- flutter-cluster-dashboard-conf-demo \
"
"
# Flutter
+FLUTTER_CLUSTER_DASHBOARD_CONF = "flutter-cluster-dashboard-conf"
+
IMAGE_INSTALL += "\
flutter-auto \
flutter-cluster-dashboard \
- flutter-cluster-dashboard-conf \
+ ${FLUTTER_CLUSTER_DASHBOARD_CONF} \
cluster-demo-config-flutter \
"
require agl-demo-features.inc
+TBTNAVI_CONF = "tbtnavi-conf"
+
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)} \
+ ${TBTNAVI_CONF} \
+ kuksa-databroker-agl-demo-cluster \
"
IMAGE_FEATURES += " \
+ kuksa-val-databroker \
kuksa-val-databroker-client \
${@bb.utils.contains("DISTRO_FEATURES", "agl-devel", "can-test-tools" , "", d)} \
- ${@bb.utils.contains("AGL_FEATURES", "agl-kvm-host-kuksa", "", "kuksa-val-databroker", d)} \
"
SUMMARY = "AGL IVI demo Flutter image"
+FLUTTER_ICS_HOMESCREEN_CONF = "flutter-ics-homescreen-conf"
+ONDEMANDNAVI_CONF = "ondemandnavi-conf"
+
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)} \
+ ${FLUTTER_ICS_HOMESCREEN_CONF} \
camera-gstreamer \
ondemandnavi \
- ${@bb.utils.contains("AGL_FEATURES", "agl-kvm-host-kuksa", "ondemandnavi-conf-kvm-demo", "ondemandnavi-conf", d)} \
+ ${ONDEMANDNAVI_CONF} \
"
SUMMARY = "AGL IVI demo Qt image"
+ONDEMANDNAVI_CONF = "ondemandnavi-conf"
+
AGL_APPS_INSTALL += " \
dashboard \
hvac \
ondemandnavi \
- ${@bb.utils.contains("AGL_FEATURES", "agl-kvm-host-kuksa", "ondemandnavi-conf-kvm-demo", "ondemandnavi-conf", d)} \
+ ${ONDEMANDNAVI_CONF} \
settings \
mediaplayer \
messaging \
AGL_APPS_INSTALL = ""
+PLATFORM_SERVICES_INSTALL = " \
+ packagegroup-agl-ivi-multimedia-platform \
+ packagegroup-agl-ivi-services-platform \
+"
+
IMAGE_INSTALL += " \
packagegroup-agl-ivi-connectivity \
packagegroup-agl-ivi-graphics \
- packagegroup-agl-ivi-multimedia \
+ packagegroup-agl-ivi-multimedia-client \
packagegroup-agl-ivi-multimedia-hardware \
packagegroup-agl-ivi-navigation \
packagegroup-agl-ivi-identity \
packagegroup-agl-ivi-services-applaunchd \
+ ${PLATFORM_SERVICES_INSTALL} \
iproute2 \
${AGL_APPS_INSTALL} \
${@bb.utils.contains("DISTRO_FEATURES", "agl-devel", "${AGL_DEVEL_INSTALL}" , "", d)} \
- ${@bb.utils.contains("AGL_FEATURES", "agl-kvm-host-audio", "", "packagegroup-agl-ivi-services-platform", d)} \
"
PACKAGES = "\
packagegroup-agl-ivi-multimedia \
- "
+ packagegroup-agl-ivi-multimedia-client \
+ packagegroup-agl-ivi-multimedia-platform \
+"
ALLOW_EMPTY:${PN} = "1"
${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'packagegroup-pipewire-tools alsa-utils', '', d)} \
wireplumber-config-agl \
wireplumber-policy-config-agl \
- "
+"
-RDEPENDS:${PN} += "\
+RDEPENDS:${PN}-platform += " \
+ mpd \
+"
+
+RDEPENDS:${PN}-client += "\
${@bb.utils.contains('DISTRO_FEATURES', 'pipewire', '${PIPEWIRE_PACKAGES}', '', d)} \
gstreamer1.0-plugins-base-meta \
gstreamer1.0-plugins-good-meta \
- ${@bb.utils.contains('AGL_FEATURES', 'agl-kvm-host-audio', '', 'mpd', d)} \
- "
+"
+
+RDEPENDS:${PN} += "\
+ packagegroup-agl-ivi-multimedia-client \
+ packagegroup-agl-ivi-multimedia-platform \
+"
\ No newline at end of file
agl-service-hvac \
agl-service-audiomixer \
agl-service-radio \
+ mpd \
"
RDEPENDS:${PN} += " \
+++ /dev/null
-AGL_FEATURES += "agl-kvm-host-audio"
+++ /dev/null
----
-description: Feature agl-kvm-host-audio
-authors: Scott Murray <scott.murray@konsulko.com>
----
-
-### Feature agl-kvm-host-audio
-
-* Enables support for running audio services on host in KVM+QEMU demo images
-
-### Dependent features pulled by agl-kvm-host-audio
-
-The following features are pulled:
-
-* agl-kvm agl-kvm-host-kuksa
-
-Note that enabling this feature results in a configuration where building images
-other than agl-kvm-demo-platform will likely not give the desired results.
+++ /dev/null
-agl-kvm agl-kvm-host-kuksa
+++ /dev/null
-AGL_FEATURES += "agl-kvm-host-kuksa"
+++ /dev/null
----
-description: Feature agl-kvm-host-kuksa
-authors: Scott Murray <scott.murray@konsulko.com>
----
-
-### Feature agl-kvm-host-kuksa
-
-* Enables support for running KUKSA.val databroker on host in KVM+QEMU demo images
-
-### Dependent features pulled by agl-kvm-host-kuksa
-
-The following features are pulled:
-
-* agl-kvm
-
-Note that enabling this feature results in a configuration where building images
-other than agl-kvm-demo-platform will likely not give the desired results.
AGL_META_NETWORKING = "${METADIR}/external/meta-openembedded/meta-networking"
AGL_META_FILESYSTEMS = "${METADIR}/external/meta-openembedded/meta-filesystems"
AGL_META_VIRTUALIZATION = "${METADIR}/external/meta-virtualization"
+
+BBLAYERS =+ " \
+ ${METADIR}/meta-agl-demo/meta-agl-kvm-demo \
+"