--- /dev/null
+# lxc basic setting
+lxc.rootfs.path = dir:/var/lib/machines/drm-lease-test-cluster
+lxc.signal.halt = SIGRTMIN+3
+lxc.signal.reboot = SIGTERM
+lxc.uts.name = "cluster"
+lxc.tty.max = 1
+lxc.pty.max = 1
+lxc.cap.drop = sys_module mac_admin mac_override sys_time
+
--- /dev/null
+# lxc environment variable setting
+lxc.environment = QT_QPA_PLATFORM=wayland
+lxc.environment = QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins/
+lxc.environment = QML_IMPORT_PATH=/usr/lib/qml/
+lxc.environment = QML2_IMPORT_PATH=/usr/lib/qml/
+lxc.environment = QT_WAYLAND_SHELL_INTEGRATION=xdg-shell
+lxc.environment = PIPEWIRE_RUNTIME_DIR=/var
+
--- /dev/null
+# lxc misc setting
+lxc.start.auto = @LXC_AUTO_START@
+
--- /dev/null
+# lxc mount setting
+lxc.mount.entry = /var/lib/lxc/drm-lease-test-cluster/system.conf etc/systemd/system.conf.d/10-environment.conf none bind,optional,create=file
+
+lxc.mount.auto = cgroup:mixed proc:mixed sys:mixed
+lxc.mount.entry = shm /dev/shm tmpfs defaults 0 0
+lxc.mount.entry = /sys/kernel/security sys/kernel/security none ro,bind,optional 0 0
+lxc.mount.entry = tmpfs run tmpfs defaults
+lxc.mount.entry = /run/udev/data run/udev/data none ro,bind,optional,create=dir
+
+lxc.cgroup.devices.allow = c 226:* rwm
+lxc.mount.entry = /dev/dri dev/dri none bind,optional,create=dir
+
+lxc.mount.entry = /run/drm-lease-manager/lease-ivi var/display/drm-lease-manager/lease none bind,create=file
+
+lxc.cgroup.devices.allow = c 13:* rwm
+lxc.mount.entry = /dev/input dev/input none bind,optional,create=dir
+lxc.mount.entry = /run/pipewire/pipewire-0 var/pipewire-0 none bind,optional,create=file
--- /dev/null
+# lxc network setting
+lxc.net.0.type = veth
+lxc.net.0.link = lxcbr0
+lxc.net.0.flags = up
+lxc.net.0.hwaddr = 00:16:3e:69:87:a5
--- /dev/null
+[Manager]
+#DefaultEnvironment =
--- /dev/null
+DESCRIPTION = "AGL cluster demo container LXC config"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+inherit lxc-config
+
+LXC_AUTO_START ??= "1"
--- /dev/null
+# lxc basic setting
+lxc.rootfs.path = dir:/var/lib/machines/drm-lease-test-ivi
+lxc.signal.halt = SIGRTMIN+3
+lxc.signal.reboot = SIGTERM
+lxc.uts.name = "ivi"
+lxc.tty.max = 1
+lxc.pty.max = 1
+lxc.cap.drop = sys_module mac_admin mac_override sys_time
+
--- /dev/null
+# lxc environment variable setting
+lxc.environment = QT_QPA_PLATFORM=wayland
+lxc.environment = QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/plugins/
+lxc.environment = QML_IMPORT_PATH=/usr/lib/qml/
+lxc.environment = QML2_IMPORT_PATH=/usr/lib/qml/
+lxc.environment = QT_WAYLAND_SHELL_INTEGRATION=xdg-shell
+lxc.environment = PIPEWIRE_RUNTIME_DIR=/var
+
--- /dev/null
+# lxc misc setting
+lxc.start.auto = @LXC_AUTO_START@
+
--- /dev/null
+# lxc mount setting
+lxc.mount.entry = /var/lib/lxc/drm-lease-test-ivi/system.conf etc/systemd/system.conf.d/10-environment.conf none bind,optional,create=file
+
+lxc.mount.auto = cgroup:mixed proc:mixed sys:mixed
+lxc.mount.entry = shm /dev/shm tmpfs defaults 0 0
+lxc.mount.entry = /sys/kernel/security sys/kernel/security none ro,bind,optional 0 0
+lxc.mount.entry = tmpfs run tmpfs defaults
+lxc.mount.entry = /run/udev/data run/udev/data none ro,bind,optional,create=dir
+
+lxc.cgroup.devices.allow = c 226:* rwm
+lxc.mount.entry = /dev/dri dev/dri none bind,optional,create=dir
+
+lxc.mount.entry = /run/drm-lease-manager/lease-ivi var/display/drm-lease-manager/lease none bind,create=file
+
+lxc.cgroup.devices.allow = c 13:* rwm
+lxc.mount.entry = /dev/input dev/input none bind,optional,create=dir
+lxc.mount.entry = /run/pipewire/pipewire-0 var/pipewire-0 none bind,optional,create=file
--- /dev/null
+# lxc network setting
+lxc.net.0.type = veth
+lxc.net.0.link = lxcbr0
+lxc.net.0.flags = up
+lxc.net.0.hwaddr = 00:16:3e:69:87:a4
--- /dev/null
+[Manager]
+#DefaultEnvironment =
--- /dev/null
+DESCRIPTION = "AGL cluster demo container LXC config"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+
+inherit lxc-config
+
+LXC_AUTO_START ??= "1"
--- /dev/null
+SUMMARY = "Configuration files for the Weston compositors for DRM lease testing"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI = " \
+ file://weston.ini.ivi \
+ file://weston.ini.cluster \
+"
+
+S = "${WORKDIR}"
+
+inherit allarch update-alternatives
+
+# On-target weston.ini directory
+weston_ini_dir = "${sysconfdir}/xdg/weston"
+
+do_install() {
+ install -d ${D}${weston_ini_dir}
+ install -m 0644 ${WORKDIR}/weston.ini.ivi ${D}${weston_ini_dir}/
+ install -m 0644 ${WORKDIR}/weston.ini.cluster ${D}${weston_ini_dir}/
+}
+
+ALTERNATIVE_LINK_NAME[weston.ini] = "${weston_ini_dir}/weston.ini"
+
+RDEPENDS:${PN} = "${BPN}-ivi"
+ALLOW_EMPTY:${PN} = "1"
+
+PACKAGE_BEFORE_PN += "${PN}-ivi"
+
+FILES:${PN}-ivi = "${weston_ini_dir}/weston.ini.ivi"
+
+RPROVIDES:${PN}-ivi = "weston-ini"
+ALTERNATIVE:${PN}-ivi = "weston.ini"
+ALTERNATIVE_TARGET_${PN}-ivi = "${weston_ini_dir}/weston.ini.ivi"
+
+PACKAGE_BEFORE_PN += "${PN}-cluster"
+
+FILES:${PN}-cluster = "${weston_ini_dir}/weston.ini.cluster"
+
+RPROVIDES:${PN}-cluster = "weston-ini"
+RCONFLICTS:${PN}-cluster = "${PN}-ivi"
+ALTERNATIVE:${PN}-cluster = "weston.ini"
+ALTERNATIVE_TARGET_${PN}-cluster = "${weston_ini_dir}/weston.ini.cluster"
--- /dev/null
+[core]
+backend=drm-backend.so
+require-input=false
+idle-time=0
+modules=systemd-notify.so
+
+[shell]
+locking=false
+panel-position=none
+background-color=0xff00ff00
+
+[output]
+name=Virtual-1
+mode=1920x1080
+
+[output]
+name=Virtual-2
+mode=1920x1080
+
+[output]
+name=HDMI-A-1
+mode=1920x1080
+
+[output]
+name=HDMI-A-2
+mode=1920x1080
--- /dev/null
+[core]
+backend=drm-backend.so
+require-input=false
+idle-time=0
+modules=systemd-notify.so
+
+[shell]
+locking=false
+panel-position=none
+background-color=0xffff0000
+
+[output]
+name=Virtual-1
+mode=1920x1080
+
+[output]
+name=Virtual-2
+mode=1920x1080
+
+[output]
+name=HDMI-A-1
+mode=1920x1080
+
+[output]
+name=HDMI-A-2
+mode=1920x1080
--- /dev/null
+SUMMARY = "DRM Lease LXC test host image"
+LICENSE = "MIT"
+
+require lxc-host-image-minimal.bb
+require recipes-platform/images/agl-lxc-install-single-image.inc
+require recipes-platform/images/agl-lxc-autostart.inc
+
+CONTAINER_IMAGES ?= "agl-container-ivi:guest-image-drm-lease-test-ivi \
+ agl-container-cluster:guest-image-drm-lease-test-cluster \
+ "
+
+IMAGE_INSTALL += " \
+ kernel-modules \
+"
+
+# packages required for network bridge settings via lxc-net
+IMAGE_INSTALL += " \
+ lxc-networking \
+ iptables-modules \
+ dnsmasq \
+ systemd-netif-config \
+ kernel-module-xt-addrtype \
+ kernel-module-xt-multiport \
+"
+
+# Under the this line, shall describe machine specific package.
+IMAGE_INSTALL:append:rcar-gen3 = " kernel-module-gles gles-user-module-firmware"
--- /dev/null
+SUMMARY = "DRM Lease LXC test guest image"
+LICENSE = "MIT"
+
+require guest-image-minimal.bb
+
+IMAGE_INSTALL += " \
+ systemd-netif-config \
+ weston \
+ weston-init-guest \
+ weston-ini-conf-drm-lease-test-cluster \
+"
+
+IMAGE_INSTALL:append:raspberrypi4 = " mesa-megadriver"
--- /dev/null
+SUMMARY = "DRM Lease LXC test guest image"
+LICENSE = "MIT"
+
+require guest-image-minimal.bb
+
+IMAGE_INSTALL += " \
+ systemd-netif-config \
+ weston \
+ weston-init-guest \
+ weston-ini-conf-drm-lease-test-ivi \
+"
+
+IMAGE_INSTALL:append:raspberrypi4 = " mesa-megadriver"