summaryrefslogtreecommitdiffstats
path: root/recipes-graphics
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2024-05-01 16:57:17 -0400
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2024-05-27 13:15:38 +0000
commitea7e39dc258c5e7d3a46ffb31b3321331ba9e900 (patch)
treed48c8892f498323b8b8389839e18017e9ea76b93 /recipes-graphics
parent7069907215c5eaeacc874720b1198d3249cc4b57 (diff)
Replace agl-demo* features with preconfigured images
Changes: - Remove the agl-demo-preload and agl-demo-cluster-support setup features. - Make the agl-weston-remoting setup feature a dependency of the agl-demo feature. To accommodate this with respect to avoiding putting the remote-output display configuration into generated weston.ini files when not required, the logic for that has been moved from meta-agl-core's weston-ini-conf recipe, and extra weston-ini-conf-* packages with the remote output support enabled are now generated to be used in images when required. - Add *-preconfigured versions of the images useful in a full demo setup (i.e. with "green machine" for tradeshows). These images have the configuration tweaks that the build setup features enabled with conditional logic baked in. - Remove now unnecessary connman-conf bbappend, we now assume that the IVI and cluster IP addresses are assigned as 192.168.10.2 and 192.168.10.3 via DHCP in a full demo setup. Notes: - The cluster support in the *-preconfigured images assumes that the IVI board is at IP address 192.168.10.2, and both boards are in the 192.168.10.x subnet. Bug-AGL: SPEC-5138 Change-Id: Icc472c6b602fa8fa5570af6cb0acaef853cbfa0f Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl-demo/+/29866 ci-image-build: Jenkins Job builder account Tested-by: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'recipes-graphics')
-rw-r--r--recipes-graphics/wayland/weston-ini-conf/remote-output.cfg.in5
-rw-r--r--recipes-graphics/wayland/weston-ini-conf_agldemo.inc88
2 files changed, 86 insertions, 7 deletions
diff --git a/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg.in b/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg.in
new file mode 100644
index 00000000..940cbdd0
--- /dev/null
+++ b/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg.in
@@ -0,0 +1,5 @@
+[remote-output]
+name=remote-1
+mode=640x720@30
+host=192.168.10.3
+port=5005
diff --git a/recipes-graphics/wayland/weston-ini-conf_agldemo.inc b/recipes-graphics/wayland/weston-ini-conf_agldemo.inc
index 5c7b9fee..11818f68 100644
--- a/recipes-graphics/wayland/weston-ini-conf_agldemo.inc
+++ b/recipes-graphics/wayland/weston-ini-conf_agldemo.inc
@@ -1,28 +1,102 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/weston-ini-conf:"
-SRC_URI += "file://weston.ini.kvm.in"
+SRC_URI += " \
+ file://remote-output.cfg.in \
+ file://weston.ini.kvm.in \
+"
+# Options for the user to change in local.conf
+# e.g. REMOTING_OUTPUT_MODE = "1080x1488"
+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() {
- # Start with a canned configuration for a KVM host, filling in
+ # Create regular and 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
+ 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_IMAGE@/${GUEST_VM1_IMAGE}/g" \
- -e "s/@GUEST_VM2_IMAGE@/${GUEST_VM2_IMAGE}/g" \
+ 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}/
}
-PACKAGE_BEFORE_PN += "${PN}-kvm"
+# remoting
-FILES:${PN}-kvm = "${weston_ini_dir}/weston.ini.kvm"
+PACKAGE_BEFORE_PN += "${PN}-remoting"
+FILES:${PN}-remoting = "${weston_ini_dir}/weston.ini.default-remoting"
+RPROVIDES:${PN}-remoting = "weston-ini"
+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"
+FILES:${PN}-landscape-remoting = "${weston_ini_dir}/weston.ini.landscape-remoting"
+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"
-RCONFLICTS:${PN}-kvm = "${PN}"
ALTERNATIVE:${PN}-kvm = "weston.ini"
ALTERNATIVE_TARGET_${PN}-kvm = "${weston_ini_dir}/weston.ini.kvm"
+ALTERNATIVE_PRIORITY_${PN}-kvm = "40"