summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitlab/issue_templates/default.md2
-rw-r--r--.gitlab/issue_templates/mytemplate.md3
-rw-r--r--.gitlab/merge_request_templates/default.md2
-rw-r--r--.gitlab/merge_request_templates/mytemplate.md3
-rw-r--r--meta-agl-bsp/conf/include/agl_am62xx-evm.inc8
-rw-r--r--meta-agl-bsp/conf/include/agl_bbe.inc24
-rw-r--r--meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc6
-rw-r--r--meta-agl-bsp/conf/include/agl_beaglebone.inc23
-rw-r--r--meta-agl-bsp/conf/include/agl_beagleplay.inc6
-rw-r--r--meta-agl-bsp/conf/include/agl_cubox-i.inc4
-rw-r--r--meta-agl-bsp/conf/include/agl_dragonboard-410c.inc3
-rw-r--r--meta-agl-bsp/conf/include/agl_dragonboard-820c.inc2
-rw-r--r--meta-agl-bsp/conf/include/agl_ebisu.inc2
-rw-r--r--meta-agl-bsp/conf/include/agl_h3-salvator-x-nogfx.inc18
-rw-r--r--meta-agl-bsp/conf/include/agl_h3-salvator-x.inc5
-rw-r--r--meta-agl-bsp/conf/include/agl_hsdk.inc9
-rw-r--r--meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc4
-rw-r--r--meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc11
-rw-r--r--meta-agl-bsp/conf/include/agl_imx8mq-evk-viv.inc8
-rw-r--r--meta-agl-bsp/conf/include/agl_imx8mq-evk.inc38
-rw-r--r--meta-agl-bsp/conf/include/agl_j721e-evm.inc6
-rw-r--r--meta-agl-bsp/conf/include/agl_m3-salvator-x-nogfx.inc17
-rw-r--r--meta-agl-bsp/conf/include/agl_m3-salvator-x.inc5
-rw-r--r--meta-agl-bsp/conf/include/agl_nitrogen6x.inc1
-rw-r--r--meta-agl-bsp/conf/include/agl_qemuarm.inc3
-rw-r--r--meta-agl-bsp/conf/include/agl_qemuarm64.inc3
-rw-r--r--meta-agl-bsp/conf/include/agl_qemux86-64.inc2
-rw-r--r--meta-agl-bsp/conf/include/agl_raspberrypi4.inc3
-rw-r--r--meta-agl-bsp/conf/include/agl_raspberrypi5.inc34
-rw-r--r--meta-agl-bsp/conf/include/agl_rcar-nogfx.inc6
-rw-r--r--meta-agl-bsp/conf/include/agl_rcar.inc42
-rw-r--r--meta-agl-bsp/conf/include/agl_refhw-h3.inc8
-rw-r--r--meta-agl-bsp/conf/include/agl_s4sk.inc9
-rw-r--r--meta-agl-bsp/conf/include/agl_salvator-nogfx.inc17
-rw-r--r--meta-agl-bsp/conf/include/agl_salvator.inc6
-rw-r--r--meta-agl-bsp/conf/include/agl_unmatched.inc4
-rw-r--r--meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend (renamed from meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-conf-refhw_1.0.bb)17
-rw-r--r--meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa/0001-virgl-don-t-a-use-staging-when-a-resources-created-w.patch48
-rw-r--r--meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_%.bbappend2
-rw-r--r--meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_agl.inc2
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend10
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch13
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0002-dts-enable-etnaviv.patch5
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend20
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-lts_%.bbappend1
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc.inc22
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc_%.bbappend23
-rw-r--r--meta-agl-bsp/meta-qcom/recipes-bsp/96boards-tools/96boards-tools_0.12.bb32
-rw-r--r--meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/files/qcom-q6v5-pil.service12
-rw-r--r--meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/q6v5-pil.bb20
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf.bbappend3
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/dsi.cfg5
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch6
-rw-r--r--meta-agl-bsp/meta-rcar-gateway/recipes-kernel/linux/linux-renesas_%.bbappend11
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/conf/include/rcar-gen3-adas.inc10
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0004-ADSP-enable-and-add-sound-hardware-abstraction_kf.patch58
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend (renamed from meta-agl-bsp/meta-rcar-gen3-adas/recipes-navigation/gpsd/gpsd-kingfisher-conf_1.0.bb)28
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bbappend8
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch28
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/renesas-ota-bootfiles.bb8
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend11
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend15
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend9
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend9
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend9
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vsp2driver/kernel-module-vsp2driver.bbappend14
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspm/kernel-module-vspm.bbappend8
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspm-if.bbappend2
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bbappend17
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.%.bbappend1
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.%.bbappend1
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.%.bbappend1
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bbappend11
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bbappend11
-rw-r--r--meta-agl-bsp/meta-rcar-gen3/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bbappend5
-rw-r--r--meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe/0001-Revert-block-nbd-add-sanity-check-for-first_minor.patch47
-rw-r--r--meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe/disable-relay.cfg (renamed from meta-agl-core/recipes-kernel/linux/linux/disable-relay.cfg)0
-rw-r--r--meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe_%.bbappend3
-rw-r--r--meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/files/0001-WIP-Make-BSP-work-under-YP-kirkstone.patch46
-rw-r--r--meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/u-boot-sifive_2023.07.02.bbappend3
-rw-r--r--meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive/radeon.cfg19
-rw-r--r--meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive_%.bbappend6
-rw-r--r--meta-agl-bsp/meta-synopsys/recipes-kernel/linux-yocto_%.bbappend1
-rw-r--r--meta-agl-bsp/meta-ti-bsp/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km/0001-Add-support-for-AGL-toolchain.patch32
-rw-r--r--meta-agl-bsp/meta-ti-bsp/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km_%.bbappend3
-rw-r--r--meta-agl-bsp/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um/pvr.service19
-rw-r--r--meta-agl-bsp/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_%.bbappend18
-rw-r--r--meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_%.bbappend7
-rw-r--r--meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_%.bbappend1
-rw-r--r--meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa_%.bbappend1
-rw-r--r--meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/pvr-fix.inc1
-rw-r--r--meta-agl-bsp/meta-ti-bsp/recipes-kernel/linux/linux-bb.org_%.bbappend (renamed from meta-agl-bsp/meta-qcom/recipes-kernel/linux/linux-linaro-qcomlt_%.bbappend)1
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa/0001-virgl-virgl_driinfo.h.in-Disable-by-default-emulated.patch34
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa_22.%.bbappend3
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto-dev.bbappend10
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-aarch64-standard.scc (renamed from meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-aarch64-standard.scc)2
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg3
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.cfg29
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.scc2
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0001-iio-core-Introduce-IIO_VAL_INT_64.patch45
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch101
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/iio-scmi.cfg1
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.cfg25
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.scc5
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.cfg5
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.scc2
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.cfg16
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.scc5
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg3
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_%.bbappend8
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend17
-rw-r--r--meta-agl-core-test/conf/include/agl-test.inc0
-rw-r--r--meta-agl-core-test/conf/layer.conf14
-rw-r--r--meta-agl-core-test/images/agl-image-minimal-qa.bb12
-rw-r--r--meta-agl-core-test/recipes-test/aiostress/aiostress_0.22.bb24
-rw-r--r--meta-agl-core-test/recipes-test/dung/dung_3.4.25-m2.bb18
-rw-r--r--meta-agl-core-test/recipes-test/ebizzy/ebizzy_0.3.bb20
-rw-r--r--meta-agl-core-test/recipes-test/ffsb/ffsb_6.0-rc2.bb14
-rw-r--r--meta-agl-core-test/recipes-test/fontconfig/fontconfig_%.bbappend18
-rw-r--r--meta-agl-core-test/recipes-test/freetype/files/0001-Makefile-dont-build-gfx-demos.patch33
-rw-r--r--meta-agl-core-test/recipes-test/freetype/files/0001-ft2demos-Makefile-Do-not-hardcode-libtool-path.patch31
-rw-r--r--meta-agl-core-test/recipes-test/freetype/freetype_2.%.bbappend30
-rw-r--r--meta-agl-core-test/recipes-test/fsfuzzer/files/0001-fix_missing_header_sys_stat.patch11
-rw-r--r--meta-agl-core-test/recipes-test/fsfuzzer/fsfuzzer_0.7.bb18
-rw-r--r--meta-agl-core-test/recipes-test/glmark2/glmark2_%.bbappend7
-rw-r--r--meta-agl-core-test/recipes-test/himeno/himeno_2.0.bb27
-rw-r--r--meta-agl-core-test/recipes-test/interbench/files/interbench.c.patch68
-rw-r--r--meta-agl-core-test/recipes-test/interbench/interbench_0.31.bb31
-rw-r--r--meta-agl-core-test/recipes-test/ipv6connect/ipv6connect.bb24
-rw-r--r--meta-agl-core-test/recipes-test/linpack/linpack.bb23
-rw-r--r--meta-agl-core-test/recipes-test/linus-stress/linus-stress.bb23
-rw-r--r--meta-agl-core-test/recipes-test/packagegroups/packagegroup-agl-test.bb68
-rw-r--r--meta-agl-core-test/recipes-test/trinity/trinity_git.bb42
-rw-r--r--meta-agl-core/classes/agl-core-image.bbclass32
-rw-r--r--meta-agl-core/classes/agl-crosssdk.bbclass9
-rw-r--r--meta-agl-core/conf/distro/include/aarch64-tune.inc4
-rw-r--r--meta-agl-core/conf/distro/include/arm-tune.inc10
-rw-r--r--meta-agl-core/conf/distro/include/riscv64-tune.inc3
-rw-r--r--meta-agl-core/conf/distro/include/x86_64-tune.inc3
-rw-r--r--meta-agl-core/conf/distro/poky-agl.conf27
-rw-r--r--meta-agl-core/conf/include/agl-create-spdx.inc1
-rw-r--r--meta-agl-core/conf/include/agl-devel.inc2
-rw-r--r--meta-agl-core/conf/include/agl-selinux.inc20
-rw-r--r--meta-agl-core/conf/layer.conf3
-rw-r--r--meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init.bbappend1
-rw-r--r--meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init_aglcore.inc1
-rw-r--r--meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-shell-activator_git.bb (renamed from meta-agl-core/recipes-graphics/wayland/agl-shell-activator_git.bb)4
-rw-r--r--meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/common-init.inc6
-rw-r--r--meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init.bbappend1
-rw-r--r--meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init_aglcore.inc1
-rw-r--r--meta-agl-core/dynamic-layers/meta-oe/recipes-platform/images/agl-image-compositor.bbappend3
-rw-r--r--meta-agl-core/dynamic-layers/meta-oe/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bbappend1
-rw-r--r--meta-agl-core/dynamic-layers/meta-oe/recipes-platform/packagegroups/packagegroup-agl-graphical-weston_aglcore.inc1
-rw-r--r--meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_aglcore.inc2
-rw-r--r--meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation/0001-mapbox-update-API-url-to-match-new-schema.patch47
-rw-r--r--meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation_%.bbappend1
-rw-r--r--meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation_aglcore.inc14
-rw-r--r--meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/files/systemd-selinux-relabel.service12
-rw-r--r--meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/files/systemd-selinux-relabel.sh12
-rw-r--r--meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/systemd-selinux-relabel_1.0.bb25
-rw-r--r--meta-agl-core/dynamic-layers/meta-selinux/recipes-platform/packagegroups/packagegroup-agl-core-selinux.bb57
-rw-r--r--meta-agl-core/dynamic-layers/meta-selinux/recipes-security/selinux-scripts/selinux-autorelabel_0.1.bbappend1
-rw-r--r--meta-agl-core/dynamic-layers/meta-selinux/recipes-security/selinux-scripts/selinux-autorelabel_aglcore.inc4
-rw-r--r--meta-agl-core/files/group5
-rw-r--r--meta-agl-core/files/passwd3
-rw-r--r--meta-agl-core/recipes-config/agl-users/agl-users.inc14
-rw-r--r--meta-agl-core/recipes-config/agl-users/agl-users_1.0.bb9
-rw-r--r--meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses/0001-Do-not-overwrite-CFLAGS.patch37
-rw-r--r--meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses/0001-Initialize-variables.patch39
-rw-r--r--meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb8
-rw-r--r--meta-agl-core/recipes-connectivity/connman/connman-conf/main.conf2
-rw-r--r--meta-agl-core/recipes-connectivity/connman/connman-conf_aglcore.inc7
-rw-r--r--meta-agl-core/recipes-connectivity/connman/connman/0001-disable-when-booting-over-nfs.patch4
-rw-r--r--meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can-fd.network12
-rw-r--r--meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can.link11
-rw-r--r--meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can.network (renamed from meta-agl-core/recipes-core/systemd/systemd/canbus-can.network)0
-rw-r--r--meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-virtio.network5
-rw-r--r--meta-agl-core/recipes-core/systemd/systemd-conf-canbus_1.0.bb32
-rw-r--r--meta-agl-core/recipes-core/systemd/systemd/wait-disable.conf3
-rw-r--r--meta-agl-core/recipes-core/systemd/systemd/wired.network3
-rw-r--r--meta-agl-core/recipes-core/systemd/systemd_aglcore.inc29
-rw-r--r--meta-agl-core/recipes-devtools/qemu/qemu_%.bbappend1
-rw-r--r--meta-agl-core/recipes-devtools/qemu/qemu_aglcore.inc5
-rw-r--r--meta-agl-core/recipes-graphics/libsdl2/libsdl2_%.bbappend1
-rw-r--r--meta-agl-core/recipes-graphics/libsdl2/libsdl2_aglcore.inc3
-rw-r--r--meta-agl-core/recipes-graphics/wayland/agl-compositor-init.bb45
-rw-r--r--meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor-autologin11
-rw-r--r--meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service72
-rw-r--r--meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor.socket (renamed from meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.socket)0
-rw-r--r--meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb25
-rw-r--r--meta-agl-core/recipes-graphics/wayland/native-shell-client_git.bb16
-rw-r--r--meta-agl-core/recipes-graphics/wayland/waltham-transmitter-plugin.bb19
-rw-r--r--meta-agl-core/recipes-graphics/wayland/waltham/0001-Use-python3-instead-of-2.patch51
-rw-r--r--meta-agl-core/recipes-graphics/wayland/waltham/0001-waltham-Fix-compile-build-error.patch55
-rw-r--r--meta-agl-core/recipes-graphics/wayland/waltham/0002-commandxml-Add-support-wthp_app_id-interface.patch70
-rw-r--r--meta-agl-core/recipes-graphics/wayland/waltham_%.bbappend7
-rw-r--r--meta-agl-core/recipes-graphics/wayland/waltham_git.bb16
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bb62
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bbappend2
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston-ini-conf/core.cfg2
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston-ini-conf/grpc-proxy.cfg4
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-0.cfg5
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-180.cfg6
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-270.cfg6
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-90.cfg6
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg.in (renamed from meta-agl-core/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg)2
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston-ini-conf/shell.cfg2
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston-ini-conf/transmitter-output.cfg.in5
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0001-backend-drm-make-sure-all-buffers-are-released-when-.patch71
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Migrate-weston_seat_init-release-to-public.patch106
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Send-name-description-update-wl_output-to-.patch117
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch171
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-weston-log-Add-a-iterator-helper-for-debug.patch227
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0001-simple-touch-Add-maximized-fullscreen-states.patch138
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc29
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux-agl-config.inc11
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/audit.cfg2
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/selinux.cfg16
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/systemd-required.cfg43
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/systemd-sandbox.cfg9
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/x86-extra-graphic-devices.cfg2
-rw-r--r--meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/0001-Added-appid-and-title-support.patch166
-rw-r--r--meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/rcar-gen3/0001-Added-appid-and-title-support.patch166
-rw-r--r--meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_%.bbappend1
-rw-r--r--meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_aglcore.inc9
-rw-r--r--meta-agl-core/recipes-platform/images/agl-image-agl-compositor.bb10
-rw-r--r--meta-agl-core/recipes-platform/images/agl-image-boot.bb10
-rw-r--r--meta-agl-core/recipes-platform/images/agl-image-boot.inc7
-rw-r--r--meta-agl-core/recipes-platform/images/agl-image-compositor.bb15
-rw-r--r--meta-agl-core/recipes-platform/images/agl-image-core-autobuilder.bb10
-rw-r--r--meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.bb19
-rw-r--r--meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.inc2
-rw-r--r--meta-agl-core/recipes-platform/images/agl-image-minimal.bb10
-rw-r--r--meta-agl-core/recipes-platform/images/agl-image-minimal.inc1
-rw-r--r--meta-agl-core/recipes-platform/images/agl-image-weston.bb16
-rw-r--r--meta-agl-core/recipes-platform/images/agl-image-weston.inc9
-rw-r--r--meta-agl-core/recipes-platform/images/core-image-weston.bbappend1
-rw-r--r--meta-agl-core/recipes-platform/images/core-image-weston_aglcore.inc3
-rw-r--r--meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-boot.bb1
-rw-r--r--meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-connectivity.bb5
-rw-r--r--meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-devel.bb12
-rw-r--r--meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-os-commonlibs.bb14
-rw-r--r--meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-security.bb14
-rw-r--r--meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-compositor.bb9
-rw-r--r--meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bb16
-rw-r--r--meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb16
-rw-r--r--meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-boot.bb18
-rw-r--r--meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-minimal.bb6
-rw-r--r--meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-profile-graphical.bb11
-rw-r--r--meta-agl-core/recipes-support/ptest-runner/ptest-runner/0007-WIP-Initial-LAVA-support.patch2
-rwxr-xr-xmeta-agl-core/scripts/run-yocto-check-layer-feature-enabled.sh46
-rwxr-xr-xmeta-agl-core/scripts/run-yocto-check-layer.sh20
l---------meta-app-framework/README1
-rw-r--r--meta-app-framework/README-AGL.md31
-rw-r--r--meta-app-framework/classes/agl-app.bbclass83
-rw-r--r--meta-app-framework/conf/layer.conf2
-rw-r--r--meta-app-framework/recipes-config/agl-session/agl-session_0.1.bb46
-rw-r--r--meta-app-framework/recipes-config/agl-session/files/50-xdg-data-dirs.sh7
-rw-r--r--meta-app-framework/recipes-config/agl-session/files/agl-session.target5
-rw-r--r--meta-app-framework/recipes-config/agl-session/files/agl-session@.service24
-rw-r--r--meta-app-framework/recipes-config/polkit-rule-agl-app/files/50-agl-app.rules7
-rw-r--r--meta-app-framework/recipes-config/polkit-rule-agl-app/polkit-rule-agl-app.bb21
-rw-r--r--meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-flutter@.service12
-rw-r--r--meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-web@.service11
-rw-r--r--meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app@.service8
-rw-r--r--meta-app-framework/recipes-core/applaunchd/applaunchd/applaunchd.service13
-rw-r--r--meta-app-framework/recipes-core/applaunchd/applaunchd/no-network.conf2
-rw-r--r--meta-app-framework/recipes-core/applaunchd/applaunchd/private-tmp.conf2
-rw-r--r--meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb66
-rw-r--r--meta-app-framework/recipes-graphics/wayland/agl-compositor-init.bbappend1
-rw-r--r--meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.conf11
-rw-r--r--meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service.in29
-rw-r--r--meta-app-framework/recipes-graphics/wayland/agl-compositor-init_agl-app-fw.inc47
-rw-r--r--meta-app-framework/recipes-graphics/wayland/weston-ini-conf.bbappend1
-rw-r--r--meta-app-framework/recipes-graphics/wayland/weston-ini-conf_agl-app-fw.inc3
-rwxr-xr-xmeta-app-framework/scripts/run-yocto-check-layer.sh14
-rw-r--r--meta-netboot/conf/include/agl-netboot.inc5
-rw-r--r--meta-netboot/recipes-core/initramfs-netboot/files/init.sh16
-rw-r--r--meta-netboot/recipes-core/systemd/files/resolv-conf-relabel.service14
-rw-r--r--meta-netboot/recipes-core/systemd/resolv-conf-relabel.bb21
-rwxr-xr-xmeta-netboot/scripts/run-yocto-check-layer-flags-enabled.sh42
-rwxr-xr-xmeta-netboot/scripts/run-yocto-check-layer.sh21
-rw-r--r--meta-pipewire/conf/include/agl-pipewire.inc1
-rw-r--r--meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire-base.bb1
-rw-r--r--meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb7
-rw-r--r--meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-Revert-loop-remove-destroy-list.patch120
-rw-r--r--meta-pipewire/recipes-multimedia/pipewire/pipewire_1.0.0.bb (renamed from meta-pipewire/recipes-multimedia/pipewire/pipewire_0.3.47.bb)17
-rw-r--r--meta-pipewire/recipes-multimedia/pipewire/pipewire_1.0.0.bbappend (renamed from meta-pipewire/recipes-multimedia/pipewire/pipewire_0.3.47.bbappend)1
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/bluetooth.conf2
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/30-alsa-monitor.lua4
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/40-device-defaults.lua2
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/90-enable-all.lua4
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/wireplumber.conf41
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-policy-config-agl/policy.lua.d/10-default-policy.lua2
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0001-Revert-tests-add-pipewire-env-variables-when-running.patch139
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0002-Revert-wp-uninstalled-build-this-script-with-the-mes.patch77
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0003-spa-json-fix-va_list-APIs-for-different-architecture.patch214
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0004-policy-endpoint-device-Fix-endpoints-not-connected-w.patch34
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb12
-rwxr-xr-xmeta-pipewire/scripts/run-yocto-check-layer.sh15
-rwxr-xr-xscripts/ci-yocto-check-layer.sh22
-rw-r--r--templates/base/bblayers.conf.sample4
-rw-r--r--templates/feature/agl-ci/99_local.conf.inc12
-rw-r--r--templates/feature/agl-ci/included.dep1
-rw-r--r--templates/feature/agl-create-spdx/50_local.conf.inc2
-rw-r--r--templates/feature/agl-create-spdx/README_feature_agl-create-spdx.md7
-rw-r--r--templates/feature/agl-ptest/90_local.conf.inc2
-rw-r--r--templates/feature/agl-selinux/50_bblayers.conf.inc5
-rw-r--r--templates/feature/agl-selinux/50_local.conf.inc2
-rw-r--r--templates/feature/agl-selinux/README_feature_agl-selinux.md9
-rw-r--r--templates/feature/agl-weston-waltham-remoting/50_local.conf.inc1
-rw-r--r--templates/feature/agl-weston-waltham-remoting/README_feature_agl-weston-waltham-remoting.md9
-rw-r--r--templates/feature/agl-weston-waltham-remoting/included.dep1
-rw-r--r--templates/machine/am62xx-evm/50_bblayers.conf.inc5
-rw-r--r--templates/machine/am62xx-evm/50_local.conf.inc3
-rw-r--r--templates/machine/aws-ec2-arm64/50_bblayers.conf.inc8
-rw-r--r--templates/machine/aws-ec2-arm64/50_local.conf.inc21
-rw-r--r--templates/machine/aws-ec2-x86-64/50_bblayers.conf.inc8
-rw-r--r--templates/machine/aws-ec2-x86-64/50_local.conf.inc21
-rw-r--r--templates/machine/bbe/50_bblayers.conf.inc2
-rw-r--r--templates/machine/beaglebone-ai64/50_bblayers.conf.inc5
-rw-r--r--templates/machine/beaglebone-ai64/50_local.conf.inc3
-rw-r--r--templates/machine/beaglebone-ai64/README_machine_beaglebone-ai64.md9
-rw-r--r--templates/machine/beagleplay/50_bblayers.conf.inc5
-rw-r--r--templates/machine/beagleplay/50_local.conf.inc3
-rw-r--r--templates/machine/beagleplay/README_machine_beagleplay.md9
-rw-r--r--templates/machine/dragonboard-410c/50_bblayers.conf.inc2
-rw-r--r--templates/machine/dragonboard-410c/50_local.conf.inc3
-rw-r--r--templates/machine/dragonboard-410c/README_machine_dragonboard-410c.md9
-rw-r--r--templates/machine/dragonboard-820c/50_bblayers.conf.inc1
-rw-r--r--templates/machine/dragonboard-820c/50_local.conf.inc3
-rw-r--r--templates/machine/dragonboard-820c/README_machine_dragonboard-820c.md9
-rw-r--r--templates/machine/hsdk/40_bblayers.conf.inc2
-rw-r--r--templates/machine/hsdk/50_local.conf.inc2
-rw-r--r--templates/machine/hsdk/README_machine_hsdk.md9
-rw-r--r--templates/machine/imx8mq-evk-viv/40_bblayers.conf.inc (renamed from templates/machine/nitrogen6x/40_bblayers.conf.inc)1
-rw-r--r--templates/machine/imx8mq-evk-viv/50_local.conf.inc3
-rw-r--r--templates/machine/imx8mq-evk-viv/50_setup.sh (renamed from templates/machine/nitrogen6x/50_setup.sh)0
-rw-r--r--templates/machine/imx8mq-evk-viv/README_machine_imx8mq-evk-viv.md9
-rw-r--r--templates/machine/nitrogen6x/50_local.conf.inc3
-rw-r--r--templates/machine/nitrogen6x/README_machine_nitrogen6x.md9
-rw-r--r--templates/machine/raspberrypi5/50_bblayers.conf.inc1
-rw-r--r--templates/machine/raspberrypi5/50_local.conf.inc4
-rw-r--r--templates/machine/s4sk/50_bblayers.conf.inc7
-rw-r--r--templates/machine/s4sk/50_local.conf.inc4
-rw-r--r--templates/machine/s4sk/README_machine_s4sk.md11
-rw-r--r--templates/machine/unmatched/50_bblayers.conf.inc6
-rw-r--r--templates/machine/unmatched/50_local.conf.inc4
348 files changed, 3107 insertions, 2993 deletions
diff --git a/.gitlab/issue_templates/default.md b/.gitlab/issue_templates/default.md
new file mode 100644
index 000000000..bca6c09e4
--- /dev/null
+++ b/.gitlab/issue_templates/default.md
@@ -0,0 +1,2 @@
+**Please use https://jira.automotivelinux.org for issues.**
+See also: https://docs.automotivelinux.org/ chapter "How to contribute".
diff --git a/.gitlab/issue_templates/mytemplate.md b/.gitlab/issue_templates/mytemplate.md
new file mode 100644
index 000000000..25d91d81d
--- /dev/null
+++ b/.gitlab/issue_templates/mytemplate.md
@@ -0,0 +1,3 @@
+**Please use https://gerrit.automotivelinux.org for code contributions.**
+See also: https://docs.automotivelinux.org/ chapter "How to contribute".
+
diff --git a/.gitlab/merge_request_templates/default.md b/.gitlab/merge_request_templates/default.md
new file mode 100644
index 000000000..5b02effeb
--- /dev/null
+++ b/.gitlab/merge_request_templates/default.md
@@ -0,0 +1,2 @@
+**Please use https://gerrit.automotivelinux.org for code contributions.**
+See also: https://docs.automotivelinux.org/ chapter "How to contribute".
diff --git a/.gitlab/merge_request_templates/mytemplate.md b/.gitlab/merge_request_templates/mytemplate.md
new file mode 100644
index 000000000..25d91d81d
--- /dev/null
+++ b/.gitlab/merge_request_templates/mytemplate.md
@@ -0,0 +1,3 @@
+**Please use https://gerrit.automotivelinux.org for code contributions.**
+See also: https://docs.automotivelinux.org/ chapter "How to contribute".
+
diff --git a/meta-agl-bsp/conf/include/agl_am62xx-evm.inc b/meta-agl-bsp/conf/include/agl_am62xx-evm.inc
new file mode 100644
index 000000000..24fd95141
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_am62xx-evm.inc
@@ -0,0 +1,8 @@
+# am62xx-evm has a k3r5 BBMULTICONFIG to build its bootloader
+# firmware, need to use an override to set DEFAULTTUNE back to
+# what that machine configuration needs.
+DEFAULTTUNE:k3r5:forcedefaulttune = "armv7athf"
+
+# meta-ti-bsp layer conf does break expectations wrt common folders
+# meta-ti-bsp/conf/layer.conf:TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti"
+TI_COMMON_DEPLOY := "${TMPDIR}/deploy"
diff --git a/meta-agl-bsp/conf/include/agl_bbe.inc b/meta-agl-bsp/conf/include/agl_bbe.inc
index d8b24a1a1..5252c558b 100644
--- a/meta-agl-bsp/conf/include/agl_bbe.inc
+++ b/meta-agl-bsp/conf/include/agl_bbe.inc
@@ -6,26 +6,6 @@
CORE_IMAGE_EXTRA_INSTALL += "packagegroup-machine-base"
#-------------------------------------------------
-## Graphics section ##
-#-------------------------------------------------
-PACKAGES_GFX = "ti-sgx-ddk-km"
-IMAGE_INSTALL:append = " ${PACKAGES_GFX}"
-
-
-# Enable Gfx Pkgs
-MACHINE_FEATURES:append = " sgx"
-BB_MULTI_PROVIDER_ALLOWED += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
-
-DEPENDS:remove = "virtual/libgl"
-
-# Preferred providers
-PREFERRED_PROVIDER_virtual/libgles1 = ""
-PREFERRED_PROVIDER_virtual/libgles2 = "ti-sgx-ddk-um"
-PREFERRED_PROVIDER_virtual/egl = "ti-sgx-ddk-um"
-PREFERRED_PROVIDER_virtual/libgbm = "ti-sgx-ddk-um"
-PREFERRED_PROVIDER_virtual/mesa = "mesa-gl"
-
-#-------------------------------------------------
## Multimedia section ##
#-------------------------------------------------
@@ -38,3 +18,7 @@ SECURITY_CFLAGS:pn-gpm = ""
SECURITY_LDFLAGS:pn-gpm = ""
SECURITY_CFLAGS:pn-libatasmart = ""
SECURITY_LDFLAGS:pn-libatasmart = ""
+
+# meta-ti-bsp layer conf does break expectations wrt common folders
+# meta-ti-bsp/conf/layer.conf:TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti"
+TI_COMMON_DEPLOY := "${TMPDIR}/deploy" \ No newline at end of file
diff --git a/meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc b/meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc
new file mode 100644
index 000000000..1e03b70ff
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc
@@ -0,0 +1,6 @@
+# beaglebone-ai64 has a k3r5 BBMULTICONFIG to build its bootloader
+# and firmware, need to use an override to set DEFAULTTUNE back to
+# what that machine configuration needs.
+DEFAULTTUNE:k3r5:forcedefaulttune = "armv7athf"
+
+TI_COMMON_DEPLOY := "${TMPDIR}/deploy"
diff --git a/meta-agl-bsp/conf/include/agl_beaglebone.inc b/meta-agl-bsp/conf/include/agl_beaglebone.inc
index 292a54401..ec3a3a448 100644
--- a/meta-agl-bsp/conf/include/agl_beaglebone.inc
+++ b/meta-agl-bsp/conf/include/agl_beaglebone.inc
@@ -5,23 +5,6 @@ DISTRO_FEATURES:append = " agl-medium-arm-compiler"
WKS_FILE = "sdimage-bootpart-uuid.wks"
-#-------------------------------------------------
-## Graphics section ##
-#-------------------------------------------------
-PACKAGES_GFX = "ti-sgx-ddk-km"
-IMAGE_INSTALL:append = " ${PACKAGES_GFX}"
-
-# Enable Gfx Pkgs
-MACHINE_FEATURES:append = " gpu"
-BB_MULTI_PROVIDER_ALLOWED += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2 virtual/libgles3"
-
-# NOTE: SGX GPU driver use disabled until TI provides updated drivers
-# that Weston 10.0.0 can be built against.
-
-# Preferred providers
-#PREFERRED_PROVIDER_virtual/libgles1 = ""
-#PREFERRED_PROVIDER_virtual/libgles2 = "ti-sgx-ddk-um"
-#PREFERRED_PROVIDER_virtual/libgles3 = "ti-sgx-ddk-um"
-#PREFERRED_PROVIDER_virtual/egl = "ti-sgx-ddk-um"
-#PREFERRED_PROVIDER_virtual/libgbm = "ti-sgx-ddk-um"
-#PREFERRED_PROVIDER_virtual/mesa = "mesa-gl"
+# meta-ti-bsp layer conf does break expectations wrt common folders
+# meta-ti-bsp/conf/layer.conf:TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti"
+TI_COMMON_DEPLOY := "${TMPDIR}/deploy" \ No newline at end of file
diff --git a/meta-agl-bsp/conf/include/agl_beagleplay.inc b/meta-agl-bsp/conf/include/agl_beagleplay.inc
new file mode 100644
index 000000000..77b669bb7
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_beagleplay.inc
@@ -0,0 +1,6 @@
+# beagleplay has a k3r5 BBMULTICONFIG to build its bootloader
+# and firmware, need to use an override to set DEFAULTTUNE back to
+# what that machine configuration needs.
+DEFAULTTUNE:k3r5:forcedefaulttune = "armv7athf"
+
+TI_COMMON_DEPLOY := "${TMPDIR}/deploy"
diff --git a/meta-agl-bsp/conf/include/agl_cubox-i.inc b/meta-agl-bsp/conf/include/agl_cubox-i.inc
index 4fa4815a4..ee5e759e4 100644
--- a/meta-agl-bsp/conf/include/agl_cubox-i.inc
+++ b/meta-agl-bsp/conf/include/agl_cubox-i.inc
@@ -1,5 +1,9 @@
require agl_imx6-common.inc
+# Force use of the community supported LTS kernel instead of the
+# default linux-fslc
+PREFERRED_PROVIDER_virtual/kernel = "linux-fslc-lts"
+
# Include devicetrees for SOM 1.5 and Hummingboard 2 hardware
KERNEL_DEVICETREE:append = " \
imx6dl-hummingboard-som-v15.dtb \
diff --git a/meta-agl-bsp/conf/include/agl_dragonboard-410c.inc b/meta-agl-bsp/conf/include/agl_dragonboard-410c.inc
deleted file mode 100644
index aba92ddf1..000000000
--- a/meta-agl-bsp/conf/include/agl_dragonboard-410c.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-# Install 96boards-tools for resizing partition
-# Add systemd unit file for the qcom_q6v5_pil kernel module
-IMAGE_INSTALL:append = " 96boards-tools q6v5-pil"
diff --git a/meta-agl-bsp/conf/include/agl_dragonboard-820c.inc b/meta-agl-bsp/conf/include/agl_dragonboard-820c.inc
deleted file mode 100644
index 265564c18..000000000
--- a/meta-agl-bsp/conf/include/agl_dragonboard-820c.inc
+++ /dev/null
@@ -1,2 +0,0 @@
-# Install 96boards-tools for resizing partition
-IMAGE_INSTALL:append = " 96boards-tools"
diff --git a/meta-agl-bsp/conf/include/agl_ebisu.inc b/meta-agl-bsp/conf/include/agl_ebisu.inc
index 0d10b3130..d684f814d 100644
--- a/meta-agl-bsp/conf/include/agl_ebisu.inc
+++ b/meta-agl-bsp/conf/include/agl_ebisu.inc
@@ -10,4 +10,4 @@ DISTRO_FEATURES:remove = " use_eva_pkg"
MACHINE_FEATURES:append = " usb3"
IMAGE_INSTALL:append = " gstreamer1.0-omx gstreamer1.0-plugin-vspfilter"
-IMAGE_INSTALL:append = " kernel-module-mmngr kernel-module-mmngrbuf kernel-module-uvcs-drv kernel-module-vspmif"
+IMAGE_INSTALL:append = " kernel-module-mmngr kernel-module-mmngrbuf kernel-module-uvcs-drv kernel-module-vspm-if"
diff --git a/meta-agl-bsp/conf/include/agl_h3-salvator-x-nogfx.inc b/meta-agl-bsp/conf/include/agl_h3-salvator-x-nogfx.inc
index 455a368e6..4ff103df8 100644
--- a/meta-agl-bsp/conf/include/agl_h3-salvator-x-nogfx.inc
+++ b/meta-agl-bsp/conf/include/agl_h3-salvator-x-nogfx.inc
@@ -1,25 +1,9 @@
-require conf/include/agl_rcar-nogfx.inc
+require conf/include/agl_salvator-nogfx.inc
SOC_FAMILY = "r8a7795"
BOARD_NAME = "h3-salvator-x"
DTB_SUFFIX = "r8a77951-salvator-xs"
-# Mask graphic Pkgs
-BBMASK += "gles-user-module|kernel-module-gles|wayland-kms|libgbm"
-# Mask MMP recipes
-BBMASK += "kernel-module-uvcs-drv|omx-user-module"
-
-# Work around use of obsolete Weston backend-fbdev in meta-rcar-gen3
-# when building without the proprietary driver stack. Masking out the
-# weston_%.bbappend seems the simplest approach for now, as forcing
-# USE_GLES = "1" to disable the adding of -Dbackend-default="fbdev" to
-# EXTRA_OEMESON triggers adding "libgbm" to DEPENDS, which breaks due
-# to that being a component specific to the proprietary stack we are
-# explicitly disabling. If the "libgbm" usage in the bbappend was
-# instead "virtual/libgbm" as is now used in poky, it might be possible
-# to just tweak PREFERRED_PROVIDER_virtual/libgbm = "mesa".
-BBMASK += "meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend"
-
# do use software rendering to display the compositor
# used for images w/o binary-only driver
WESTON_USE_PIXMAN = "1"
diff --git a/meta-agl-bsp/conf/include/agl_h3-salvator-x.inc b/meta-agl-bsp/conf/include/agl_h3-salvator-x.inc
index e7a8b463c..134b1dd1f 100644
--- a/meta-agl-bsp/conf/include/agl_h3-salvator-x.inc
+++ b/meta-agl-bsp/conf/include/agl_h3-salvator-x.inc
@@ -1,9 +1,6 @@
-require conf/include/agl_rcar.inc
+require conf/include/agl_salvator.inc
SOC_FAMILY = "r8a7795"
BOARD_NAME = "h3-salvator-x"
DTB_SUFFIX = "r8a77951-salvator-xs"
-IMAGE_INSTALL:append:rcar-gen3 = " \
- kernel-module-vspmif \
-"
diff --git a/meta-agl-bsp/conf/include/agl_hsdk.inc b/meta-agl-bsp/conf/include/agl_hsdk.inc
deleted file mode 100644
index b1b0e4a8f..000000000
--- a/meta-agl-bsp/conf/include/agl_hsdk.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-KERNEL_IMAGETYPE = "uImage"
-WKS_FILE = "sdimage-hsdk.wks"
-IMAGE_BOOT_FILES = "uImage uboot.env"
-IMAGE_INSTALL:append = " kernel-modules"
-
-# remove incompatible packages from packagegroups
-RDEPENDS:packagegroup-agl-core-devel:remove:hsdk = "valgrind gcc-sanitizers"
-RDEPENDS:packagegroup-core-tools-profile:remove:hsdk = "systemtap"
-RDEPENDS:packagegroup-core-tools-debug:remove:hsdk = "gdbserver"
diff --git a/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc b/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc
index cb13de713..f058ba1a5 100644
--- a/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc
+++ b/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc
@@ -1 +1,5 @@
require agl_imx6-common.inc
+
+# Force use of the community supported LTS kernel instead of the
+# default linux-fslc
+IMX_DEFAULT_KERNEL:imx6qdlsabreauto = "linux-fslc-lts"
diff --git a/meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc b/meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc
index 36493dcbf..b3faadd0a 100644
--- a/meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc
+++ b/meta-agl-bsp/conf/include/agl_imx8mq-evk-common.inc
@@ -1,13 +1,8 @@
require agl_imx-common.inc
-# Force use of the community supported LTS kernel instead of the
-# default linux-imx
-#IMX_DEFAULT_KERNEL:imx8mq-evk = "linux-fslc-imx"
-
-# For EVKB wifi support
-#MACHINE_FEATURES:append = " bcm4356"
-
# Add helper to drive setting up HCI UART device
-MACHINE_EXTRA_RRECOMMENDS:append = " hci-uart-helper"
+# NOTE: Disabled 2023/05 due to kernel oops, further investigation
+# required, see SPEC-4807 in JIRA.
+#MACHINE_EXTRA_RRECOMMENDS:append = " hci-uart-helper"
AGL_DEFAULT_INITRAMFS_FSTYPES := ""
diff --git a/meta-agl-bsp/conf/include/agl_imx8mq-evk-viv.inc b/meta-agl-bsp/conf/include/agl_imx8mq-evk-viv.inc
new file mode 100644
index 000000000..3988fcd6f
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_imx8mq-evk-viv.inc
@@ -0,0 +1,8 @@
+require agl_imx8mq-evk-common.inc
+
+IMX_DEFAULT_BSP = "nxp"
+
+# NOTE:
+# There is some potential benefit to using the community supported
+# linux-fslc-imx hybrid kernel here, but keeping the configuration
+# close to upstream to ease maintenance seems worthwhile.
diff --git a/meta-agl-bsp/conf/include/agl_imx8mq-evk.inc b/meta-agl-bsp/conf/include/agl_imx8mq-evk.inc
index d04ee41a7..620ee0fdd 100644
--- a/meta-agl-bsp/conf/include/agl_imx8mq-evk.inc
+++ b/meta-agl-bsp/conf/include/agl_imx8mq-evk.inc
@@ -1,23 +1,23 @@
-include agl_imx8mq-evk-common.inc
+require agl_imx8mq-evk-common.inc
-# NOTE: currently not using IMX_DEFAULT_BSP = "mainline", as it
-# requires more changes than this approach of disabling
-# Vivante.
+# NOTE:
+# Currently using the upstream default of IMX_DEFAULT_BSP = "mainline",
+# since we want to use the etnaviv driver and upstream Mesa + weston
+# stack. More tweaks are required to accomplish that if the BSP is set
+# to "nxp".
-# Add our own over-ride for use in a few recipes where there is
-# conflicting Vivante vs etnaviv configuration.
-#MACHINEOVERRIDES .= ":etnaviv"
-
-# Knock out Vivante overrides
-#MACHINEOVERRIDES_EXTENDER:mx8mq:forcevariable = ""
-#PREFERRED_VERSION_weston_mx8 = "8.0.0"
-#PREFERRED_VERSION_wayland-protocols_mx8 = "1.20"
-#PREFERRED_VERSION_libdrm_mx8 = "2.4.101"
+# Force use of the community supported hybrid NXP/LTS kernel instead of
+# the default linux-fslc. This is required to get the drivers required
+# for HDMI output.
+IMX_DEFAULT_KERNEL:imx8mq-evk = "linux-fslc-imx"
-#CORE_IMAGE_EXTRA_INSTALL += "libdrm-etnaviv"
+# Tweaks to allow using linux-fslc-imx on its own without the whole
+# NXP BSP. Just the DISTROOVERRIDES change on its own is not enough,
+# as COMPATIBLE_MACHINE is evaluated early enough that the recipe is
+# not seen as compatible without an explicit override.
+COMPATIBLE_MACHINE:pn-linux-fslc-imx = "(imx8mq-evk)"
+DISTROOVERRIDES:pn-linux-fslc-imx:append = "mx8-nxp-bsp"
-#PREFERRED_VERSION_gstreamer1.0_mx8 = "1.16.3"
-#PREFERRED_VERSION_gstreamer1.0-plugins-base_mx8 = "1.16.3"
-#PREFERRED_VERSION_gstreamer1.0-plugins-good_mx8 = "1.16.3"
-#PREFERRED_VERSION_gstreamer1.0-plugins-bad_mx8 = "1.16.3"
-#PREFERRED_VERSION_gstreamer1.0-plugins-ugly_mx8 = "1.16.3"
+# Add our own over-ride for use in a few recipes where there is
+# conflicting Vivante vs etnaviv configuration.
+MACHINEOVERRIDES .= ":etnaviv"
diff --git a/meta-agl-bsp/conf/include/agl_j721e-evm.inc b/meta-agl-bsp/conf/include/agl_j721e-evm.inc
index 61a4794f6..963b5697d 100644
--- a/meta-agl-bsp/conf/include/agl_j721e-evm.inc
+++ b/meta-agl-bsp/conf/include/agl_j721e-evm.inc
@@ -1,7 +1,11 @@
# j721e-evm has a k3r5 BBMULTICONFIG to build its bootloader
# firmware, need to use an override to set DEFAULTTUNE back to
# what that machine configuration needs.
-DEFAULTTUNE:k3r5 = "armv7athf"
+DEFAULTTUNE:k3r5:forcedefaulttune = "armv7athf"
# Workaround for recipe assumption of poky location
LIC_FILES_CHKSUM:pn-ti-rtos-firmware = "file://${THISDIR}/../../licenses/TI-TFL;md5=a1b59cb7ba626b9dbbcbf00f3fbc438a"
+
+# meta-ti-bsp layer conf does break expectations wrt common folders
+# meta-ti-bsp/conf/layer.conf:TI_COMMON_DEPLOY ?= "${TOPDIR}/deploy-ti"
+TI_COMMON_DEPLOY := "${TMPDIR}/deploy" \ No newline at end of file
diff --git a/meta-agl-bsp/conf/include/agl_m3-salvator-x-nogfx.inc b/meta-agl-bsp/conf/include/agl_m3-salvator-x-nogfx.inc
index b50f36355..ebbb3006a 100644
--- a/meta-agl-bsp/conf/include/agl_m3-salvator-x-nogfx.inc
+++ b/meta-agl-bsp/conf/include/agl_m3-salvator-x-nogfx.inc
@@ -1,21 +1,6 @@
-require conf/include/agl_rcar-nogfx.inc
+require conf/include/agl_salvator-nogfx.inc
SOC_FAMILY = "r8a7796"
BOARD_NAME = "m3-salvator-x"
DTB_SUFFIX = "r8a7796-salvator-xs"
-# Mask graphic Pkgs
-BBMASK += "gles-user-module|kernel-module-gles|wayland-kms|libgbm"
-# Mask MMP recipes
-BBMASK += "kernel-module-uvcs-drv|omx-user-module"
-
-# Work around use of obsolete Weston backend-fbdev in meta-rcar-gen3
-# when building without the proprietary driver stack. Masking out the
-# weston_%.bbappend seems the simplest approach for now, as forcing
-# USE_GLES = "1" to disable the adding of -Dbackend-default="fbdev" to
-# EXTRA_OEMESON triggers adding "libgbm" to DEPENDS, which breaks due
-# to that being a component specific to the proprietary stack we are
-# explicitly disabling. If the "libgbm" usage in the bbappend was
-# instead "virtual/libgbm" as is now used in poky, it might be possible
-# to just tweak PREFERRED_PROVIDER_virtual/libgbm = "mesa".
-BBMASK += "meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend"
diff --git a/meta-agl-bsp/conf/include/agl_m3-salvator-x.inc b/meta-agl-bsp/conf/include/agl_m3-salvator-x.inc
index b332c4b81..355040ba9 100644
--- a/meta-agl-bsp/conf/include/agl_m3-salvator-x.inc
+++ b/meta-agl-bsp/conf/include/agl_m3-salvator-x.inc
@@ -1,9 +1,6 @@
-require conf/include/agl_rcar.inc
+require conf/include/agl_salvator.inc
SOC_FAMILY = "r8a7796"
BOARD_NAME = "m3-salvator-x"
DTB_SUFFIX = "r8a7796-salvator-xs"
-IMAGE_INSTALL:append:rcar-gen3 = " \
- kernel-module-vspmif \
-"
diff --git a/meta-agl-bsp/conf/include/agl_nitrogen6x.inc b/meta-agl-bsp/conf/include/agl_nitrogen6x.inc
deleted file mode 100644
index cb13de713..000000000
--- a/meta-agl-bsp/conf/include/agl_nitrogen6x.inc
+++ /dev/null
@@ -1 +0,0 @@
-require agl_imx6-common.inc
diff --git a/meta-agl-bsp/conf/include/agl_qemuarm.inc b/meta-agl-bsp/conf/include/agl_qemuarm.inc
index f45b2d445..2449e1800 100644
--- a/meta-agl-bsp/conf/include/agl_qemuarm.inc
+++ b/meta-agl-bsp/conf/include/agl_qemuarm.inc
@@ -7,6 +7,9 @@ ROOT_VM = "root=PARTUUID=${DISK_SIGNATURE}-02"
# Use our own wks file
WKS_FILE="directdisk.wks.in"
+# Use pixman as software renderer to avoid high cpu consumption by GL-renderer
+WESTON_USE_PIXMAN = "1"
+
# Over-ride setting in oe-core's qemuboot.bbclass
QB_MEM:qemuarm = "-m 2048"
diff --git a/meta-agl-bsp/conf/include/agl_qemuarm64.inc b/meta-agl-bsp/conf/include/agl_qemuarm64.inc
index 089c4f261..46d3b4c39 100644
--- a/meta-agl-bsp/conf/include/agl_qemuarm64.inc
+++ b/meta-agl-bsp/conf/include/agl_qemuarm64.inc
@@ -7,6 +7,9 @@ ROOT_VM = "root=PARTUUID=${DISK_SIGNATURE}-02"
# Use our own wks file
WKS_FILE="directdisk.wks.in"
+# Use pixman as software renderer to avoid high cpu consumption by GL-renderer
+WESTON_USE_PIXMAN = "1"
+
# Over-ride setting in oe-core's qemuboot.bbclass
QB_MEM:qemuarm64 = "-m 2048"
diff --git a/meta-agl-bsp/conf/include/agl_qemux86-64.inc b/meta-agl-bsp/conf/include/agl_qemux86-64.inc
index 638778b81..cb40b8b37 100644
--- a/meta-agl-bsp/conf/include/agl_qemux86-64.inc
+++ b/meta-agl-bsp/conf/include/agl_qemux86-64.inc
@@ -34,7 +34,7 @@ MACHINE_EXTRA_RRECOMMENDS:append = " \
# NOTE: wic.{xz,bmap} are here since qemu targets override
# AGL_DEFAULT_IMAGE_FSTYPES to not include them, but for Intel
# we actually do want them for use on physical hardware.
-AGL_EXTRA_IMAGE_FSTYPES = "wic.xz wic.bmap ${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'wic.vmdk.xz', 'wic.vmdk', d)}"
+AGL_EXTRA_IMAGE_FSTYPES = "wic.xz wic.bmap ${@bb.utils.contains('AGL_FEATURES', 'AGLCI', 'wic.vmdk.xz', 'wic.vmdk', d)}"
IMAGE_BOOT_FILES:sota = "u-boot-qemux86-64.rom"
# Root device
diff --git a/meta-agl-bsp/conf/include/agl_raspberrypi4.inc b/meta-agl-bsp/conf/include/agl_raspberrypi4.inc
index 3fdc68b2c..7fd878d66 100644
--- a/meta-agl-bsp/conf/include/agl_raspberrypi4.inc
+++ b/meta-agl-bsp/conf/include/agl_raspberrypi4.inc
@@ -29,3 +29,6 @@ IMAGE_INSTALL:append = " ${@bb.utils.contains('AGL_XEN_WANTED', '1', 'xen-tools
# Add xen-raspberry binary to boot files
IMAGE_BOOT_FILES:append = " ${@bb.utils.contains('AGL_XEN_WANTED','1', 'xen-${MACHINE}', '',d)}"
+
+#DISPLAY CONFIGURATION
+WESTON_DISPLAYS:raspberrypi4 = " hdmi-a-1-90 hdmi-a-2-90"
diff --git a/meta-agl-bsp/conf/include/agl_raspberrypi5.inc b/meta-agl-bsp/conf/include/agl_raspberrypi5.inc
new file mode 100644
index 000000000..a0e675956
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_raspberrypi5.inc
@@ -0,0 +1,34 @@
+# Maximum memory allowed to be assigned
+GPU_MEM = "256"
+
+# Add CMA to the kernel arguments for SOTA
+OSTREE_KERNEL_ARGS:sota:append = " cma=256M"
+
+# use u-boot always (RPi5 U-boot is not ready yet)
+RPI_USE_U_BOOT = "0"
+
+# Use UART for serial console
+ENABLE_UART ?= "1"
+
+# For libomxil
+#LICENSE_FLAGS_ACCEPTED = "commercial"
+
+IMAGE_INSTALL:append = " kernel-modules linux-firmware-rpidistro-bcm43430 linux-firmware-rpidistro-bcm43455 create-combined-dtb "
+
+# Psplash causes crash on first boot on RPi
+IMAGE_FEATURES:remove = "splash"
+
+# Build updatable image. Only takes effect when sota.bbclass is inherited
+DISTRO_FEATURES:append = " sota"
+
+# Add xen build, if the xen feature activated
+DISTRO_FEATURES:append = " ${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen', '', d)}"
+
+# add xen-tools to build
+IMAGE_INSTALL:append = " ${@bb.utils.contains('AGL_XEN_WANTED', '1', 'xen-tools xen-mkimage-rpi4', '', d)}"
+
+# Add xen-raspberry binary to boot files
+IMAGE_BOOT_FILES:append = " ${@bb.utils.contains('AGL_XEN_WANTED','1', 'xen-${MACHINE}', '',d)}"
+
+#DISPLAY CONFIGURATION
+WESTON_DISPLAYS:raspberrypi5 = " hdmi-a-1-90 hdmi-a-2-90"
diff --git a/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc b/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc
index 476eb9c22..fb67fd976 100644
--- a/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc
+++ b/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc
@@ -4,7 +4,7 @@ OSTREE_KERNEL = "Image"
IMAGE_BOOT_FILES:sota = "renesas-ota-bootfiles/* ${DTB_SUFFIX}.dtb"
OSTREE_BOOTLOADER ?= "u-boot"
-WKS_FILE = "singlepart-noloader.wks"
+WKS_FILE:rcar-gen3 = "singlepart-noloader.wks"
RENESAS_DATADIR = "/usr"
@@ -44,10 +44,10 @@ PSEUDO_IGNORE_PATHS:append:pn-kernel-module-vspm = ",${KERNELSRC}"
# Mask out base-files and systemd bbappends to avoid changing systemd-tmpfiles
# behavior, see SPEC-4256 for a more involved explanation.
-BBMASK += "meta-rcar-gen3/recipes-core/base-files/ meta-rcar-gen3/recipes-core/systemd/"
+BBMASK += "meta-renesas/meta-rcar-gen3/recipes-core/base-files/ meta-renesas/meta-rcar-gen3/recipes-core/systemd/"
# Mask out cogl bbappend to avoid meta-gnome dependency
-BBMASK += "meta-rcar-gen3/recipes-graphics/cogl/cogl-1.0_1.%.bbappend"
+BBMASK += "meta-renesas/meta-rcar-gen3/recipes-graphics/cogl/cogl-1.0_1.%.bbappend"
# Provide default value that avoids errors from a new packaging QA
# check with respect to packagegroups depending on versioned library
diff --git a/meta-agl-bsp/conf/include/agl_rcar.inc b/meta-agl-bsp/conf/include/agl_rcar.inc
index 1059b2861..e1169c21e 100644
--- a/meta-agl-bsp/conf/include/agl_rcar.inc
+++ b/meta-agl-bsp/conf/include/agl_rcar.inc
@@ -1,39 +1,37 @@
require conf/include/agl_rcar-nogfx.inc
# Enable AGL virtualization features
-MACHINE_FEATURES:append = " agl-egvirt"
+MACHINE_FEATURES:append:rcar-gen3 = " agl-egvirt"
# Enable Gfx Pkgs
-MACHINE_FEATURES:append = " gsx"
-BB_MULTI_PROVIDER_ALLOWED += "virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
+MACHINE_FEATURES:append:rcar-gen3 = " gsx"
+BB_MULTI_PROVIDER_ALLOWED:append:rcar-gen3 = " virtual/libgl virtual/egl virtual/libgles1 virtual/libgles2"
# for Wayland/Weston
-PREFERRED_PROVIDER_virtual/libgles1 = ""
-PREFERRED_PROVIDER_virtual/libgles2 = "virtual-gles-user-module"
-PREFERRED_PROVIDER_virtual/egl = "virtual-gles-user-module"
-PREFERRED_PROVIDER_virtual/libgl = ""
-PREFERRED_PROVIDER_virtual/mesa = "mesa"
+PREFERRED_PROVIDER_virtual/libgles1:rcar-gen3 = ""
+PREFERRED_PROVIDER_virtual/libgles2:rcar-gen3 = "virtual-gles-user-module"
+PREFERRED_PROVIDER_virtual/egl:rcar-gen3 = "virtual-gles-user-module"
+PREFERRED_PROVIDER_virtual/libgl:rcar-gen3 = ""
+PREFERRED_PROVIDER_virtual/mesa:rcar-gen3 = "mesa"
+PREFERRED_PROVIDER_libgbm:rcar-gen3 = "libgbm"
+PREFERRED_PROVIDER_virtual/libgbm:rcar-gen3 = "libgbm"
+PREFERRED_RPROVIDER_libgbm-dev:rcar-gen3 = "libgbm"
-PREFERRED_PROVIDER_libgbm = "libgbm"
-PREFERRED_PROVIDER_virtual/libgbm = "libgbm"
-PREFERRED_RPROVIDER_libgbm-dev = "libgbm"
-
-
-PREFERRED_RPROVIDER_libomxil = "omx-user-module"
-PREFERRED_PROVIDER_virtual/libomxil = "omx-user-module"
-VIRTUAL-RUNTIME_libomxil = "omx-user-module"
+PREFERRED_RPROVIDER_libomxil:rcar-gen3 = "omx-user-module"
+PREFERRED_PROVIDER_virtual/libomxil:rcar-gen3 = "omx-user-module"
+VIRTUAL-RUNTIME_libomxil:rcar-gen3 = "omx-user-module"
# Add for gstreamer plugins ugly
-LICENSE_FLAGS_ACCEPTED = "commercial"
+LICENSE_FLAGS_ACCEPTED:rcar-gen3 = "commercial"
-MACHINE_FEATURES:append = " multimedia"
+MACHINE_FEATURES:append:rcar-gen3 = " multimedia"
-DISTRO_FEATURES:append = " use_eva_pkg"
+DISTRO_FEATURES:append:rcar-gen3 = " use_eva_pkg"
-#DISTRO_FEATURES:append = " h265dec_lib mpeg2dec_lib"
-DISTRO_FEATURES:append = " h264dec_lib h264enc_lib aaclcdec_lib aaclcdec_mdw"
+#DISTRO_FEATURES:append:rcar-gen3 = " h265dec_lib mpeg2dec_lib"
+DISTRO_FEATURES:append:rcar-gen3 = " h264dec_lib h264enc_lib aaclcdec_lib aaclcdec_mdw"
# Mask out meta-renesas-rcar-gen3's tweaks to weston-init, as they do
# not seem necessary for anything in AGL, and the addition of
@@ -44,7 +42,7 @@ DISTRO_FEATURES:append = " h264dec_lib h264enc_lib aaclcdec_lib aaclcdec_mdw"
# getting weston started. There is no clear rationale expressed in the
# meta-renesas-rcar-gen3 commit history for the extra dependencies, and
# testing shows no issues on H3ULCB when not having them.
-BBMASK += "meta-rcar-gen3/recipes-graphics/wayland/weston-init.bbappend"
+BBMASK += "meta-renesas/meta-rcar-gen3/recipes-graphics/wayland/weston-init.bbappend"
# Add graphics and decoder drivers to packagegroup-machine-base
# recommendation.
diff --git a/meta-agl-bsp/conf/include/agl_refhw-h3.inc b/meta-agl-bsp/conf/include/agl_refhw-h3.inc
index 68c0007bd..6eee8149f 100644
--- a/meta-agl-bsp/conf/include/agl_refhw-h3.inc
+++ b/meta-agl-bsp/conf/include/agl_refhw-h3.inc
@@ -1,11 +1,11 @@
-AGL_FEATURES:append = " agl-refhw-h3"
+AGL_FEATURES:append:h3ulcb = " agl-refhw-h3"
# Reference hardware has USB3
-MACHINE_FEATURES:append = " usb3"
+MACHINE_FEATURES:append:h3ulcb = " usb3"
-KERNEL_DEVICETREE:append = " renesas/r8a77951-agl-refhw.dtb"
+KERNEL_DEVICETREE:append:h3ulcb = " renesas/r8a77951-agl-refhw.dtb"
-UBOOT_CONFIG:append = " agl-refhw"
+UBOOT_CONFIG:append:h3ulcb = " agl-refhw"
UBOOT_CONFIG[agl-refhw] = "rcar3_salvator-x_defconfig"
MACHINE_EXTRA_RRECOMMENDS:append:h3ulcb = " \
diff --git a/meta-agl-bsp/conf/include/agl_s4sk.inc b/meta-agl-bsp/conf/include/agl_s4sk.inc
new file mode 100644
index 000000000..8f4a91b44
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_s4sk.inc
@@ -0,0 +1,9 @@
+SOC_FAMILY = "r8a779f0"
+BOARD_NAME = "s4sk"
+
+#ws2.0
+DTB_SUFFIX = "r8a779f0-s4sk"
+WKS_FILE = "singlepart-noloader.wks"
+IMAGE_INSTALL:append = " \
+ kernel-devicetree \
+"
diff --git a/meta-agl-bsp/conf/include/agl_salvator-nogfx.inc b/meta-agl-bsp/conf/include/agl_salvator-nogfx.inc
new file mode 100644
index 000000000..06e635ca0
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_salvator-nogfx.inc
@@ -0,0 +1,17 @@
+require conf/include/agl_rcar-nogfx.inc
+
+# Mask graphic Pkgs
+BBMASK += "gles-user-module|kernel-module-gles|wayland-kms|libgbm"
+# Mask MMP recipes
+BBMASK += "kernel-module-uvcs-drv|omx-user-module"
+# Work around use of obsolete Weston backend-fbdev in meta-rcar-gen3
+# when building without the proprietary driver stack. Masking out the
+# weston_%.bbappend seems the simplest approach for now, as forcing
+# USE_GLES = "1" to disable the adding of -Dbackend-default="fbdev" to
+# EXTRA_OEMESON triggers adding "libgbm" to DEPENDS, which breaks due
+# to that being a component specific to the proprietary stack we are
+# explicitly disabling. If the "libgbm" usage in the bbappend was
+# instead "virtual/libgbm" as is now used in poky, it might be possible
+# to just tweak PREFERRED_PROVIDER_virtual/libgbm = "mesa".
+BBMASK += "meta-rcar-gen3/recipes-graphics/wayland/weston_%.bbappend"
+
diff --git a/meta-agl-bsp/conf/include/agl_salvator.inc b/meta-agl-bsp/conf/include/agl_salvator.inc
new file mode 100644
index 000000000..78457868a
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_salvator.inc
@@ -0,0 +1,6 @@
+require conf/include/agl_rcar.inc
+
+IMAGE_INSTALL:append:rcar-gen3 = " \
+ kernel-module-vspm-if \
+"
+
diff --git a/meta-agl-bsp/conf/include/agl_unmatched.inc b/meta-agl-bsp/conf/include/agl_unmatched.inc
new file mode 100644
index 000000000..f7c9f75f2
--- /dev/null
+++ b/meta-agl-bsp/conf/include/agl_unmatched.inc
@@ -0,0 +1,4 @@
+# firmware for graphics
+MACHINE_EXTRA_RRECOMMENDS:append = " linux-firmware-radeon linux-firmware-amdgpu "
+
+#
diff --git a/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-conf-refhw_1.0.bb b/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend
index 25bdb73c8..3cd5aa7de 100644
--- a/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-conf-refhw_1.0.bb
+++ b/meta-agl-bsp/meta-agl-refhw-gen3/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend
@@ -1,8 +1,4 @@
-SUMMARY = "AGL Reference Hardware specific gpsd configuration"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
SRC_URI = "file://gpsd.refhw \
file://refhw-gpsd-helper.sh \
@@ -16,6 +12,7 @@ do_compile[noexec] = "1"
do_install() {
install -D -m 0644 ${WORKDIR}/gpsd.refhw ${D}/${sysconfdir}/default/gpsd.refhw
+
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -D -m 0755 ${WORKDIR}/refhw-gpsd-helper.sh ${D}/${sbindir}/refhw-gpsd-helper.sh
install -d ${D}${sysconfdir}/systemd/system/gpsd.service.d
@@ -23,6 +20,10 @@ do_install() {
fi
}
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+CONFFILES:${PN} = "${sysconfdir}/default/gpsd.refhw"
+
ALTERNATIVE:${PN} = "gpsd-defaults"
ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.refhw"
@@ -30,9 +31,3 @@ ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.refhw"
# default configuration. The script run by the systemd drop-in
# will tweak things on boot to handle h3ulcb vs refhw.
ALTERNATIVE_PRIORITY[gpsd-defaults] = "5"
-
-CONFFILES:${PN} = "${sysconfdir}/default/gpsd.refhw"
-
-# NOTE: Explicitly not defining RPROVIDES of "virtual/gpsd-conf" to
-# avoid conflicting with the default configuration and potentially
-# changing behavior on m3ulcb/h3ulcb.
diff --git a/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa/0001-virgl-don-t-a-use-staging-when-a-resources-created-w.patch b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa/0001-virgl-don-t-a-use-staging-when-a-resources-created-w.patch
new file mode 100644
index 000000000..9d6b2f3d0
--- /dev/null
+++ b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa/0001-virgl-don-t-a-use-staging-when-a-resources-created-w.patch
@@ -0,0 +1,48 @@
+From f50ff0b5cf2bfedfc2fd660ccfbfd5cfc3c131d1 Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Tue, 28 Mar 2023 15:33:26 +0300
+Subject: [PATCH] virgl: don't a use staging when a resources created with the
+ shared flag
+
+There seems to be a problem with running firefox by using Xwayland that
+results in a shared resources being not always tagged as using staging.
+
+As a result one process tries to map the resource that was allocated as
+one that uses staging without actually using the staging resource, and
+hence the mapped range only accounts for the small region that we have
+to allocated because a zero-allocation doesn't work, but the application
+mapping the resource assumes that a properly sized range is mapped, and
+consequently this results in invalid memory access.
+
+To work around this issue disable creating staging for resources that
+are created by using shared binding. It is not clear to me whether this
+is the best fix, but it seems to quell the issue.
+
+Fixes: c9d99b7eec7ec14d6d71d381a424b6280d75a882
+virgl: Fix texture transfers by using a staging resource
+
+Related: https://gitlab.freedesktop.org/virgl/virglrenderer/-/issues/291
+Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19655>
+(cherry picked from commit e496d24cb2d5339566c08c79a8aa7809c240613c)
+
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+(cherry picked from commit 39e9ea1419beb22ab7f4913b6d55f845f94d689a)
+---
+ src/gallium/drivers/virgl/virgl_resource.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/gallium/drivers/virgl/virgl_resource.c b/src/gallium/drivers/virgl/virgl_resource.c
+index 7185c9a90ff..257b790d437 100644
+--- a/src/gallium/drivers/virgl/virgl_resource.c
++++ b/src/gallium/drivers/virgl/virgl_resource.c
+@@ -100,6 +100,7 @@ static bool virgl_can_copy_transfer_from_host(struct virgl_screen *vs,
+ {
+ return virgl_can_use_staging(vs, res) &&
+ !is_stencil_array(res) &&
++ !(bind & VIRGL_BIND_SHARED) &&
+ virgl_has_readback_format(&vs->base, pipe_to_virgl_format(res->b.format), false) &&
+ ((!(vs->caps.caps.v2.capability_bits & VIRGL_CAP_FAKE_FP64)) ||
+ virgl_can_readback_from_rendertarget(vs, res) ||
+--
+2.35.1
+
diff --git a/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_%.bbappend b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_%.bbappend
index 3d5903d85..fb797a436 100644
--- a/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_%.bbappend
+++ b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_%.bbappend
@@ -1 +1,3 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', '${BPN}_agl.inc', '', d)}
diff --git a/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_agl.inc b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_agl.inc
index e74761317..c0f5b271d 100644
--- a/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_agl.inc
+++ b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_agl.inc
@@ -1,3 +1,5 @@
+SRC_URI += "file://0001-virgl-don-t-a-use-staging-when-a-resources-created-w.patch"
+
# The gallium-llvm is recommended as software 3D graphics renderer
GALLIUM_LLVM = "gallium-llvm"
PACKAGECONFIG:append:qemux86 = " gallium ${GALLIUM_LLVM}"
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend
new file mode 100644
index 000000000..07a43f958
--- /dev/null
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend
@@ -0,0 +1,10 @@
+# Work around PACKAGECONFIG:remove of "x11 wayland" added to the recipe
+# in meta-freescale commit 5a5c5dd. This can be removed once the issue
+# has been resolved by a revert of that breakage upstream.
+# What is done below is effectively a disabling of the "wayland"
+# PACKAGECONFIG option and then open coding what its effects would
+# normally be, since the :remove prevents specifying it in the usual way.
+PACKAGECONFIG[wayland] = ""
+DEPENDS:append = " virtual/egl virtual/libgles2"
+PACKAGECONFIG_CONFARGS:append = " -Dbackend-wayland=true"
+
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch
index 23ca0475a..f95891a2f 100644
--- a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch
@@ -8,16 +8,15 @@ Upstream-Status: pending
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
---
-diff --git a/drivers/gpu/drm/imx/Kconfig b/drivers/gpu/drm/imx/Kconfig
-index 63d5f1b532ee..a18ba56aa218 100644
---- a/drivers/gpu/drm/imx/Kconfig
-+++ b/drivers/gpu/drm/imx/Kconfig
-@@ -85,7 +85,7 @@ config DRM_IMX_CDNS_MHDP
- select DRM_CDNS_DP
+diff --git a/drivers/gpu/drm/imx/mhdp/Kconfig b/drivers/gpu/drm/imx/mhdp/Kconfig
+index 225ccc3638a8..164b42f04e94 100644
+--- a/drivers/gpu/drm/imx/mhdp/Kconfig
++++ b/drivers/gpu/drm/imx/mhdp/Kconfig
+@@ -7,6 +7,6 @@ config DRM_IMX_CDNS_MHDP
select DRM_CDNS_HDMI
select DRM_CDNS_AUDIO
+ select DRM_CDNS_HDMI_HDCP
- depends on DRM_IMX
+ depends on DRM_IMX || DRM_ETNAVIV
help
Choose this if you want to use HDMI on i.MX8.
-
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0002-dts-enable-etnaviv.patch b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0002-dts-enable-etnaviv.patch
index 4ce9b9d38..4ed4b685e 100644
--- a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0002-dts-enable-etnaviv.patch
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0002-dts-enable-etnaviv.patch
@@ -4,15 +4,14 @@ Some further investigation is required into how to manage this upstream
in meta-freescale, as it is not required for the i.MX6 platforms AFAIK.
Upstream-Status: pending
-
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
---
diff --git a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
-index f2a7e4069a0d..c0b6c5052656 100755
+index c3f8a24c3943..754fbfe30f0a 100755
--- a/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
+++ b/arch/arm64/boot/dts/freescale/imx8mq-evk.dts
-@@ -1074,7 +1074,7 @@
+@@ -1224,7 +1224,7 @@ &vpu_v4l2 {
status = "okay";
};
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend
index cc26e25c6..0772a98a8 100644
--- a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend
@@ -1,6 +1,6 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:${THISDIR}/files:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
-require recipes-kernel/linux/linux-yocto-agl.inc
+require linux-fslc.inc
# These patches and the configuration fragment below will need to be
# revisited if/when using IMX_DEFAULT_BSP = "mainline" with i.MX8
@@ -10,22 +10,8 @@ SRC_URI:append:etnaviv = " \
file://0002-dts-enable-etnaviv.patch \
"
-# Make sure these are enabled so that AGL systemd configuration works
-AGL_KCONFIG_FRAGMENTS += " \
- tmpfs.cfg \
- namespace.cfg \
- cgroup.cfg \
-"
-
-# Support for CFG80211 subsystem
-AGL_KCONFIG_FRAGMENTS += "cfg80211.cfg"
-
-# Turn off a couple of things enabled by default by Freescale
-# (lock debugging and userspace firmware loader fallback)
-AGL_KCONFIG_FRAGMENTS += "fixups.cfg"
-
# Support for i.MX8MQ EVKB (e.g. Broadcom wifi)
-AGL_KCONFIG_FRAGMENTS:append:imx8mqevk = " imx8mq-evkb.cfg"
+AGL_KCONFIG_FRAGMENTS:append:imx8mq-evk = " imx8mq-evkb.cfg"
# Build in etnaviv if required
AGL_KCONFIG_FRAGMENTS:append:etnaviv = " etnaviv.cfg"
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-lts_%.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-lts_%.bbappend
new file mode 100644
index 000000000..1007f3c7c
--- /dev/null
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-lts_%.bbappend
@@ -0,0 +1 @@
+require linux-fslc.inc
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc.inc b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc.inc
new file mode 100644
index 000000000..948b8c22c
--- /dev/null
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc.inc
@@ -0,0 +1,22 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
+
+require recipes-kernel/linux/linux-yocto-agl.inc
+
+# Make sure these are enabled so that AGL systemd configuration works
+AGL_KCONFIG_FRAGMENTS += " \
+ tmpfs.cfg \
+ namespace.cfg \
+ cgroup.cfg \
+"
+
+# Support for CFG80211 subsystem
+AGL_KCONFIG_FRAGMENTS += "cfg80211.cfg"
+
+# Turn off a couple of things enabled by default by Freescale
+# (lock debugging and userspace firmware loader fallback)
+AGL_KCONFIG_FRAGMENTS += "fixups.cfg"
+
+do_install:append:cubox-i() {
+ # Add symlink to work with default Hummingboard 2 u-boot configuration
+ ln -sf imx6q-hummingboard2.dtb ${D}/boot/imx6q-hummingboard2-emmc.dtb
+}
diff --git a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc_%.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc_%.bbappend
index 948b8c22c..1007f3c7c 100644
--- a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc_%.bbappend
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc_%.bbappend
@@ -1,22 +1 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-
-require recipes-kernel/linux/linux-yocto-agl.inc
-
-# Make sure these are enabled so that AGL systemd configuration works
-AGL_KCONFIG_FRAGMENTS += " \
- tmpfs.cfg \
- namespace.cfg \
- cgroup.cfg \
-"
-
-# Support for CFG80211 subsystem
-AGL_KCONFIG_FRAGMENTS += "cfg80211.cfg"
-
-# Turn off a couple of things enabled by default by Freescale
-# (lock debugging and userspace firmware loader fallback)
-AGL_KCONFIG_FRAGMENTS += "fixups.cfg"
-
-do_install:append:cubox-i() {
- # Add symlink to work with default Hummingboard 2 u-boot configuration
- ln -sf imx6q-hummingboard2.dtb ${D}/boot/imx6q-hummingboard2-emmc.dtb
-}
+require linux-fslc.inc
diff --git a/meta-agl-bsp/meta-qcom/recipes-bsp/96boards-tools/96boards-tools_0.12.bb b/meta-agl-bsp/meta-qcom/recipes-bsp/96boards-tools/96boards-tools_0.12.bb
deleted file mode 100644
index fdfd3e85f..000000000
--- a/meta-agl-bsp/meta-qcom/recipes-bsp/96boards-tools/96boards-tools_0.12.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-SUMMARY = "Useful bits an pieces to make 96Boards more standard across the board"
-HOMEPAGE = "https://github.com/96boards/96boards-tools"
-SECTION = "devel"
-
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-
-SRCREV = "ed0f0dbec02c1869a0c4fa0140b4aa5338c9d010"
-SRC_URI = "git://github.com/96boards/96boards-tools;branch=master;protocol=https"
-
-S = "${WORKDIR}/git"
-
-inherit systemd allarch update-rc.d
-
-do_install () {
- install -d ${D}${sysconfdir}/udev/rules.d
- install -m 0755 ${S}/*.rules ${D}${sysconfdir}/udev/rules.d/
- install -d ${D}${sysconfdir}/init.d
- install -m 0755 ${S}/resize-disk ${D}${sysconfdir}/init.d/
-
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${S}/resize-helper.service ${D}${systemd_unitdir}/system
-
- install -d ${D}${sbindir}
- install -m 0755 ${S}/resize-helper ${D}${sbindir}
-}
-
-INITSCRIPT_NAME = "resize-disk"
-INITSCRIPT_PARAMS = "start 99 5 2 . stop 20 0 1 6 ."
-
-SYSTEMD_SERVICE:${PN} = "resize-helper.service"
-RDEPENDS:${PN} += "e2fsprogs-resize2fs gptfdisk parted util-linux udev"
diff --git a/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/files/qcom-q6v5-pil.service b/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/files/qcom-q6v5-pil.service
deleted file mode 100644
index 3d9cd24bb..000000000
--- a/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/files/qcom-q6v5-pil.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Qualcomm Hexagon PIL setup
-After=rmtfs.service
-Requires=rmtfs.service
-
-[Service]
-Type=oneshot
-RemainAfterExit=yes
-ExecStart=/sbin/modprobe -q qcom_q6v5_pil
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/q6v5-pil.bb b/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/q6v5-pil.bb
deleted file mode 100644
index 14bab2430..000000000
--- a/meta-agl-bsp/meta-qcom/recipes-bsp/q6v5-pil/q6v5-pil.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-inherit systemd
-
-SUMMARY = "Systemd unit file for the delay loading Hexagon PIL kernel module"
-SECTION = "misc"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-SRC_URI += "file://qcom-q6v5-pil.service"
-
-do_install() {
- install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/qcom-q6v5-pil.service ${D}${systemd_unitdir}/system
-
- # Blacklist qcom_q6v5_pil to prevent modules autoload
- # qcom-q6v5-pil.service will do the work after rmtfs done.
- install -d ${D}/${sysconfdir}/modprobe.d
- echo "blacklist qcom_q6v5_pil" > ${D}/${sysconfdir}/modprobe.d/qcom_q6v5_pil.conf
-}
-
-SYSTEMD_SERVICE:${PN} = "qcom-q6v5-pil.service"
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf.bbappend
deleted file mode 100644
index 5f8af211a..000000000
--- a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-FILESEXTRAPATHS:prepend:raspberrypi := "${THISDIR}/${PN}:"
-
-SRC_URI:append:raspberrypi = " file://dsi.cfg"
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/dsi.cfg b/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/dsi.cfg
deleted file mode 100644
index ed6a4ed90..000000000
--- a/meta-agl-bsp/meta-raspberrypi/recipes-graphics/wayland/weston-ini-conf/dsi.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-# Support the Raspberry Pi Foundation 7" tablet which uses the DSI connector
-# rather than HDMI.
-[output]
-name=DSI-1
-transform=rotate-90
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch
index 3dc71ff22..7f0979ca9 100644
--- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch
+++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0001-mconf-menuconfig.patch
@@ -40,9 +40,9 @@ index c812872d7f9d..42d20819025c 100755
+ exit 0
+fi
+
- if [ -n "$(command -v pkg-config)" ]; then
- if pkg-config --exists $PKG; then
- echo cflags=\"$(pkg-config --cflags $PKG)\"
+ if [ -n "$(command -v ${HOSTPKG_CONFIG})" ]; then
+ if ${HOSTPKG_CONFIG} --exists $PKG; then
+ echo cflags=\"$(${HOSTPKG_CONFIG} --cflags $PKG)\"
--
2.17.1
diff --git a/meta-agl-bsp/meta-rcar-gateway/recipes-kernel/linux/linux-renesas_%.bbappend b/meta-agl-bsp/meta-rcar-gateway/recipes-kernel/linux/linux-renesas_%.bbappend
new file mode 100644
index 000000000..d565da8ac
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gateway/recipes-kernel/linux/linux-renesas_%.bbappend
@@ -0,0 +1,11 @@
+do_install:append () {
+
+ # Remove firmware file that is not packaged in the kernel.
+ # It throws an error during do_package.
+ # It seems to be moved out of the kernel in later BSP versions.
+ rm -rf ${D}/lib/firmware/r8a779f0_ufs.bin
+ rm -rf ${D}/lib/firmware
+ rm -rf ${D}/lib
+
+}
+
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/conf/include/rcar-gen3-adas.inc b/meta-agl-bsp/meta-rcar-gen3-adas/conf/include/rcar-gen3-adas.inc
index 22fca5c67..0c344a471 100644
--- a/meta-agl-bsp/meta-rcar-gen3-adas/conf/include/rcar-gen3-adas.inc
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/conf/include/rcar-gen3-adas.inc
@@ -4,13 +4,11 @@
# Add a feature as a low-impact way to detect Kingfisher support in
# recipes.
-AGL_FEATURES:append = " kingfisher"
+AGL_FEATURES:append:rcar-gen3 = " kingfisher"
-PREFERRED_RPROVIDER_virtual/gpsd-conf ?= "gpsd-kingfisher-conf"
-
-IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-kf${IMAGE_VERSION_SUFFIX}"
-IMAGE_LINK_NAME = "${IMAGE_BASENAME}-${MACHINE}-kf"
-TOOLCHAIN_OUTPUTNAME = "${SDK_NAME}-kf-toolchain-${SDK_VERSION}"
+IMAGE_NAME:rcar-gen3 = "${IMAGE_BASENAME}-${MACHINE}-kf${IMAGE_VERSION_SUFFIX}"
+IMAGE_LINK_NAME:rcar-gen3 = "${IMAGE_BASENAME}-${MACHINE}-kf"
+TOOLCHAIN_OUTPUTNAME:rcar-gen3 = "${SDK_NAME}-kf-toolchain-${SDK_VERSION}"
# Radio packages
IMAGE_INSTALL:append:rcar-gen3 = " \
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0004-ADSP-enable-and-add-sound-hardware-abstraction_kf.patch b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0004-ADSP-enable-and-add-sound-hardware-abstraction_kf.patch
deleted file mode 100644
index 92f5af88c..000000000
--- a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-kernel/linux/linux-renesas/0004-ADSP-enable-and-add-sound-hardware-abstraction_kf.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-The ADSP on Renesas SoCs required a reserved memory area to become
-enabled, and this needs to be done manually.
-
-This patch adds sound hardware abstraction information for the m3ulcb
-and m3ulcb-kf (kingfisher) device trees. This is helpful on-board the
-ADSP for dynamically determining sound hardware at runtime, allowing
-single binaries to be used between the two boards.
-
-Future work will incorporate the h3ulcb and Salvator boards into the
-abstraction.
-
-Signed-off-by: Ronan Le Martret <ronan.lemartret@iot.bzh>
-Signed-off-by: Mark Farrugia <mark.farrugia@fiberdyne.com.au>
----
-diff --git a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
-index de2390f009e7..4ccfa8315d17 100644
---- a/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
-+++ b/arch/arm64/boot/dts/renesas/r8a7796-m3ulcb-kf.dts
-@@ -15,6 +15,39 @@
- "renesas,r8a7796";
- };
-
-+
-+&adsp {
-+
-+ /* ADSP playback setting for pcm3168 */
-+ adsp_playback0: adsp,playback {
-+ mode = "tdm";
-+ clock-mode = "master";
-+ bus-width = <24>;
-+ ssi = <3>;
-+ bus-if = <0>;
-+ channels = <8>;
-+ pin-share-ssi = <4>;
-+ };
-+
-+ /* ADSP capture setting for pcm3168 */
-+ adsp_capture0: adsp,capture {
-+ mode = "tdm";
-+ clock-mode = "slave";
-+ bus-width = <24>;
-+ ssi = <4>;
-+ bus-if = <0>;
-+ channels = <8>;
-+ pin-share-ssi = <3>;
-+ };
-+
-+ adsp,ports {
-+ port@0 {
-+ playback = <&adsp_playback0>;
-+ capture = <&adsp_capture0>;
-+ };
-+ };
-+};
-+
- &du {
- ports {
- port@0 {
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-navigation/gpsd/gpsd-kingfisher-conf_1.0.bb b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend
index 2fa9fa4e4..51604706c 100644
--- a/meta-agl-bsp/meta-rcar-gen3-adas/recipes-navigation/gpsd/gpsd-kingfisher-conf_1.0.bb
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/recipes-navigation/gpsd/gpsd-machine-conf_1.0.bbappend
@@ -1,27 +1,23 @@
-SUMMARY = "King fisher specific gpsd config"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD-3-Clause;md5=550794465ba0ec5312d6919e203a55f9"
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-SRC_URI = " \
- file://gpsd.kingfisher \
-"
+SRC_URI = "file://gpsd.kingfisher"
inherit update-alternatives
-RPROVIDES:${PN} += "virtual/gpsd-conf"
-
-ALTERNATIVE:${PN} = "gpsd-defaults"
-ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
-ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.kingfisher"
-ALTERNATIVE_PRIORITY[gpsd-defaults] = "20"
-
-COMPATIBLE_MACHINE = "ulcb"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
do_install() {
install -d ${D}/${sysconfdir}/default
install -m 0644 ${WORKDIR}/gpsd.kingfisher ${D}/${sysconfdir}/default/gpsd.kingfisher
}
-FILES:${PN} = "${sysconfdir}/default/gpsd.kingfisher"
+COMPATIBLE_MACHINE = "ulcb"
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
CONFFILES:${PN} = "${sysconfdir}/default/gpsd.kingfisher"
+
+ALTERNATIVE:${PN} = "gpsd-defaults"
+ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
+ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.kingfisher"
+ALTERNATIVE_PRIORITY[gpsd-defaults] = "20"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bbappend
index 212c661b1..f4d086938 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bbappend
@@ -1,8 +1,6 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-
-SRC_URI:append = " \
- file://0001-Boot-Normal-World-in-EL2.patch \
-"
+# Boot Normal World in EL2: this define configures ATF (SPSR register) to boot
+# BL33 in EL2.
+EXTRA_OEMAKE += " RCAR_BL33_EXECUTION_EL=1"
do_ipl_opt_deploy:prepend () {
# Work around bug in BSP recipe, it can fail if nothing else has
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch
deleted file mode 100644
index 6ce9c0f9d..000000000
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/files/0001-Boot-Normal-World-in-EL2.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From c97f38b09f8b7d9c57a6e6f500c6ba8f7abd9914 Mon Sep 17 00:00:00 2001
-From: Michele Paolino <m.paolino@virtualopensystems.com>
-Date: Fri, 19 May 2017 14:50:55 +0200
-Subject: [PATCH] Boot Normal World in EL2
-
-This patch configures ATF (SPSR register) to boot BL33 in EL2.
-
-Signed-off-by: Michele Paolino <m.paolino@virtualopensystems.com>
----
- plat/renesas/rcar/platform.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/plat/renesas/rcar/platform.mk b/plat/renesas/rcar/platform.mk
-index ef7bf0f..06bc592 100644
---- a/plat/renesas/rcar/platform.mk
-+++ b/plat/renesas/rcar/platform.mk
-@@ -186,7 +186,7 @@ $(eval $(call add_define,RCAR_DRAM_SPLIT))
-
- # Process RCAR_BL33_EXECUTION_EL flag
- ifndef RCAR_BL33_EXECUTION_EL
--RCAR_BL33_EXECUTION_EL := 0
-+RCAR_BL33_EXECUTION_EL := 1
- endif
- $(eval $(call add_define,RCAR_BL33_EXECUTION_EL))
-
---
-2.7.4
-
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/renesas-ota-bootfiles.bb b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/renesas-ota-bootfiles.bb
index e8235b9bd..d46f4d885 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/renesas-ota-bootfiles.bb
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/bootfiles/renesas-ota-bootfiles.bb
@@ -8,10 +8,10 @@ COMPATIBLE_MACHINE = "(salvator-x|m3ulcb|h3ulcb|ebisu)"
S = "${WORKDIR}"
-SRC_URI:append:sota = "file://uEnv-ota-m3ulcb.txt \
- file://uEnv-ota-h3ulcb.txt \
- file://uEnv-ota-h3-salvator-xs \
- file://uEnv-ota-m3-salvator-xs"
+SRC_URI:append:sota = " file://uEnv-ota-m3ulcb.txt \
+ file://uEnv-ota-h3ulcb.txt \
+ file://uEnv-ota-h3-salvator-xs \
+ file://uEnv-ota-m3-salvator-xs"
do_deploy() {
install -d ${DEPLOYDIR}/${PN}
}
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend
index bd7fdf207..8f2d47adc 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bbappend
@@ -1,14 +1,3 @@
require checksum_control.inc
RDEPENDS:${PN}:append = " wayland-wsegl"
-
-do_install:append(){
- sed -i 's/GROUP="video"/GROUP="display"/g' ${D}${sysconfdir}/udev/rules.d/72-pvr-seat.rules
-
- # Work around upstream not using ${nonarch_base_libdir}/firmware
- if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then
- install -d ${D}${nonarch_base_libdir}/
- mv ${D}/lib/firmware ${D}${nonarch_base_libdir}/
- rm -rf ${D}/lib
- fi
-}
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend
index 6b9768394..b8882ae49 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-gles/kernel-module-gles.bbappend
@@ -4,18 +4,3 @@ module_do_compile:prepend() {
cd ${S}/build/linux/config/compilers
cp aarch64-linux-gnu.mk ${TARGET_SYS}.mk
}
-
-do_install:append() {
- # Work around upstream not using ${nonarch_base_libdir}/modules
- if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then
- install -d ${D}${nonarch_base_libdir}/
- mv ${D}/lib/modules ${D}${nonarch_base_libdir}/
- rm -rf ${D}/lib
- fi
-}
-
-# Required to guarantee the module goes into the expected
-# kernel-module-gles package and doesn't end up packaged in
-# kernel-module-pvrsvkm by the default behavior. Can be removed
-# if upstream correctly use ${nonarch_base_libdir} themselves.
-FILES:${PN} += "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/extra/pvrsrvkm.ko"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend
index 6e4b9a024..98b8e92c3 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngr.bbappend
@@ -1,11 +1,2 @@
KERNEL_MODULE_AUTOLOAD:append = " mmngr"
KERNEL_MODULE_PACKAGE_SUFFIX = ""
-
-do_install:append() {
- # Work around upstream not using ${nonarch_base_libdir}/modules
- if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then
- install -d ${D}${nonarch_base_libdir}/
- mv ${D}/lib/modules ${D}${nonarch_base_libdir}/
- rm -rf ${D}/lib
- fi
-}
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend
index d190595a7..fbff56fff 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-mmngr/kernel-module-mmngrbuf.bbappend
@@ -1,11 +1,2 @@
KERNEL_MODULE_AUTOLOAD:append = " mmngrbuf"
KERNEL_MODULE_PACKAGE_SUFFIX = ""
-
-do_install:append() {
- # Work around upstream not using ${nonarch_base_libdir}/modules
- if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then
- install -d ${D}${nonarch_base_libdir}/
- mv ${D}/lib/modules ${D}${nonarch_base_libdir}/
- rm -rf ${D}/lib
- fi
-}
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend
index a0ffc20ce..1fa00a859 100644
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-uvcs/kernel-module-uvcs-drv.bbappend
@@ -1,12 +1,3 @@
require checksum_control.inc
KERNEL_MODULE_AUTOLOAD = "uvcs_drv"
-
-do_install:append() {
- # Work around upstream not using ${nonarch_base_libdir}/modules
- if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then
- install -d ${D}${nonarch_base_libdir}/
- mv ${D}/lib/modules ${D}${nonarch_base_libdir}/
- rm -rf ${D}/lib
- fi
-}
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vsp2driver/kernel-module-vsp2driver.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vsp2driver/kernel-module-vsp2driver.bbappend
deleted file mode 100644
index f6a756d04..000000000
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vsp2driver/kernel-module-vsp2driver.bbappend
+++ /dev/null
@@ -1,14 +0,0 @@
-do_install:append() {
- # Work around upstream not using ${nonarch_base_libdir}/modules
- if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then
- install -d ${D}${nonarch_base_libdir}/
- mv ${D}/lib/modules ${D}${nonarch_base_libdir}/
- rm -rf ${D}/lib
- fi
-}
-
-# Required to guarantee the module goes into the expected
-# kernel-module-vsp2driver package and doesn't end up packaged in
-# kernel-module-vsp2 by the default behavior. Can be removed if
-# upstream correctly use ${nonarch_base_libdir} themselves.
-FILES:${PN} += "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/extra/vsp2.ko"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspm/kernel-module-vspm.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspm/kernel-module-vspm.bbappend
deleted file mode 100644
index aebf44cc4..000000000
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspm/kernel-module-vspm.bbappend
+++ /dev/null
@@ -1,8 +0,0 @@
-do_install:append() {
- # Work around upstream not using ${nonarch_base_libdir}/modules
- if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then
- install -d ${D}${nonarch_base_libdir}/
- mv ${D}/lib/modules ${D}${nonarch_base_libdir}/
- rm -rf ${D}/lib
- fi
-}
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspm-if.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspm-if.bbappend
new file mode 100644
index 000000000..5efe01045
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspm-if.bbappend
@@ -0,0 +1,2 @@
+KERNEL_MODULE_AUTOLOAD:append = " vspm_if"
+KERNEL_MODULE_PACKAGE_SUFFIX = ""
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bbappend
deleted file mode 100644
index 214b67c0b..000000000
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-kernel/kernel-module-vspmif/kernel-module-vspmif.bbappend
+++ /dev/null
@@ -1,17 +0,0 @@
-KERNEL_MODULE_AUTOLOAD:append = " vspm_if"
-KERNEL_MODULE_PACKAGE_SUFFIX = ""
-
-do_install:append() {
- # Work around upstream not using ${nonarch_base_libdir}/modules
- if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then
- install -d ${D}${nonarch_base_libdir}/
- mv ${D}/lib/modules ${D}${nonarch_base_libdir}/
- rm -rf ${D}/lib
- fi
-}
-
-# Required to guarantee the module goes into the expected
-# kernel-module-vspmif package and doesn't end up packaged in
-# kernel-module-vspm-if by the default behavior. Can be removed if
-# upstream correctly use ${nonarch_base_libdir} themselves.
-FILES:${PN} += "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/extra/vspm_if.ko"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.%.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.%.bbappend
new file mode 100644
index 000000000..d91281c18
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.%.bbappend
@@ -0,0 +1 @@
+do_unpack[network] = "1"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.%.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.%.bbappend
new file mode 100644
index 000000000..d91281c18
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.%.bbappend
@@ -0,0 +1 @@
+do_unpack[network] = "1"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.%.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.%.bbappend
new file mode 100644
index 000000000..d91281c18
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.%.bbappend
@@ -0,0 +1 @@
+do_unpack[network] = "1"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bbappend
new file mode 100644
index 000000000..9d3f5c670
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngr-user-module.bbappend
@@ -0,0 +1,11 @@
+do_install:append() {
+ # Add a rule to ensure the 'video' user has permission to access
+ install -d ${D}${sysconfdir}/udev/rules.d
+ cat >${D}${sysconfdir}/udev/rules.d/56-rgnmm.rules <<'EOF'
+KERNEL=="rgnmm", MODE="0660", GROUP="video"
+EOF
+}
+
+FILES:${PN}:append = " \
+ ${sysconfdir}/udev/rules.d/*.rules \
+"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bbappend
new file mode 100644
index 000000000..640e52651
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/mmngr-module/mmngrbuf-user-module.bbappend
@@ -0,0 +1,11 @@
+do_install:append() {
+ # Add a rule to ensure the 'video' group has permission to access
+ install -d ${D}${sysconfdir}/udev/rules.d
+ cat >${D}${sysconfdir}/udev/rules.d/56-rgnmmbuf.rules <<'EOF'
+KERNEL=="rgnmmbuf", MODE="0660", GROUP="video"
+EOF
+}
+
+FILES:${PN}:append = " \
+ ${sysconfdir}/udev/rules.d/*.rules \
+"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bbappend
deleted file mode 100644
index 53eb1c540..000000000
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-RDEPENDS:${PN}:append:rcar-gen3 = "\
- ${@bb.utils.contains('MACHINE_FEATURES','multimedia','packagegroup-multimedia-kernel-modules','',d)} \
- ${@bb.utils.contains('MACHINE_FEATURES','multimedia','packagegroup-multimedia-libs','',d)} \
- ${@bb.utils.contains('MACHINE_FEATURES','multimedia','packagegroup-gstreamer1.0-plugins','',d)} \
- "
diff --git a/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe/0001-Revert-block-nbd-add-sanity-check-for-first_minor.patch b/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe/0001-Revert-block-nbd-add-sanity-check-for-first_minor.patch
deleted file mode 100644
index 3b92bc350..000000000
--- a/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe/0001-Revert-block-nbd-add-sanity-check-for-first_minor.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 36b3d70d866d6781db4ab4c575b8bdab79244c7f Mon Sep 17 00:00:00 2001
-From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Date: Thu, 16 Sep 2021 10:17:11 +0200
-Subject: [PATCH] Revert "block: nbd: add sanity check for first_minor"
-
-This reverts commit 4b21d4e820bb9a1415ec76dfe565e4c5937337dd which is
-commit b1a811633f7321cf1ae2bb76a66805b7720e44c9 upstream.
-
-The backport of this is reported to be causing some problems, so revert
-this for now until they are worked out.
-
-Link: https://lore.kernel.org/r/CACPK8XfUWoOHr-0RwRoYoskia4fbAbZ7DYf5wWBnv6qUnGq18w@mail.gmail.com
-Reported-by: Joel Stanley <joel@jms.id.au>
-Cc: Christoph Hellwig <hch@lst.de>
-Cc: Pavel Skripkin <paskripkin@gmail.com>
-Cc: Jens Axboe <axboe@kernel.dk>
-Cc: Sasha Levin <sashal@kernel.org>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/block/nbd.c | 10 ----------
- 1 file changed, 10 deletions(-)
-
-diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c
-index 98274ba0701d..59c452fff835 100644
---- a/drivers/block/nbd.c
-+++ b/drivers/block/nbd.c
-@@ -1759,17 +1759,7 @@ static int nbd_dev_add(int index)
- refcount_set(&nbd->refs, 1);
- INIT_LIST_HEAD(&nbd->list);
- disk->major = NBD_MAJOR;
--
-- /* Too big first_minor can cause duplicate creation of
-- * sysfs files/links, since first_minor will be truncated to
-- * byte in __device_add_disk().
-- */
- disk->first_minor = index << part_shift;
-- if (disk->first_minor > 0xff) {
-- err = -EINVAL;
-- goto out_free_idr;
-- }
--
- disk->fops = &nbd_fops;
- disk->private_data = nbd;
- sprintf(disk->disk_name, "nbd%d", index);
---
-2.34.1
-
diff --git a/meta-agl-core/recipes-kernel/linux/linux/disable-relay.cfg b/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe/disable-relay.cfg
index 09a117919..09a117919 100644
--- a/meta-agl-core/recipes-kernel/linux/linux/disable-relay.cfg
+++ b/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe/disable-relay.cfg
diff --git a/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe_%.bbappend b/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe_%.bbappend
index d5e19efd4..803d4a995 100644
--- a/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe_%.bbappend
+++ b/meta-agl-bsp/meta-sancloud/recipes-kernel/linux/linux-bbe_%.bbappend
@@ -3,5 +3,4 @@ require recipes-kernel/linux/linux-agl.inc
FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
AGL_KCONFIG_FRAGMENTS += "cma-256.cfg"
-
-SRC_URI += "file://0001-Revert-block-nbd-add-sanity-check-for-first_minor.patch"
+AGL_KCONFIG_FRAGMENTS += "disable-relay.cfg"
diff --git a/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/files/0001-WIP-Make-BSP-work-under-YP-kirkstone.patch b/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/files/0001-WIP-Make-BSP-work-under-YP-kirkstone.patch
new file mode 100644
index 000000000..7fce516f0
--- /dev/null
+++ b/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/files/0001-WIP-Make-BSP-work-under-YP-kirkstone.patch
@@ -0,0 +1,46 @@
+From 57575ce80a96411bce828be6fc84ebd2ed003810 Mon Sep 17 00:00:00 2001
+From: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
+Date: Tue, 12 Sep 2023 22:50:28 +0200
+Subject: [PATCH] [WIP] Make BSP work under YP kirkstone
+
+This fixes build issues when using the layer with YP 'kirkstone' branch.
+
+check-config.sh can be solved differently as well.
+binman/control.py needs a little investigation
+
+Upstream-Status: Inappropriate
+Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
+---
+ scripts/check-config.sh | 2 +-
+ tools/binman/control.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/scripts/check-config.sh b/scripts/check-config.sh
+index cc1c9a54d9..633c69eb76 100755
+--- a/scripts/check-config.sh
++++ b/scripts/check-config.sh
+@@ -57,7 +57,7 @@ if [ -s ${new_adhoc} ]; then
+ echo >&2 "Please add these via Kconfig instead. Find a suitable Kconfig"
+ echo >&2 "file and add a 'config' or 'menuconfig' option."
+ # Don't delete the temporary files in case they are useful
+- exit 1
++ exit 0
+ else
+ rm ${suspects} ${ok} ${new_adhoc}
+ fi
+diff --git a/tools/binman/control.py b/tools/binman/control.py
+index 47aac207b4..3d013dea17 100644
+--- a/tools/binman/control.py
++++ b/tools/binman/control.py
+@@ -8,7 +8,7 @@
+ from collections import OrderedDict
+ import glob
+ import os
+-import pkg_resources
++#import pkg_resources
+ import re
+
+ import sys
+--
+2.35.3
+
diff --git a/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/u-boot-sifive_2023.07.02.bbappend b/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/u-boot-sifive_2023.07.02.bbappend
new file mode 100644
index 000000000..30bf957cf
--- /dev/null
+++ b/meta-agl-bsp/meta-sifive/recipes-bsp/u-boot/u-boot-sifive_2023.07.02.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
+
+SRC_URI:append = " file://0001-WIP-Make-BSP-work-under-YP-kirkstone.patch "
diff --git a/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive/radeon.cfg b/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive/radeon.cfg
new file mode 100644
index 000000000..fd25fdd56
--- /dev/null
+++ b/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive/radeon.cfg
@@ -0,0 +1,19 @@
+CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
+CONFIG_MOUSE_PS2_SMBUS=y
+CONFIG_I2C=y
+CONFIG_I2C_ALGOBIT=y
+CONFIG_DRM_BUDDY=m
+CONFIG_DRM_SCHED=m
+CONFIG_DRM_AMDGPU=m
+CONFIG_DRM_AMD_DC=y
+CONFIG_FB_DDC=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+CONFIG_FB_BACKLIGHT=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_RADEON=y
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_RTC_I2C_AND_SPI=y \ No newline at end of file
diff --git a/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive_%.bbappend b/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive_%.bbappend
new file mode 100644
index 000000000..d951b33ba
--- /dev/null
+++ b/meta-agl-bsp/meta-sifive/recipes-kernel/linux/linux-sifive_%.bbappend
@@ -0,0 +1,6 @@
+require recipes-kernel/linux/linux-agl.inc
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
+
+# enable AMDgpu
+AGL_KCONFIG_FRAGMENTS += "radeon.cfg"
diff --git a/meta-agl-bsp/meta-synopsys/recipes-kernel/linux-yocto_%.bbappend b/meta-agl-bsp/meta-synopsys/recipes-kernel/linux-yocto_%.bbappend
deleted file mode 100644
index d10ca3517..000000000
--- a/meta-agl-bsp/meta-synopsys/recipes-kernel/linux-yocto_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require recipes-kernel/linux/linux-yocto-agl.inc
diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km/0001-Add-support-for-AGL-toolchain.patch b/meta-agl-bsp/meta-ti-bsp/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km/0001-Add-support-for-AGL-toolchain.patch
deleted file mode 100644
index 8b59b61e2..000000000
--- a/meta-agl-bsp/meta-ti-bsp/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km/0001-Add-support-for-AGL-toolchain.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 630046ad76e14d28bd6b0728632e4f43b0916c22 Mon Sep 17 00:00:00 2001
-From: Paul Barker <paul.barker@sancloud.com>
-Date: Tue, 30 Nov 2021 16:48:58 +0000
-Subject: [PATCH] Add support for AGL toolchain
-
-We can use the pre-existing config for arm-linux-gnueabihf, we just need
-to make sure our toolchain is matched against this and not
-arm-linux-gnueabi.
-
-Signed-off-by: Paul Barker <paul.barker@sancloud.com>
-[Updated for 1.17.4948957/k5.10]
-Signed-off-by: Scott Murray <scott.murrary@konsulko.com>
----
- eurasia_km/eurasiacon/build/linux2/config/compiler.mk | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/eurasia_km/eurasiacon/build/linux2/config/compiler.mk b/eurasia_km/eurasiacon/build/linux2/config/compiler.mk
-index 1b5f090..6719dc2 100644
---- a/eurasia_km/eurasiacon/build/linux2/config/compiler.mk
-+++ b/eurasia_km/eurasiacon/build/linux2/config/compiler.mk
-@@ -68,7 +68,7 @@ define calculate-compiler-preferred-target
- ifneq ($$(filter aarch64-%,$$($(1)_compiler_preferred_target)),)
- $(1)_compiler_preferred_target := aarch64-linux-gnu
- endif
-- ifneq ($$(filter arm-%-gnueabihf arm-oe-linux-gnueabi arm-poky-linux-gnueabi arm-yoe-linux-gnueabi arm-oe-linux-musleabi arm-poky-linux-musleabi arm-yoe-linux-musleabi,$$($(1)_compiler_preferred_target)),)
-+ ifneq ($$(filter arm-%-gnueabihf arm-oe-linux-gnueabi arm-poky-linux-gnueabi arm-yoe-linux-gnueabi arm-agl-linux-gnueabi arm-oe-linux-musleabi arm-poky-linux-musleabi arm-yoe-linux-musleabi,$$($(1)_compiler_preferred_target)),)
- $(1)_compiler_preferred_target := arm-linux-gnueabihf
- endif
- ifneq ($$(filter arm-%-gnueabi armv7a-cros-linux-gnueabi armv7hl-redhat-linux-gnueabi,$$($(1)_compiler_preferred_target)),)
---
-2.30.2
-
diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km_%.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km_%.bbappend
deleted file mode 100644
index 62f1947e5..000000000
--- a/meta-agl-bsp/meta-ti-bsp/recipes-bsp/ti-sgx-ddk-km/ti-sgx-ddk-km_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-
-SRC_URI += "file://0001-Add-support-for-AGL-toolchain.patch"
diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um/pvr.service b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um/pvr.service
deleted file mode 100644
index 1acb94fd4..000000000
--- a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um/pvr.service
+++ /dev/null
@@ -1,19 +0,0 @@
-[Unit]
-Description=PVR service
-SourcePath=/etc/ti-sgx/rc.pvr
-DefaultDependencies=no
-Before=psplash-start.service
-
-[Service]
-Type=forking
-Restart=no
-TimeoutSec=5min
-IgnoreSIGPIPE=no
-KillMode=process
-GuessMainPID=no
-RemainAfterExit=yes
-ExecStart=/etc/ti-sgx/rc.pvr start
-ExecStop=/etc/ti-sgx/rc.pvr stop
-
-[Install]
-WantedBy=sysinit.target
diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_%.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_%.bbappend
deleted file mode 100644
index 86e353414..000000000
--- a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/libgles/ti-sgx-ddk-um_%.bbappend
+++ /dev/null
@@ -1,18 +0,0 @@
-FILESEXTRAPATHS:append := ":${THISDIR}/${PN}"
-FILES:${PN} += "/etc/ti-sgx/"
-
-SRC_URI:append = "\
- file://pvr.service \
-"
-
-inherit systemd
-
-SYSTEMD_PACKAGES = "${PN}"
-SYSTEMD_SERVICE:${PN} = "pvr.service"
-
-do_install:append() {
- install -d ${D}${systemd_system_unitdir}
- install -m 0755 ${WORKDIR}/pvr.service ${D}${systemd_system_unitdir}
- install -d ${D}${sysconfdir}/ti-sgx
- install -m 0755 ${D}${sysconfdir}/init.d/rc.pvr ${D}${sysconfdir}/ti-sgx
-}
diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_%.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_%.bbappend
deleted file mode 100644
index d12ab2be2..000000000
--- a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-gl_%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-# Remove GBM support from Mesa
-# TI Platforms provides own GBM library
-
-PACKAGES:remove = "libgbm"
-PACKAGES:remove = "libgbm-dev"
-
-EXTRA_OECONF:remove = "--enable-gbm"
diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_%.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_%.bbappend
new file mode 100644
index 000000000..08e684609
--- /dev/null
+++ b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_%.bbappend
@@ -0,0 +1 @@
+PR = "sgxrgx0"
diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa_%.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa_%.bbappend
new file mode 100644
index 000000000..be4ee237b
--- /dev/null
+++ b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/mesa_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains_any('PREFERRED_PROVIDER_virtual/gpudriver', 'ti-img-rogue-driver ti-sgx-ddk-km', 'pvr-fix.inc', '', d)}
diff --git a/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/pvr-fix.inc b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/pvr-fix.inc
new file mode 100644
index 000000000..82fda6896
--- /dev/null
+++ b/meta-agl-bsp/meta-ti-bsp/recipes-graphics/mesa/pvr-fix.inc
@@ -0,0 +1 @@
+SRC_URI:remove = "file://0001-virgl-don-t-a-use-staging-when-a-resources-created-w.patch"
diff --git a/meta-agl-bsp/meta-qcom/recipes-kernel/linux/linux-linaro-qcomlt_%.bbappend b/meta-agl-bsp/meta-ti-bsp/recipes-kernel/linux/linux-bb.org_%.bbappend
index b60201986..07ba7d4d1 100644
--- a/meta-agl-bsp/meta-qcom/recipes-kernel/linux/linux-linaro-qcomlt_%.bbappend
+++ b/meta-agl-bsp/meta-ti-bsp/recipes-kernel/linux/linux-bb.org_%.bbappend
@@ -1 +1,2 @@
require recipes-kernel/linux/linux-agl-config.inc
+
diff --git a/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa/0001-virgl-virgl_driinfo.h.in-Disable-by-default-emulated.patch b/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa/0001-virgl-virgl_driinfo.h.in-Disable-by-default-emulated.patch
new file mode 100644
index 000000000..8bc102c92
--- /dev/null
+++ b/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa/0001-virgl-virgl_driinfo.h.in-Disable-by-default-emulated.patch
@@ -0,0 +1,34 @@
+From 39dea63ebce2764c683c8c2eddbb10cf07a970c4 Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Mon, 19 Dec 2022 11:51:28 +0200
+Subject: [PATCH] virgl/virgl_driinfo.h.in: Disable by default emulated BGRA
+ and swizzling
+
+Workaround in place for virtio aarch64 to avoid graphical artefacts when
+first time booting up on PVR host driver.
+
+Introduced with patch 'virgl: Always enable emulated BGRA and swizzling
+unless specifically told not to' in mesa-20.3.0.
+
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+---
+ src/gallium/drivers/virgl/virgl_driinfo.h.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/gallium/drivers/virgl/virgl_driinfo.h.in b/src/gallium/drivers/virgl/virgl_driinfo.h.in
+index f57e5880965..1c06f932c5c 100644
+--- a/src/gallium/drivers/virgl/virgl_driinfo.h.in
++++ b/src/gallium/drivers/virgl/virgl_driinfo.h.in
+@@ -8,7 +8,7 @@
+ // 5. Implement the tweak in virglrenderer
+ DRI_CONF_SECTION_MISCELLANEOUS
+ DRI_CONF_FORMAT_L8_SRGB_ENABLE_READBACK(false)
+- DRI_CONF_GLES_EMULATE_BGRA(true)
+- DRI_CONF_GLES_APPLY_BGRA_DEST_SWIZZLE(true)
++ DRI_CONF_GLES_EMULATE_BGRA(false)
++ DRI_CONF_GLES_APPLY_BGRA_DEST_SWIZZLE(false)
+ DRI_CONF_GLES_SAMPLES_PASSED_VALUE(1024, 1, 400000000)
+ DRI_CONF_SECTION_END
+--
+2.35.1
+
diff --git a/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa_22.%.bbappend b/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa_22.%.bbappend
new file mode 100644
index 000000000..0a6606ebf
--- /dev/null
+++ b/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa_22.%.bbappend
@@ -0,0 +1,3 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://0001-virgl-virgl_driinfo.h.in-Disable-by-default-emulated.patch"
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto-dev.bbappend b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto-dev.bbappend
new file mode 100644
index 000000000..5970414eb
--- /dev/null
+++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto-dev.bbappend
@@ -0,0 +1,10 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/linux-yocto:"
+
+SRC_URI:append:virtio-all = " \
+ git://gerrit.automotivelinux.org/gerrit/src/agl-yocto-kernel-meta.git;protocol=https;type=kmeta;name=agl-meta;destsuffix=agl-kernel-meta;branch=master \
+ file://virtio-aarch64-${LINUX_KERNEL_TYPE}.scc \
+"
+
+SRCREV_agl-meta = "c5008f4ba9e1b9f11c1014b53477079e605ceab7"
+
+COMPATIBLE_MACHINE:virtio-aarch64 = "virtio-aarch64"
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-aarch64-standard.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-aarch64-standard.scc
index d675de474..2d1570e9f 100644
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-aarch64-standard.scc
+++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-aarch64-standard.scc
@@ -7,7 +7,7 @@ include ktypes/standard/standard.scc nopatch
include arch/arm/aarch64.scc
include cfg/8250.scc
include cfg/virtio.scc
-include virtio.scc
+include bsp/virtio/agl-virtio.scc
# enable the ability to run 32 bit apps
include arch/arm/32bit-compat.scc
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg
new file mode 100644
index 000000000..2facc345e
--- /dev/null
+++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg
@@ -0,0 +1,3 @@
+CONFIG_DRM=y
+CONFIG_FB=y
+CONFIG_DRM_FBDEV_EMULATION=y
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.cfg
deleted file mode 100644
index 25381e133..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.cfg
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: MIT
-#
-# ARM64
-#
-CONFIG_ARM64=y
-CONFIG_64BIT=y
-
-#
-# Bus support
-#
-CONFIG_ARM_AMBA=y
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_AMBA_PL011=y
-CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
-
-#
-# RTC
-#
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-
-#
-# on-CPU RTC drivers
-#
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_PL031=y
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.scc
deleted file mode 100644
index 1de6faf9b..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/arch/arm/aarch64.scc
+++ /dev/null
@@ -1,2 +0,0 @@
-# SPDX-License-Identifier: MIT
-kconf hardware aarch64.cfg
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0001-iio-core-Introduce-IIO_VAL_INT_64.patch b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0001-iio-core-Introduce-IIO_VAL_INT_64.patch
deleted file mode 100644
index 2a18a04d3..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0001-iio-core-Introduce-IIO_VAL_INT_64.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 3698bab1b1856a8146c8f8a83c888bd9cefcdde0 Mon Sep 17 00:00:00 2001
-From: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com>
-Date: Sun, 24 Oct 2021 12:16:26 +0300
-Subject: [PATCH] iio: core: Introduce IIO_VAL_INT_64.
-
-Introduce IIO_VAL_INT_64 to read 64-bit value for
-channel attribute. Val is used as lower 32 bits.
-
-Signed-off-by: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com>
-Link: https://lore.kernel.org/r/20211024091627.28031-2-andriy.tryshnivskyy@opensynergy.com
-Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
----
- drivers/iio/industrialio-core.c | 3 +++
- include/linux/iio/types.h | 1 +
- 2 files changed, 4 insertions(+)
-
-diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
-index 3e1e86d987cc..3f21e6b49a4a 100644
---- a/drivers/iio/industrialio-core.c
-+++ b/drivers/iio/industrialio-core.c
-@@ -702,6 +702,9 @@ static ssize_t __iio_format_value(char *buf, size_t offset, unsigned int type,
- }
- case IIO_VAL_CHAR:
- return sysfs_emit_at(buf, offset, "%c", (char)vals[0]);
-+ case IIO_VAL_INT_64:
-+ tmp2 = (s64)((((u64)vals[1]) << 32) | (u32)vals[0]);
-+ return sysfs_emit_at(buf, offset, "%lld", tmp2);
- default:
- return 0;
- }
-diff --git a/include/linux/iio/types.h b/include/linux/iio/types.h
-index 84b3f8175cc6..a7aa91f3a8dc 100644
---- a/include/linux/iio/types.h
-+++ b/include/linux/iio/types.h
-@@ -24,6 +24,7 @@ enum iio_event_info {
- #define IIO_VAL_INT_PLUS_NANO 3
- #define IIO_VAL_INT_PLUS_MICRO_DB 4
- #define IIO_VAL_INT_MULTIPLE 5
-+#define IIO_VAL_INT_64 6 /* 64-bit data, val is lower 32 bits */
- #define IIO_VAL_FRACTIONAL 10
- #define IIO_VAL_FRACTIONAL_LOG2 11
- #define IIO_VAL_CHAR 12
---
-2.17.1
-
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch
deleted file mode 100644
index a11e5e2ff..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/0002-iio-scmi-Add-reading-raw-attribute.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-From a58a59fa0d626990f32e84bd35e1326cf0532c4a Mon Sep 17 00:00:00 2001
-From: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com>
-Date: Sun, 24 Oct 2021 12:16:27 +0300
-Subject: [PATCH] iio/scmi: Add reading "raw" attribute.
-
-Add IIO_CHAN_INFO_RAW to the mask and implement corresponding
-reading "raw" attribute in scmi_iio_read_raw.
-
-Signed-off-by: Andriy Tryshnivskyy <andriy.tryshnivskyy@opensynergy.com>
-Acked-by: Jyoti Bhayana <jbhayana@google.com>
-Link: https://lore.kernel.org/r/20211024091627.28031-3-andriy.tryshnivskyy@opensynergy.com
-Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
----
- drivers/iio/common/scmi_sensors/scmi_iio.c | 57 +++++++++++++++++++++-
- 1 file changed, 56 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/iio/common/scmi_sensors/scmi_iio.c b/drivers/iio/common/scmi_sensors/scmi_iio.c
-index 7cf2bf282cef..d538bf3ab1ef 100644
---- a/drivers/iio/common/scmi_sensors/scmi_iio.c
-+++ b/drivers/iio/common/scmi_sensors/scmi_iio.c
-@@ -279,6 +279,52 @@ static int scmi_iio_get_odr_val(struct iio_dev *iio_dev, int *val, int *val2)
- return 0;
- }
-
-+static int scmi_iio_read_channel_data(struct iio_dev *iio_dev,
-+ struct iio_chan_spec const *ch, int *val, int *val2)
-+{
-+ struct scmi_iio_priv *sensor = iio_priv(iio_dev);
-+ u32 sensor_config;
-+ struct scmi_sensor_reading readings[SCMI_IIO_NUM_OF_AXIS];
-+ int err;
-+
-+ sensor_config = FIELD_PREP(SCMI_SENS_CFG_SENSOR_ENABLED_MASK,
-+ SCMI_SENS_CFG_SENSOR_ENABLE);
-+ err = sensor->sensor_ops->config_set(
-+ sensor->ph, sensor->sensor_info->id, sensor_config);
-+ if (err) {
-+ dev_err(&iio_dev->dev,
-+ "Error in enabling sensor %s err %d",
-+ sensor->sensor_info->name, err);
-+ return err;
-+ }
-+
-+ err = sensor->sensor_ops->reading_get_timestamped(
-+ sensor->ph, sensor->sensor_info->id,
-+ sensor->sensor_info->num_axis, readings);
-+ if (err) {
-+ dev_err(&iio_dev->dev,
-+ "Error in reading raw attribute for sensor %s err %d",
-+ sensor->sensor_info->name, err);
-+ return err;
-+ }
-+
-+ sensor_config = FIELD_PREP(SCMI_SENS_CFG_SENSOR_ENABLED_MASK,
-+ SCMI_SENS_CFG_SENSOR_DISABLE);
-+ err = sensor->sensor_ops->config_set(
-+ sensor->ph, sensor->sensor_info->id, sensor_config);
-+ if (err) {
-+ dev_err(&iio_dev->dev,
-+ "Error in disabling sensor %s err %d",
-+ sensor->sensor_info->name, err);
-+ return err;
-+ }
-+
-+ *val = lower_32_bits(readings[ch->scan_index].value);
-+ *val2 = upper_32_bits(readings[ch->scan_index].value);
-+
-+ return IIO_VAL_INT_64;
-+}
-+
- static int scmi_iio_read_raw(struct iio_dev *iio_dev,
- struct iio_chan_spec const *ch, int *val,
- int *val2, long mask)
-@@ -300,6 +346,14 @@ static int scmi_iio_read_raw(struct iio_dev *iio_dev,
- case IIO_CHAN_INFO_SAMP_FREQ:
- ret = scmi_iio_get_odr_val(iio_dev, val, val2);
- return ret ? ret : IIO_VAL_INT_PLUS_MICRO;
-+ case IIO_CHAN_INFO_RAW:
-+ ret = iio_device_claim_direct_mode(iio_dev);
-+ if (ret)
-+ return ret;
-+
-+ ret = scmi_iio_read_channel_data(iio_dev, ch, val, val2);
-+ iio_device_release_direct_mode(iio_dev);
-+ return ret;
- default:
- return -EINVAL;
- }
-@@ -381,7 +435,8 @@ static void scmi_iio_set_data_channel(struct iio_chan_spec *iio_chan,
- iio_chan->type = type;
- iio_chan->modified = 1;
- iio_chan->channel2 = mod;
-- iio_chan->info_mask_separate = BIT(IIO_CHAN_INFO_SCALE);
-+ iio_chan->info_mask_separate =
-+ BIT(IIO_CHAN_INFO_SCALE) | BIT(IIO_CHAN_INFO_RAW);
- iio_chan->info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SAMP_FREQ);
- iio_chan->info_mask_shared_by_type_available =
- BIT(IIO_CHAN_INFO_SAMP_FREQ);
---
-2.17.1
-
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/iio-scmi.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/iio-scmi.cfg
deleted file mode 100644
index 858d20657..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/iio-scmi.cfg
+++ /dev/null
@@ -1 +0,0 @@
-CONFIG_IIO_SCMI=y
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.cfg
deleted file mode 100644
index b698e64ad..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.cfg
+++ /dev/null
@@ -1,25 +0,0 @@
-# Enable ARM_SCMI_PROTOCOL ("ARM System Control and Management Interface (SCMI)
-# Message Protocol") config located in menu
-#
-# -> Device Drivers
-# -> Firmware Drivers
-# -> ARM System Control and Management Interface Protocol
-#
-# After that, in the same menu enabled:
-#
-# * ARM_SCMI_TRANSPORT_VIRTIO ("SCMI transport based on VirtIO")
-#
-# and disabled not used features:
-#
-# * ARM_SCMI_TRANSPORT_SMC ("SCMI transport based on SMC")
-# * ARM_SCMI_POWER_DOMAIN ("SCMI power domain driver")
-
-CONFIG_ARM_SCMI_PROTOCOL=y
-CONFIG_ARM_SCMI_HAVE_TRANSPORT=y
-CONFIG_ARM_SCMI_HAVE_MSG=y
-# CONFIG_ARM_SCMI_TRANSPORT_SMC is not set
-CONFIG_ARM_SCMI_TRANSPORT_VIRTIO=y
-# CONFIG_ARM_SCMI_POWER_DOMAIN is not set
-# CONFIG_SENSORS_ARM_SCMI is not set
-# CONFIG_COMMON_CLK_SCMI is not set
-# CONFIG_IIO_SCMI is not set
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.scc
deleted file mode 100644
index dea7dec73..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-scmi/virtio-scmi.scc
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: MIT
-kconf hardware virtio-scmi.cfg
-kconf hardware iio-scmi.cfg
-patch 0001-iio-core-Introduce-IIO_VAL_INT_64.patch
-patch 0002-iio-scmi-Add-reading-raw-attribute.patch
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.cfg
deleted file mode 100644
index 35c5134a0..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.cfg
+++ /dev/null
@@ -1,5 +0,0 @@
-CONFIG_SND_TIMER=y
-CONFIG_SND_PCM=y
-CONFIG_SND_JACK=y
-CONFIG_SND_JACK_INPUT_DEV=y
-CONFIG_SND_VIRTIO=y \ No newline at end of file
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.scc
deleted file mode 100644
index a1fc8bb7d..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio-snd/virtio-snd.scc
+++ /dev/null
@@ -1,2 +0,0 @@
-# SPDX-License-Identifier: MIT
-kconf hardware virtio-snd.cfg
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.cfg
deleted file mode 100644
index b8b36e7ad..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.cfg
+++ /dev/null
@@ -1,16 +0,0 @@
-# SPDX-License-Identifier: MIT
-
-# TODO: upstream to yocto-kernel-cache/cfg/8250.cfg
-CONFIG_SERIAL_OF_PLATFORM=y
-
-# Remove since PCI is not enabled
-# CONFIG_SERIAL_8250_PCI is not set
-
-# TODO: upstream to yocto-kernel-cache/cfg/virtio.cfg
-CONFIG_VSOCKETS=y
-CONFIG_VSOCKETS_DIAG=y
-CONFIG_VIRTIO_VSOCKETS=y
-CONFIG_VIRTIO_VSOCKETS_COMMON=y
-
-# Needed for CONFIG_DRM_VIRTIO_GPU
-CONFIG_DRM=y
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.scc b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.scc
deleted file mode 100644
index a29955dd8..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-kmeta/bsp/virtio/virtio.scc
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: MIT
-kconf hardware virtio.cfg
-
-include virtio-snd/virtio-snd.scc
-include virtio-scmi/virtio-scmi.scc
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg
new file mode 100644
index 000000000..bbcaca312
--- /dev/null
+++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg
@@ -0,0 +1,3 @@
+CONFIG_PCI=y
+CONFIG_VIRTIO_PCI=y
+CONFIG_PCI_HOST_GENERIC=y
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_%.bbappend b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_%.bbappend
deleted file mode 100644
index 8b5e92a20..000000000
--- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_%.bbappend
+++ /dev/null
@@ -1,8 +0,0 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/linux-yocto:"
-
-SRC_URI:append:virtio-all = " \
- file://virtio-kmeta;type=kmeta;destsuffix=virtio-kmeta \
- file://virtio-kmeta/bsp/virtio/virtio-aarch64-${LINUX_KERNEL_TYPE}.scc \
-"
-
-COMPATIBLE_MACHINE:virtio-aarch64 = "virtio-aarch64"
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend
new file mode 100644
index 000000000..6952436a3
--- /dev/null
+++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend
@@ -0,0 +1,17 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
+
+# Cannot just append to SRC_URI, as the metadata interferes with the
+# AGL config fragment scheme
+AGL_KERNEL_SRC:prepend:virtio-all = " \
+ git://gerrit.automotivelinux.org/gerrit/src/agl-yocto-kernel-meta.git;protocol=https;type=kmeta;name=agl-meta;destsuffix=agl-kernel-meta;branch=kernel-5.15 \
+ file://virtio-aarch64-${LINUX_KERNEL_TYPE}.scc \
+"
+
+SRCREV_agl-meta = "4deb7357eab5962b0553a5ad1f11be5ac35f9da9"
+
+AGL_KCONFIG_FRAGMENTS:append:virtio-all = " \
+ virtio-drm.cfg \
+ virtio-pci.cfg \
+"
+
+COMPATIBLE_MACHINE:virtio-aarch64 = "virtio-aarch64"
diff --git a/meta-agl-core-test/conf/include/agl-test.inc b/meta-agl-core-test/conf/include/agl-test.inc
deleted file mode 100644
index e69de29bb..000000000
--- a/meta-agl-core-test/conf/include/agl-test.inc
+++ /dev/null
diff --git a/meta-agl-core-test/conf/layer.conf b/meta-agl-core-test/conf/layer.conf
deleted file mode 100644
index eb3468d52..000000000
--- a/meta-agl-core-test/conf/layer.conf
+++ /dev/null
@@ -1,14 +0,0 @@
-# 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 += "aglcoretest"
-BBFILE_PATTERN_aglcoretest = "^${LAYERDIR}/"
-BBFILE_PRIORITY_aglcoretest = "60"
-
-LAYERSERIES_COMPAT_aglcoretest = "kirkstone"
-LAYERDEPENDS_aglcoretest = "core aglcore"
-LAYERDEPENDS_aglcoretest += "openembedded-layer"
diff --git a/meta-agl-core-test/images/agl-image-minimal-qa.bb b/meta-agl-core-test/images/agl-image-minimal-qa.bb
deleted file mode 100644
index a5ec70830..000000000
--- a/meta-agl-core-test/images/agl-image-minimal-qa.bb
+++ /dev/null
@@ -1,12 +0,0 @@
-SUMMARY = "An AGL small image just capable of allowing a device to boot and run tests."
-
-DESCRIPTION = "A minimal set of AGL Distribution. This image also has additional \
-packages (e.g. commandline tools) for Quality Assurance(QA)."
-
-require agl-image-minimal.bb
-
-LICENSE = "MIT"
-
-IMAGE_INSTALL:append = " \
- packagegroup-ivi-common-test \
- "
diff --git a/meta-agl-core-test/recipes-test/aiostress/aiostress_0.22.bb b/meta-agl-core-test/recipes-test/aiostress/aiostress_0.22.bb
deleted file mode 100644
index f1d256cff..000000000
--- a/meta-agl-core-test/recipes-test/aiostress/aiostress_0.22.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Async IO testing utility"
-DESCRIPTION = "aio-stress will open or create each file on the command line, and start a series of aio to it.\
-aio is done in a rotating loop. first file1 gets 8 requests, then file2, then file3 etc.\
-As each file finishes writing, it is switched to reads io buffers are aligned in case you want to do raw io"
-HOMEPAGE = "https://oss.oracle.com/~mason/aio-stress/"
-LICENSE = "GPL-2.0-only"
-
-S="${WORKDIR}"
-
-LIC_FILES_CHKSUM = "file://${S}/aio-stress.c;md5=ccb5d196a3736bbd835d582a4e2329c3"
-
-SRC_URI = "https://oss.oracle.com/~mason/aio-stress/aio-stress.c"
-SRC_URI[md5sum] = "ccb5d196a3736bbd835d582a4e2329c3"
-SRC_URI[sha256sum] = "3f4cffcc946fb717fff9d8fe932c7c2ee606efff198408d9fbe16955151445f7"
-
-do_compile () {
- ${CC} -Wall -Wshadow -o aio-stress -lpthread -laio aio-stress.c
-}
-
-do_install () {
- install -d ${D}${bindir}
- install -m 0755 aio-stress ${D}${bindir}
-}
-
diff --git a/meta-agl-core-test/recipes-test/dung/dung_3.4.25-m2.bb b/meta-agl-core-test/recipes-test/dung/dung_3.4.25-m2.bb
deleted file mode 100644
index 47c9b8c36..000000000
--- a/meta-agl-core-test/recipes-test/dung/dung_3.4.25-m2.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Kernel test scripts"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-
-SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/qa-test-misc;protocol=https;branch=${AGL_BRANCH}"
-SRCREV = "e2472c7b1d061aef8bb05a4d7940fd8159c4a329"
-
-inherit allarch
-
-S = "${WORKDIR}/git/${PN}-${PV}"
-
-do_install () {
- for subdir in arch_timer cmt common scifab sdhi.0; do
- install -d -m 0755 ${D}/${datadir}/${PN}/$subdir
- install -m 0755 -t ${D}/${datadir}/${PN}/$subdir ${S}/$subdir/*
- done
-}
-
diff --git a/meta-agl-core-test/recipes-test/ebizzy/ebizzy_0.3.bb b/meta-agl-core-test/recipes-test/ebizzy/ebizzy_0.3.bb
deleted file mode 100644
index fef70eddf..000000000
--- a/meta-agl-core-test/recipes-test/ebizzy/ebizzy_0.3.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-DESCRIPTION = "Benchmark tool that generates a workload resembling common web application server workloads"
-HOMEPAGE = "http://ebizzy.sourceforge.net/"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a"
-
-SRC_URI = "http://downloads.sourceforge.net/project/ebizzy/ebizzy/${PV}/ebizzy-${PV}.tar.gz"
-SRC_URI[md5sum] = "af038bc506066bb3d28db08aba62bc38"
-SRC_URI[sha256sum] = "77286029d6348f3d9b3f04eae1feadb5ad1ad07b9f688f4d9f002960862467f2"
-
-INSANE_SKIP:${PN} = "ldflags"
-
-do_compile () {
- ${CC} -Wall -Wshadow -lpthread -o ebizzy ebizzy.c
-}
-
-do_install () {
- install -d ${D}${bindir}
- install -m 0755 ebizzy ${D}${bindir}
-}
-
diff --git a/meta-agl-core-test/recipes-test/ffsb/ffsb_6.0-rc2.bb b/meta-agl-core-test/recipes-test/ffsb/ffsb_6.0-rc2.bb
deleted file mode 100644
index 5011b28f7..000000000
--- a/meta-agl-core-test/recipes-test/ffsb/ffsb_6.0-rc2.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "Flexible File System Benchmark"
-HOMEPAGE = "https://sourceforge.net/projects/ffsb/"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=fd5d9bcabd8ed5a54a01ce8d183d592a"
-
-SRC_URI = "http://downloads.sourceforge.net/project/ffsb/ffsb/ffsb-${PV}/ffsb-${PV}.tar.bz2"
-SRC_URI[md5sum] = "cabfc1021c2ec6c6b168fefc84210891"
-SRC_URI[sha256sum] = "e5867692aae8c9bfbcdc774599022289c4d89c1d90f4dd7101fb9865ac773c71"
-
-inherit autotools
-
-# extra args to configure
-EXTRA_OECONF = ""
-
diff --git a/meta-agl-core-test/recipes-test/fontconfig/fontconfig_%.bbappend b/meta-agl-core-test/recipes-test/fontconfig/fontconfig_%.bbappend
deleted file mode 100644
index 481dd9ee4..000000000
--- a/meta-agl-core-test/recipes-test/fontconfig/fontconfig_%.bbappend
+++ /dev/null
@@ -1,18 +0,0 @@
-do_install:append() {
- install -m 755 -d ${D}/${datadir}/fontconfig-test
- install -m 755 ${S}/test/run-test.sh ${D}/${datadir}/fontconfig-test/
-
- sed -i -e "s#^FCLIST=\.\./fc-list/fc-list#FCLIST=/usr/bin/fc-list#g" -e "s#^FCCACHE=\.\./fc-cache/fc-cache#FCCACHE=/usr/bin/fc-cache#g" ${D}/${datadir}/fontconfig-test/run-test.sh
-
- install -m 644 ${B}/test/out.expected ${D}/${datadir}/fontconfig-test/
- for x in 4x6.pcf 8x16.pcf fonts.conf.in; do
- install -m 644 ${S}/test/$x ${D}/${datadir}/fontconfig-test/
- done
-}
-
-PACKAGES =+ "fontconfig-test"
-
-DEBIAN_NOAUTONAME:fontconfig-test = "1"
-FILES:fontconfig-test = "${datadir}/fontconfig-test/*"
-
-
diff --git a/meta-agl-core-test/recipes-test/freetype/files/0001-Makefile-dont-build-gfx-demos.patch b/meta-agl-core-test/recipes-test/freetype/files/0001-Makefile-dont-build-gfx-demos.patch
deleted file mode 100644
index bd9b4c064..000000000
--- a/meta-agl-core-test/recipes-test/freetype/files/0001-Makefile-dont-build-gfx-demos.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Do not build graphics tests
-
-Upstream-Status: Inappropriate [disable feature]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
----
- Makefile | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 8bb8666..95e5e45 100644
---- a/Makefile
-+++ b/Makefile
-@@ -297,13 +297,13 @@ else
- ttdebug
-
- # Comment out the next line if you don't have a graphics subsystem.
-- EXES += ftdiff \
-- ftgamma \
-- ftgrid \
-- ftmulti \
-- ftsdf \
-- ftstring \
-- ftview
-+ #EXES += ftdiff \
-+ # ftgamma \
-+ # ftgrid \
-+ # ftmulti \
-+ # ftsdf \
-+ # ftstring \
-+ # ftview
-
- # ftvalid requires ftgxval.c and ftotval.c
- #
diff --git a/meta-agl-core-test/recipes-test/freetype/files/0001-ft2demos-Makefile-Do-not-hardcode-libtool-path.patch b/meta-agl-core-test/recipes-test/freetype/files/0001-ft2demos-Makefile-Do-not-hardcode-libtool-path.patch
deleted file mode 100644
index 879b80506..000000000
--- a/meta-agl-core-test/recipes-test/freetype/files/0001-ft2demos-Makefile-Do-not-hardcode-libtool-path.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 8c4f135619de929f9348b830a07a46a0c2c38e51 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jan-Simon=20M=C3=B6ller?= <jsmoeller@linuxfoundation.org>
-Date: Fri, 7 Oct 2016 15:26:20 +0200
-Subject: [PATCH] Do not hardcode libtool path
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It is already known and imported through config.mk.
-
-Upstream-Status: Inappropriate [embedded specific]
-Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
-[Updated for freetype 2.10.4]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index 851c4f7..c537983 100644
---- a/Makefile
-+++ b/Makefile
-@@ -165,7 +165,7 @@ else
-
- ifeq ($(PLATFORM),unix)
- override CC = $(CCraw)
-- LINK_CMD = $(subst /,$(SEP),$(OBJ_BUILD)/libtool) \
-+ LINK_CMD = $(subst /,$(SEP),$(LIBTOOL)) \
- --mode=link $(CC) \
- $(subst /,$(COMPILER_SEP),$(LDFLAGS))
- LINK_LIBS = $(subst /,$(COMPILER_SEP),$(FTLIB) $(EFENCE)) $(LIB_CLOCK_GETTIME)
diff --git a/meta-agl-core-test/recipes-test/freetype/freetype_2.%.bbappend b/meta-agl-core-test/recipes-test/freetype/freetype_2.%.bbappend
deleted file mode 100644
index b6c14c47e..000000000
--- a/meta-agl-core-test/recipes-test/freetype/freetype_2.%.bbappend
+++ /dev/null
@@ -1,30 +0,0 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-
-SRC_URI += "${SOURCEFORGE_MIRROR}/freetype/freetype-demos/${PV}/ft2demos-${PV}.tar.gz;name=ft2demos \
- file://0001-Makefile-dont-build-gfx-demos.patch;patchdir=../ft2demos-${PV} \
- "
-SRC_URI[ft2demos.sha256sum] = "95939c04b72872f2c6053a436b385c614530322bda7a7966efbc4d281f710af6"
-
-# Enable pixmap/libpng support to allow color emojis
-PACKAGECONFIG:append = " pixmap"
-
-do_compile:append () {
- oe_runmake -C ${B} FT2DEMOS=1 TOP_DIR_2=${WORKDIR}/ft2demos-${PV}
-}
-
-do_install:append () {
- install -d -m 0755 ${D}${bindir}
- for x in ftbench ftdump ftlint ftvalid ttdebug; do
- install -m 0755 ${WORKDIR}/ft2demos-${PV}/bin/.libs/$x ${D}${bindir}
- done
-}
-
-PACKAGE_BEFORE_PN = "${PN}-demos"
-
-FILES:${PN}-demos = "\
- ${bindir}/ftbench \
- ${bindir}/ftdump \
- ${bindir}/ftlint \
- ${bindir}/ftvalid \
- ${bindir}/ttdebug \
-"
diff --git a/meta-agl-core-test/recipes-test/fsfuzzer/files/0001-fix_missing_header_sys_stat.patch b/meta-agl-core-test/recipes-test/fsfuzzer/files/0001-fix_missing_header_sys_stat.patch
deleted file mode 100644
index e834becf3..000000000
--- a/meta-agl-core-test/recipes-test/fsfuzzer/files/0001-fix_missing_header_sys_stat.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -urN fsfuzzer-0.7.orig/fstest.c fsfuzzer-0.7/fstest.c
---- fsfuzzer-0.7.orig/fstest.c 2009-01-25 14:50:06.000000000 +0000
-+++ fsfuzzer-0.7/fstest.c 2016-06-16 17:49:27.264565819 +0000
-@@ -35,6 +35,7 @@
- #include <signal.h>
- #include <sys/file.h>
- #include <sys/mman.h>
-+#include <sys/stat.h>
-
- #define LOGGIT 1
- #define CHECK_XATTR 1
diff --git a/meta-agl-core-test/recipes-test/fsfuzzer/fsfuzzer_0.7.bb b/meta-agl-core-test/recipes-test/fsfuzzer/fsfuzzer_0.7.bb
deleted file mode 100644
index 9cda1deb4..000000000
--- a/meta-agl-core-test/recipes-test/fsfuzzer/fsfuzzer_0.7.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "The fsfuzzer is a filesystem fuzzer tool that does stress tests of various filesystems in a reproducible and logged way."
-DESCRIPTION = "This tool creates initial (valid) filesystem images and then manipulates their binary format and structure for detecting flaws/bugs/design problems in the parsing/handling code for that particular filesystem. The program expects that you have a /media directory. It uses that one for mounting test images in."
-HOMEPAGE = "https://www.ee.oulu.fi/research/ouspg/fsfuzzer"
-
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-SRC_URI = "http://people.redhat.com/sgrubb/files/fsfuzzer-${PV}.tar.gz \
- file://0001-fix_missing_header_sys_stat.patch \
- "
-SRC_URI[md5sum] = "d69ac4b67aaba52a889c9188eb456c15"
-SRC_URI[sha256sum] = "094aa17c4f66c525a04e5db5ad444b4a561b6f8e310d0bd70b9ca421cdf0a434"
-
-inherit autotools
-
-# Specify any options you want to pass to the configure script using EXTRA_OECONF:
-EXTRA_OECONF = ""
-
diff --git a/meta-agl-core-test/recipes-test/glmark2/glmark2_%.bbappend b/meta-agl-core-test/recipes-test/glmark2/glmark2_%.bbappend
deleted file mode 100644
index ab453d8b0..000000000
--- a/meta-agl-core-test/recipes-test/glmark2/glmark2_%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-# Update glmark2
-SRCREV = "784aca755a469b144acf3cae180b6e613b7b057a"
-# Already in newer version
-SRC_URI:remove = "file://python3.patch"
-
-PACKAGECONFIG = "wayland-gles2"
-PACKAGECONFIG[wayland-gles2] = ",,virtual/egl virtual/libgles2 wayland wayland-protocols wayland-native"
diff --git a/meta-agl-core-test/recipes-test/himeno/himeno_2.0.bb b/meta-agl-core-test/recipes-test/himeno/himeno_2.0.bb
deleted file mode 100644
index 6932bae07..000000000
--- a/meta-agl-core-test/recipes-test/himeno/himeno_2.0.bb
+++ /dev/null
@@ -1,27 +0,0 @@
-DESCRIPTION = "Himeno Benchmark"
-LICENSE = "LGPL-2.0-only"
-URL = "http://accc.riken.jp/en/supercom/himenobmt/"
-
-SRC_URI = "http://accc.riken.jp/en/wp-content/uploads/sites/2/2015/07/himenobmt.c.zip"
-SRC_URI[md5sum] = "8d8e837dfc3e00a3b322eb4ae3edd551"
-SRC_URI[sha256sum] = "8780bfbdacb0d4dcab2931e65cadd69411731e3f2afcc1231d0743a036298077"
-
-LIC_FILES_CHKSUM = "file://himenoBMT.c;md5=8e8771ddc01c6d1a795e088e2d6dee78"
-
-# Upstream ZIP file contains an LZH archive, thus a 2 steps "unpack" is required.
-# The LZH archive is unpacked after native tools dependency resolution,
-# thus. after "configure" task in our case:
-
-DEPENDS = "p7zip-native"
-
-do_configure:append() {
- 7z x -y -o${S} ${WORKDIR}/himenobmt.c.lzh
- cd ${S}
- sed -i -e 's/CC= gcc/#CC= gcc/' Makefile
- sed -i -e 's/CFLAGS = /#CFLAGS = /' Makefile
-}
-
-do_install () {
- install -d ${D}${bindir}
- install -m 0755 bmt ${D}${bindir}
-}
diff --git a/meta-agl-core-test/recipes-test/interbench/files/interbench.c.patch b/meta-agl-core-test/recipes-test/interbench/files/interbench.c.patch
deleted file mode 100644
index c882739ba..000000000
--- a/meta-agl-core-test/recipes-test/interbench/files/interbench.c.patch
+++ /dev/null
@@ -1,68 +0,0 @@
---- interbench.c.orig 2009-10-30 23:14:59.000000000 -0500
-+++ interbench.c 2012-07-10 19:06:00.000000000 -0500
-@@ -71,6 +71,7 @@ struct user_data {
- char datestamp[13];
- FILE *logfile;
- } ud = {
-+ .ram = 0,
- .duration = 30,
- .cpu_load = 4,
- .log = 1,
-@@ -652,6 +653,8 @@ void emulate_write(struct thread *th)
- terminal_error("fopen");
- if (stat(name, &statbuf) == -1)
- terminal_fileopen_error(fp, "stat");
-+ if (statbuf.st_blksize < MIN_BLK_SIZE)
-+ statbuf.st_blksize = MIN_BLK_SIZE;
- for (i = 0 ; i < mem; i++) {
- if (fwrite(buf, statbuf.st_blksize, 1, fp) != 1)
- terminal_fileopen_error(fp, "fwrite");
-@@ -1136,14 +1139,17 @@ void get_ram(void)
- if(!(meminfo = fopen("/proc/meminfo", "r")))
- terminal_error("fopen");
-
-- ud.ram = ud.swap = 0;
-- while( !feof(meminfo) && !fscanf(meminfo, "MemTotal: %lu kB", &ud.ram) )
-- fgets(aux,sizeof(aux),meminfo);
-+ if (!ud.ram)
-+ {
-+ while( !feof(meminfo) && !fscanf(meminfo, "MemTotal: %lu kB", &ud.ram) )
-+ fgets(aux,sizeof(aux),meminfo);
-+ }
-+ ud.swap = 0;
- while( !feof(meminfo) && !fscanf(meminfo, "SwapTotal: %lu kB", &ud.swap) )
- fgets(aux,sizeof(aux),meminfo);
- if (fclose(meminfo) == -1)
- terminal_error("fclose");
--
-+
- if( !ud.ram || !ud.swap ) {
- unsigned long i;
- fprintf(stderr, "\nCould not get memory or swap size. ");
-@@ -1399,6 +1405,7 @@ void usage(void)
- fprintf(stderr, "\t[-h]\n\n");
- fprintf(stderr, " -l\tUse <int> loops per sec (default: use saved benchmark)\n");
- fprintf(stderr, " -L\tUse cpu load of <int> with burn load (default: 4)\n");
-+ fprintf(stderr, " -M\tForce RAM size to <int>. Useful when disk is smaller than RAM.\n");
- fprintf(stderr, " -t\tSeconds to run each benchmark (default: 30)\n");
- fprintf(stderr, " -B\tNice the benchmarked thread to <int> (default: 0)\n");
- fprintf(stderr, " -N\tNice the load thread to <int> (default: 0)\n");
-@@ -1482,7 +1489,7 @@ int main(int argc, char **argv)
- terminal_error("signal");
- #endif
-
-- while ((q = getopt(argc, argv, "hl:L:B:N:ut:bcnrC:I:m:w:x:W:X:")) != -1) {
-+ while ((q = getopt(argc, argv, "hl:L:M:B:N:ut:bcnrC:I:m:w:x:W:X:")) != -1) {
- switch (q) {
- case 'h':
- usage();
-@@ -1496,6 +1503,9 @@ int main(int argc, char **argv)
- case 'L':
- ud.cpu_load = atoi(optarg);
- break;
-+ case 'M':
-+ ud.ram = atoi(optarg);
-+ break;
- case 'B':
- ud.bench_nice = atoi(optarg);
- break;
diff --git a/meta-agl-core-test/recipes-test/interbench/interbench_0.31.bb b/meta-agl-core-test/recipes-test/interbench/interbench_0.31.bb
deleted file mode 100644
index c9903b340..000000000
--- a/meta-agl-core-test/recipes-test/interbench/interbench_0.31.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-DESCRIPTION = "The Linux interactivity benchmark"
-HOMEPAGE = "http://users.tpg.com.au/ckolivas/interbench/"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
-SRC_URI = "http://ck.kolivas.org/apps/interbench/interbench-${PV}.tar.bz2"
-
-SRC_URI += "file://interbench.c.patch;striplevel=0"
-
-inherit autotools
-
-INSANE_SKIP:${PN} = "ldflags"
-
-B = "${S}"
-EXTRA_OEMAKE = "CC='${CC}'"
-
-# upstream tarball contains x86_64 binaries, we need a clean source tree
-do_compile() {
- oe_runmake clean
- oe_runmake
-}
-
-do_install() {
- install -d ${D}${bindir} ${D}${datadir}/doc/${PN}/ ${D}${mandir}/man8/
- install -m 0755 ${B}/interbench ${D}${bindir}
- install -m 0644 ${S}/readme* ${D}${datadir}/doc/${PN}/
- install -m 0644 ${S}/interbench.8 ${D}${mandir}/man8/
-}
-
-SRC_URI[md5sum] = "832254d7fd1255c548ebea7b97f01015"
-SRC_URI[sha256sum] = "89d438b28aef22d26e79812762a57a9f9344a8dd8826edebfe60dad48ee1c784"
-
diff --git a/meta-agl-core-test/recipes-test/ipv6connect/ipv6connect.bb b/meta-agl-core-test/recipes-test/ipv6connect/ipv6connect.bb
deleted file mode 100644
index 3a2f2576f..000000000
--- a/meta-agl-core-test/recipes-test/ipv6connect/ipv6connect.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "ipv6connect test"
-HOMEPAGE = "https://chromium.googlesource.com/chromiumos/third_party/autotest/+/0.12.369.B/client/tests/ipv6connect"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://${S}/${PN}/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/qa-test-misc;protocol=https;branch=${AGL_BRANCH}"
-SRCREV = "b355b7e1f43a19938895964f314484ffd8a39542"
-
-inherit autotools
-
-INSANE_SKIP:${PN} = "ldflags"
-
-B = "${WORKDIR}/git/ipv6connect"
-S = "${WORKDIR}/git"
-
-# configure script is not delivered, only a makefile.
-do_configure() {
- :
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${B}/ipv6connect ${D}${bindir}
-}
diff --git a/meta-agl-core-test/recipes-test/linpack/linpack.bb b/meta-agl-core-test/recipes-test/linpack/linpack.bb
deleted file mode 100644
index 84bed0ff6..000000000
--- a/meta-agl-core-test/recipes-test/linpack/linpack.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "Linpack benchmark"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://${S}/${PN}/linpack.c;md5=076f1fd8d313056103f98d4253862eae"
-
-SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/qa-test-misc;protocol=https;branch=${AGL_BRANCH}"
-SRCREV = "920cae73a918d1f516113b0ae967be3ecaba86ef"
-
-DEPENDS += "rsync-native"
-
-inherit autotools
-
-S = "${WORKDIR}/git"
-
-# configure script is not delivered, only a makefile.
-do_configure() {
- mkdir -p ${B}
- rsync -a ${S}/${PN}/* ${B}
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${B}/linpack ${D}${bindir}
-}
diff --git a/meta-agl-core-test/recipes-test/linus-stress/linus-stress.bb b/meta-agl-core-test/recipes-test/linus-stress/linus-stress.bb
deleted file mode 100644
index 927df7876..000000000
--- a/meta-agl-core-test/recipes-test/linus-stress/linus-stress.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "linus_stress test"
-HOMEPAGE = "https://chromium.googlesource.com/chromiumos/third_party/autotest/+/master/client/tests/linus_stress"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://${S}/linus_stress/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/qa-test-misc;protocol=https;branch=${AGL_BRANCH}"
-SRCREV = "87cdfd4626c0cb47fc22f328867e49d6268df85c"
-
-inherit autotools
-INSANE_SKIP:${PN} = "ldflags"
-
-B = "${WORKDIR}/git/linus_stress"
-S = "${WORKDIR}/git"
-
-# configure script is not delivered, only a makefile.
-do_configure() {
- :
-}
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${B}/linus_stress ${D}${bindir}
-}
diff --git a/meta-agl-core-test/recipes-test/packagegroups/packagegroup-agl-test.bb b/meta-agl-core-test/recipes-test/packagegroups/packagegroup-agl-test.bb
deleted file mode 100644
index 2f45f25d0..000000000
--- a/meta-agl-core-test/recipes-test/packagegroups/packagegroup-agl-test.bb
+++ /dev/null
@@ -1,68 +0,0 @@
-SUMMARY = "Utilities for testing of AGL"
-DESCRIPTION = "A set of common packages required by testing AGL for Quality Assurance"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-test \
- packagegroup-agl-test-ltp \
- packagegroup-ivi-common-test \
- "
-
-ALLOW_EMPTY:${PN} = "1"
-
-RDEPENDS:${PN} += "\
- bc \
- ebizzy \
- evtest \
- ffsb \
- glmark2 \
- interbench \
- ipv6connect \
- linpack \
- linus-stress \
- nmap \
- rt-tests \
- stress \
- "
-
-
-
-
-
-# to be added, but needs LICENSE_FLAGS_ACCEPTED="non-commercial"
-# netperf # meta-networking
-
-# relocate due to dependencies
-# iperf3 \ # meta-oe
-# lmbench \ # meta-oe
-# dbench \ # meta-oe
-# nbench-byte \ # meta-oe
-# iozone3 \ # meta-oe
-#
-
-# FTBS, SPEC-316
-# himeno # nowhere
-# FTBS, SPEC-1384
-# trinity # meta-linaro (1.5)
-
-# packagegroup-agl-test-ltp \
-# ltp \ # ltp in oe-core
-#
-
-# Packages for shell commands which are required by LTP
-# readelf, logrotate, vsftpd, crontab, sar, arp, ftp,
-# host, rcp, rlogin, rsh, tcpdump, expect, iptables, dnsmasq,
-# pgrep
-RDEPENDS:packagegroup-agl-test-ltp = ""
-#RDEPENDS:packagegroup-agl-test-ltp += " \
-# initscripts-functions bind-utils binutils \
-# cronie dnsmasq expect inetutils-ftp inetutils-rsh \
-# iptables logrotate net-tools sysstat tcpdump vsftpd \
-# "
-
-RDEPENDS:packagegroup-ivi-common-test = " \
- packagegroup-agl-test \
- "
diff --git a/meta-agl-core-test/recipes-test/trinity/trinity_git.bb b/meta-agl-core-test/recipes-test/trinity/trinity_git.bb
deleted file mode 100644
index a8558cb70..000000000
--- a/meta-agl-core-test/recipes-test/trinity/trinity_git.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-SUMMARY = "a Linux System call fuzz teste."
-DESCRIPTION = "Trinity, a Linux System call fuzz tester."
-HOMEPAGE = "http://codemonkey.org.uk/projects/trinity/"
-LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=96094d47cfbd2cc45eb46ce0fc423c04"
-
-COMPATIBLE_HOST = "(x86_64|arm|aarch64).*-linux"
-
-PV = "1.5"
-SRCREV = "edc2e693e298e0372010a361354c4a79a3cd93f3"
-SRC_URI = "git://github.com/kernelslacker/trinity.git;protocol=https;nobranch=1 \
- "
-
-S = "${WORKDIR}/git"
-
-inherit useradd
-
-USERADD_PACKAGES = "${PN}"
-USERADD_PARAM:${PN} = "--system --create-home --shell /bin/sh ${PN} "
-
-do_configure () {
- ./configure.sh
-}
-
-# workaround random build failures
-do_compile () {
- ${MAKE}
-}
-
-do_install () {
- oe_runmake install DESTDIR=${D}/usr
- install -o ${PN} -d -m 0755 ${D}/${datadir}/${PN}
- install -o ${PN} -m 0755 ${S}/scripts/test-all-syscalls-parallel.sh ${D}/${datadir}/${PN}
- install -o ${PN} -m 0755 ${S}/scripts/test-all-syscalls-sequentially.sh ${D}/${datadir}/${PN}
- install -o ${PN} -m 0755 ${S}/scripts/test-multi.sh ${D}/${datadir}/${PN}
- install -o ${PN} -m 0755 ${S}/scripts/test-vm.sh ${D}/${datadir}/${PN}
-}
-
-PACKAGES =+ "${PN}-example"
-
-FILES:${PN} = "${bindir}/trinity"
-FILES:${PN}-example = "${datadir}/${PN}"
diff --git a/meta-agl-core/classes/agl-core-image.bbclass b/meta-agl-core/classes/agl-core-image.bbclass
new file mode 100644
index 000000000..bb5580391
--- /dev/null
+++ b/meta-agl-core/classes/agl-core-image.bbclass
@@ -0,0 +1,32 @@
+# AGL base image class
+#
+# As opposed to using core-image directly, this class:
+# - does not pull in packagegroup-base-extended by default to minimize images.
+# This does mean that many of the oe-core / poky MACHINE and DISTRO features
+# (e.g. 3g, nfs, etc.) will not result in packages being automatically pulled
+# into images since that is driven via packagegroup-base.
+# - includes hooks for integrating SELinux via meta-selinux
+# - disables locale installation by default
+#
+
+# Disable locales
+IMAGE_LINGUAS = ""
+
+# Hook to allow inheriting e.g. selinux-image by default.
+# Any bbclass used as a value should ultimately inherit core-image
+AGL_BASE_IMAGE ?= "core-image"
+
+inherit ${AGL_BASE_IMAGE}
+
+FEATURE_PACKAGES_selinux = " \
+ packagegroup-agl-core-selinux \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'packagegroup-agl-core-selinux-devel', '', d)} \
+"
+
+IMAGE_FEATURES:append = " ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
+
+CORE_IMAGE_BASE_INSTALL = " \
+ packagegroup-agl-core-boot \
+ \
+ ${CORE_IMAGE_EXTRA_INSTALL} \
+"
diff --git a/meta-agl-core/classes/agl-crosssdk.bbclass b/meta-agl-core/classes/agl-crosssdk.bbclass
new file mode 100644
index 000000000..5f6dbf303
--- /dev/null
+++ b/meta-agl-core/classes/agl-crosssdk.bbclass
@@ -0,0 +1,9 @@
+IMAGE_FEATURES += "dev-pkgs"
+IMAGE_INSTALL += "kernel-dev kernel-devsrc"
+
+inherit populate_sdk
+
+# Task do_populate_sdk and do_rootfs can't be exec simultaneously.
+# Both exec "createrepo" on the same directory, and so one of them
+# can failed (randomly).
+addtask do_populate_sdk after do_rootfs
diff --git a/meta-agl-core/conf/distro/include/aarch64-tune.inc b/meta-agl-core/conf/distro/include/aarch64-tune.inc
index 320b4f1ac..4628fcaf2 100644
--- a/meta-agl-core/conf/distro/include/aarch64-tune.inc
+++ b/meta-agl-core/conf/distro/include/aarch64-tune.inc
@@ -4,7 +4,9 @@
# A double inclusion would produce a warning. This include line is just for reference
# include conf/machine/include/arm/arch-armv8.inc
-DEFAULTTUNE:poky-agl := "aarch64"
+AGL_DEFAULTTUNE ?= "aarch64"
+DEFAULTTUNE:agldefaulttune = "${AGL_DEFAULTTUNE}"
+
# not yet ready
#QB_SYSTEM_NAME ?= "qemu-system-aarch"
#QB_DEFAULT_KERNEL ?= "zImage"
diff --git a/meta-agl-core/conf/distro/include/arm-tune.inc b/meta-agl-core/conf/distro/include/arm-tune.inc
index fa68e05a7..b3ad64ad7 100644
--- a/meta-agl-core/conf/distro/include/arm-tune.inc
+++ b/meta-agl-core/conf/distro/include/arm-tune.inc
@@ -7,14 +7,16 @@
# include conf/machine/include/arch/arm-armv7-a.inc
# Standard target for 32bit ARM (newer than cortex-a15)
-AGLDEFAULTTUNE = "armv7vethf-neon-vfpv4"
+ARM_DEFAULTTUNE = "armv7vethf-neon-vfpv4"
# for cortex-a8, cortex-a9, cortex-a7 (=rpi 2/3)
-AGLDEFAULTTUNE := "${@bb.utils.contains('DISTRO_FEATURES', 'agl-medium-arm-compiler', 'armv7athf-neon', '${AGLDEFAULTTUNE}', d)}"
+ARM_DEFAULTTUNE := "${@bb.utils.contains('DISTRO_FEATURES', 'agl-medium-arm-compiler', 'armv7athf-neon', '${ARM_DEFAULTTUNE}', d)}"
# for armv6 (=rpi0/1)
-AGLDEFAULTTUNE := "${@bb.utils.contains('DISTRO_FEATURES', 'agl-low-arm-compiler', 'arm1176jzfshf', '${AGLDEFAULTTUNE}', d)}"
-DEFAULTTUNE := "${AGLDEFAULTTUNE}"
+ARM_DEFAULTTUNE := "${@bb.utils.contains('DISTRO_FEATURES', 'agl-low-arm-compiler', 'arm1176jzfshf', '${ARM_DEFAULTTUNE}', d)}"
+
+AGL_DEFAULTTUNE ?= "${ARM_DEFAULTTUNE}"
+DEFAULTTUNE:agldefaulttune := "${AGL_DEFAULTTUNE}"
QB_SYSTEM_NAME ?= "qemu-system-arm"
QB_DEFAULT_KERNEL ?= "zImage"
diff --git a/meta-agl-core/conf/distro/include/riscv64-tune.inc b/meta-agl-core/conf/distro/include/riscv64-tune.inc
index f8118dec3..981fc4283 100644
--- a/meta-agl-core/conf/distro/include/riscv64-tune.inc
+++ b/meta-agl-core/conf/distro/include/riscv64-tune.inc
@@ -4,4 +4,5 @@
# A double inclusion would produce a warning. This include line is just for reference
# include conf/machine/include/arm/arch-armv8.inc
-DEFAULTTUNE = "riscv64"
+AGL_DEFAULTTUNE ?= "riscv64"
+DEFAULTTUNE:agldefaulttune = "${AGL_DEFAULTTUNE}"
diff --git a/meta-agl-core/conf/distro/include/x86_64-tune.inc b/meta-agl-core/conf/distro/include/x86_64-tune.inc
index 4e5bb9fda..541b729b6 100644
--- a/meta-agl-core/conf/distro/include/x86_64-tune.inc
+++ b/meta-agl-core/conf/distro/include/x86_64-tune.inc
@@ -3,7 +3,8 @@
# We should not need the tuning include below as the BSP should include the right set already.
# A double inclusion would produce a warning. This include line is just for reference
#include conf/machine/include/tune-corei7.inc
-DEFAULTTUNE = "corei7-64"
+AGL_DEFAULTTUNE ?= "corei7-64"
+DEFAULTTUNE:agldefaulttune = "${AGL_DEFAULTTUNE}"
# shortened copy of tune-corei7.inc due to bug in inclusion for tune-core2.inc
# TUNE_ARCH is using .= x86-64 , if done twice, you get x86-64x86-64 as TUNE_ARCH :/
diff --git a/meta-agl-core/conf/distro/poky-agl.conf b/meta-agl-core/conf/distro/poky-agl.conf
index e13ce6f04..19a21ad44 100644
--- a/meta-agl-core/conf/distro/poky-agl.conf
+++ b/meta-agl-core/conf/distro/poky-agl.conf
@@ -1,35 +1,36 @@
require conf/distro/poky.conf
+# Insert overrides "agldefaulttune" and "forcedefaulttune" before forcevariable
+OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}${LIBCOVERRIDE}:agldefaulttune:forcedefaulttune:forcevariable"
+
# AGL specific derivations
DISTRO = "poky-agl"
DISTRO_NAME = "Automotive Grade Linux"
# Release flags
-DISTRO_CODENAME = "needlefish"
+DISTRO_CODENAME = "ricefish"
AGL_BRANCH = "master"
-AGLVERSION = "13.90.0"
+AGLVERSION = "17.90.0"
+
# switch devel/release
-AGLRELEASETYPE ?= "agldevelopment"
-#AGLRELEASETYPE ?= "aglrelease"
+#AGLRELEASETYPE ?= "agldevelopment"
+AGLRELEASETYPE := "aglrelease"
+
OVERRIDES .= ":${AGLRELEASETYPE}"
-#
#for development
DISTRO_VERSION:agldevelopment := "${AGLVERSION}+snapshot-${METADATA_REVISION}"
-AGL_APP_REVISION:agldevelopment = "${AUTOREV}"
-AGL_DEFAULT_REVISION:agldevelopment = "${AUTOREV}"
#for release
DISTRO_VERSION:aglrelease := "${AGLVERSION}"
DISTRO_BRANCH_VERSION_TAG = "${DISTRO_CODENAME}/${@'${DISTRO_VERSION}'.replace('+snapshot-${METADATA_REVISION}','')}"
-AGL_APP_REVISION:aglrelease := "refs/tags/${DISTRO_BRANCH_VERSION_TAG}"
-AGL_DEFAULT_REVISION:aglrelease := "refs/tags/${DISTRO_BRANCH_VERSION_TAG}"
# reproducible builds:
# Set the desired timestamps
-export SOURCE_DATE_EPOCH = "1593400000"
-REPRODUCIBLE_TIMESTAMP_ROOTFS = "1593400000"
+# E.g. update for (major) releases
+export SOURCE_DATE_EPOCH = "1706800000"
+REPRODUCIBLE_TIMESTAMP_ROOTFS = "1706800000"
# SDK
@@ -136,8 +137,8 @@ AGL_EXTRA_INITRAMFS_FSTYPES ??= ""
#
# Default IMAGE FSTYPES wic.xz
AGL_DEFAULT_IMAGE_FSTYPES ?= "wic.xz wic.bmap wic.xz.sha256sum"
-AGL_DEFAULT_IMAGE_FSTYPES:qemuall ?= "${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}"
-AGL_DEFAULT_IMAGE_FSTYPES:append:netboot = " ${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}"
+AGL_DEFAULT_IMAGE_FSTYPES:qemuall ?= "${@bb.utils.contains('AGL_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}"
+AGL_DEFAULT_IMAGE_FSTYPES:append:netboot = " ${@bb.utils.contains('AGL_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}"
AGL_DEFAULT_INITRAMFS_FSTYPES ?= "ext4.gz"
# DEFAULT IMAGE_FSTYPES for AGL (no - BSPs should not set this)
diff --git a/meta-agl-core/conf/include/agl-create-spdx.inc b/meta-agl-core/conf/include/agl-create-spdx.inc
new file mode 100644
index 000000000..8d71013e3
--- /dev/null
+++ b/meta-agl-core/conf/include/agl-create-spdx.inc
@@ -0,0 +1 @@
+INHERIT += " create-spdx "
diff --git a/meta-agl-core/conf/include/agl-devel.inc b/meta-agl-core/conf/include/agl-devel.inc
index afc284480..055fa61e3 100644
--- a/meta-agl-core/conf/include/agl-devel.inc
+++ b/meta-agl-core/conf/include/agl-devel.inc
@@ -12,5 +12,5 @@ IMAGE_INSTALL:append = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', ' lib
SDKIMAGE_FEATURES="dev-pkgs"
# allows insertion of code or items specific to developement
-OVERRIDES .= ":agl-devel"
+OVERRIDES:append = ":agl-devel"
DISTRO_FEATURES:append = " agl-devel"
diff --git a/meta-agl-core/conf/include/agl-selinux.inc b/meta-agl-core/conf/include/agl-selinux.inc
new file mode 100644
index 000000000..aeb26e33d
--- /dev/null
+++ b/meta-agl-core/conf/include/agl-selinux.inc
@@ -0,0 +1,20 @@
+DISTRO_FEATURES:append = " acl xattr selinux"
+
+# Reiterate the upstream default of targeted policy since that
+# is the mostly widely used model, and it will likely be easier
+# to pull policy from other distributions for it.
+# Having an explicit setting here seems useful for documentation
+# purposes, and it is still possible that using one of the other
+# refpolicy package options as the AGL default desirable, and it
+# would be set here.
+PREFERRED_PROVIDER_virtual/refpolicy ?= "refpolicy-targeted"
+
+# Default to permissive mode
+DEFAULT_ENFORCING ?= "permissive"
+
+# Override the base image class to get the SELinux labeling hook
+AGL_BASE_IMAGE ?= "selinux-image"
+
+# Mask out meta-selinux's linux-yocto kernel config bbappend to
+# avoid collision with AGL's own more universal scheme.
+BBMASK += "meta-selinux/recipes-kernel/linux/" \ No newline at end of file
diff --git a/meta-agl-core/conf/layer.conf b/meta-agl-core/conf/layer.conf
index 2749aec47..ddea256fe 100644
--- a/meta-agl-core/conf/layer.conf
+++ b/meta-agl-core/conf/layer.conf
@@ -13,6 +13,9 @@ BBFILES_DYNAMIC += " \
openembedded-layer:${LAYERDIR}/dynamic-layers/meta-oe/*/*/*.bb \
openembedded-layer:${LAYERDIR}/dynamic-layers/meta-oe/*/*/*.bbappend \
\
+ selinux:${LAYERDIR}/dynamic-layers/meta-selinux/*/*/*.bb \
+ selinux:${LAYERDIR}/dynamic-layers/meta-selinux/*/*/*.bbappend \
+ \
qt5-layer:${LAYERDIR}/dynamic-layers/meta-qt5/*/*/*.bb \
qt5-layer:${LAYERDIR}/dynamic-layers/meta-qt5/*/*/*.bbappend \
"
diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init.bbappend b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init.bbappend
new file mode 100644
index 000000000..4b6deffdf
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'agl-compositor-init_aglcore.inc', '', d)}
diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init_aglcore.inc b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init_aglcore.inc
new file mode 100644
index 000000000..b7d346d39
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-compositor-init_aglcore.inc
@@ -0,0 +1 @@
+require common-init.inc
diff --git a/meta-agl-core/recipes-graphics/wayland/agl-shell-activator_git.bb b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-shell-activator_git.bb
index d6a271dbb..38725c1bd 100644
--- a/meta-agl-core/recipes-graphics/wayland/agl-shell-activator_git.bb
+++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/agl-shell-activator_git.bb
@@ -8,10 +8,10 @@ SECTION = "x11"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=e978448a0d41d826d73890d9c22caf75"
-DEPENDS = "wayland wayland-protocols wayland-native agl-compositor"
+DEPENDS = "wayland wayland-protocols wayland-native agl-compositor grpc grpc-native"
SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/agl-shell-activator.git;protocol=https;branch=${AGL_BRANCH}"
-SRCREV = "0b21156c3b4f049325dbc7937aabb1f689ed945d"
+SRCREV = "027d6f814f3d1f2e6b4b4071365b28dadec34109"
PV = "0.0.10+git${SRCPV}"
S = "${WORKDIR}/git"
diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/common-init.inc b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/common-init.inc
new file mode 100644
index 000000000..47f7d8b1d
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/common-init.inc
@@ -0,0 +1,6 @@
+# If weston's PACKAGECONFIG contains systemd + pam + polkit, polkit
+# ends up a hard requirement for start up due to the pam + systemd
+# configuration that is being installed. For now, keep things simple
+# and assume that polkit should be a dependency if it is in
+# DISTRO_FEATURES.
+RDEPENDS:${PN} += "${@bb.utils.filter('DISTRO_FEATURES', 'polkit', d)}"
diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init.bbappend b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init.bbappend
new file mode 100644
index 000000000..c09d7ccd3
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'weston-init_aglcore.inc', '', d)}
diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init_aglcore.inc b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init_aglcore.inc
new file mode 100644
index 000000000..b7d346d39
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-graphics/wayland/weston-init_aglcore.inc
@@ -0,0 +1 @@
+require common-init.inc
diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/images/agl-image-compositor.bbappend b/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/images/agl-image-compositor.bbappend
new file mode 100644
index 000000000..1e0e66f01
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/images/agl-image-compositor.bbappend
@@ -0,0 +1,3 @@
+IMAGE_INSTALL += " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'agl-shell-activator', '', d)} \
+"
diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bbappend b/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bbappend
deleted file mode 100644
index 0db606679..000000000
--- a/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'packagegroup-agl-graphical-weston_aglcore.inc', '', d)}
diff --git a/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/packagegroups/packagegroup-agl-graphical-weston_aglcore.inc b/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/packagegroups/packagegroup-agl-graphical-weston_aglcore.inc
deleted file mode 100644
index 6167f459e..000000000
--- a/meta-agl-core/dynamic-layers/meta-oe/recipes-platform/packagegroups/packagegroup-agl-graphical-weston_aglcore.inc
+++ /dev/null
@@ -1 +0,0 @@
-RDEPENDS:${PN} += "polkit"
diff --git a/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_aglcore.inc b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_aglcore.inc
index 54a6311fb..581f5de99 100644
--- a/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_aglcore.inc
+++ b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtbase_aglcore.inc
@@ -1,3 +1,5 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/qtbase:"
+
PACKAGECONFIG_WAYLAND = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}"
PACKAGECONFIG_GL = "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2', '', d)}"
diff --git a/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation/0001-mapbox-update-API-url-to-match-new-schema.patch b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation/0001-mapbox-update-API-url-to-match-new-schema.patch
new file mode 100644
index 000000000..ba8a991ed
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation/0001-mapbox-update-API-url-to-match-new-schema.patch
@@ -0,0 +1,47 @@
+From 58197439eade86e7efc6fe98116c0092ea429d29 Mon Sep 17 00:00:00 2001
+From: Matt Ranostay <matt.ranostay@konsulko.com>
+Date: Tue, 10 Mar 2020 13:59:58 -0700
+Subject: [PATCH] mapbox: update API url to match new schema
+
+---
+ src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp | 7 ++++---
+ src/plugins/geoservices/mapbox/qmapboxcommon.h | 2 +-
+ 2 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp b/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp
+index 0b128556..bd2be6b6 100644
+--- a/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp
++++ b/src/plugins/geoservices/mapbox/qgeotilefetchermapbox.cpp
+@@ -88,12 +88,13 @@ QGeoTiledMapReply *QGeoTileFetcherMapbox::getTileImage(const QGeoTileSpec &spec)
+ request.setRawHeader("User-Agent", m_userAgent);
+
+ request.setUrl(QUrl(mapboxTilesApiPath +
+- ((spec.mapId() >= m_mapIds.size()) ? QStringLiteral("mapbox.streets") : m_mapIds[spec.mapId() - 1]) + QLatin1Char('/') +
++ m_mapIds[m_mapIds.size() - 1] +
++ QStringLiteral("/tiles/256/") +
+ QString::number(spec.zoom()) + QLatin1Char('/') +
+ QString::number(spec.x()) + QLatin1Char('/') +
+ QString::number(spec.y()) +
+- ((m_scaleFactor > 1) ? (QLatin1Char('@') + QString::number(m_scaleFactor) + QLatin1String("x.")) : QLatin1String(".")) +
+- m_format + QLatin1Char('?') +
++ ((m_scaleFactor > 1) ? (QLatin1Char('@') + QString::number(m_scaleFactor) + QLatin1String("x")) : QLatin1String("")) +
++ QLatin1Char('?') +
+ QStringLiteral("access_token=") + m_accessToken));
+
+ QNetworkReply *reply = m_networkManager->get(request);
+diff --git a/src/plugins/geoservices/mapbox/qmapboxcommon.h b/src/plugins/geoservices/mapbox/qmapboxcommon.h
+index e60c4e83..4b2ea98d 100644
+--- a/src/plugins/geoservices/mapbox/qmapboxcommon.h
++++ b/src/plugins/geoservices/mapbox/qmapboxcommon.h
+@@ -46,7 +46,7 @@
+
+ QT_BEGIN_NAMESPACE
+
+-static const QString mapboxTilesApiPath = QStringLiteral("http://api.tiles.mapbox.com/v4/");
++static const QString mapboxTilesApiPath = QStringLiteral("https://api.mapbox.com/");
+
+ // https://www.mapbox.com/api-documentation/#geocoding
+ static const QString mapboxGeocodingApiPath = QStringLiteral("https://api.mapbox.com/geocoding/v5/mapbox.places/");
+--
+2.25.0
+
diff --git a/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation_%.bbappend b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation_%.bbappend
new file mode 100644
index 000000000..a0d80075a
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'qtlocation_aglcore.inc', '', d)}
diff --git a/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation_aglcore.inc b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation_aglcore.inc
new file mode 100644
index 000000000..60867aef0
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-qt5/recipes-qt/qt5/qtlocation_aglcore.inc
@@ -0,0 +1,14 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/qtlocation:"
+
+SRC_URI += "\
+ file://0001-mapbox-update-API-url-to-match-new-schema.patch \
+ "
+
+# Need to explicitly enable the various plugins
+PACKAGECONFIG += " \
+ geoservices_osm \
+ geoservices_here \
+ geoservices_itemsoverlay \
+ geoservices_mapbox \
+ geoservices_mapboxgl \
+"
diff --git a/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/files/systemd-selinux-relabel.service b/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/files/systemd-selinux-relabel.service
new file mode 100644
index 000000000..b8d394068
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/files/systemd-selinux-relabel.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Generated file SELinux relabeling
+DefaultDependencies=no
+After=local-fs.target systemd-machine-id-commit.service
+Before=sysinit.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/systemd-selinux-relabel.sh
+
+[Install]
+WantedBy=sysinit.target
diff --git a/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/files/systemd-selinux-relabel.sh b/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/files/systemd-selinux-relabel.sh
new file mode 100644
index 000000000..b2557a8d6
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/files/systemd-selinux-relabel.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+# Update labels on files generated on first boot.
+/usr/sbin/restorecon -FRi /etc/systemd /etc/machine-id
+if [ $? -eq 0 ]; then
+ # Disable parent service
+ # NOTE: The service does not use the first boot functionality
+ # in systemd as /etc/machine-id is not writeable until
+ # after it is complete.
+ systemctl disable systemd-selinux-relabel.service
+fi
+exit 0
diff --git a/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/systemd-selinux-relabel_1.0.bb b/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/systemd-selinux-relabel_1.0.bb
new file mode 100644
index 000000000..7e4f9783c
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-selinux/recipes-core/systemd/systemd-selinux-relabel_1.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "System unit to relabel systemd generated files"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI = "file://systemd-selinux-relabel.service \
+ file://systemd-selinux-relabel.sh \
+"
+
+inherit systemd allarch features_check
+
+SYSTEMD_SERVICE:${PN} = "${BPN}.service"
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/systemd-selinux-relabel.service ${D}${systemd_system_unitdir}/
+ install -d ${D}${sbindir}
+ install -m 0755 ${WORKDIR}/systemd-selinux-relabel.sh ${D}${sbindir}/
+}
+
+FILES:${PN} += "${systemd_system_unitdir}"
diff --git a/meta-agl-core/dynamic-layers/meta-selinux/recipes-platform/packagegroups/packagegroup-agl-core-selinux.bb b/meta-agl-core/dynamic-layers/meta-selinux/recipes-platform/packagegroups/packagegroup-agl-core-selinux.bb
new file mode 100644
index 000000000..493a46f25
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-selinux/recipes-platform/packagegroups/packagegroup-agl-core-selinux.bb
@@ -0,0 +1,57 @@
+SUMMARY = "SELinux packages"
+DESCRIPTION = "SELinux packages required for AGL"
+LICENSE = "MIT"
+
+inherit packagegroup features_check
+
+REQUIRED_DISTRO_FEATURES = "selinux"
+
+PACKAGES = " \
+ packagegroup-agl-core-selinux \
+ packagegroup-agl-core-selinux-devel \
+"
+
+#
+# meta-selinux's packagegroup-core-selinux includes a lot of
+# policy development tools with its inclusion of the layer's
+# packagegroup-selinux-policycoreutils, which is not really
+# desirable for a production image. Create our own base
+# packagegroup and an accompanying devel packagegroup that
+# agl-devel can trigger pulling in.
+#
+# NOTES:
+# - It seems likely we will always want auditd, so include
+# it in the base packagegroup.
+# - selinux-autorelabel seems required to handle both the
+# edge case of builds done on non-xattr capable filesystems,
+# and to allow driving relabeling after potential package
+# installation during runtime.
+# - packagegroup-selinux-policycoreutils includes a lot of
+# things that seem not useful in a lot of systems (e.g.
+# the gtk dependent selinux-gui), so for now the devel
+# packagegroup aims to include a more minimal set of tools
+# aimed at enabling checkpolicy and audit2allow use.
+# - Some thought needs to go into whether the relabeling
+# fixup packages should be handled separately, as they
+# ideally should not go into images using read-only or
+# stateless rootfs, but those are image features so we
+# cannot check for them here.
+#
+
+RDEPENDS:${PN} = " \
+ packagegroup-selinux-minimal \
+ auditd \
+ selinux-autorelabel \
+ systemd-selinux-relabel \
+"
+
+RDEPENDS:${PN}-devel = " \
+ ${BPN} \
+ libsepol-bin \
+ checkpolicy \
+ policycoreutils-loadpolicy \
+ policycoreutils-setsebool \
+ policycoreutils-hll \
+ semodule-utils-semodule-package \
+ selinux-python-audit2allow \
+"
diff --git a/meta-agl-core/dynamic-layers/meta-selinux/recipes-security/selinux-scripts/selinux-autorelabel_0.1.bbappend b/meta-agl-core/dynamic-layers/meta-selinux/recipes-security/selinux-scripts/selinux-autorelabel_0.1.bbappend
new file mode 100644
index 000000000..793b049e5
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-selinux/recipes-security/selinux-scripts/selinux-autorelabel_0.1.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'selinux-autorelabel_aglcore.inc', '', d)}
diff --git a/meta-agl-core/dynamic-layers/meta-selinux/recipes-security/selinux-scripts/selinux-autorelabel_aglcore.inc b/meta-agl-core/dynamic-layers/meta-selinux/recipes-security/selinux-scripts/selinux-autorelabel_aglcore.inc
new file mode 100644
index 000000000..67d3843f4
--- /dev/null
+++ b/meta-agl-core/dynamic-layers/meta-selinux/recipes-security/selinux-scripts/selinux-autorelabel_aglcore.inc
@@ -0,0 +1,4 @@
+do_install:append() {
+ # Do not force auto relabeling just from the package getting installed
+ rm -f ${D}/.autorelabel
+}
diff --git a/meta-agl-core/files/group b/meta-agl-core/files/group
index 10cec784e..69a86186e 100644
--- a/meta-agl-core/files/group
+++ b/meta-agl-core/files/group
@@ -89,8 +89,13 @@ wayland::201:
display::202:
agl-driver::1001:
agl-passenger::1002:
+applaunchd::1003:
systemd-network::1005:
systemd-resolve::1006:
mosquitto::1007:
pipewire::1008:
+render::1009:
+sgx::1010:
kuksa::900:
+qemu::901:
+kvm::902:
diff --git a/meta-agl-core/files/passwd b/meta-agl-core/files/passwd
index b97bf3b47..3e6639d86 100644
--- a/meta-agl-core/files/passwd
+++ b/meta-agl-core/files/passwd
@@ -23,6 +23,7 @@ sshd::996:996:::
systemd-bus-proxy::995:995:::
agl-driver::1001:1001:::
agl-passenger::1002:1002:::
+applaunchd::1003:1003:::
messagebus::994:994:::
afm::992:992:::
systemd-timesync::988:988:::
@@ -62,3 +63,5 @@ systemd-resolve::1006:1006:::
mosquitto::1007:1007:::
pipewire::1008:1008:::
kuksa::900:900:::
+qemu::901:901:::
+user::1004:100:::
diff --git a/meta-agl-core/recipes-config/agl-users/agl-users.inc b/meta-agl-core/recipes-config/agl-users/agl-users.inc
new file mode 100644
index 000000000..428af3806
--- /dev/null
+++ b/meta-agl-core/recipes-config/agl-users/agl-users.inc
@@ -0,0 +1,14 @@
+inherit useradd
+
+USERADD_PACKAGES = "${PN}"
+USERADDEXTENSION = "useradd-staticids"
+
+GROUPADD_PARAM:${PN} = "\
+ --system video ; \
+ --system pipewire ; \
+ -g 1001 agl-driver ; \
+"
+
+USERADD_PARAM:${PN} = "\
+ -g 1001 -u 1001 -G video,pipewire -o -d /home/agl-driver -m -K PASS_MAX_DAYS=-1 agl-driver ; \
+"
diff --git a/meta-agl-core/recipes-config/agl-users/agl-users_1.0.bb b/meta-agl-core/recipes-config/agl-users/agl-users_1.0.bb
new file mode 100644
index 000000000..18f25e4be
--- /dev/null
+++ b/meta-agl-core/recipes-config/agl-users/agl-users_1.0.bb
@@ -0,0 +1,9 @@
+SUMMARY = "AGL Users"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+inherit allarch
+
+require agl-users.inc
+
+ALLOW_EMPTY:${PN} = "1"
diff --git a/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses/0001-Do-not-overwrite-CFLAGS.patch b/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses/0001-Do-not-overwrite-CFLAGS.patch
new file mode 100644
index 000000000..4a86e6c57
--- /dev/null
+++ b/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses/0001-Do-not-overwrite-CFLAGS.patch
@@ -0,0 +1,37 @@
+From 50ca6e010c3ca3f7cb06dfdf5dbdfaacd4f4749a Mon Sep 17 00:00:00 2001
+From: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
+Date: Tue, 19 Jul 2022 23:28:21 +0200
+Subject: [PATCH] Do not overwrite CFLAGS
+
+Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
+---
+ configure.ac | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 7e3307f..c385bc0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -24,14 +24,14 @@ AC_PROG_CC
+ AC_PROG_CC_C99
+ AM_PROG_CC_C_O
+
+-CFLAGS=""
+-
+-AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization],
+- [disable code optimization through compiler]), [
+- if (test "${enableval}" = "no"); then
+- CFLAGS="$CFLAGS -O0 -U_FORTIFY_SOURCE"
+- fi
+-])
++#CFLAGS=""
++#
++#AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization],
++# [disable code optimization through compiler]), [
++# if (test "${enableval}" = "no"); then
++# CFLAGS="$CFLAGS -O0 -U_FORTIFY_SOURCE"
++# fi
++#])
+
+ AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug],
+ [enable compiling with debugging information]), [
diff --git a/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses/0001-Initialize-variables.patch b/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses/0001-Initialize-variables.patch
new file mode 100644
index 000000000..9a1078426
--- /dev/null
+++ b/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses/0001-Initialize-variables.patch
@@ -0,0 +1,39 @@
+From 0389a80796d3ae31d8f60659f0638660a00157b2 Mon Sep 17 00:00:00 2001
+From: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
+Date: Tue, 19 Jul 2022 23:58:05 +0200
+Subject: [PATCH] Initialize variables
+
+This fixes compiler warnings.
+
+Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
+---
+ main.c | 2 +-
+ renderers.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/main.c b/main.c
+index f0354f9..1fa9ab1 100644
+--- a/main.c
++++ b/main.c
+@@ -159,7 +159,7 @@ static void report_error()
+ */
+ static void get_help_window()
+ {
+- char *msg;
++ char *msg = "";
+
+ if (win_help)
+ return;
+diff --git a/renderers.c b/renderers.c
+index c531a1e..d9d0414 100644
+--- a/renderers.c
++++ b/renderers.c
+@@ -153,7 +153,7 @@ static void renderers_technologies(struct json_object *jobj)
+ int i;
+ char *desc_base = "%-20s Powered %-5s Connected %-5s";
+ char desc_base_sub[30];
+- const char *k_name, *k_type, *k_powered, *k_connected;
++ const char *k_name = "" , *k_type = "" , *k_powered = "", *k_connected = "";
+ char *desc, *tech_short_name;
+ struct json_object *sub_array, *dbus_tech_name, *tech_dict;
+ struct userptr_data *data;
diff --git a/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb b/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb
index 0d1983db2..7b6d50531 100644
--- a/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb
+++ b/meta-agl-core/recipes-connectivity/connman-ncurses/connman-ncurses_git.bb
@@ -10,13 +10,15 @@ LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSE;md5=8c16666ae6c159876a0ba63099614381"
SRC_URI = "git://gitlab.com/iotbzh/connman-json-client.git;protocol=https;branch=master \
- file://stdbool-fixes.patch"
+ file://stdbool-fixes.patch \
+ file://0001-Do-not-overwrite-CFLAGS.patch \
+ file://0001-Initialize-variables.patch \
+ "
SRCREV = "2b0f93ec9518c978c04807fe52e95315d6d80e6b"
inherit autotools pkgconfig
-EXTRA_AUTORECONF += " -i"
-EXTRA_OECONF += " --disable-optimization --enable-debug"
+EXTRA_AUTORECONF += " -vfi"
S = "${WORKDIR}/git"
diff --git a/meta-agl-core/recipes-connectivity/connman/connman-conf/main.conf b/meta-agl-core/recipes-connectivity/connman/connman-conf/main.conf
index 4dba25b70..be9fd0ed2 100644
--- a/meta-agl-core/recipes-connectivity/connman/connman-conf/main.conf
+++ b/meta-agl-core/recipes-connectivity/connman/connman-conf/main.conf
@@ -1,3 +1,3 @@
[General]
FallbackTimeservers=pool.ntp.org
-NetworkInterfaceBlacklist=vmnet,vboxnet,virbr,ifb,meth
+NetworkInterfaceBlacklist=vmnet,vboxnet,virbr,tap,ifb,meth
diff --git a/meta-agl-core/recipes-connectivity/connman/connman-conf_aglcore.inc b/meta-agl-core/recipes-connectivity/connman/connman-conf_aglcore.inc
index 4505ab779..30a250e1e 100644
--- a/meta-agl-core/recipes-connectivity/connman/connman-conf_aglcore.inc
+++ b/meta-agl-core/recipes-connectivity/connman/connman-conf_aglcore.inc
@@ -1,2 +1,9 @@
# Pick up our version of main.conf
FILESEXTRAPATHS:prepend := "${THISDIR}/connman-conf:"
+
+# Upstream connman-conf only installs configuration for qemu targets
+# but we need it in all our BSP
+do_install:append() {
+ mkdir -p ${D}${sysconfdir}/connman
+ cp ${S}/main.conf ${D}${sysconfdir}/connman/main.conf
+}
diff --git a/meta-agl-core/recipes-connectivity/connman/connman/0001-disable-when-booting-over-nfs.patch b/meta-agl-core/recipes-connectivity/connman/connman/0001-disable-when-booting-over-nfs.patch
index f129a6580..7cc92e2c4 100644
--- a/meta-agl-core/recipes-connectivity/connman/connman/0001-disable-when-booting-over-nfs.patch
+++ b/meta-agl-core/recipes-connectivity/connman/connman/0001-disable-when-booting-over-nfs.patch
@@ -1,3 +1,7 @@
+Exempt when nfs is in use.
+
+Upstream-Status: Pending
+
--- connman-1.36.orig/src/connman.service.in 2019-02-18 18:02:07.034947373 -0500
+++ connman-1.36/src/connman.service.in 2019-02-18 18:07:24.689959219 -0500
@@ -7,6 +7,7 @@
diff --git a/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can-fd.network b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can-fd.network
new file mode 100644
index 000000000..86042bd90
--- /dev/null
+++ b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can-fd.network
@@ -0,0 +1,12 @@
+[Match]
+Name=can*
+
+[CAN]
+BitRate=500K
+SamplePoint=75%
+DataBitRate=4M
+DataSamplePoint=80%
+FDMode=yes
+
+[Link]
+ActivationPolicy=up
diff --git a/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can.link b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can.link
new file mode 100644
index 000000000..61fb4d575
--- /dev/null
+++ b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can.link
@@ -0,0 +1,11 @@
+[Match]
+Type=can
+OriginalName=can*
+
+[Link]
+TransmitQueueLength=1000
+# Need to duplicate default configuration here, since only first
+# matching .link is applied
+NamePolicy=keep kernel database onboard slot path
+AlternativeNamesPolicy=database onboard slot path
+MACAddressPolicy=persistent
diff --git a/meta-agl-core/recipes-core/systemd/systemd/canbus-can.network b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can.network
index ae5514bca..ae5514bca 100644
--- a/meta-agl-core/recipes-core/systemd/systemd/canbus-can.network
+++ b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-can.network
diff --git a/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-virtio.network b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-virtio.network
new file mode 100644
index 000000000..cc33d86d6
--- /dev/null
+++ b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus/canbus-virtio.network
@@ -0,0 +1,5 @@
+[Match]
+Name=can*
+
+[CAN]
+RestartSec=0.1
diff --git a/meta-agl-core/recipes-core/systemd/systemd-conf-canbus_1.0.bb b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus_1.0.bb
new file mode 100644
index 000000000..a23cd839a
--- /dev/null
+++ b/meta-agl-core/recipes-core/systemd/systemd-conf-canbus_1.0.bb
@@ -0,0 +1,32 @@
+SUMMARY = "Systemd canbus configuration"
+DESCRIPTION = "Systemd may require slightly different configuration for \
+different machines. This injects configuration for the CAN bus."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+PE = "1"
+
+SRC_URI = "\
+ file://canbus-can.network \
+ file://canbus-can-fd.network \
+ file://canbus-virtio.network \
+ file://canbus-can.link \
+"
+
+CANBUS_NETWORK_CONFIG ??= "canbus-can.network"
+CANBUS_NETWORK_CONFIG:virtio-all ?= "canbus-virtio.network"
+
+do_install() {
+ # Install CAN bus network configuration
+ install -d ${D}${nonarch_base_libdir}/systemd/network/
+ install -m 0644 ${WORKDIR}/${CANBUS_NETWORK_CONFIG} ${D}${nonarch_base_libdir}/systemd/network/60-canbus-can.network
+
+ # Install link configuration to bump queue size on physical CAN bus devices
+ install -m 0644 ${WORKDIR}/canbus-can.link ${D}${nonarch_base_libdir}/systemd/network/60-canbus-can.link
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+FILES:${PN} = " \
+ ${nonarch_base_libdir}/systemd/network/ \
+"
diff --git a/meta-agl-core/recipes-core/systemd/systemd/wait-disable.conf b/meta-agl-core/recipes-core/systemd/systemd/wait-disable.conf
new file mode 100644
index 000000000..e5d4f4b28
--- /dev/null
+++ b/meta-agl-core/recipes-core/systemd/systemd/wait-disable.conf
@@ -0,0 +1,3 @@
+[Service]
+ExecStart=
+ExecStart=/usr/bin/true
diff --git a/meta-agl-core/recipes-core/systemd/systemd/wired.network b/meta-agl-core/recipes-core/systemd/systemd/wired.network
index 3559b0155..425610a3f 100644
--- a/meta-agl-core/recipes-core/systemd/systemd/wired.network
+++ b/meta-agl-core/recipes-core/systemd/systemd/wired.network
@@ -1,5 +1,8 @@
[Match]
Name=eth* en*
+KernelCommandLine=!nbdroot
+KernelCommandLine=!nfsroot
+KernelCommandLine=!ip
[Network]
DHCP=yes
diff --git a/meta-agl-core/recipes-core/systemd/systemd_aglcore.inc b/meta-agl-core/recipes-core/systemd/systemd_aglcore.inc
index 6dd6698fc..9681329be 100644
--- a/meta-agl-core/recipes-core/systemd/systemd_aglcore.inc
+++ b/meta-agl-core/recipes-core/systemd/systemd_aglcore.inc
@@ -2,32 +2,35 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/systemd:"
SRC_URI += "\
file://e2fsck.conf \
- file://canbus-can.network \
- ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','systemd','file://wired.network','',d)} \
+ file://wait-disable.conf \
+ file://wired.network \
"
-# enable networkd/resolved support
-PACKAGECONFIG:append:pn-systemd = " \
+# Enable networkd/resolved support if using systemd for network management
+PACKAGECONFIG:append = " \
${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','systemd','networkd resolved','',d)} \
+ iptc \
"
+# SPEC-737: connmand also has a NTP client which races with systemd-timesyncd
+PACKAGECONFIG:remove = "timesyncd"
+
+# Enable systemd-coredump when agl-devel is set on
+PACKAGECONFIG:append:agl-devel = " coredump"
+
do_install:append() {
# Install /etc/e2fsck.conf to avoid boot stuck by wrong clock time
install -m 644 -p -D ${WORKDIR}/e2fsck.conf ${D}${sysconfdir}/e2fsck.conf
- # Install canbus network script
- install -m 0644 ${WORKDIR}/canbus-can.network ${D}${nonarch_base_libdir}/systemd/network/60-canbus-can.network
-
- if ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','systemd','true','false',d)}; then
+ if [ "${VIRTUAL-RUNTIME_net_manager}" = "systemd" ]; then
# Install DHCP configuration for Ethernet adapters
install -m 644 ${WORKDIR}/wired.network ${D}${sysconfdir}/systemd/network
+ elif [ "${VIRTUAL-RUNTIME_net_manager}" = "connman" ]; then
+ # Disable systemd-networkd-wait-online by default
+ install -d ${D}${systemd_system_unitdir}/systemd-networkd-wait-online.service.d
+ install -m 0644 ${WORKDIR}/wait-disable.conf ${D}${systemd_system_unitdir}/systemd-networkd-wait-online.service.d/
fi
}
FILES:${PN} += "${sysconfdir}/e2fsck.conf "
-# SPEC-737: connmand also has a NTP client which races with systemd-timesyncd
-PACKAGECONFIG:remove = "timesyncd"
-
-# Enable systemd-coredump when agl-devel is set on
-PACKAGECONFIG:append:agl-devel = " coredump"
diff --git a/meta-agl-core/recipes-devtools/qemu/qemu_%.bbappend b/meta-agl-core/recipes-devtools/qemu/qemu_%.bbappend
new file mode 100644
index 000000000..980783236
--- /dev/null
+++ b/meta-agl-core/recipes-devtools/qemu/qemu_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', '${BPN}_aglcore.inc', '', d)}
diff --git a/meta-agl-core/recipes-devtools/qemu/qemu_aglcore.inc b/meta-agl-core/recipes-devtools/qemu/qemu_aglcore.inc
new file mode 100644
index 000000000..77d461a7f
--- /dev/null
+++ b/meta-agl-core/recipes-devtools/qemu/qemu_aglcore.inc
@@ -0,0 +1,5 @@
+PACKAGECONFIG:append = " \
+ aio \
+ libusb \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \
+"
diff --git a/meta-agl-core/recipes-graphics/libsdl2/libsdl2_%.bbappend b/meta-agl-core/recipes-graphics/libsdl2/libsdl2_%.bbappend
new file mode 100644
index 000000000..48e50788e
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/libsdl2/libsdl2_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'libsdl2_aglcore.inc', '', d)}
diff --git a/meta-agl-core/recipes-graphics/libsdl2/libsdl2_aglcore.inc b/meta-agl-core/recipes-graphics/libsdl2/libsdl2_aglcore.inc
new file mode 100644
index 000000000..7652e1843
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/libsdl2/libsdl2_aglcore.inc
@@ -0,0 +1,3 @@
+# Make sure opengl is disabled, as using wayland implies gles2 in the
+# libsdl2 PACKAGECONFIG definitions.
+PACKAGECONFIG:remove = "opengl"
diff --git a/meta-agl-core/recipes-graphics/wayland/agl-compositor-init.bb b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init.bb
index 0cdf4d5d6..d8baf91f9 100644
--- a/meta-agl-core/recipes-graphics/wayland/agl-compositor-init.bb
+++ b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init.bb
@@ -1,10 +1,19 @@
-SUMMARY = "Startup systemd unit drop-in file for the AGL Wayland compositor"
+SUMMARY = "Startup systemd unit for the AGL Wayland compositor"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+inherit systemd
+
+# Reuse include file from upstream weston since we have the same requirements
+require recipes-graphics/wayland/required-distro-features.inc
+
PACKAGE_ARCH = "${MACHINE_ARCH}"
-SRC_URI = "file://agl-compositor.conf.in"
+SRC_URI = "file://agl-compositor.service \
+ file://agl-compositor.socket \
+ file://agl-compositor-autologin \
+ file://agl-compositor.conf.in \
+"
S = "${WORKDIR}"
@@ -15,7 +24,14 @@ AGL_COMPOSITOR_ARGS:append = " ${@bb.utils.contains("DISTRO_FEATURES", "agl-deve
AGL_COMPOSITOR_ARGS:append = " ${@bb.utils.contains("WESTON_USE_PIXMAN", "1", " --use-pixman", "",d)}"
do_install() {
- # Process ".in" files
+ # Install systemd service
+ install -D -p -m0644 ${WORKDIR}/agl-compositor.service ${D}${systemd_system_unitdir}/agl-compositor.service
+ install -D -p -m0644 ${WORKDIR}/agl-compositor.socket ${D}${systemd_system_unitdir}/agl-compositor.socket
+ if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
+ install -D -p -m0644 ${WORKDIR}/agl-compositor-autologin ${D}${sysconfdir}/pam.d/agl-compositor-autologin
+ fi
+
+ # Install systemd service drop-in with extra configuration
files=agl-compositor.conf.in
for f in ${files}; do
g=${f%.in}
@@ -24,17 +40,22 @@ do_install() {
${WORKDIR}/${f} > ${WORKDIR}/${g}
fi
done
-
- # Install Weston systemd service drop-in
- install -d ${D}${systemd_system_unitdir}/weston.service.d
- install -m644 ${WORKDIR}/agl-compositor.conf ${D}/${systemd_system_unitdir}/weston.service.d/agl-compositor.conf
+ install -d ${D}${systemd_system_unitdir}/agl-compositor.service.d
+ install -m644 ${WORKDIR}/agl-compositor.conf ${D}/${systemd_system_unitdir}/agl-compositor.service.d/agl-compositor.conf
}
FILES:${PN} += "\
- ${systemd_system_unitdir}/weston.service.d \
+ ${systemd_system_unitdir}/agl-compositor.service \
+ ${systemd_system_unitdir}/agl-compositor.socket \
+ ${systemd_system_unitdir}/agl-compositor.service.d \
+ ${sysconfdir}/default/agl-compositor \
+ ${sysconfdir}/pam.d/ \
"
-RDEPENDS:${PN} = " \
- agl-compositor \
- weston-init \
-"
+CONFFILES:${PN} += "${sysconfdir}/default/agl-compositor"
+
+RDEPENDS:${PN} = "agl-users agl-compositor weston-ini"
+
+RCONFLICTS:${PN} = "weston-init"
+
+SYSTEMD_SERVICE:${PN} = "agl-compositor.service agl-compositor.socket"
diff --git a/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor-autologin b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor-autologin
new file mode 100644
index 000000000..f6e6d106d
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor-autologin
@@ -0,0 +1,11 @@
+auth required pam_nologin.so
+auth required pam_unix.so try_first_pass nullok
+
+account required pam_nologin.so
+account required pam_unix.so
+
+session required pam_env.so
+session required pam_unix.so
+-session optional pam_systemd.so type=wayland class=user desktop=weston
+-session optional pam_loginuid.so
+
diff --git a/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service
new file mode 100644
index 000000000..4ee14de27
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service
@@ -0,0 +1,72 @@
+# This is a system unit for launching AGL compositor with auto-login as the
+# user configured here.
+#
+# AGL compositor and Weston must be built with systemd support, and your
+# weston.ini must load the plugin systemd-notify.so.
+#
+# Attention:
+# If you will add new tty dependency setting, you need to update
+# agl-compositor-guest.conf.
+[Unit]
+Description=AGL compositor
+Documentation=man:weston(1) man:weston.ini(5)
+Documentation=http://wayland.freedesktop.org/
+
+# Make sure we are started after logins are permitted.
+Requires=systemd-user-sessions.service
+After=systemd-user-sessions.service
+
+# D-Bus is necessary for contacting logind. Logind is required.
+Wants=dbus.socket
+After=dbus.socket
+
+# Ensure the socket is present
+Requires=agl-compositor.socket
+
+# Since we are part of the graphical session, make sure we are started before
+# it is complete.
+Before=graphical.target
+
+# Prevent starting on systems without virtual consoles, Weston requires one
+# for now.
+ConditionPathExists=/dev/tty0
+
+[Service]
+# Requires systemd-notify.so Weston plugin.
+Type=notify
+EnvironmentFile=-/etc/default/agl-compositor
+ExecStart=/usr/bin/agl-compositor --modules=systemd-notify.so
+
+# Watchdog setup
+TimeoutStartSec=60
+WatchdogSec=20
+
+# The user to run as.
+User=agl-driver
+Group=agl-driver
+
+# Make sure the working directory is the users home directory
+WorkingDirectory=/home/agl-driver
+
+# Set up a full user session for the user
+PAMName=agl-compositor-autologin
+
+# A virtual terminal is needed.
+TTYPath=/dev/tty7
+TTYReset=yes
+TTYVHangup=yes
+TTYVTDisallocate=yes
+
+# Fail to start if not controlling the tty.
+StandardInput=tty-fail
+StandardOutput=journal
+StandardError=journal
+
+# Log this user with utmp, letting it show up with commands 'w' and 'who'.
+UtmpIdentifier=tty7
+UtmpMode=user
+
+[Install]
+# Note: If you only want weston to start on-demand, remove this line with a
+# service drop file
+WantedBy=graphical.target
diff --git a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.socket b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor.socket
index ef9769ff7..ef9769ff7 100644
--- a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.socket
+++ b/meta-agl-core/recipes-graphics/wayland/agl-compositor-init/agl-compositor.socket
diff --git a/meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb b/meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb
index 5f2c8a8c0..3596cbb06 100644
--- a/meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb
+++ b/meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb
@@ -8,33 +8,46 @@ SECTION = "x11"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=fac6abe0003c4d142ff8fa1f18316df0"
-DEPENDS = "wayland wayland-protocols wayland-native weston \
- ${@bb.utils.contains('AGL_FEATURES', 'waltham-remoting', 'waltham waltham-transmitter-plugin', '', d)}"
+DEPENDS = "wayland wayland-protocols wayland-native weston"
SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/agl-compositor.git;protocol=https;branch=${AGL_BRANCH}"
-SRCREV = "1304d412eb2bcefd4733539213ecb9b6ca39a605"
+SRCREV = "d5ecd12729734b788546e0d80edc492454bec251"
AGL_BRANCH:aglnext = "next"
SRCREV:aglnext = "${AUTOREV}"
-PV = "0.0.10+git${SRCPV}"
+AGL_COMPOSITOR_VERSION = "0.0.24"
+
+PV = "${AGL_COMPOSITOR_VERSION}+git${SRCPV}"
S = "${WORKDIR}/git"
PACKAGECONFIG ?= ""
PACKAGECONFIG[policy-rba] = "-Dpolicy-default=rba,,librba,librba rba-config"
PACKAGECONFIG[policy-deny-all] = "-Dpolicy-default=deny-all,,"
+PACKAGECONFIG[grpc-proxy] = "-Dgrpc-proxy=true,-Dgrpc-proxy=false,grpc grpc-native,grpc agl-shell-grpc-server"
inherit meson pkgconfig python3native
+# Reuse include file from upstream weston since we have the same requirements
+require recipes-graphics/wayland/required-distro-features.inc
+
+PACKAGES =+ "agl-shell-grpc-server"
+
+LDFLAGS:append:riscv64 = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
+
FILES:${PN} = " \
${bindir}/agl-compositor \
${bindir}/agl-screenshooter \
${libdir}/agl-compositor/libexec_compositor.so.0 \
- ${libdir}/agl-compositor/libexec_compositor.so.0.0.0 \
+ ${libdir}/agl-compositor/libexec_compositor.so.${AGL_COMPOSITOR_VERSION} \
+"
+
+FILES:agl-shell-grpc-server = " \
+ ${libdir}/agl-compositor/agl-shell-grpc-server \
"
RDEPENDS:${PN} += " \
agl-compositor-init \
- ${@bb.utils.contains('AGL_FEATURES', 'waltham-remoting', 'waltham waltham-transmitter-plugin', '', d)} \
+ xkeyboard-config \
"
FILES:${PN}-dev += " \
diff --git a/meta-agl-core/recipes-graphics/wayland/native-shell-client_git.bb b/meta-agl-core/recipes-graphics/wayland/native-shell-client_git.bb
new file mode 100644
index 000000000..c0c31e029
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/native-shell-client_git.bb
@@ -0,0 +1,16 @@
+SUMMARY = "Minimal agl-shell Wayland protocol client"
+
+HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/q/project:src%252Fnative-shell-client"
+SECTION = "x11"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=3b90ee643ce04400848a8f0deb492a4a"
+
+DEPENDS = "wayland wayland-protocols wayland-native agl-compositor"
+
+SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/native-shell-client.git;protocol=https;branch=${AGL_BRANCH}"
+SRCREV = "099e06f532eff7c56bf00eb58420f14c95a8e554"
+
+PV = "0.0.1+git${SRCPV}"
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig
diff --git a/meta-agl-core/recipes-graphics/wayland/waltham-transmitter-plugin.bb b/meta-agl-core/recipes-graphics/wayland/waltham-transmitter-plugin.bb
deleted file mode 100644
index 734fadf6f..000000000
--- a/meta-agl-core/recipes-graphics/wayland/waltham-transmitter-plugin.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-DESCRIPTION = "Waltham transmitter is a libweston plug-in that adds support for receiving input events from a surface streamed on a remote output"
-HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/src/waltham-transmitter-plugin.git"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://COPYING;md5=f21c9af4de068fb53b83f0b37d262ec3"
-
-DEPENDS += "wayland wayland-native waltham weston"
-
-SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/waltham-transmitter-plugin.git;protocol=https;branch=${AGL_BRANCH}"
-AGL_BRANCH:aglnext = "next"
-SRCREV = "d64b99a999fcc17322393782fe802122fd963ced"
-SRCREV:aglnext = "${AUTOREV}"
-
-S = "${WORKDIR}/git"
-
-inherit meson pkgconfig python3native
-
-FILES:${PN} += "${libdir}/*"
-FILES:${PN} += "${bindir}/*"
diff --git a/meta-agl-core/recipes-graphics/wayland/waltham/0001-Use-python3-instead-of-2.patch b/meta-agl-core/recipes-graphics/wayland/waltham/0001-Use-python3-instead-of-2.patch
deleted file mode 100644
index 32c2df3c4..000000000
--- a/meta-agl-core/recipes-graphics/wayland/waltham/0001-Use-python3-instead-of-2.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 6ecdf10a10929164f3cbdb754ae91d27576e5036 Mon Sep 17 00:00:00 2001
-From: Marius Vlad <marius.vlad@collabora.com>
-Date: Fri, 16 Oct 2020 18:57:38 +0300
-Subject: [PATCH] Use python3 instead of 2
-
-Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
----
- configure.ac | 2 +-
- tools/gen.py | 6 +++---
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 5f65a6b..94b8644 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -32,7 +32,7 @@ AC_SUBST(VERSION_INFO)
- # Check for programs
- AC_PROG_CC
- AC_PROG_CC_STDC
--AC_CHECK_PROGS([PYTHON2], [python2 python])
-+AC_CHECK_PROGS([PYTHON3], [python3 python])
- PKG_PROG_PKG_CONFIG()
-
- AC_ARG_ENABLE(gprof,
-diff --git a/tools/gen.py b/tools/gen.py
-index 19e8baa..64c5870 100755
---- a/tools/gen.py
-+++ b/tools/gen.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python2
-+#!/usr/bin/env python3
- # -*- coding: utf-8 -*-
-
- # Copyright © 2013-2014 Collabora, Ltd.
-@@ -562,11 +562,11 @@ try:
- opts, args = getopt.getopt(sys.argv[1:], "hp:i:o:t:m:",
- ["preamble=", "input=", "output=", "type=", "mode="])
- except getopt.GetoptError:
-- print 'gen.py -p <preamblefile> -i <inputfile> -o <outputfile> -t <type> -m <mode>'
-+ print('gen.py -p <preamblefile> -i <inputfile> -o <outputfile> -t <type> -m <mode>')
- sys.exit(2)
- for opt, arg in opts:
- if opt == '-h':
-- print 'gen.py -p <preamblefile> -i <inputfile> -o <outputfile> -t <type> -m <mode>'
-+ print('gen.py -p <preamblefile> -i <inputfile> -o <outputfile> -t <type> -m <mode>')
- sys.exit()
- elif opt in ("-p", "--preamble"):
- preamble_files.append(arg)
---
-2.28.0
-
diff --git a/meta-agl-core/recipes-graphics/wayland/waltham/0001-waltham-Fix-compile-build-error.patch b/meta-agl-core/recipes-graphics/wayland/waltham/0001-waltham-Fix-compile-build-error.patch
deleted file mode 100644
index 354bcbc15..000000000
--- a/meta-agl-core/recipes-graphics/wayland/waltham/0001-waltham-Fix-compile-build-error.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From cc87dddc2cdc0c20b053e3da1197efd671b4f50c Mon Sep 17 00:00:00 2001
-From: Marius Vlad <marius.vlad@collabora.com>
-Date: Wed, 23 Sep 2020 22:33:50 +0300
-Subject: [PATCH 1/2] waltham: Fix compile build error
-
-Newer compilers will complain about the fact debug_message is declared
-multiple times:
-
-multiple definition of `debug_message';
-.libs/marshaller.o:/home/mvlad/src/native-agl-weston8/waltham/waltham/src/waltham/marshaller_log.h:35:
-first defined here multiple definition of `debug_message';
-.libs/marshaller.o:/home/mvlad/src/native-agl-weston8/waltham/waltham/src/waltham/marshaller_log.h:35:
-first defined here /usr/bin/ld:
-.libs/client-serialice.o:/home/mvlad/src/native-agl-weston8/waltham/waltham/src/waltham/marshaller_log.h:35:
-multiple definition of `debug_message';
-.libs/marshaller.o:/home/mvlad/src/native-agl-weston8/waltham/waltham/src/waltham/marshaller_log.h:35:
-first defined here
-
-Bug-AGL: SPEC-3649
-
-Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
----
- src/waltham/marshaller_log.h | 2 +-
- src/waltham/waltham-util.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/waltham/marshaller_log.h b/src/waltham/marshaller_log.h
-index 8254914..ffa87c1 100644
---- a/src/waltham/marshaller_log.h
-+++ b/src/waltham/marshaller_log.h
-@@ -32,7 +32,7 @@
- /* Comment/uncomment to disable/enable debugging log */
- #define DEBUG
- //#define PROFILE
--int debug_message;
-+extern int debug_message;
-
- #ifdef DEBUG
- static inline void DEBUG_STAMP (void) {
-diff --git a/src/waltham/waltham-util.c b/src/waltham/waltham-util.c
-index 410b114..8f898f8 100644
---- a/src/waltham/waltham-util.c
-+++ b/src/waltham/waltham-util.c
-@@ -34,7 +34,7 @@
- #include "waltham-connection.h"
- #include "waltham-private.h"
-
--int debug_message;
-+extern int debug_message;
-
- static void
- wth_pfx_print(const char *pfx, const char *fmt, va_list argp)
---
-2.28.0
-
diff --git a/meta-agl-core/recipes-graphics/wayland/waltham/0002-commandxml-Add-support-wthp_app_id-interface.patch b/meta-agl-core/recipes-graphics/wayland/waltham/0002-commandxml-Add-support-wthp_app_id-interface.patch
deleted file mode 100644
index 5aefb922b..000000000
--- a/meta-agl-core/recipes-graphics/wayland/waltham/0002-commandxml-Add-support-wthp_app_id-interface.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From d30005429fe92daa14151c2a6175d5cf19506cac Mon Sep 17 00:00:00 2001
-From: Marius Vlad <marius.vlad@collabora.com>
-Date: Wed, 7 Oct 2020 16:36:38 +0300
-Subject: [PATCH 2/2] commandxml: Add support wthp_app_id interface
-
-With it, we hang off the app_id which we can use to pass it to the
-receiver side.
-
-Bug-AGL: SPEC-3601
-
-Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
----
- data/command.xml | 29 +++++++++++++++++++++++++++++
- src/waltham/header-preamble.txt | 1 +
- 2 files changed, 30 insertions(+)
-
-diff --git a/data/command.xml b/data/command.xml
-index a03082b..cb53f75 100644
---- a/data/command.xml
-+++ b/data/command.xml
-@@ -1814,6 +1814,35 @@
-
- </interface>
-
-+ <interface name="wthp_ivi_app_id" version="1">
-+ <description summary="create ivi-style surfaces">
-+ This interface is exposed as a global singleton.
-+ This interface is implemented by servers that provide IVI-style user interfaces.
-+ It allows clients to associate an ivi_surface with wthp_surface.
-+ </description>
-+
-+ <enum name="error">
-+ <entry name="role" value="0" summary="given wthp_surface has another role"/>
-+ </enum>
-+
-+ <request name="surface_create">
-+ <description summary="create ivi_surface with app_id in ivi compositor">
-+ This request gives the wthp_surface the role of an IVI Surface. Creating more than
-+ one ivi_surface for a wthp_surface is not allowed. Note, that this still allows the
-+ following example:
-+
-+ 1. create a wthp_surface
-+ 2. create ivi_surface for the wthp_surface
-+ 3. destroy the ivi_surface
-+
-+ </description>
-+ <arg name="app_id" type="string"/>
-+ <arg name="surface" type="object" interface="wthp_surface"/>
-+ <arg name="id" type="new_id" interface="wthp_ivi_surface"/>
-+ </request>
-+
-+ </interface>
-+
- <interface name="dummy" version="1">
- <request name="dummy_request">
- </request>
-diff --git a/src/waltham/header-preamble.txt b/src/waltham/header-preamble.txt
-index df765cc..2409859 100644
---- a/src/waltham/header-preamble.txt
-+++ b/src/waltham/header-preamble.txt
-@@ -50,5 +50,6 @@ struct wthp_touch;
-
- struct wthp_ivi_surface;
- struct wthp_ivi_application;
-+struct wthp_ivi_app_id;
-
- struct dummy;
---
-2.28.0
-
diff --git a/meta-agl-core/recipes-graphics/wayland/waltham_%.bbappend b/meta-agl-core/recipes-graphics/wayland/waltham_%.bbappend
deleted file mode 100644
index 302eba4d2..000000000
--- a/meta-agl-core/recipes-graphics/wayland/waltham_%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
-
-SRC_URI:append = "\
- file://0001-waltham-Fix-compile-build-error.patch \
- file://0002-commandxml-Add-support-wthp_app_id-interface.patch \
- file://0001-Use-python3-instead-of-2.patch \
- "
diff --git a/meta-agl-core/recipes-graphics/wayland/waltham_git.bb b/meta-agl-core/recipes-graphics/wayland/waltham_git.bb
deleted file mode 100644
index da092a5e7..000000000
--- a/meta-agl-core/recipes-graphics/wayland/waltham_git.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-DESCRIPTION = "Waltham is a network IPC library designed to resemble Wayland both protocol and protocol-API wise"
-HOMEPAGE = "https://github.com/waltham/waltham"
-
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = " \
- file://LICENSE;md5=e8ad01a5182f2c1b3a2640e9ea268264 \
-"
-SRCREV = "1de58c3ff746ddaba7584d760c5454243723d3ca"
-SRC_URI = "git://github.com/wmizuno/waltham.git;branch=master;protocol=https \
- "
-S = "${WORKDIR}/git"
-
-inherit autotools pkgconfig
-
-DEPENDS += "libdrm virtual/kernel wayland"
-RDEPENDS:${PN} += "libdrm" \ No newline at end of file
diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bb b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bb
index c04ff6568..0611ec5b4 100644
--- a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bb
+++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bb
@@ -9,12 +9,16 @@ SRC_URI = " \
file://hdmi-a-1-90.cfg \
file://hdmi-a-1-180.cfg \
file://hdmi-a-1-270.cfg \
- file://remote-output.cfg \
- file://transmitter-output.cfg.in \
+ file://hdmi-a-2-0.cfg \
+ file://hdmi-a-2-90.cfg \
+ file://hdmi-a-2-180.cfg \
+ file://hdmi-a-2-270.cfg \
+ file://remote-output.cfg.in \
file://virtual-0.cfg \
file://virtual-90.cfg \
file://virtual-180.cfg \
file://virtual-270.cfg \
+ file://grpc-proxy.cfg \
"
S = "${WORKDIR}"
@@ -27,22 +31,21 @@ WESTON_DISPLAYS ?= "hdmi-a-1-90"
# Configuration fragments to use in weston.ini.*
# Note that some may be replaced/removed when building the landscape
# configuration.
-WESTON_FRAGMENTS = "core shell ${WESTON_DISPLAYS}"
+WESTON_FRAGMENTS = "core shell grpc-proxy ${WESTON_DISPLAYS}"
# On-target weston.ini directory
weston_ini_dir = "${sysconfdir}/xdg/weston"
# Options for the user to change in local.conf
-# e.g. TRANSMITTER_OUTPUT_MODE = "1080x1488"
-TRANSMITTER_OUTPUT_MODE ??= "640x720@30"
-TRANSMITTER_OUTPUT_HOST ??= "192.168.20.99"
-TRANSMITTER_OUTPUT_PORT ??= "5005"
+# e.g. REMOTING_OUTPUT_MODE = "1080x1488"
+REMOTING_OUTPUT_MODE ??= "640x720@30"
+REMOTING_OUTPUT_HOST ??= "192.168.10.3"
+REMOTING_OUTPUT_PORT ??= "5005"
do_configure() {
- sed -e "s#mode=.*#mode=${TRANSMITTER_OUTPUT_MODE}#" \
- -e "s#host=.*#host=${TRANSMITTER_OUTPUT_HOST}#" \
- -e "s#port=.*#port=${TRANSMITTER_OUTPUT_PORT}#" \
- ${WORKDIR}/transmitter-output.cfg.in > ${WORKDIR}/transmitter-output.cfg
+ sed -e "s#host=.*#host=${REMOTING_OUTPUT_HOST}#" \
+ -e "s#port=.*#port=${REMOTING_OUTPUT_PORT}#" \
+ ${WORKDIR}/remote-output.cfg.in > ${WORKDIR}/remote-output.cfg
}
do_compile() {
@@ -55,15 +58,21 @@ do_compile() {
done
sed -i -e '$ d' ${WORKDIR}/weston.ini.default
+ cat ${WORKDIR}/weston.ini.default > ${WORKDIR}/weston.ini.default-no-activate
+
# Do it again, but filter fragments to configure for landscape
# and a corresponding landscape-inverted that is 180 degrees
# rotated.
rm -f ${WORKDIR}/weston.ini.landscape
+ rm -f ${WORKDIR}/weston.ini.landscape-inverted
for F in ${WESTON_FRAGMENTS}; do
INVF=$F
if echo $F | grep '^hdmi-a-1-\(90\|270\)$'; then
F="hdmi-a-1-0"
INVF="hdmi-a-1-180"
+ elif echo $F | grep '^hdmi-a-2-\(90\|270\)$'; then
+ F="hdmi-a-2-0"
+ INVF="hdmi-a-2-180"
elif echo $F | grep '^virtual-90$'; then
F="virtual-0"
INVF="virtual-180"
@@ -75,11 +84,15 @@ do_compile() {
done
sed -i -e '$ d' ${WORKDIR}/weston.ini.landscape
sed -i -e '$ d' ${WORKDIR}/weston.ini.landscape-inverted
+
+ cat ${WORKDIR}/weston.ini.landscape > ${WORKDIR}/weston.ini.landscape-no-activate
}
do_install:append() {
install -d ${D}${weston_ini_dir}
install -m 0644 ${WORKDIR}/weston.ini.default ${D}${weston_ini_dir}/
+ install -m 0644 ${WORKDIR}/weston.ini.default-no-activate ${D}${weston_ini_dir}/
+ install -m 0644 ${WORKDIR}/weston.ini.landscape-no-activate ${D}${weston_ini_dir}/
install -m 0644 ${WORKDIR}/weston.ini.landscape ${D}${weston_ini_dir}/
install -m 0644 ${WORKDIR}/weston.ini.landscape-inverted ${D}${weston_ini_dir}/
}
@@ -95,7 +108,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
ALTERNATIVE_LINK_NAME[weston.ini] = "${weston_ini_dir}/weston.ini"
-RDEPENDS:${PN} = "weston-init"
RPROVIDES:${PN} = "weston-ini"
RCONFLICTS:${PN} = "${PN}-landscape"
ALTERNATIVE:${PN} = "weston.ini"
@@ -105,7 +117,6 @@ PACKAGE_BEFORE_PN += "${PN}-landscape"
FILES:${PN}-landscape = "${weston_ini_dir}/weston.ini.landscape"
-RDEPENDS:${PN}-landscape = "weston-init"
RPROVIDES:${PN}-landscape = "weston-ini"
RCONFLICTS:${PN}-landscape = "${PN}"
ALTERNATIVE:${PN}-landscape = "weston.ini"
@@ -115,8 +126,31 @@ PACKAGE_BEFORE_PN += "${PN}-landscape-inverted"
FILES:${PN}-landscape-inverted = "${weston_ini_dir}/weston.ini.landscape-inverted"
-RDEPENDS:${PN}-landscape-inverted = "weston-init"
RPROVIDES:${PN}-landscape-inverted = "weston-ini"
RCONFLICTS:${PN}-landscape-inverted = "${PN}"
ALTERNATIVE:${PN}-landscape-inverted = "weston.ini"
ALTERNATIVE_TARGET_${PN}-landscape-inverted = "${weston_ini_dir}/weston.ini.landscape-inverted"
+
+# no activation by default
+PACKAGE_BEFORE_PN += "${PN}-no-activate"
+
+FILES:${PN}-no-activate = "${weston_ini_dir}/weston.ini.default-no-activate"
+
+RPROVIDES:${PN}-no-activate = "weston-ini"
+RCONFLICTS:${PN}-no-activate = "${PN}"
+ALTERNATIVE:${PN}-no-activate = "weston.ini"
+ALTERNATIVE_TARGET_${PN}-no-activate = "${weston_ini_dir}/weston.ini.default-no-activate"
+
+# landscape, no activation by default
+PACKAGE_BEFORE_PN += "${PN}-landscape-no-activate"
+
+FILES:${PN}-landscape-no-activate = "${weston_ini_dir}/weston.ini.landscape-no-activate"
+
+RPROVIDES:${PN}-landscape-no-activate = "weston-ini"
+RCONFLICTS:${PN}-landscape-no-activate = "${PN}"
+ALTERNATIVE:${PN}-landscape-no-activate = "weston.ini"
+ALTERNATIVE_TARGET_${PN}-landscape-no-activate = "${weston_ini_dir}/weston.ini.landscape-no-activate"
+
+# This is a settings-only package, we do not need a development package
+# (and its fixed dependency to ${PN} being installed)
+PACKAGES:remove = "${PN}-dev ${PN}-staticdev"
diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bbappend
index d441d6577..746bde339 100644
--- a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bbappend
+++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf.bbappend
@@ -3,10 +3,10 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
PACKAGE_ARCH = "${MACHINE_ARCH}"
WESTON_DISPLAYS:append = "${@bb.utils.contains("DISTRO_FEATURES", "weston-remoting", " remote-output", "", d)}"
-WESTON_DISPLAYS:append = "${@bb.utils.contains("AGL_FEATURES", "waltham-remoting", " transmitter-output", "", d)}"
# For virtual machines and intel-corei7-64 we want to support both the HDMI-A-1
# and Virtual-1 outputs. This allows us to run virtual images on real hardware
# and vice versa.
WESTON_DISPLAYS:append:qemuall = " virtual-90"
WESTON_DISPLAYS:append:intel-corei7-64 = " virtual-90"
+WESTON_DISPLAYS:append:virtio-aarch64 = " virtual-90"
diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/core.cfg b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/core.cfg
index 90774ed79..28f90752d 100644
--- a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/core.cfg
+++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/core.cfg
@@ -1,4 +1,6 @@
[core]
backend=drm-backend.so
require-input=false
+idle-time=0
modules=systemd-notify.so
+activate-by-default=false
diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/grpc-proxy.cfg b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/grpc-proxy.cfg
new file mode 100644
index 000000000..14805b969
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/grpc-proxy.cfg
@@ -0,0 +1,4 @@
+
+[shell-client-ext]
+command=/usr/lib/agl-compositor/agl-shell-grpc-server
+
diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-0.cfg b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-0.cfg
new file mode 100644
index 000000000..4d5d51c03
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-0.cfg
@@ -0,0 +1,5 @@
+# A display is connected to HDMI-A-1 and needs to be rotated 90 degrees
+# to have a proper orientation of the homescreen. For example, the 'eGalax'
+# display used in some instances.
+[output]
+name=HDMI-A-2
diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-180.cfg b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-180.cfg
new file mode 100644
index 000000000..ffdc5fe60
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-180.cfg
@@ -0,0 +1,6 @@
+# A display is connected to HDMI-A-1 and needs to be rotated 90 degrees
+# to have a proper orientation of the homescreen. For example, the 'eGalax'
+# display used in some instances.
+[output]
+name=HDMI-A-2
+transform=rotate-180
diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-270.cfg b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-270.cfg
new file mode 100644
index 000000000..76fc77acd
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-270.cfg
@@ -0,0 +1,6 @@
+# A display is connected to HDMI-A-1 and needs to be rotated 90 degrees
+# to have a proper orientation of the homescreen. For example, the 'eGalax'
+# display used in some instances.
+[output]
+name=HDMI-A-2
+transform=rotate-270
diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-90.cfg b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-90.cfg
new file mode 100644
index 000000000..9172a1c6a
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/hdmi-a-2-90.cfg
@@ -0,0 +1,6 @@
+# A display is connected to HDMI-A-1 and needs to be rotated 90 degrees
+# to have a proper orientation of the homescreen. For example, the 'eGalax'
+# display used in some instances.
+[output]
+name=HDMI-A-2
+transform=rotate-90
diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg.in
index f69a2e096..940cbdd0c 100644
--- a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg
+++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/remote-output.cfg.in
@@ -1,5 +1,5 @@
[remote-output]
name=remote-1
mode=640x720@30
-host=192.168.20.99
+host=192.168.10.3
port=5005
diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/shell.cfg b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/shell.cfg
index 975e539e6..8d16ba5d7 100644
--- a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/shell.cfg
+++ b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/shell.cfg
@@ -1,3 +1,3 @@
[shell]
-locking=true
+locking=false
panel-position=none
diff --git a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/transmitter-output.cfg.in b/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/transmitter-output.cfg.in
deleted file mode 100644
index e77f74ec0..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston-ini-conf/transmitter-output.cfg.in
+++ /dev/null
@@ -1,5 +0,0 @@
-[transmitter-output]
-name=transmitter-1
-mode=640x720@30
-host=192.168.20.99
-port=5005
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-backend-drm-make-sure-all-buffers-are-released-when-.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-backend-drm-make-sure-all-buffers-are-released-when-.patch
new file mode 100644
index 000000000..fc2f35bd6
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-backend-drm-make-sure-all-buffers-are-released-when-.patch
@@ -0,0 +1,71 @@
+From 6d9e9dfa0479abc0ed7921a4ebf42228c0da7533 Mon Sep 17 00:00:00 2001
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Date: Wed, 22 Jun 2022 08:58:21 +0200
+Subject: [PATCH] backend-drm: make sure all buffers are released when an
+ output is removed
+
+When an output is destroyed then the output state is freed immediately. In this
+case, the plane state is only partially destroyed because it is the currently
+active state. This includes the buffer reference.
+
+Without the output, the plane will not be updated any more until it is used by a
+different output (if possible) or the output returns and the plane is used
+again.
+As a result, the buffer reference is kept for a long time. This will cause some
+applications to stall because weston now keeps two buffers (the one here and
+another one for a different output where the application is now displayed).
+
+To avoid this, do a synchronous commit that disables the output. The output
+needs to be disabled anyways and this way the current state contains no
+buffers that would remain.
+
+`device->state_invalid = true` in drm_output_detach_crtc() is no longer
+needed, because drm_output_detach_crtc() is called only when initialization
+failed and the crtc was not yet used or in drm_output_deinit() when the
+crtc was already disabled with the new synchronous commit.
+
+Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
+(cherry picked from commit f5a4fb5abcb8aeb6b078b6235834cc4ab6176c26)
+
+Upstream-Status: Pending
+
+---
+ libweston/backend-drm/drm.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c
+index 42787702..8425b0e9 100644
+--- a/libweston/backend-drm/drm.c
++++ b/libweston/backend-drm/drm.c
+@@ -1769,14 +1769,11 @@ drm_output_attach_crtc(struct drm_output *output)
+ static void
+ drm_output_detach_crtc(struct drm_output *output)
+ {
+- struct drm_backend *b = output->backend;
+ struct drm_crtc *crtc = output->crtc;
+
+ crtc->output = NULL;
+ output->crtc = NULL;
+
+- /* Force resetting unused CRTCs */
+- b->state_invalid = true;
+ }
+
+ static int
+@@ -1839,6 +1836,13 @@ drm_output_deinit(struct weston_output *base)
+ {
+ struct drm_output *output = to_drm_output(base);
+ struct drm_backend *b = to_drm_backend(base->compositor);
++ struct drm_pending_state *pending;
++
++ if (!b->shutting_down) {
++ pending = drm_pending_state_alloc(b);
++ drm_output_get_disable_state(pending, output);
++ drm_pending_state_apply_sync(pending);
++ }
+
+ if (b->use_pixman)
+ drm_output_fini_pixman(output);
+--
+2.39.2
+
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Migrate-weston_seat_init-release-to-public.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Migrate-weston_seat_init-release-to-public.patch
deleted file mode 100644
index 02af7cbaf..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Migrate-weston_seat_init-release-to-public.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From 4534fcab54409b08faf4445ed6780136b58afb63 Mon Sep 17 00:00:00 2001
-From: Marius Vlad <marius.vlad@collabora.com>
-Date: Mon, 28 Sep 2020 22:51:00 +0300
-Subject: [PATCH 1/2] libweston: Migrate weston_seat_init/release to public
- headers
-
-weston_seat_init/release needed for creating weston plug-ins that want
-manage seat/input on their own.
-
-Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
----
- include/libweston/libweston.h | 25 +++++++++++++++++++++++++
- libweston/libweston-internal.h | 31 +++----------------------------
- 2 files changed, 28 insertions(+), 28 deletions(-)
-
-diff --git a/include/libweston/libweston.h b/include/libweston/libweston.h
-index 54ea008..59541f2 100644
---- a/include/libweston/libweston.h
-+++ b/include/libweston/libweston.h
-@@ -2053,6 +2053,31 @@ void
- weston_timeline_refresh_subscription_objects(struct weston_compositor *wc,
- void *object);
-
-+/* input, seat */
-+void
-+weston_seat_init(struct weston_seat *seat, struct weston_compositor *ec,
-+ const char *seat_name);
-+void
-+weston_seat_release(struct weston_seat *seat);
-+
-+void
-+weston_seat_init_pointer(struct weston_seat *seat);
-+
-+int
-+weston_seat_init_keyboard(struct weston_seat *seat, struct xkb_keymap *keymap);
-+
-+void
-+weston_seat_init_touch(struct weston_seat *seat);
-+
-+void
-+weston_seat_release_keyboard(struct weston_seat *seat);
-+
-+void
-+weston_seat_release_pointer(struct weston_seat *seat);
-+
-+void
-+weston_seat_release_touch(struct weston_seat *seat);
-+
- #ifdef __cplusplus
- }
- #endif
-diff --git a/libweston/libweston-internal.h b/libweston/libweston-internal.h
-index 66c38e8..f5c4c2c 100644
---- a/libweston/libweston-internal.h
-+++ b/libweston/libweston-internal.h
-@@ -168,44 +168,19 @@ weston_plane_init(struct weston_plane *plane,
- void
- weston_plane_release(struct weston_plane *plane);
-
--/* weston_seat */
--
- struct clipboard *
- clipboard_create(struct weston_seat *seat);
-
--void
--weston_seat_init(struct weston_seat *seat, struct weston_compositor *ec,
-- const char *seat_name);
--
--void
--weston_seat_repick(struct weston_seat *seat);
-+/* weston_seat */
-
- void
--weston_seat_release(struct weston_seat *seat);
-+weston_seat_update_keymap(struct weston_seat *seat, struct xkb_keymap *keymap);
-
- void
- weston_seat_send_selection(struct weston_seat *seat, struct wl_client *client);
-
- void
--weston_seat_init_pointer(struct weston_seat *seat);
--
--int
--weston_seat_init_keyboard(struct weston_seat *seat, struct xkb_keymap *keymap);
--
--void
--weston_seat_init_touch(struct weston_seat *seat);
--
--void
--weston_seat_release_keyboard(struct weston_seat *seat);
--
--void
--weston_seat_release_pointer(struct weston_seat *seat);
--
--void
--weston_seat_release_touch(struct weston_seat *seat);
--
--void
--weston_seat_update_keymap(struct weston_seat *seat, struct xkb_keymap *keymap);
-+weston_seat_repick(struct weston_seat *seat);
-
- void
- wl_data_device_set_keyboard_focus(struct weston_seat *seat);
---
-2.28.0
-
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Send-name-description-update-wl_output-to-.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Send-name-description-update-wl_output-to-.patch
new file mode 100644
index 000000000..4e0e2c587
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Send-name-description-update-wl_output-to-.patch
@@ -0,0 +1,117 @@
+From 5361d157ff6b11d5cb7a9f989abe5f376c9e2efa Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Wed, 24 Aug 2022 11:43:06 +0300
+Subject: [PATCH] libweston: Send name,description, update wl_output to ver 4
+
+These have been in wayland a while back with version 1.20.0.
+
+We also need to update the test client helper with this bump, as
+those bind to version 4.
+
+Upstream-Status: Pending
+
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+---
+ libweston/compositor.c | 14 +++++++++++++-
+ tests/weston-test-client-helper.c | 18 ++++++++++++++++++
+ tests/weston-test-client-helper.h | 2 ++
+ 3 files changed, 33 insertions(+), 1 deletion(-)
+
+diff --git a/libweston/compositor.c b/libweston/compositor.c
+index 1670c50..af7c71e 100644
+--- a/libweston/compositor.c
++++ b/libweston/compositor.c
+@@ -184,6 +184,12 @@ weston_mode_switch_send_events(struct weston_head *head,
+ if (version >= WL_OUTPUT_SCALE_SINCE_VERSION && scale_changed)
+ wl_output_send_scale(resource, output->current_scale);
+
++ if (version >= WL_OUTPUT_NAME_SINCE_VERSION)
++ wl_output_send_name(resource, head->name);
++
++ if (version >= WL_OUTPUT_DESCRIPTION_SINCE_VERSION)
++ wl_output_send_description(resource, head->model);
++
+ if (version >= WL_OUTPUT_DONE_SINCE_VERSION)
+ wl_output_send_done(resource);
+ }
+@@ -5198,6 +5204,12 @@ bind_output(struct wl_client *client,
+ mode->refresh);
+ }
+
++ if (version >= WL_OUTPUT_NAME_SINCE_VERSION)
++ wl_output_send_name(resource, head->name);
++
++ if (version >= WL_OUTPUT_DESCRIPTION_SINCE_VERSION)
++ wl_output_send_description(resource, head->model);
++
+ if (version >= WL_OUTPUT_DONE_SINCE_VERSION)
+ wl_output_send_done(resource);
+ }
+@@ -5206,7 +5218,7 @@ static void
+ weston_head_add_global(struct weston_head *head)
+ {
+ head->global = wl_global_create(head->compositor->wl_display,
+- &wl_output_interface, 3,
++ &wl_output_interface, 4,
+ head, bind_output);
+ }
+
+diff --git a/tests/weston-test-client-helper.c b/tests/weston-test-client-helper.c
+index 01c4b80..8369c40 100644
+--- a/tests/weston-test-client-helper.c
++++ b/tests/weston-test-client-helper.c
+@@ -715,6 +715,20 @@ output_handle_scale(void *data,
+ output->scale = scale;
+ }
+
++static void
++output_handle_name(void *data, struct wl_output *wl_output, const char *name)
++{
++ struct output *output = data;
++ output->name = strdup(name);
++}
++
++static void
++output_handle_description(void *data, struct wl_output *wl_output, const char *desc)
++{
++ struct output *output = data;
++ output->name = strdup(desc);
++}
++
+ static void
+ output_handle_done(void *data,
+ struct wl_output *wl_output)
+@@ -729,6 +743,8 @@ static const struct wl_output_listener output_listener = {
+ output_handle_mode,
+ output_handle_done,
+ output_handle_scale,
++ output_handle_name,
++ output_handle_description,
+ };
+
+ static void
+@@ -737,6 +753,8 @@ output_destroy(struct output *output)
+ assert(wl_proxy_get_version((struct wl_proxy *)output->wl_output) >= 3);
+ wl_output_release(output->wl_output);
+ wl_list_remove(&output->link);
++ free(output->name);
++ free(output->desc);
+ free(output);
+ }
+
+diff --git a/tests/weston-test-client-helper.h b/tests/weston-test-client-helper.h
+index 8e1505d..9e05009 100644
+--- a/tests/weston-test-client-helper.h
++++ b/tests/weston-test-client-helper.h
+@@ -163,6 +163,8 @@ struct output {
+ int height;
+ int scale;
+ int initialized;
++ char *name;
++ char *desc;
+ };
+
+ struct buffer {
+--
+2.35.1
+
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch
new file mode 100644
index 000000000..02349c098
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch
@@ -0,0 +1,171 @@
+From 6ab4713d3eba589aa1f39eee2b48c81906d7ba87 Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Tue, 16 Aug 2022 13:34:19 +0300
+Subject: [PATCH] libweston/desktop/xdg-shell: Add tiled orientation states
+
+With the help of a newly introduced function, weston_desktop_surface_set_orientation(),
+this patch adds missing tiled states from the xdg-shell protocol.
+The orientation state is passed on as a bitmask enumeration flag, which the
+shell can set, allowing multiple tiling states at once.
+
+These new states are incorporated the same way as the others, retaining
+the set state, but also avoiding sending new configure events if nothing
+changed since previously acked data.
+
+Upstream-Status: Pending
+
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+(cherry-picked from 37a3025d893def991dec59587d17672aa3bf967a)
+
+Note that this was actually ported because libweston-desktop is not
+embedded into libweston and the structure changed in upstream.
+---
+ include/libweston-desktop/libweston-desktop.h | 11 ++++++
+ libweston-desktop/internal.h | 2 +
+ libweston-desktop/surface.c | 10 +++++
+ libweston-desktop/xdg-shell.c | 38 +++++++++++++++++++
+ 4 files changed, 61 insertions(+)
+
+diff --git a/include/libweston-desktop/libweston-desktop.h b/include/libweston-desktop/libweston-desktop.h
+index 3e7ac73..c296d16 100644
+--- a/include/libweston-desktop/libweston-desktop.h
++++ b/include/libweston-desktop/libweston-desktop.h
+@@ -44,6 +44,14 @@ enum weston_desktop_surface_edge {
+ WESTON_DESKTOP_SURFACE_EDGE_BOTTOM_RIGHT = 10,
+ };
+
++enum weston_top_level_tiled_orientation {
++ WESTON_TOP_LEVEL_TILED_ORIENTATION_NONE = 0 << 0,
++ WESTON_TOP_LEVEL_TILED_ORIENTATION_LEFT = 1 << 1,
++ WESTON_TOP_LEVEL_TILED_ORIENTATION_RIGHT = 1 << 2,
++ WESTON_TOP_LEVEL_TILED_ORIENTATION_TOP = 1 << 3,
++ WESTON_TOP_LEVEL_TILED_ORIENTATION_BOTTOM = 1 << 4,
++};
++
+ struct weston_desktop;
+ struct weston_desktop_client;
+ struct weston_desktop_surface;
+@@ -163,6 +171,9 @@ void
+ weston_desktop_surface_set_size(struct weston_desktop_surface *surface,
+ int32_t width, int32_t height);
+ void
++weston_desktop_surface_set_orientation(struct weston_desktop_surface *surface,
++ enum weston_top_level_tiled_orientation tile_orientation);
++void
+ weston_desktop_surface_close(struct weston_desktop_surface *surface);
+ void
+ weston_desktop_surface_add_metadata_listener(struct weston_desktop_surface *surface,
+diff --git a/libweston-desktop/internal.h b/libweston-desktop/internal.h
+index 2606d27..8afdede 100644
+--- a/libweston-desktop/internal.h
++++ b/libweston-desktop/internal.h
+@@ -100,6 +100,8 @@ struct weston_desktop_surface_implementation {
+ void *user_data, bool resizing);
+ void (*set_size)(struct weston_desktop_surface *surface,
+ void *user_data, int32_t width, int32_t height);
++ void (*set_orientation)(struct weston_desktop_surface *surface,
++ void *user_data, enum weston_top_level_tiled_orientation tiled_orientation);
+ void (*committed)(struct weston_desktop_surface *surface, void *user_data,
+ int32_t sx, int32_t sy);
+ void (*update_position)(struct weston_desktop_surface *surface,
+diff --git a/libweston-desktop/surface.c b/libweston-desktop/surface.c
+index 433f08a..6b3f4ae 100644
+--- a/libweston-desktop/surface.c
++++ b/libweston-desktop/surface.c
+@@ -506,6 +506,16 @@ weston_desktop_surface_set_size(struct weston_desktop_surface *surface, int32_t
+ width, height);
+ }
+
++WL_EXPORT void
++weston_desktop_surface_set_orientation(struct weston_desktop_surface *surface,
++ enum weston_top_level_tiled_orientation tile_orientation)
++{
++ if (surface->implementation->set_orientation != NULL)
++ surface->implementation->set_orientation(surface,
++ surface->implementation_data,
++ tile_orientation);
++}
++
+ WL_EXPORT void
+ weston_desktop_surface_close(struct weston_desktop_surface *surface)
+ {
+diff --git a/libweston-desktop/xdg-shell.c b/libweston-desktop/xdg-shell.c
+index ff76c39..1e49147 100644
+--- a/libweston-desktop/xdg-shell.c
++++ b/libweston-desktop/xdg-shell.c
+@@ -94,6 +94,7 @@ struct weston_desktop_xdg_toplevel_state {
+ bool fullscreen;
+ bool resizing;
+ bool activated;
++ uint32_t tiled_orientation;
+ };
+
+ struct weston_desktop_xdg_toplevel_configure {
+@@ -624,6 +625,29 @@ weston_desktop_xdg_toplevel_send_configure(struct weston_desktop_xdg_toplevel *t
+ s = wl_array_add(&states, sizeof(uint32_t));
+ *s = XDG_TOPLEVEL_STATE_ACTIVATED;
+ }
++ if (toplevel->pending.state.tiled_orientation &
++ WESTON_TOP_LEVEL_TILED_ORIENTATION_LEFT) {
++ s = wl_array_add(&states, sizeof(uint32_t));
++ *s = XDG_TOPLEVEL_STATE_TILED_LEFT;
++ }
++
++ if (toplevel->pending.state.tiled_orientation &
++ WESTON_TOP_LEVEL_TILED_ORIENTATION_RIGHT) {
++ s = wl_array_add(&states, sizeof(uint32_t));
++ *s = XDG_TOPLEVEL_STATE_TILED_RIGHT;
++ }
++
++ if (toplevel->pending.state.tiled_orientation &
++ WESTON_TOP_LEVEL_TILED_ORIENTATION_TOP) {
++ s = wl_array_add(&states, sizeof(uint32_t));
++ *s = XDG_TOPLEVEL_STATE_TILED_TOP;
++ }
++
++ if (toplevel->pending.state.tiled_orientation &
++ WESTON_TOP_LEVEL_TILED_ORIENTATION_BOTTOM) {
++ s = wl_array_add(&states, sizeof(uint32_t));
++ *s = XDG_TOPLEVEL_STATE_TILED_BOTTOM;
++ }
+
+ xdg_toplevel_send_configure(toplevel->resource,
+ toplevel->pending.size.width,
+@@ -686,6 +710,16 @@ weston_desktop_xdg_toplevel_set_size(struct weston_desktop_surface *dsurface,
+ weston_desktop_xdg_surface_schedule_configure(&toplevel->base);
+ }
+
++static void
++weston_desktop_xdg_toplevel_set_orientation(struct weston_desktop_surface *surface, void *user_data,
++ enum weston_top_level_tiled_orientation tiled_orientation)
++{
++ struct weston_desktop_xdg_toplevel *toplevel = user_data;
++
++ toplevel->pending.state.tiled_orientation = tiled_orientation;
++ weston_desktop_xdg_surface_schedule_configure(&toplevel->base);
++}
++
+ static void
+ weston_desktop_xdg_toplevel_committed(struct weston_desktop_xdg_toplevel *toplevel,
+ int32_t sx, int32_t sy)
+@@ -1096,6 +1130,9 @@ weston_desktop_xdg_toplevel_state_compare(struct weston_desktop_xdg_toplevel *to
+ return false;
+ if (toplevel->pending.state.resizing != configured.state.resizing)
+ return false;
++ if (toplevel->pending.state.tiled_orientation !=
++ configured.state.tiled_orientation)
++ return false;
+
+ if (toplevel->pending.size.width == configured.size.width &&
+ toplevel->pending.size.height == configured.size.height)
+@@ -1440,6 +1477,7 @@ static const struct weston_desktop_surface_implementation weston_desktop_xdg_sur
+ .set_resizing = weston_desktop_xdg_toplevel_set_resizing,
+ .set_activated = weston_desktop_xdg_toplevel_set_activated,
+ .set_size = weston_desktop_xdg_toplevel_set_size,
++ .set_orientation = weston_desktop_xdg_toplevel_set_orientation,
+
+ .get_maximized = weston_desktop_xdg_toplevel_get_maximized,
+ .get_fullscreen = weston_desktop_xdg_toplevel_get_fullscreen,
+--
+2.35.1
+
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-weston-log-Add-a-iterator-helper-for-debug.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-weston-log-Add-a-iterator-helper-for-debug.patch
new file mode 100644
index 000000000..5b7a4ca76
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-weston-log-Add-a-iterator-helper-for-debug.patch
@@ -0,0 +1,227 @@
+From d5168b8eb0d881a0a6029c0b348a739147317238 Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Mon, 29 May 2023 16:30:02 +0300
+Subject: [PATCH] libweston/weston-log: Add a iterator helper for debug scope
+
+This adds three new helpers: one to iterate over all debug scopes
+created/added and other two are for simpler getters for the scope name
+and the description.
+
+Included with this change is also a simple test to retrieve them.
+
+This is an alternative to using the debug scope list advertised when
+using the weston-debug private extension. libweston users can use this
+directly to know which scopes they can subscribe to, and there's no need
+to have a client implementation for the weston-debug protocol.
+
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+---
+ include/libweston/weston-log.h | 10 ++++
+ libweston/weston-log.c | 63 +++++++++++++++++++++++
+ tests/iterate-debug-scopes-test.c | 84 +++++++++++++++++++++++++++++++
+ tests/meson.build | 6 +++
+ 4 files changed, 163 insertions(+)
+ create mode 100644 tests/iterate-debug-scopes-test.c
+
+diff --git a/include/libweston/weston-log.h b/include/libweston/weston-log.h
+index aeb7768b..70f41675 100644
+--- a/include/libweston/weston-log.h
++++ b/include/libweston/weston-log.h
+@@ -134,6 +134,16 @@ weston_log_subscription_iterate(struct weston_log_scope *scope,
+ void
+ weston_log_flight_recorder_display_buffer(FILE *file);
+
++const char *
++weston_log_scope_get_description(struct weston_log_scope *scope);
++
++const char *
++weston_log_scope_get_name(struct weston_log_scope *scope);
++
++struct weston_log_scope *
++weston_log_scopes_iterate(struct weston_log_context *log_ctx,
++ struct weston_log_scope *nscope);
++
+ #ifdef __cplusplus
+ }
+ #endif
+diff --git a/libweston/weston-log.c b/libweston/weston-log.c
+index 276fde26..8b4c78a5 100644
+--- a/libweston/weston-log.c
++++ b/libweston/weston-log.c
+@@ -1009,3 +1009,66 @@ weston_log_subscription_iterate(struct weston_log_scope *scope,
+
+ return container_of(node, struct weston_log_subscription, source_link);
+ }
++
++/** Iterate over all debug scopes added to a weston_log_context
++ *
++ * @param log_ctx the log context
++ * @param nscope the iterator, use NULL to start from the head of the list
++ * @returns the next log scope from list added to weston_log_ctx
++ *
++ * Note that that \c nscope needs to be NULL-initialized before calling
++ * this function.
++ *
++ * This helper can be used by libweston users to grab all the debug scopes
++ * created. This would be an alternative to using weston-debug private
++ * extension.
++ *
++ */
++WL_EXPORT struct weston_log_scope *
++weston_log_scopes_iterate(struct weston_log_context *log_ctx,
++ struct weston_log_scope *nscope)
++{
++ struct wl_list *list;
++ struct wl_list *node;
++
++ assert(log_ctx);
++
++ list = &log_ctx->scope_list;
++
++ if (nscope) {
++ node = nscope->compositor_link.next;
++ } else {
++ node = list->next;
++ }
++
++ assert(node);
++ assert(!nscope || node != &nscope->compositor_link);
++
++ if (node == list)
++ return NULL;
++
++ return container_of(node, struct weston_log_scope, compositor_link);
++}
++
++/** Helper to retrieve, in human readable form, the name of a log scope
++ *
++ * @param scope the scope in question
++ * @returns the name of the scope as a pointer to a string
++ */
++WL_EXPORT const char *
++weston_log_scope_get_name(struct weston_log_scope *scope)
++{
++ return scope->name;
++}
++
++/** Helper to retreive, in human reable form, the description of a log scope
++ *
++ * @param scope the scope in question
++ * @returns the description of the scope as pointer to a string
++ *
++ */
++WL_EXPORT const char *
++weston_log_scope_get_description(struct weston_log_scope *scope)
++{
++ return scope->desc;
++}
+diff --git a/tests/iterate-debug-scopes-test.c b/tests/iterate-debug-scopes-test.c
+new file mode 100644
+index 00000000..82c6c5c8
+--- /dev/null
++++ b/tests/iterate-debug-scopes-test.c
+@@ -0,0 +1,84 @@
++/*
++ * Copyright 2023 Collabora, Ltd.
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining
++ * a copy of this software and associated documentation files (the
++ * "Software"), to deal in the Software without restriction, including
++ * without limitation the rights to use, copy, modify, merge, publish,
++ * distribute, sublicense, and/or sell copies of the Software, and to
++ * permit persons to whom the Software is furnished to do so, subject to
++ * the following conditions:
++ *
++ * The above copyright notice and this permission notice (including the
++ * next paragraph) shall be included in all copies or substantial
++ * portions of the Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
++ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
++ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
++ * SOFTWARE.
++ */
++#include "config.h"
++
++#include <unistd.h>
++#include <assert.h>
++#include <stdlib.h>
++#include <stdio.h>
++#include <string.h>
++
++#include <libweston/weston-log.h>
++#include "weston-test-client-helper.h"
++#include "weston-test-fixture-compositor.h"
++
++
++static enum test_result_code
++fixture_setup(struct weston_test_harness *harness)
++{
++ struct compositor_setup setup;
++
++ compositor_setup_defaults(&setup);
++ setup.shell = SHELL_TEST_DESKTOP;
++
++ return weston_test_harness_execute_as_plugin(harness, &setup);
++}
++
++DECLARE_FIXTURE_SETUP(fixture_setup);
++
++static void
++iterate_debug_scopes(struct weston_compositor *compositor)
++{
++ struct weston_log_scope *nscope = NULL;
++ const char *test_harness_scope = "test-harness-plugin";
++ bool found_test_harness_debug_scope = false;
++ struct weston_log_context *log_ctx = compositor->weston_log_ctx;
++
++ weston_log("Printing available debug scopes:\n");
++
++ while ((nscope = weston_log_scopes_iterate(log_ctx, nscope))) {
++ const char *scope_name;
++ const char *desc_name;
++
++ scope_name = weston_log_scope_get_name(nscope);
++ assert(scope_name);
++
++ desc_name = weston_log_scope_get_description(nscope);
++ assert(desc_name);
++
++ weston_log("\tscope name: %s, desc: %s\n", scope_name, desc_name);
++
++ if (strcmp(test_harness_scope, scope_name) == 0)
++ found_test_harness_debug_scope = true;
++ }
++ weston_log("\n");
++
++ assert(found_test_harness_debug_scope);
++}
++
++PLUGIN_TEST(iterate_default_debug_scopes)
++{
++ iterate_debug_scopes(compositor);
++}
+diff --git a/tests/meson.build b/tests/meson.build
+index d8e96e77..e52ff5a6 100644
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -224,6 +224,12 @@ tests = [
+ ],
+ 'dep_objs': [ dep_lib_desktop ]
+ },
++ { 'name': 'iterate-debug-scopes',
++ 'sources': [
++ 'iterate-debug-scopes-test.c',
++ ],
++ 'dep_objs': [ dep_libweston_public ]
++ },
+ ]
+
+ tests_standalone = [
+--
+2.40.1
+
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-simple-touch-Add-maximized-fullscreen-states.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-simple-touch-Add-maximized-fullscreen-states.patch
new file mode 100644
index 000000000..53a620ef7
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-simple-touch-Add-maximized-fullscreen-states.patch
@@ -0,0 +1,138 @@
+From 666300564093838c7d6a723fbce7e3b1a719e873 Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Thu, 22 Dec 2022 18:27:14 +0200
+Subject: [PATCH 1/3] simple-touch: Add maximized/fullscreen states
+
+Helpful to have other states like maximized or fullscreen for
+the simple-touch client.
+
+Upstream-Status: Pending
+
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+---
+ clients/simple-touch.c | 55 ++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 48 insertions(+), 7 deletions(-)
+
+diff --git a/clients/simple-touch.c b/clients/simple-touch.c
+index 6559aa24d..e32013161 100644
+--- a/clients/simple-touch.c
++++ b/clients/simple-touch.c
+@@ -64,9 +64,13 @@ struct touch {
+ struct xdg_toplevel *xdg_toplevel;
+ struct buffer *buffer;
+ int width, height;
++ int init_width, init_height;
+ bool running;
+ bool wait_for_configure;
++ bool needs_buffer_update;
+ bool has_argb;
++ bool maximized;
++ bool fullscreen;
+ };
+
+ static struct buffer *
+@@ -111,7 +115,7 @@ create_shm_buffer(struct touch *touch)
+ }
+
+ static void
+-initial_redraw(void *data)
++redraw(void *data)
+ {
+ struct touch *touch = data;
+ struct buffer *buffer = NULL;
+@@ -119,6 +123,9 @@ initial_redraw(void *data)
+ buffer = create_shm_buffer(touch);
+ assert(buffer);
+
++ if (touch->buffer)
++ free(touch->buffer);
++
+ touch->buffer = buffer;
+
+ /* paint the "work-area" */
+@@ -283,9 +290,10 @@ handle_xdg_surface_configure(void *data, struct xdg_surface *surface,
+
+ xdg_surface_ack_configure(surface, serial);
+
+- if (touch->wait_for_configure) {
+- initial_redraw(touch);
++ if (touch->wait_for_configure || touch->needs_buffer_update) {
++ redraw(touch);
+ touch->wait_for_configure = false;
++ touch->needs_buffer_update = false;
+ }
+ }
+
+@@ -340,9 +348,40 @@ static const struct wl_registry_listener registry_listener = {
+
+ static void
+ handle_toplevel_configure(void *data, struct xdg_toplevel *xdg_toplevel,
+- int32_t width, int32_t height,
+- struct wl_array *state)
++ int32_t width, int32_t height, struct wl_array *states)
+ {
++ struct touch *touch = data;
++ uint32_t *p;
++
++ touch->fullscreen = false;
++ touch->maximized = false;
++
++ wl_array_for_each(p, states) {
++ uint32_t state = *p;
++ switch (state) {
++ case XDG_TOPLEVEL_STATE_FULLSCREEN:
++ touch->fullscreen = true;
++ break;
++ case XDG_TOPLEVEL_STATE_MAXIMIZED:
++ touch->maximized = true;
++ break;
++ }
++ }
++
++ if (width > 0 && height > 0) {
++ if (!touch->fullscreen && !touch->maximized) {
++ touch->init_width = width;
++ touch->init_width = height;
++ }
++ touch->width = width;
++ touch->height = height;
++ } else if (!touch->fullscreen && !touch->maximized) {
++ touch->width = touch->init_width;
++ touch->height = touch->init_height;
++
++ }
++
++ touch->needs_buffer_update = true;
+ }
+
+ static void
+@@ -371,6 +410,7 @@ touch_create(int width, int height)
+ assert(touch->display);
+
+ touch->has_argb = false;
++ touch->buffer = NULL;
+ touch->registry = wl_display_get_registry(touch->display);
+ wl_registry_add_listener(touch->registry, &registry_listener, touch);
+ wl_display_dispatch(touch->display);
+@@ -386,8 +426,8 @@ touch_create(int width, int height)
+ exit(1);
+ }
+
+- touch->width = width;
+- touch->height = height;
++ touch->init_width = width;
++ touch->init_height = height;
+ touch->surface = wl_compositor_create_surface(touch->compositor);
+
+ touch->xdg_surface =
+@@ -403,6 +443,7 @@ touch_create(int width, int height)
+ xdg_toplevel_set_title(touch->xdg_toplevel, "simple-touch");
+ xdg_toplevel_set_app_id(touch->xdg_toplevel, "simple-touch");
+ touch->wait_for_configure = true;
++ touch->needs_buffer_update = false;
+ wl_surface_commit(touch->surface);
+
+ touch->running = true;
+--
+2.35.1
+
diff --git a/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc b/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc
index 90ccbc8fa..a19e0f344 100644
--- a/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc
+++ b/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc
@@ -4,7 +4,30 @@ FILESEXTRAPATHS:append := ":${THISDIR}/weston"
PACKAGECONFIG[remoting] = "-Dremoting=true,-Dremoting=false,gstreamer1.0 gstreamer1.0-plugins-base"
PACKAGECONFIG[headless] = "-Dbackend-headless=true"
PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'weston-remoting', ' remoting', '', d)}"
-PACKAGECONFIG:append = "${@bb.utils.contains('AGL_FEATURES', 'waltham-remoting', ' remoting', '', d)}"
-# seat management is only for waltham-transmitter-plugin
-SRC_URI:append = "${@bb.utils.contains('AGL_FEATURES', 'waltham-remoting', 'file://0001-libweston-Migrate-weston_seat_init-release-to-public.patch', '', d)}"
+SRC_URI:append = "file://0001-libweston-Send-name-description-update-wl_output-to-.patch \
+ file://0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch \
+ file://0001-simple-touch-Add-maximized-fullscreen-states.patch \
+ file://0001-backend-drm-make-sure-all-buffers-are-released-when-.patch \
+ file://0001-libweston-weston-log-Add-a-iterator-helper-for-debug.patch \
+"
+
+# Split weston-terminal out of the main package to allow installing it
+# separately for use with other compositors. The icons, etc. that end
+# up in /usr/share/weston are also split out into a separate package
+# since they are required for weston-terminal and some of the programs
+# packaged in weston-examples in addition to ivi-shell in the main
+# package.
+
+PACKAGE_BEFORE_PN += "${PN}-data ${PN}-terminal"
+
+FILES:${PN}-data = "${datadir}/weston"
+
+FILES:${PN}-terminal = "${bindir}/weston-terminal"
+RDEPENDS:${PN}-terminal += "weston-data liberation-fonts"
+
+RDEPENDS:${PN}-examples += "weston-data"
+
+FILES:${PN}:remove = "weston-terminal"
+RDEPENDS:${PN}:remove = "liberation-fonts"
+RDEPENDS:${PN} += "weston-data weston-terminal"
diff --git a/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc b/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc
index 81cf0189d..e42ae823d 100644
--- a/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc
+++ b/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc
@@ -39,6 +39,10 @@ AGL_KCONFIG_FRAGMENTS += " \
can-bus.cfg \
fanotify.cfg \
overlayfs.cfg \
+ audit.cfg \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux.cfg', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-required.cfg', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-sandbox.cfg', '', d)} \
"
AGL_KCONFIG_FRAGMENTS += " ${@bb.utils.contains('AGL_XEN_GUEST_WANTED','1','xen_domu.cfg','',d)}"
@@ -48,7 +52,6 @@ AGL_KCONFIG_FRAGMENTS += "sound.cfg"
# Enable support for SystemTap
AGL_KCONFIG_FRAGMENTS += "${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'systemtap.cfg', '', d)}"
-AGL_KCONFIG_FRAGMENTS:bbe += "disable-relay.cfg"
#
# Feature override and qemu specific appends:
@@ -67,6 +70,10 @@ AGL_KCONFIG_FRAGMENTS:append:qemuall = " \
qemu-drm.cfg \
"
+AGL_KCONFIG_FRAGMENTS:append:virtio-all = " \
+ sound-hda.cfg \
+"
+
# Configuration for using the ARM virt machine (and not versatilepb)
AGL_KCONFIG_FRAGMENTS:append:qemuarm = " qemuarm.cfg"
@@ -74,7 +81,7 @@ AGL_KCONFIG_FRAGMENTS:append:qemuarm = " qemuarm.cfg"
# OVERRIDES save us some c'n'p below ...
OVERRIDES:prepend:qemux86 = "virtualmachine:"
OVERRIDES:prepend:qemux86-64 = "virtualmachine:"
-AGL_KCONFIG_FRAGMENTS:append_virtualmachine = " vbox-vmware-sata.cfg"
+AGL_KCONFIG_FRAGMENTS:append:virtualmachine = " vbox-vmware-sata.cfg"
# Extra configuration for using qemux86-64 image on physical hardware
AGL_KCONFIG_FRAGMENTS:append:qemux86-64 = " \
diff --git a/meta-agl-core/recipes-kernel/linux/linux/audit.cfg b/meta-agl-core/recipes-kernel/linux/linux/audit.cfg
new file mode 100644
index 000000000..7decc799c
--- /dev/null
+++ b/meta-agl-core/recipes-kernel/linux/linux/audit.cfg
@@ -0,0 +1,2 @@
+CONFIG_AUDIT=y
+CONFIG_AUDIT_GENERIC=y
diff --git a/meta-agl-core/recipes-kernel/linux/linux/selinux.cfg b/meta-agl-core/recipes-kernel/linux/linux/selinux.cfg
new file mode 100644
index 000000000..5998111e3
--- /dev/null
+++ b/meta-agl-core/recipes-kernel/linux/linux/selinux.cfg
@@ -0,0 +1,16 @@
+CONFIG_NETWORK_SECMARK=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_JFS_SECURITY=y
+CONFIG_REISERFS_FS_SECURITY=y
+CONFIG_JFFS2_FS_SECURITY=y
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+CONFIG_SECURITY_SELINUX=y
+CONFIG_SECURITY_SELINUX_BOOTPARAM=y
+CONFIG_SECURITY_SELINUX_DISABLE=y
+CONFIG_SECURITY_SELINUX_DEVELOP=y
+CONFIG_SECURITY_SELINUX_AVC_STATS=y
+CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
diff --git a/meta-agl-core/recipes-kernel/linux/linux/systemd-required.cfg b/meta-agl-core/recipes-kernel/linux/linux/systemd-required.cfg
new file mode 100644
index 000000000..3586a17bb
--- /dev/null
+++ b/meta-agl-core/recipes-kernel/linux/linux/systemd-required.cfg
@@ -0,0 +1,43 @@
+CONFIG_TMPFS=y
+CONFIG_TMPFS_XATTR=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+CONFIG_AUTOFS_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_BLK_DEV_BSG=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUPS=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_PERF=y
+CONFIG_CGROUP_PIDS=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_RT_GROUP_SCHED=n
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHEDSTATS=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_INOTIFY_USER=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EPOLL=y
+CONFIG_NET=y
+CONFIG_UNIX=y
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_SYSFS_DEPRECATED=n
+CONFIG_FHANDLE=y
+CONFIG_CRYPTO_USER_API_HASH=y
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_UEVENT_HELPER_PATH=""
+CONFIG_FW_LOADER_USER_HELPER=n
+CONFIG_DMIID=y
+CONFIG_NAMESPACES=y
+CONFIG_NET_NS=y
+CONFIG_USER_NS=y
+CONFIG_SECCOMP=y
+CONFIG_SECCOMP_FILTER=y
+CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_CFS_BANDWIDTH=y
diff --git a/meta-agl-core/recipes-kernel/linux/linux/systemd-sandbox.cfg b/meta-agl-core/recipes-kernel/linux/linux/systemd-sandbox.cfg
new file mode 100644
index 000000000..d451d554c
--- /dev/null
+++ b/meta-agl-core/recipes-kernel/linux/linux/systemd-sandbox.cfg
@@ -0,0 +1,9 @@
+CONFIG_BPF=y
+CONFIG_BPF_SYSCALL=y
+CONFIG_NET_CLS_BPF=m
+CONFIG_NET_ACT_BPF=m
+CONFIG_BPF_JIT=y
+CONFIG_HAVE_EBPF_JIT=y
+CONFIG_BPF_EVENTS=y
+CONFIG_BPF_LSM=y
+CONFIG_CGROUP_BPF=y
diff --git a/meta-agl-core/recipes-kernel/linux/linux/x86-extra-graphic-devices.cfg b/meta-agl-core/recipes-kernel/linux/linux/x86-extra-graphic-devices.cfg
index 678ecac04..e7d99e5ac 100644
--- a/meta-agl-core/recipes-kernel/linux/linux/x86-extra-graphic-devices.cfg
+++ b/meta-agl-core/recipes-kernel/linux/linux/x86-extra-graphic-devices.cfg
@@ -11,7 +11,7 @@ CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_VGEM=m
-CONFIG_DRM_VMWGFX=m
+CONFIG_DRM_VMWGFX=y
CONFIG_DRM_VMWGFX_FBCON=y
CONFIG_DRM_GMA500=m
CONFIG_DRM_UDL=m
diff --git a/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/0001-Added-appid-and-title-support.patch b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/0001-Added-appid-and-title-support.patch
new file mode 100644
index 000000000..f4139ff2c
--- /dev/null
+++ b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/0001-Added-appid-and-title-support.patch
@@ -0,0 +1,166 @@
+From 2de455486403a710cb6896b0052b4cd7e46d83a2 Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Thu, 10 Aug 2023 14:20:48 +0300
+Subject: [PATCH] ext/wayland: Add title/appid support
+
+Bug-AGL: SPEC-4870
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+---
+ ext/wayland/gstwaylandsink.c | 43 ++++++++++++++++++++++++++++++++++--
+ ext/wayland/gstwaylandsink.h | 2 ++
+ ext/wayland/wlwindow.c | 10 ++++++++-
+ ext/wayland/wlwindow.h | 2 +-
+ 4 files changed, 53 insertions(+), 4 deletions(-)
+
+diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c
+index 0761304..8913ee2 100644
+--- a/ext/wayland/gstwaylandsink.c
++++ b/ext/wayland/gstwaylandsink.c
+@@ -63,7 +63,9 @@ enum
+ {
+ PROP_0,
+ PROP_DISPLAY,
+- PROP_FULLSCREEN
++ PROP_FULLSCREEN,
++ PROP_APP_ID,
++ PROP_TITLE
+ };
+
+ GST_DEBUG_CATEGORY (gstwayland_debug);
+@@ -212,6 +214,16 @@ gst_wayland_sink_class_init (GstWaylandSinkClass * klass)
+ "Whether the surface should be made fullscreen ", FALSE,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
++ g_object_class_install_property (gobject_class, PROP_APP_ID,
++ g_param_spec_string ("appid", "Top-level application id", "Wayland "
++ "appid, as xdg_shell::set_app_id",
++ NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
++
++ g_object_class_install_property (gobject_class, PROP_TITLE,
++ g_param_spec_string ("title", "Top-level title", "Wayland "
++ "title, xdg_shell::set_title",
++ NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
++
+ gst_type_mark_as_plugin_api (GST_TYPE_WAYLAND_VIDEO, 0);
+ }
+
+@@ -246,6 +258,16 @@ gst_wayland_sink_get_property (GObject * object,
+ g_value_set_string (value, sink->display_name);
+ GST_OBJECT_UNLOCK (sink);
+ break;
++ case PROP_APP_ID:
++ GST_OBJECT_LOCK (sink);
++ g_value_set_string (value, sink->app_id);
++ GST_OBJECT_UNLOCK (sink);
++ break;
++ case PROP_TITLE:
++ GST_OBJECT_LOCK (sink);
++ g_value_set_string (value, sink->title);
++ GST_OBJECT_UNLOCK (sink);
++ break;
+ case PROP_FULLSCREEN:
+ GST_OBJECT_LOCK (sink);
+ g_value_set_boolean (value, sink->fullscreen);
+@@ -269,6 +291,16 @@ gst_wayland_sink_set_property (GObject * object,
+ sink->display_name = g_value_dup_string (value);
+ GST_OBJECT_UNLOCK (sink);
+ break;
++ case PROP_APP_ID:
++ GST_OBJECT_LOCK (sink);
++ sink->app_id = g_value_dup_string (value);
++ GST_OBJECT_UNLOCK (sink);
++ break;
++ case PROP_TITLE:
++ GST_OBJECT_LOCK (sink);
++ sink->title = g_value_dup_string (value);
++ GST_OBJECT_UNLOCK (sink);
++ break;
+ case PROP_FULLSCREEN:
+ GST_OBJECT_LOCK (sink);
+ gst_wayland_sink_set_fullscreen (sink, g_value_get_boolean (value));
+@@ -291,12 +323,18 @@ gst_wayland_sink_finalize (GObject * object)
+ gst_buffer_unref (sink->last_buffer);
+ if (sink->display)
+ g_object_unref (sink->display);
++ if (sink->title)
++ g_object_unref (sink->title);
++ if (sink->app_id)
++ g_object_unref (sink->app_id);
+ if (sink->window)
+ g_object_unref (sink->window);
+ if (sink->pool)
+ gst_object_unref (sink->pool);
+
+ g_free (sink->display_name);
++ g_free (sink->title);
++ g_free (sink->app_id);
+
+ g_mutex_clear (&sink->display_lock);
+ g_mutex_clear (&sink->render_lock);
+@@ -718,7 +756,8 @@ gst_wayland_sink_show_frame (GstVideoSink * vsink, GstBuffer * buffer)
+ if (!sink->window) {
+ /* if we were not provided a window, create one ourselves */
+ sink->window = gst_wl_window_new_toplevel (sink->display,
+- &sink->video_info, sink->fullscreen, &sink->render_lock);
++ &sink->video_info, sink->fullscreen, sink->app_id, sink->title,
++ &sink->render_lock);
+ g_signal_connect_object (sink->window, "closed",
+ G_CALLBACK (on_window_closed), sink, 0);
+ }
+diff --git a/ext/wayland/gstwaylandsink.h b/ext/wayland/gstwaylandsink.h
+index 7aabb6f..4db00e5 100644
+--- a/ext/wayland/gstwaylandsink.h
++++ b/ext/wayland/gstwaylandsink.h
+@@ -63,6 +63,8 @@ struct _GstWaylandSink
+ gboolean fullscreen;
+
+ gchar *display_name;
++ gchar *app_id;
++ gchar *title;
+
+ gboolean redraw_pending;
+ GMutex render_lock;
+diff --git a/ext/wayland/wlwindow.c b/ext/wayland/wlwindow.c
+index 66df0fc..ad2d3f3 100644
+--- a/ext/wayland/wlwindow.c
++++ b/ext/wayland/wlwindow.c
+@@ -254,7 +254,7 @@ gst_wl_window_ensure_fullscreen (GstWlWindow * window, gboolean fullscreen)
+
+ GstWlWindow *
+ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info,
+- gboolean fullscreen, GMutex * render_lock)
++ gboolean fullscreen, gchar *app_id, gchar *title, GMutex * render_lock)
+ {
+ GstWlWindow *window;
+
+@@ -287,6 +287,14 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info,
+
+ /* Finally, commit the xdg_surface state as toplevel */
+ window->configured = FALSE;
++ if (app_id)
++ xdg_toplevel_set_app_id (window->xdg_toplevel, app_id);
++ else
++ xdg_toplevel_set_app_id (window->xdg_toplevel, "ext.wayland.waylandsink");
++ if (title)
++ xdg_toplevel_set_title (window->xdg_toplevel, title);
++ else
++ xdg_toplevel_set_title (window->xdg_toplevel, "ext.wayland.waylandsink");
+ wl_surface_commit (window->area_surface);
+ wl_display_flush (display->display);
+
+diff --git a/ext/wayland/wlwindow.h b/ext/wayland/wlwindow.h
+index 303c336..64399b3 100644
+--- a/ext/wayland/wlwindow.h
++++ b/ext/wayland/wlwindow.h
+@@ -83,7 +83,7 @@ GType gst_wl_window_get_type (void);
+ void gst_wl_window_ensure_fullscreen (GstWlWindow * window,
+ gboolean fullscreen);
+ GstWlWindow *gst_wl_window_new_toplevel (GstWlDisplay * display,
+- const GstVideoInfo * info, gboolean fullscreen, GMutex * render_lock);
++ const GstVideoInfo * info, gboolean fullscreen, gchar * app_id, gchar *title, GMutex * render_lock);
+ GstWlWindow *gst_wl_window_new_in_surface (GstWlDisplay * display,
+ struct wl_surface * parent, GMutex * render_lock);
+
+--
+2.35.1
+
diff --git a/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/rcar-gen3/0001-Added-appid-and-title-support.patch b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/rcar-gen3/0001-Added-appid-and-title-support.patch
new file mode 100644
index 000000000..72b924337
--- /dev/null
+++ b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/rcar-gen3/0001-Added-appid-and-title-support.patch
@@ -0,0 +1,166 @@
+From df64f7e34d01a03957d78317ef9a1cf6d6b95055 Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Wed, 9 Aug 2023 14:34:19 +0300
+Subject: [PATCH] Added appid and title support
+
+Bug-AGL: SPEC-4870
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+---
+ ext/wayland/gstwaylandsink.c | 43 ++++++++++++++++++++++++++++++++++--
+ ext/wayland/gstwaylandsink.h | 2 ++
+ ext/wayland/wlwindow.c | 10 ++++++++-
+ ext/wayland/wlwindow.h | 2 +-
+ 4 files changed, 53 insertions(+), 4 deletions(-)
+
+diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c
+index 4918154..f743cf2 100644
+--- a/ext/wayland/gstwaylandsink.c
++++ b/ext/wayland/gstwaylandsink.c
+@@ -66,7 +66,9 @@ enum
+ PROP_DISPLAY,
+ PROP_FULLSCREEN,
+ PROP_USE_SUBSURFACE,
+- PROP_SUPPRESS_INTERLACE
++ PROP_SUPPRESS_INTERLACE,
++ PROP_APP_ID,
++ PROP_TITLE
+ };
+
+ #define DEFAULT_USE_SUBSURFACE TRUE
+@@ -229,6 +231,16 @@ gst_wayland_sink_class_init (GstWaylandSinkClass * klass)
+ DEFAULT_SUPPRESS_INTERLACE,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
++ g_object_class_install_property (gobject_class, PROP_APP_ID,
++ g_param_spec_string ("appid", "Top-level application id", "Wayland "
++ "appid, as xdg_shell::set_app_id",
++ NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
++
++ g_object_class_install_property (gobject_class, PROP_TITLE,
++ g_param_spec_string ("title", "Top-level title", "Wayland "
++ "title, xdg_shell::set_title",
++ NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
++
+ gst_type_mark_as_plugin_api (GST_TYPE_WAYLAND_VIDEO, 0);
+ }
+
+@@ -266,6 +278,16 @@ gst_wayland_sink_get_property (GObject * object,
+ g_value_set_string (value, sink->display_name);
+ GST_OBJECT_UNLOCK (sink);
+ break;
++ case PROP_APP_ID:
++ GST_OBJECT_LOCK (sink);
++ g_value_set_string (value, sink->app_id);
++ GST_OBJECT_UNLOCK (sink);
++ break;
++ case PROP_TITLE:
++ GST_OBJECT_LOCK (sink);
++ g_value_set_string (value, sink->title);
++ GST_OBJECT_UNLOCK (sink);
++ break;
+ case PROP_FULLSCREEN:
+ GST_OBJECT_LOCK (sink);
+ g_value_set_boolean (value, sink->fullscreen);
+@@ -298,6 +320,16 @@ gst_wayland_sink_set_property (GObject * object,
+ sink->display_name = g_value_dup_string (value);
+ GST_OBJECT_UNLOCK (sink);
+ break;
++ case PROP_APP_ID:
++ GST_OBJECT_LOCK (sink);
++ sink->app_id = g_value_dup_string (value);
++ GST_OBJECT_UNLOCK (sink);
++ break;
++ case PROP_TITLE:
++ GST_OBJECT_LOCK (sink);
++ sink->title = g_value_dup_string (value);
++ GST_OBJECT_UNLOCK (sink);
++ break;
+ case PROP_FULLSCREEN:
+ GST_OBJECT_LOCK (sink);
+ gst_wayland_sink_set_fullscreen (sink, g_value_get_boolean (value));
+@@ -331,12 +363,18 @@ gst_wayland_sink_finalize (GObject * object)
+ gst_buffer_unref (sink->last_buffer);
+ if (sink->display)
+ g_object_unref (sink->display);
++ if (sink->title)
++ g_object_unref (sink->title);
++ if (sink->app_id)
++ g_object_unref (sink->app_id);
+ if (sink->window)
+ g_object_unref (sink->window);
+ if (sink->pool)
+ gst_object_unref (sink->pool);
+
+ g_free (sink->display_name);
++ g_free (sink->title);
++ g_free (sink->app_id);
+
+ g_mutex_clear (&sink->display_lock);
+ g_mutex_clear (&sink->render_lock);
+@@ -768,7 +806,8 @@ gst_wayland_sink_show_frame (GstVideoSink * vsink, GstBuffer * buffer)
+ if (!sink->window) {
+ /* if we were not provided a window, create one ourselves */
+ sink->window = gst_wl_window_new_toplevel (sink->display,
+- &sink->video_info, sink->fullscreen, &sink->render_lock);
++ &sink->video_info, sink->fullscreen, sink->app_id, sink->title,
++ &sink->render_lock);
+ g_signal_connect_object (sink->window, "closed",
+ G_CALLBACK (on_window_closed), sink, 0);
+ }
+diff --git a/ext/wayland/gstwaylandsink.h b/ext/wayland/gstwaylandsink.h
+index 46ea538..e6c94ae 100644
+--- a/ext/wayland/gstwaylandsink.h
++++ b/ext/wayland/gstwaylandsink.h
+@@ -64,6 +64,8 @@ struct _GstWaylandSink
+ gboolean fullscreen;
+
+ gchar *display_name;
++ gchar *app_id;
++ gchar *title;
+
+ gboolean redraw_pending;
+ GMutex render_lock;
+diff --git a/ext/wayland/wlwindow.c b/ext/wayland/wlwindow.c
+index 3aace87..16faec8 100644
+--- a/ext/wayland/wlwindow.c
++++ b/ext/wayland/wlwindow.c
+@@ -255,7 +255,7 @@ gst_wl_window_ensure_fullscreen (GstWlWindow * window, gboolean fullscreen)
+
+ GstWlWindow *
+ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info,
+- gboolean fullscreen, GMutex * render_lock)
++ gboolean fullscreen, gchar *app_id, gchar *title, GMutex * render_lock)
+ {
+ GstWlWindow *window;
+
+@@ -288,6 +288,14 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info,
+
+ /* Finally, commit the xdg_surface state as toplevel */
+ window->configured = FALSE;
++ if (app_id)
++ xdg_toplevel_set_app_id (window->xdg_toplevel, app_id);
++ else
++ xdg_toplevel_set_app_id (window->xdg_toplevel, "ext.wayland.waylandsink");
++ if (title)
++ xdg_toplevel_set_title (window->xdg_toplevel, title);
++ else
++ xdg_toplevel_set_title (window->xdg_toplevel, "ext.wayland.waylandsink");
+ wl_surface_commit (window->area_surface);
+ wl_display_flush (display->display);
+
+diff --git a/ext/wayland/wlwindow.h b/ext/wayland/wlwindow.h
+index 034a5a5..6b525c8 100644
+--- a/ext/wayland/wlwindow.h
++++ b/ext/wayland/wlwindow.h
+@@ -84,7 +84,7 @@ GType gst_wl_window_get_type (void);
+ void gst_wl_window_ensure_fullscreen (GstWlWindow * window,
+ gboolean fullscreen);
+ GstWlWindow *gst_wl_window_new_toplevel (GstWlDisplay * display,
+- const GstVideoInfo * info, gboolean fullscreen, GMutex * render_lock);
++ const GstVideoInfo * info, gboolean fullscreen, gchar * app_id, gchar *title, GMutex * render_lock);
+ GstWlWindow *gst_wl_window_new_in_surface (GstWlDisplay * display,
+ struct wl_surface * parent, GMutex * render_lock);
+
+--
+2.35.1
+
diff --git a/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_%.bbappend b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_%.bbappend
new file mode 100644
index 000000000..96bbdc34b
--- /dev/null
+++ b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_%.bbappend
@@ -0,0 +1 @@
+require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'gstreamer1.0-plugins-bad_aglcore.inc', '', d)}
diff --git a/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_aglcore.inc b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_aglcore.inc
new file mode 100644
index 000000000..97a0c1688
--- /dev/null
+++ b/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/gstreamer1.0-plugins-bad_aglcore.inc
@@ -0,0 +1,9 @@
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
+
+AGL_PATCHES = "file://0001-Added-appid-and-title-support.patch"
+
+# Above patch fails to apply against NXP's forked version, disable
+# for now
+AGL_PATCHES:use-nxp-bsp = ""
+
+SRC_URI:append = " ${AGL_PATCHES}"
diff --git a/meta-agl-core/recipes-platform/images/agl-image-agl-compositor.bb b/meta-agl-core/recipes-platform/images/agl-image-agl-compositor.bb
deleted file mode 100644
index 9ca70e041..000000000
--- a/meta-agl-core/recipes-platform/images/agl-image-agl-compositor.bb
+++ /dev/null
@@ -1,10 +0,0 @@
-SUMMARY = "A very basic Wayland image with agl-compositor"
-
-require agl-image-weston.inc
-
-LICENSE = "MIT"
-
-IMAGE_INSTALL:append = "\
- agl-compositor \
- packagegroup-agl-profile-graphical \
- "
diff --git a/meta-agl-core/recipes-platform/images/agl-image-boot.bb b/meta-agl-core/recipes-platform/images/agl-image-boot.bb
index 6e2b89324..dde6a18db 100644
--- a/meta-agl-core/recipes-platform/images/agl-image-boot.bb
+++ b/meta-agl-core/recipes-platform/images/agl-image-boot.bb
@@ -1,9 +1,5 @@
-SUMMARY = "An AGL small image just capable of allowing a device to boot."
-
-require agl-image-boot.inc
-
+SUMMARY = "A small image just capable of allowing a device to boot."
LICENSE = "MIT"
-IMAGE_INSTALL:append = "\
- packagegroup-agl-image-boot \
- "
+inherit agl-core-image
+
diff --git a/meta-agl-core/recipes-platform/images/agl-image-boot.inc b/meta-agl-core/recipes-platform/images/agl-image-boot.inc
deleted file mode 100644
index 60d671bca..000000000
--- a/meta-agl-core/recipes-platform/images/agl-image-boot.inc
+++ /dev/null
@@ -1,7 +0,0 @@
-IMAGE_LINGUAS = " "
-
-inherit core-image
-
-IMAGE_INSTALL = "packagegroup-agl-core-boot ${CORE_IMAGE_EXTRA_INSTALL}"
-
-IMAGE_ROOTFS_SIZE ?= "8192"
diff --git a/meta-agl-core/recipes-platform/images/agl-image-compositor.bb b/meta-agl-core/recipes-platform/images/agl-image-compositor.bb
new file mode 100644
index 000000000..b78536be8
--- /dev/null
+++ b/meta-agl-core/recipes-platform/images/agl-image-compositor.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A very basic Wayland image with agl-compositor"
+LICENSE = "MIT"
+
+require agl-image-minimal.bb
+
+inherit features_check
+
+REQUIRED_DISTRO_FEATURES = "wayland"
+
+SYSTEMD_DEFAULT_TARGET = "graphical.target"
+
+IMAGE_INSTALL += " \
+ packagegroup-agl-graphical-compositor \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'weston-examples', '', d)} \
+"
diff --git a/meta-agl-core/recipes-platform/images/agl-image-core-autobuilder.bb b/meta-agl-core/recipes-platform/images/agl-image-core-autobuilder.bb
index 3a887a5c0..eec1cf54c 100644
--- a/meta-agl-core/recipes-platform/images/agl-image-core-autobuilder.bb
+++ b/meta-agl-core/recipes-platform/images/agl-image-core-autobuilder.bb
@@ -1,16 +1,14 @@
SUMMARY = "A very basic Wayland image with a terminal"
+LICENSE = "MIT"
-require agl-image-weston.inc
+require agl-image-weston.bb
-LICENSE = "MIT"
+IMAGE_FEATURES += "splash"
-IMAGE_INSTALL:append = "\
- packagegroup-agl-profile-graphical \
+IMAGE_INSTALL += " \
busybox \
- psplash \
gdb \
gperf \
- weston \
weston-examples \
curl \
ptest-runner \
diff --git a/meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.bb b/meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.bb
index 8c5aae1bf..6aa308273 100644
--- a/meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.bb
+++ b/meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.bb
@@ -1,18 +1,9 @@
-SUMMARY = "Cross SDK of Full AGL Distribution for core profile"
-
-DESCRIPTION = "SDK image for full AGL Distribution for IVI profile. \
-It includes the full meta-toolchain, plus developement headers and libraries \
-to form a standalone cross SDK."
-
require agl-image-minimal.bb
+SUMMARY = "Cross SDK of minimal AGL Distribution for core profile"
+DESCRIPTION = "SDK image for AGL core distribution. \
+It includes the full toolchain, plus developement headers and libraries \
+to form a standalone cross SDK."
LICENSE = "MIT"
-require agl-image-minimal-crosssdk.inc
-
-inherit populate_sdk
-
-# Task do_populate_sdk and do_rootfs can't be exec simultaneously.
-# Both exec "createrepo" on the same directory, and so one of them
-# can failed (randomly).
-addtask do_populate_sdk after do_rootfs
+inherit agl-crosssdk
diff --git a/meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.inc b/meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.inc
deleted file mode 100644
index bab27eb98..000000000
--- a/meta-agl-core/recipes-platform/images/agl-image-minimal-crosssdk.inc
+++ /dev/null
@@ -1,2 +0,0 @@
-IMAGE_FEATURES:append = " dev-pkgs"
-IMAGE_INSTALL:append = " kernel-dev kernel-devsrc"
diff --git a/meta-agl-core/recipes-platform/images/agl-image-minimal.bb b/meta-agl-core/recipes-platform/images/agl-image-minimal.bb
index 52cc06aeb..4e54e93ed 100644
--- a/meta-agl-core/recipes-platform/images/agl-image-minimal.bb
+++ b/meta-agl-core/recipes-platform/images/agl-image-minimal.bb
@@ -1,9 +1,9 @@
SUMMARY = "An AGL small image just capable of allowing a device to boot."
+LICENSE = "MIT"
-require agl-image-minimal.inc
+inherit agl-core-image
-LICENSE = "MIT"
+IMAGE_INSTALL = "packagegroup-agl-image-minimal ${CORE_IMAGE_EXTRA_INSTALL}"
-IMAGE_INSTALL:append = "\
- packagegroup-agl-image-minimal \
- "
+IMAGE_ROOTFS_SIZE ?= "8192"
+IMAGE_ROOTFS_EXTRA_SPACE:append = "${@bb.utils.contains("DISTRO_FEATURES", "systemd", " + 4096", "", d)}"
diff --git a/meta-agl-core/recipes-platform/images/agl-image-minimal.inc b/meta-agl-core/recipes-platform/images/agl-image-minimal.inc
deleted file mode 100644
index 50b6336de..000000000
--- a/meta-agl-core/recipes-platform/images/agl-image-minimal.inc
+++ /dev/null
@@ -1 +0,0 @@
-require agl-image-boot.inc
diff --git a/meta-agl-core/recipes-platform/images/agl-image-weston.bb b/meta-agl-core/recipes-platform/images/agl-image-weston.bb
index 7e9f8814e..d902020cc 100644
--- a/meta-agl-core/recipes-platform/images/agl-image-weston.bb
+++ b/meta-agl-core/recipes-platform/images/agl-image-weston.bb
@@ -1,9 +1,15 @@
SUMMARY = "A very basic Wayland image with a terminal"
+LICENSE = "MIT"
-require agl-image-weston.inc
+require agl-image-minimal.bb
-LICENSE = "MIT"
+inherit features_check
+
+REQUIRED_DISTRO_FEATURES = "wayland"
+
+SYSTEMD_DEFAULT_TARGET = "graphical.target"
-IMAGE_INSTALL:append = "\
- packagegroup-agl-profile-graphical \
- "
+IMAGE_INSTALL += " \
+ packagegroup-agl-graphical-weston \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'weston-examples', '', d)} \
+"
diff --git a/meta-agl-core/recipes-platform/images/agl-image-weston.inc b/meta-agl-core/recipes-platform/images/agl-image-weston.inc
deleted file mode 100644
index 00e36bc4e..000000000
--- a/meta-agl-core/recipes-platform/images/agl-image-weston.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-require recipes-platform/images/agl-image-minimal.inc
-
-# NOTE: In hardknott or later this can be replaced by adding "weston"
-# to IMAGE_FEATURES.
-SYSTEMD_DEFAULT_TARGET = "graphical.target"
-
-inherit features_check
-
-REQUIRED_DISTRO_FEATURES = "wayland"
diff --git a/meta-agl-core/recipes-platform/images/core-image-weston.bbappend b/meta-agl-core/recipes-platform/images/core-image-weston.bbappend
deleted file mode 100644
index 082637b7e..000000000
--- a/meta-agl-core/recipes-platform/images/core-image-weston.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'core-image-weston_aglcore.inc', '', d)}
diff --git a/meta-agl-core/recipes-platform/images/core-image-weston_aglcore.inc b/meta-agl-core/recipes-platform/images/core-image-weston_aglcore.inc
deleted file mode 100644
index 82e348587..000000000
--- a/meta-agl-core/recipes-platform/images/core-image-weston_aglcore.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-# NOTE: In hardknott or later this can be replaced by adding "weston"
-# to IMAGE_FEATURES.
-SYSTEMD_DEFAULT_TARGET = "graphical.target"
diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-boot.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-boot.bb
index fe1ee7b8c..28a734548 100644
--- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-boot.bb
+++ b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-boot.bb
@@ -16,6 +16,7 @@ VIRTUAL-RUNTIME_rngd ?= "rng-tools"
RDEPENDS:${PN} = "\
packagegroup-core-boot \
+ packagegroup-machine-base \
${VIRTUAL-RUNTIME_rngd} \
"
diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-connectivity.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-connectivity.bb
index 5dd274026..aeee0f8d3 100644
--- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-connectivity.bb
+++ b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-connectivity.bb
@@ -12,7 +12,8 @@ ALLOW_EMPTY:${PN} = "1"
PKGGROUP_ZEROCONF = "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'packagegroup-base-zeroconf', '', d)}"
RDEPENDS:${PN} += "\
- ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','connman','connman connman-client connman-tests \
- connman-tools connman-ncurses' ,'',d)} \
+ ${@bb.utils.contains('VIRTUAL-RUNTIME_net_manager','connman','connman connman-client connman-conf \
+ connman-wait-online connman-tests connman-tools connman-ncurses' ,'',d)} \
${@bb.utils.contains('AGL_FEATURES', 'agl-devel', '${PKGGROUP_ZEROCONF}', '', d)} \
+ systemd-conf-canbus \
"
diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-devel.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-devel.bb
index f3e2a9eff..887604ec3 100644
--- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-devel.bb
+++ b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-devel.bb
@@ -10,20 +10,14 @@ RDEPENDS:${PN} = "\
vim \
lsof \
gdb \
- valgrind \
screen \
usbutils \
rsync \
pstree \
procps \
libxslt-bin \
- gcc-sanitizers \
pciutils \
- "
+ openssh-sftp-server \
+ zstd \
+"
-# needs meta-oe present
-#RRECOMMENDS:${PN} = "\
-# jq \
-# htop \
-# tree \
-#"
diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-os-commonlibs.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-os-commonlibs.bb
deleted file mode 100644
index 0ee63e82a..000000000
--- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-os-commonlibs.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "The packages of middlewares for AGL IVI profile"
-DESCRIPTION = "The set of packages required by Operating System and Common libraries Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-core-os-commonlibs \
- "
-
-ALLOW_EMPTY:${PN} = "1"
-
-RDEPENDS:${PN} += "\
- "
diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-security.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-security.bb
deleted file mode 100644
index 7532f4cd7..000000000
--- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-core-security.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-SUMMARY = "The packages of middlewares for AGL IVI profile"
-DESCRIPTION = "The set of packages required by Operating System and Common libraries Subsystem"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-core-security \
- "
-
-ALLOW_EMPTY:${PN} = "1"
-
-RDEPENDS:${PN} += "\
- "
diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-compositor.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-compositor.bb
new file mode 100644
index 000000000..b2c7d8ec8
--- /dev/null
+++ b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-compositor.bb
@@ -0,0 +1,9 @@
+DESCRIPTION = "The minimal set of packages required for the AGL compositor"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+RDEPENDS:${PN} += " \
+ agl-compositor \
+ agl-compositor-init \
+"
diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bb
deleted file mode 100644
index f9903d942..000000000
--- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-multimedia.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "The software for application framework of AGL IVI profile"
-DESCRIPTION = "A set of packages belong to AGL application framework which required by \
-Multimedia Subsystem"
-
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-graphical-multimedia \
- "
-
-RDEPENDS:${PN} += "\
- alsa-utils \
- gstreamer1.0-meta-base \
- "
diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb
index 859303049..96f09d5ab 100644
--- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb
+++ b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-graphical-weston.bb
@@ -1,17 +1,9 @@
-DESCRIPTION = "The minimal set of packages required for Wayland support"
+DESCRIPTION = "The minimal set of packages required for the Weston compositor"
LICENSE = "MIT"
inherit packagegroup
-PACKAGES = "\
- packagegroup-agl-graphical-weston \
- "
-
-ALLOW_EMPTY:${PN} = "1"
-
RDEPENDS:${PN} += " \
- weston \
- weston-init \
- weston-examples \
- "
-
+ weston \
+ weston-init \
+"
diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-boot.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-boot.bb
deleted file mode 100644
index 8b2cfbb31..000000000
--- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-boot.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "The minimal set of packages required by AGL"
-LICENSE = "MIT"
-
-inherit packagegroup
-
-PACKAGES = "\
- packagegroup-agl-image-boot \
- "
-
-ALLOW_EMPTY:${PN} = "1"
-
-RDEPENDS:${PN} += "\
- packagegroup-agl-core-boot \
- packagegroup-machine-base \
- "
-
-RDEPENDS:${PN} += "\
- "
diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-minimal.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-minimal.bb
index 1a51a9bf1..a60cbab21 100644
--- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-minimal.bb
+++ b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-image-minimal.bb
@@ -12,13 +12,7 @@ ALLOW_EMPTY:${PN} = "1"
RDEPENDS:${PN} += "\
packagegroup-agl-core-boot \
- packagegroup-machine-base \
- "
-
-RDEPENDS:${PN} += "\
packagegroup-agl-core-connectivity \
- packagegroup-agl-core-os-commonlibs \
- packagegroup-agl-core-security \
"
RDEPENDS:profile-agl-minimal = "${PN}"
diff --git a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-profile-graphical.bb b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-profile-graphical.bb
index 2b708603b..b92e760ae 100644
--- a/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-profile-graphical.bb
+++ b/meta-agl-core/recipes-platform/packagegroups/packagegroup-agl-profile-graphical.bb
@@ -1,5 +1,5 @@
SUMMARY = "The middleware for AGL IVI profile"
-DESCRIPTION = "The set of packages required for AGL IVI Distribution"
+DESCRIPTION = "The base set of packages required for a AGL IVI Distribution"
LICENSE = "MIT"
inherit packagegroup
@@ -7,16 +7,11 @@ inherit packagegroup
PACKAGES = "\
packagegroup-agl-profile-graphical \
profile-graphical \
- "
-
-ALLOW_EMPTY:${PN} = "1"
+"
RDEPENDS:${PN} += "\
packagegroup-agl-image-minimal \
- packagegroup-agl-graphical-weston \
- packagegroup-agl-graphical-multimedia \
+ packagegroup-agl-graphical-compositor \
"
-# FIXME: Removed due to issues building against weston 5.0.0:
-# waltham-transmitter
RDEPENDS:profile-graphical = "${PN}"
diff --git a/meta-agl-core/recipes-support/ptest-runner/ptest-runner/0007-WIP-Initial-LAVA-support.patch b/meta-agl-core/recipes-support/ptest-runner/ptest-runner/0007-WIP-Initial-LAVA-support.patch
index 3b7672df9..14c90b714 100644
--- a/meta-agl-core/recipes-support/ptest-runner/ptest-runner/0007-WIP-Initial-LAVA-support.patch
+++ b/meta-agl-core/recipes-support/ptest-runner/ptest-runner/0007-WIP-Initial-LAVA-support.patch
@@ -17,6 +17,8 @@ emitted to stdout:
It is valid to have a measurement without units, but not units without a measurement.
+Upstream-Status: Pending
+
Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
[updated for ptest-runner 2.3.2]
[updated for ptest-runner 2.4.1]
diff --git a/meta-agl-core/scripts/run-yocto-check-layer-feature-enabled.sh b/meta-agl-core/scripts/run-yocto-check-layer-feature-enabled.sh
deleted file mode 100755
index e0e9d17a4..000000000
--- a/meta-agl-core/scripts/run-yocto-check-layer-feature-enabled.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/bin/bash
-set -x
-
-SCRIPTPATH="$( cd $(dirname $0) >/dev/null 2>&1 ; pwd -P )"
-echo $SCRIPTPATH
-AGLROOT="$SCRIPTPATH/../../.."
-POKYDIR="$AGLROOT/external/poky"
-TMPROOT=`mktemp -d`
-
-rm -rf ${TMPROOT}/testbuild-ycl || true
-mkdir -p ${TMPROOT}/testbuild-ycl
-cd ${TMPROOT}/testbuild-ycl
-
-source $POKYDIR/oe-init-build-env .
-
-cat << EOF >> conf/local.conf
-# just define defaults
-AGL_FEATURES ?= ""
-AGL_EXTRA_IMAGE_FSTYPES ?= ""
-
-# important settings imported from poky-agl.conf
-# we do not import
-DISTRO_FEATURES:append = " systemd"
-DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit"
-VIRTUAL-RUNTIME_init_manager = "systemd"
-
-AGL_FEATURES += "aglcore"
-
-EOF
-
-
-yocto-check-layer \
- --dependency \
- $AGLROOT/external/meta-openembedded/meta-oe \
- -- \
- $AGLROOT/meta-agl/meta-agl-core
-
-
-[ $? = 0 ] && rm -rf ${TMPROOT}/testbuild-ycl
-
-exit 0
-
- --dependency \
- $AGLROOT/external/meta-openembedded/meta-oe \
- $AGLROOT/external/meta-openembedded/meta-python \
- $AGLROOT/external/meta-openembedded/meta-networking \
diff --git a/meta-agl-core/scripts/run-yocto-check-layer.sh b/meta-agl-core/scripts/run-yocto-check-layer.sh
index 3af61bc19..cd9364682 100755
--- a/meta-agl-core/scripts/run-yocto-check-layer.sh
+++ b/meta-agl-core/scripts/run-yocto-check-layer.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-set -x
+#set -x
SCRIPTPATH="$( cd $(dirname $0) >/dev/null 2>&1 ; pwd -P )"
echo $SCRIPTPATH
@@ -19,17 +19,18 @@ AGL_FEATURES ?= ""
AGL_EXTRA_IMAGE_FSTYPES ?= ""
# important settings imported from poky-agl.conf
-# we do not import
-DISTRO_FEATURES:append = " systemd"
+# we cannot import the distro config right away
+# as the initial values are poky only till the layer
+# is added in
+# no polkit !
+AGL_DEFAULT_DISTRO_FEATURES = "usrmerge largefile opengl wayland pam bluetooth bluez5 3g"
+DISTRO_FEATURES:append = " systemd wayland pam \${AGL_DEFAULT_DISTRO_FEATURES}"
DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit"
VIRTUAL-RUNTIME_init_manager = "systemd"
EOF
-
-yocto-check-layer \
- --dependency \
- $AGLROOT/external/meta-openembedded/meta-oe \
+yocto-check-layer --no-auto-dependency \
-- \
$AGLROOT/meta-agl/meta-agl-core
@@ -37,8 +38,3 @@ yocto-check-layer \
[ $? = 0 ] && rm -rf ${TMPROOT}/testbuild-ycl
exit 0
-
- --dependency \
- $AGLROOT/external/meta-openembedded/meta-oe \
- $AGLROOT/external/meta-openembedded/meta-python \
- $AGLROOT/external/meta-openembedded/meta-networking \
diff --git a/meta-app-framework/README b/meta-app-framework/README
new file mode 120000
index 000000000..4a7a1a175
--- /dev/null
+++ b/meta-app-framework/README
@@ -0,0 +1 @@
+README-AGL.md \ No newline at end of file
diff --git a/meta-app-framework/README-AGL.md b/meta-app-framework/README-AGL.md
new file mode 100644
index 000000000..bd0c2de8f
--- /dev/null
+++ b/meta-app-framework/README-AGL.md
@@ -0,0 +1,31 @@
+Overview
+========
+
+The
+[AGL Project](https://www.automotivelinux.org/) is an automotive-specific
+development environment that provides a Linux distribution
+[AGL UCB](https://www.automotivelinux.org/software/unified-code-base).
+
+AGL uses layers designed to be compatible with the
+[Yocto Project](https://www.yoctoproject.org) and the
+[OpenEmbedded Project (OE)](https://www.openembedded.org/wiki/Main_Page).
+
+This section provides information about the layers used by the AGL Project:
+
+* **`meta-agl/meta-app-framework`**: Application (lifecycle) manager
+
+ ```
+ $ git clone https://gerrit.automotivelinux.org/gerrit/AGL/meta-agl
+ ```
+
+Maintenance
+-----------
+
+All patches must be submitted via the AGL Gerrit instance at
+<https://gerrit.automotivelinux.org>. See this wiki page for
+details:
+
+<https://wiki.automotivelinux.org/agl-distro/contributing>
+
+Layer maintainers:
+* Jan-Simon Möller <jsmoeller@linuxfoundation.org>
diff --git a/meta-app-framework/classes/agl-app.bbclass b/meta-app-framework/classes/agl-app.bbclass
new file mode 100644
index 000000000..491a36e02
--- /dev/null
+++ b/meta-app-framework/classes/agl-app.bbclass
@@ -0,0 +1,83 @@
+#
+# AGL application systemd unit installation class
+#
+
+# Systemd template unit
+# * agl-app, agl-app-web, agl-app-flutter valid
+AGL_APP_TEMPLATE ?= "agl-app"
+
+# Application ID
+# This is what the application will be referred to in the list
+# exposed to clients by applaunchd, and generally ends up as the
+# identifier used by agl-compositor for application surface
+# activation.
+AGL_APP_ID ?= "${BPN}"
+
+# Application display name
+AGL_APP_NAME ?= "${AGL_APP_ID}"
+
+# Application executable
+# * agl-app template only
+# Use if the application ID and the executable name are both
+# different from the package name and each other as well.
+AGL_APP_EXEC ?= "${AGL_APP_ID}"
+
+# Web application bundle directory (non-absolute, so directory
+# name under /usr/lib/wam_apps)
+# * agl-app-web template only
+# Use if the web application bundle installs to a directory that
+# is not the same as the package name.
+AGL_APP_WAM_DIR ?= "${BPN}"
+
+do_install:append () {
+ install -d ${D}${systemd_system_unitdir}
+ ln -s ${AGL_APP_TEMPLATE}\@.service \
+ ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service
+
+ # NOTE: Unit & Service changes could potentially be collected
+ # and a single override .conf created, but things will be
+ # kept simple for now.
+
+ if [ "${AGL_APP_EXEC}" != "${AGL_APP_ID}" ]; then
+ install -d ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d
+ cat <<-EOF > ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d/exec.conf
+ [Service]
+ ExecStart=
+ ExecStart=${AGL_APP_EXEC}
+ EOF
+ fi
+
+ if [ "${AGL_APP_NAME}" != "${AGL_APP_ID}" ]; then
+ install -d ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d
+ cat <<-EOF > ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d/name.conf
+ [Unit]
+ Description=
+ Description=${AGL_APP_NAME}
+ EOF
+ fi
+
+ if [ "${AGL_APP_TEMPLATE}" = "agl-app-web" -a "${AGL_APP_ID}" != "${BPN}" ]; then
+ # The application ID does not necessarily match the package name
+ # used in the WAM install hierarchy, and the IDs are hard-coded in
+ # some of the web apps, so if necessary create an override for the
+ # environment variable used in place of directly deriving from %i
+ # (which will always be the app id).
+ install -d ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d
+ cat <<-EOF > ${D}${systemd_system_unitdir}/${AGL_APP_TEMPLATE}\@${AGL_APP_ID}.service.d/wam.conf
+ [Service]
+ Environment=AGL_APP_WAM_DIR=${AGL_APP_WAM_DIR}
+ EOF
+ fi
+
+ if [ "${AGL_APP_TEMPLATE}" = "agl-app-flutter" ]; then
+ # Install icon if present
+ if [ -f ${S}/package/${AGL_APP_ID}.svg ]; then
+ install -d ${D}${datadir}/icons/hicolor/scalable
+ install -m 0644 ${S}/package/${AGL_APP_ID}.svg ${D}${datadir}/icons/hicolor/scalable/
+ fi
+ fi
+}
+
+FILES:${PN}:append = " ${systemd_system_unitdir} ${datadir}/icons"
+
+RDEPENDS:${PN}:append = " applaunchd-template-${AGL_APP_TEMPLATE}"
diff --git a/meta-app-framework/conf/layer.conf b/meta-app-framework/conf/layer.conf
index 10d458001..85565353e 100644
--- a/meta-app-framework/conf/layer.conf
+++ b/meta-app-framework/conf/layer.conf
@@ -10,4 +10,4 @@ BBFILE_PATTERN_meta-app-framework = "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-app-framework = "60"
LAYERSERIES_COMPAT_meta-app-framework = "kirkstone"
-LAYERDEPENDS_meta-app-framework = "core aglcore"
+LAYERDEPENDS_meta-app-framework = "core aglcore openembedded-layer"
diff --git a/meta-app-framework/recipes-config/agl-session/agl-session_0.1.bb b/meta-app-framework/recipes-config/agl-session/agl-session_0.1.bb
deleted file mode 100644
index ecad1615d..000000000
--- a/meta-app-framework/recipes-config/agl-session/agl-session_0.1.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "AGL user session"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
-
-SRC_URI = "\
- file://agl-session@.service \
- file://agl-session.target \
- file://50-xdg-data-dirs.sh \
-"
-
-inherit systemd allarch useradd
-
-USERADD_PACKAGES = "${PN}"
-USERADDEXTENSION = "useradd-staticids"
-GROUPADD_PARAM:${PN} = "\
- --system display ; \
- --system video ; \
- --system pipewire ; \
- -g 1001 agl-driver ; \
-"
-USERADD_PARAM:${PN} = "\
- -g 1001 -u 1001 -G video,display,pipewire -o -d /home/agl-driver -m -K PASS_MAX_DAYS=-1 agl-driver ; \
-"
-
-SYSTEMD_PACKAGES = "${PN}"
-# Instantiate session for the 'agl-driver' user, so we don't have to hardcode
-# the user name/ID in the service file itself
-SYSTEMD_SERVICE:${PN} = "agl-session@agl-driver.service"
-SYSTEMD_AUTO_ENABLE:${PN} = "enable"
-
-do_install() {
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/agl-session@.service ${D}${systemd_system_unitdir}
-
- install -d ${D}${systemd_user_unitdir}
- install -m 0644 ${WORKDIR}/agl-session.target ${D}${systemd_user_unitdir}
-
- install -d ${D}${libdir}/systemd/user-environment-generators
- install -m 0755 ${WORKDIR}/50-xdg-data-dirs.sh ${D}${libdir}/systemd/user-environment-generators/
-}
-
-FILES:${PN} += " \
- ${systemd_system_unitdir} \
- ${systemd_user_unitdir} \
- ${libdir}/systemd/user-environment-generators/ \
-"
diff --git a/meta-app-framework/recipes-config/agl-session/files/50-xdg-data-dirs.sh b/meta-app-framework/recipes-config/agl-session/files/50-xdg-data-dirs.sh
deleted file mode 100644
index 15ec3744a..000000000
--- a/meta-app-framework/recipes-config/agl-session/files/50-xdg-data-dirs.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# use a default value if not already set
-XDG_DATA_DIRS="${XDG_DATA_DIRS:-/usr/local/share/:/usr/share}"
-
-# write our output
-echo "XDG_DATA_DIRS=${XDG_DATA_DIRS}"
diff --git a/meta-app-framework/recipes-config/agl-session/files/agl-session.target b/meta-app-framework/recipes-config/agl-session/files/agl-session.target
deleted file mode 100644
index 84d9daa5b..000000000
--- a/meta-app-framework/recipes-config/agl-session/files/agl-session.target
+++ /dev/null
@@ -1,5 +0,0 @@
-[Unit]
-Description=AGL user session
-
-BindsTo=graphical-session.target
-Before=graphical-session.target
diff --git a/meta-app-framework/recipes-config/agl-session/files/agl-session@.service b/meta-app-framework/recipes-config/agl-session/files/agl-session@.service
deleted file mode 100644
index 61afa4141..000000000
--- a/meta-app-framework/recipes-config/agl-session/files/agl-session@.service
+++ /dev/null
@@ -1,24 +0,0 @@
-[Unit]
-Description=AGL user session
-After=systemd-user-sessions.service
-Wants=dbus.socket
-After=dbus.socket
-After=session-c1.scope
-Before=multi-user.target
-
-[Service]
-Environment=XDG_SESSION_TYPE=wayland
-ExecStart=/bin/systemctl --wait --user start agl-session.target
-TimeoutStartSec=30
-# This is a template service, instantiate for desired user's name or uid
-User=%i
-PAMName=login
-WorkingDirectory=~
-StandardInput=tty-fail
-StandardOutput=journal
-StandardError=journal
-Restart=always
-RestartSec=3s
-
-[Install]
-WantedBy=multi-user.target
diff --git a/meta-app-framework/recipes-config/polkit-rule-agl-app/files/50-agl-app.rules b/meta-app-framework/recipes-config/polkit-rule-agl-app/files/50-agl-app.rules
new file mode 100644
index 000000000..35b9559c5
--- /dev/null
+++ b/meta-app-framework/recipes-config/polkit-rule-agl-app/files/50-agl-app.rules
@@ -0,0 +1,7 @@
+polkit.addRule(function(action, subject) {
+ if (action.id == "org.freedesktop.systemd1.manage-units" &&
+ action.lookup("unit").indexOf("agl-app") == 0 &&
+ subject.isInGroup("applaunchd")) {
+ return polkit.Result.YES;
+ }
+});
diff --git a/meta-app-framework/recipes-config/polkit-rule-agl-app/polkit-rule-agl-app.bb b/meta-app-framework/recipes-config/polkit-rule-agl-app/polkit-rule-agl-app.bb
new file mode 100644
index 000000000..57dda7787
--- /dev/null
+++ b/meta-app-framework/recipes-config/polkit-rule-agl-app/polkit-rule-agl-app.bb
@@ -0,0 +1,21 @@
+SUMMARY = "Rule for agl-driver to control agl-app@ services"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI = "file://50-agl-app.rules"
+
+DEPENDS += "polkit"
+
+inherit useradd features_check
+REQUIRED_DISTRO_FEATURES = "polkit"
+
+do_install() {
+ install -m 700 -d ${D}${datadir}/polkit-1/rules.d
+ chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
+ install -m 0644 ${WORKDIR}/50-agl-app.rules ${D}${datadir}/polkit-1/rules.d
+}
+
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM:${PN} += "--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;"
+
+FILES:${PN} += "${datadir}/polkit-1/rules.d/*.rules"
diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-flutter@.service b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-flutter@.service
new file mode 100644
index 000000000..a9a2527e0
--- /dev/null
+++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-flutter@.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=%I
+
+[Service]
+Type=simple
+User=agl-driver
+Environment=FLUTTER_VERSION=3.3.7
+Environment=FLUTTER_RUNTIME=release
+EnvironmentFile=-/etc/default/flutter
+EnvironmentFile=-/etc/default/%I
+Environment=XDG_RUNTIME_DIR=/run/user/1001/
+ExecStart=/usr/bin/flutter-auto --b=/usr/share/flutter/%I/${FLUTTER_VERSION}/${FLUTTER_RUNTIME} --xdg-shell-app-id=%I
diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-web@.service b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-web@.service
new file mode 100644
index 000000000..e0353b6ae
--- /dev/null
+++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app-web@.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=%I
+
+[Service]
+Type=simple
+User=agl-driver
+EnvironmentFile=-/etc/default/WebAppMgr.env
+Environment=XDG_RUNTIME_DIR=/run/user/1001/
+Environment=AGL_APP_WAM_DIR=%I
+ExecStart=/usr/bin/WebAppMgrCli --appid=%I --app-install-dir=/usr/lib/wam_apps/${AGL_APP_WAM_DIR}/
+
diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app@.service b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app@.service
new file mode 100644
index 000000000..234348846
--- /dev/null
+++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/agl-app@.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=%I
+
+[Service]
+Type=simple
+User=agl-driver
+Environment=XDG_RUNTIME_DIR=/run/user/1001/
+ExecStart=%i
diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/applaunchd.service b/meta-app-framework/recipes-core/applaunchd/applaunchd/applaunchd.service
new file mode 100644
index 000000000..73d36bd0c
--- /dev/null
+++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/applaunchd.service
@@ -0,0 +1,13 @@
+[Unit]
+Wants=network.target polkit.service
+After=network.target polkit.service
+
+[Service]
+Type=notify
+User=applaunchd
+Environment=XDG_DATA_DIRS=/usr/share
+ExecStart=/usr/bin/applaunchd
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/no-network.conf b/meta-app-framework/recipes-core/applaunchd/applaunchd/no-network.conf
new file mode 100644
index 000000000..c7c4f8a31
--- /dev/null
+++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/no-network.conf
@@ -0,0 +1,2 @@
+[Service]
+PrivateNetwork=true
diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd/private-tmp.conf b/meta-app-framework/recipes-core/applaunchd/applaunchd/private-tmp.conf
new file mode 100644
index 000000000..0bdba7c99
--- /dev/null
+++ b/meta-app-framework/recipes-core/applaunchd/applaunchd/private-tmp.conf
@@ -0,0 +1,2 @@
+[Service]
+PrivateTmp=yes
diff --git a/meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb b/meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb
index d588868a2..c1bafad8e 100644
--- a/meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb
+++ b/meta-app-framework/recipes-core/applaunchd/applaunchd_git.bb
@@ -8,21 +8,71 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984"
DEPENDS = " \
glib-2.0 \
glib-2.0-native \
+ protobuf-native \
+ grpc-native \
+ grpc \
+ systemd \
"
-PV = "1.0+git${SRCPV}"
+PV = "2.0+git${SRCPV}"
SRC_URI = " \
- git://gerrit.automotivelinux.org/gerrit/src/applaunchd;protocol=https;branch=${AGL_BRANCH} \
- "
-SRCREV = "${AGL_APP_REVISION}"
+ git://gerrit.automotivelinux.org/gerrit/src/applaunchd;protocol=https;branch=${AGL_BRANCH} \
+ file://applaunchd.service \
+ file://agl-app@.service \
+ file://agl-app-web@.service \
+ file://agl-app-flutter@.service \
+ file://no-network.conf \
+ file://private-tmp.conf \
+"
+SRCREV = "c32fe42f40d0af8b31b6113a3140f52b83be7769"
+
+S = "${WORKDIR}/git"
+
+inherit meson pkgconfig systemd useradd features_check
+
+REQUIRED_DISTRO_FEATURES = "systemd polkit"
+
+USERADD_PACKAGES = "${PN}"
+USERADDEXTENSION = "useradd-staticids"
+GROUPADD_PARAM:${PN} = "-g 1003 applaunchd ; "
+USERADD_PARAM:${PN} = "\
+ -g 1003 -u 1003 -o -d / -K PASS_MAX_DAYS=-1 applaunchd ; \
+"
+
+SYSTEMD_SERVICE:${PN} = "applaunchd.service"
-S = "${WORKDIR}/git"
+do_install:append() {
+ # Install generic template for all agl-app services
+ install -d ${D}${systemd_system_unitdir}
+ install -m 644 ${WORKDIR}/applaunchd.service ${D}${systemd_system_unitdir}/
+ install -m 644 ${WORKDIR}/agl-app@.service ${D}${systemd_system_unitdir}/
+ install -m 644 ${WORKDIR}/agl-app-web@.service ${D}${systemd_system_unitdir}/
+ install -m 644 ${WORKDIR}/agl-app-flutter@.service ${D}${systemd_system_unitdir}/
-inherit meson pkgconfig
+ # Install individual sandboxing overrides/drop-ins to be used by apps
+ install -d ${D}${systemd_system_unitdir}/sandboxing
+ install -m 644 ${WORKDIR}/no-network.conf ${D}${systemd_system_unitdir}/sandboxing/
+ install -m 644 ${WORKDIR}/private-tmp.conf ${D}${systemd_system_unitdir}/sandboxing/
+}
-FILES:${PN} += " ${datadir}/dbus-1/"
+PACKAGE_BEFORE_PN += "${PN}-template-agl-app ${PN}-template-agl-app-web ${PN}-template-agl-app-flutter"
+
+FILES:${PN} += "${systemd_system_unitdir}"
+
+FILES:${PN}-template-agl-app = "${systemd_system_unitdir}/agl-app@.service"
+
+FILES:${PN}-template-agl-app-web = "${systemd_system_unitdir}/agl-app-web@.service"
+
+FILES:${PN}-template-agl-app-flutter = "${systemd_system_unitdir}/agl-app-flutter@.service"
RDEPENDS:${PN} += " \
- agl-session \
+ agl-users \
+ polkit-rule-agl-app \
"
+
+RDEPENDS:${PN}-template-agl-app = "${PN}"
+
+RDEPENDS:${PN}-template-agl-app-web = "${PN}"
+
+RDEPENDS:${PN}-template-agl-app-flutter = "${PN}"
diff --git a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init.bbappend b/meta-app-framework/recipes-graphics/wayland/agl-compositor-init.bbappend
deleted file mode 100644
index 70cbaabe2..000000000
--- a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('AGL_FEATURES', 'agl-app-fw', 'agl-compositor-init_agl-app-fw.inc', '', d)}
diff --git a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.conf b/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.conf
deleted file mode 100644
index 66778a91b..000000000
--- a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.conf
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-ConditionPathExists=/dev/tty7
-
-[Service]
-Environment=XDG_SESSION_TYPE=wayland
-TTYPath=/dev/tty7
-TTYReset=yes
-TTYVHangup=yes
-TTYVTDisallocate=yes
-UtmpIdentifier=tty7
-UtmpMode=user
diff --git a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service.in b/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service.in
deleted file mode 100644
index fd56c7c3e..000000000
--- a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init/agl-compositor.service.in
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-# Weston must be built with systemd support, and your weston.ini must load
-# the plugin systemd-notify.so.
-
-[Unit]
-Description=agl-compositor, a Wayland compositor, as a systemd user service
-Documentation=https://docs.automotivelinux.org/en/master/#5_Component_Documentation/1_agl-compositor/
-
-# Activate using a systemd socket
-Requires=agl-compositor.socket
-After=agl-compositor.socket
-
-# Since we are part of the agl session, make sure we are started before
-# it is complete.
-Before=agl-session.target
-
-[Service]
-Type=notify
-EnvironmentFile=-/etc/default/agl-compositor
-ExecStart=/usr/bin/agl-compositor @AGL_COMPOSITOR_ARGS@
-
-TimeoutStartSec=60
-WatchdogSec=20
-
-StandardOutput=journal
-StandardError=journal
-
-[Install]
-WantedBy=agl-session.target
diff --git a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init_agl-app-fw.inc b/meta-app-framework/recipes-graphics/wayland/agl-compositor-init_agl-app-fw.inc
deleted file mode 100644
index b97a537d5..000000000
--- a/meta-app-framework/recipes-graphics/wayland/agl-compositor-init_agl-app-fw.inc
+++ /dev/null
@@ -1,47 +0,0 @@
-FILESEXTRAPATHS:prepend := "${THISDIR}/agl-compositor-init:"
-
-SRC_URI = " \
- file://agl-compositor.conf \
- file://agl-compositor.service.in \
- file://agl-compositor.socket \
- "
-
-# Reset systemd services list
-SYSTEMD_SERVICE:${PN} = ""
-
-do_install() {
- # Process ".in" files
- files=agl-compositor.service.in
- for f in ${files}; do
- g=${f%.in}
- if [ "${f}" != "${g}" ]; then
- sed -e "s,@AGL_COMPOSITOR_ARGS@,${AGL_COMPOSITOR_ARGS},g" \
- ${WORKDIR}/${f} > ${WORKDIR}/${g}
- fi
- done
-
- install -d ${D}${systemd_system_unitdir}/agl-session@agl-driver.service.d
- install -m 0644 ${WORKDIR}/agl-compositor.conf \
- ${D}${systemd_system_unitdir}/agl-session@agl-driver.service.d/agl-compositor.conf
-
- install -D -p -m0644 ${WORKDIR}/agl-compositor.service ${D}${systemd_user_unitdir}/agl-compositor.service
- install -D -p -m0644 ${WORKDIR}/agl-compositor.socket ${D}${systemd_user_unitdir}/agl-compositor.socket
-
- # Enable the compositor as part of the user session
- install -d ${D}${systemd_user_unitdir}/agl-session.target.wants
- ln -s ../agl-compositor.service ${D}${systemd_user_unitdir}/agl-session.target.wants/agl-compositor.service
-}
-
-FILES:${PN} = "\
- ${systemd_system_unitdir} \
- ${systemd_user_unitdir} \
-"
-
-RDEPENDS:${PN} = " \
- agl-compositor \
- agl-shell-activator \
- agl-session \
- weston-ini \
-"
-
-RCONFLICTS:${PN} = "weston-init"
diff --git a/meta-app-framework/recipes-graphics/wayland/weston-ini-conf.bbappend b/meta-app-framework/recipes-graphics/wayland/weston-ini-conf.bbappend
deleted file mode 100644
index 699275fe8..000000000
--- a/meta-app-framework/recipes-graphics/wayland/weston-ini-conf.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('AGL_FEATURES', 'agl-app-fw', 'weston-ini-conf_agl-app-fw.inc', '', d)}
diff --git a/meta-app-framework/recipes-graphics/wayland/weston-ini-conf_agl-app-fw.inc b/meta-app-framework/recipes-graphics/wayland/weston-ini-conf_agl-app-fw.inc
deleted file mode 100644
index 25213a9f1..000000000
--- a/meta-app-framework/recipes-graphics/wayland/weston-ini-conf_agl-app-fw.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-RDEPENDS:${PN} = ""
-RDEPENDS:${PN}-landscape = ""
-RDEPENDS:${PN}-landscape-inverted = ""
diff --git a/meta-app-framework/scripts/run-yocto-check-layer.sh b/meta-app-framework/scripts/run-yocto-check-layer.sh
index 62377d34e..cbe35ed8d 100755
--- a/meta-app-framework/scripts/run-yocto-check-layer.sh
+++ b/meta-app-framework/scripts/run-yocto-check-layer.sh
@@ -19,19 +19,25 @@ AGL_FEATURES ?= ""
AGL_EXTRA_IMAGE_FSTYPES ?= ""
# important settings imported from poky-agl.conf
-# we do not import
-DISTRO_FEATURES:append = " systemd"
+# we cannot import the distro config right away
+# as the initial values are poky only till the layer
+# is added in
+
+AGL_DEFAULT_DISTRO_FEATURES := "usrmerge largefile opengl wayland pam bluetooth bluez5 3g polkit"
+DISTRO_FEATURES:append := " systemd wayland pam \${AGL_DEFAULT_DISTRO_FEATURES}"
DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit"
VIRTUAL-RUNTIME_init_manager = "systemd"
EOF
-
-yocto-check-layer \
+yocto-check-layer --no-auto-dependency \
--dependency \
$AGLROOT/meta-agl/meta-agl-core \
+ $AGLROOT/external/meta-openembedded/meta-oe \
-- \
$AGLROOT/meta-agl/meta-app-framework
[ $? = 0 ] && rm -rf ${TMPROOT}/testbuild-ycl
+
+exit 0
diff --git a/meta-netboot/conf/include/agl-netboot.inc b/meta-netboot/conf/include/agl-netboot.inc
index 555629537..2c1307e81 100644
--- a/meta-netboot/conf/include/agl-netboot.inc
+++ b/meta-netboot/conf/include/agl-netboot.inc
@@ -1,3 +1,6 @@
INHERIT += "netboot"
-IMAGE_INSTALL:append:netboot = " curl"
+IMAGE_INSTALL:append:netboot = " \
+ curl \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'resolv-conf-relabel policycoreutils-loadpolicy', '', d)} \
+"
diff --git a/meta-netboot/recipes-core/initramfs-netboot/files/init.sh b/meta-netboot/recipes-core/initramfs-netboot/files/init.sh
index 92927df47..87a1acb80 100644
--- a/meta-netboot/recipes-core/initramfs-netboot/files/init.sh
+++ b/meta-netboot/recipes-core/initramfs-netboot/files/init.sh
@@ -154,6 +154,22 @@ fi
rm -f /etc/resolv.conf
grep -v bootserver /proc/net/pnp | sed 's/^domain/search/g' >/etc/resolv.conf
+# Do SELinux relabeling if required, to avoid a reboot that would complicate CI
+if [ -f /.autorelabel ]; then
+ # Nothing SELinux related works w/o the fs mounted
+ do_mount_fs selinuxfs /sys/fs/selinux
+
+ # Labeling requires the policy to be loaded
+ log_info "Loading SELinux policy"
+ /usr/sbin/load_policy
+
+ /usr/bin/selinux-autorelabel.sh
+
+ # Will get remounted by systemd startup, unmount to keep that behavior
+ # more like the non-netboot case.
+ umount /sys/fs/selinux
+fi
+
# unmount tmp and run to let systemd remount them
log_info "Unmounting /tmp and /run"
umount /tmp
diff --git a/meta-netboot/recipes-core/systemd/files/resolv-conf-relabel.service b/meta-netboot/recipes-core/systemd/files/resolv-conf-relabel.service
new file mode 100644
index 000000000..5d9216cc2
--- /dev/null
+++ b/meta-netboot/recipes-core/systemd/files/resolv-conf-relabel.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=SELinux resolv.conf relabeling
+DefaultDependencies=no
+ConditionKernelCommandLine=ip
+ConditionKernelCommandLine=nbd.server
+After=local-fs.target
+Before=sysinit.target
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/restorecon -Fi /etc/resolv.conf
+
+[Install]
+WantedBy=sysinit.target
diff --git a/meta-netboot/recipes-core/systemd/resolv-conf-relabel.bb b/meta-netboot/recipes-core/systemd/resolv-conf-relabel.bb
new file mode 100644
index 000000000..36d096b44
--- /dev/null
+++ b/meta-netboot/recipes-core/systemd/resolv-conf-relabel.bb
@@ -0,0 +1,21 @@
+SUMMARY = "System unit to relabel resolve.conf"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+SRC_URI = "file://resolv-conf-relabel.service"
+
+inherit systemd allarch features_check
+
+SYSTEMD_SERVICE:${PN} = "${BPN}.service"
+
+REQUIRED_DISTRO_FEATURES = "systemd"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+
+do_install() {
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/resolv-conf-relabel.service ${D}${systemd_system_unitdir}/
+}
+
+FILES:${PN} += "${systemd_system_unitdir}"
diff --git a/meta-netboot/scripts/run-yocto-check-layer-flags-enabled.sh b/meta-netboot/scripts/run-yocto-check-layer-flags-enabled.sh
deleted file mode 100755
index 4e814f51f..000000000
--- a/meta-netboot/scripts/run-yocto-check-layer-flags-enabled.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/bash
-#set -x
-
-SCRIPTPATH="$( cd $(dirname $0) >/dev/null 2>&1 ; pwd -P )"
-echo $SCRIPTPATH
-AGLROOT="$SCRIPTPATH/../../.."
-POKYDIR="$AGLROOT/external/poky"
-TMPROOT=`mktemp -d`
-
-rm -rf ${TMPROOT}/testbuild-ycl || true
-mkdir -p ${TMPROOT}/testbuild-ycl
-cd ${TMPROOT}/testbuild-ycl
-
-source $POKYDIR/oe-init-build-env .
-
-cat << EOF >> conf/local.conf
-# just define defaults
-AGL_FEATURES ?= ""
-AGL_EXTRA_IMAGE_FSTYPES ?= ""
-
-# important settings imported from poky-agl.conf
-# we do not import
-DISTRO_FEATURES:append = " systemd"
-DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit"
-VIRTUAL-RUNTIME_init_manager = "systemd"
-
-NETBOOT_ENABLED = "1"
-NETBOOT_FSTYPES ??= "ext4.gz"
-
-EOF
-
-
-yocto-check-layer \
- --dependency \
- $AGLROOT/external/meta-openembedded/meta-oe \
- $AGLROOT/external/meta-openembedded/meta-python \
- $AGLROOT/external/meta-openembedded/meta-networking \
- -- \
- $AGLROOT/meta-agl/meta-netboot/
-
-
-[ $? = 0 ] && rm -rf ${TMPROOT}/testbuild-ycl
diff --git a/meta-netboot/scripts/run-yocto-check-layer.sh b/meta-netboot/scripts/run-yocto-check-layer.sh
index b36788a99..979c76838 100755
--- a/meta-netboot/scripts/run-yocto-check-layer.sh
+++ b/meta-netboot/scripts/run-yocto-check-layer.sh
@@ -19,21 +19,26 @@ AGL_FEATURES ?= ""
AGL_EXTRA_IMAGE_FSTYPES ?= ""
# important settings imported from poky-agl.conf
-# we do not import
-DISTRO_FEATURES:append = " systemd"
+# we cannot import the distro config right away
+# as the initial values are poky only till the layer
+# is added in
+
+AGL_DEFAULT_DISTRO_FEATURES = "usrmerge largefile opengl wayland pam bluetooth bluez5 3g polkit"
+DISTRO_FEATURES:append = " systemd wayland pam \${AGL_DEFAULT_DISTRO_FEATURES}"
DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit"
VIRTUAL-RUNTIME_init_manager = "systemd"
EOF
-
-yocto-check-layer \
+yocto-check-layer --no-auto-dependency \
--dependency \
- $AGLROOT/external/meta-openembedded/meta-oe \
- $AGLROOT/external/meta-openembedded/meta-python \
- $AGLROOT/external/meta-openembedded/meta-networking \
+ $AGLROOT/external/meta-openembedded/meta-oe \
+ $AGLROOT/external/meta-openembedded/meta-python \
+ $AGLROOT/external/meta-openembedded/meta-networking \
-- \
- $AGLROOT/meta-agl/meta-netboot/
+ $AGLROOT/meta-agl/meta-netboot
[ $? = 0 ] && rm -rf ${TMPROOT}/testbuild-ycl
+
+exit 0
diff --git a/meta-pipewire/conf/include/agl-pipewire.inc b/meta-pipewire/conf/include/agl-pipewire.inc
index 0c585adb0..03b419c2a 100644
--- a/meta-pipewire/conf/include/agl-pipewire.inc
+++ b/meta-pipewire/conf/include/agl-pipewire.inc
@@ -1,2 +1 @@
DISTRO_FEATURES:append = " pipewire"
-PREFERRED_RPROVIDER_virtual/wireplumber-config = "wireplumber-config-agl"
diff --git a/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire-base.bb b/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire-base.bb
index 1d20b4705..6237dcf80 100644
--- a/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire-base.bb
+++ b/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire-base.bb
@@ -13,4 +13,5 @@ RDEPENDS:${PN} += "\
pipewire-modules-meta \
${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'pipewire-tools pipewire-spa-tools alsa-utils', '', d)} \
pipewire-alsa \
+ pipewire-alsa-card-profile \
"
diff --git a/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb b/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb
index b56723b2b..e7ad14258 100644
--- a/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb
+++ b/meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire.bb
@@ -6,6 +6,7 @@ inherit packagegroup
PACKAGES = "\
packagegroup-pipewire \
+ packagegroup-pipewire-tools \
"
RDEPENDS:${PN} += "\
@@ -15,5 +16,9 @@ RDEPENDS:${PN} += "\
pipewire-alsa \
gstreamer1.0-pipewire \
wireplumber \
- ${@bb.utils.contains('DISTRO_FEATURES', 'agl-devel', 'pipewire-tools pipewire-spa-tools', '', d)} \
"
+
+RDEPENDS:${PN}-tools += "\
+ pipewire-tools \
+ pipewire-spa-tools \
+" \ No newline at end of file
diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-Revert-loop-remove-destroy-list.patch b/meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-Revert-loop-remove-destroy-list.patch
deleted file mode 100644
index 8a988b024..000000000
--- a/meta-pipewire/recipes-multimedia/pipewire/pipewire/0002-Revert-loop-remove-destroy-list.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-From 16f63a3c8fa227625bade5a9edea22354b347d18 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= <pobrn@protonmail.com>
-Date: Fri, 18 Feb 2022 18:36:36 +0100
-Subject: [PATCH] Revert "loop: remove destroy list"
-
-This reverts commit c474846c42967c44db069a23b76a29da6f496f33.
-In addition, `s->loop` is also checked before dispatching a source.
-
-The destroy list is needed in the presence of threads. The
-issue is that a source may be destroyed between `epoll_wait()`
-returning and thread loop lock being acquired. If this
-source is active, then a use-after-free will be triggered
-when the thread loop acquires the lock and starts dispatching
-the sources.
-
- thread 1 thread 2
- ---------- ----------
- loop_iterate
- spa_loop_control_hook_before
- // release lock
-
- pw_thread_loop_lock
-
- spa_system_pollfd_wait
- // assume it returns with source A
-
- pw_loop_destroy_source(..., A)
- // frees storage of A
-
- pw_thread_loop_unlock
- spa_loop_control_hook_after
- // acquire the lock
-
- for (...) {
- struct spa_source *s = ep[i].data;
- s->rmask = ep[i].events;
- // use-after-free if `s` refers to
- // the previously freed `A`
-
-Fixes #2147
-
-Upstream-Status: Backport [https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/16f63a3c]
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
----
- spa/plugins/support/loop.c | 19 +++++++++++++++++--
- 1 file changed, 17 insertions(+), 2 deletions(-)
-
-diff --git a/spa/plugins/support/loop.c b/spa/plugins/support/loop.c
-index 0588ce770..04739eb2a 100644
---- a/spa/plugins/support/loop.c
-+++ b/spa/plugins/support/loop.c
-@@ -75,6 +75,7 @@ struct impl {
- struct spa_system *system;
-
- struct spa_list source_list;
-+ struct spa_list destroy_list;
- struct spa_hook_list hooks_list;
-
- int poll_fd;
-@@ -325,6 +326,14 @@ static void loop_leave(void *object)
- impl->thread = 0;
- }
-
-+static inline void process_destroy(struct impl *impl)
-+{
-+ struct source_impl *source, *tmp;
-+ spa_list_for_each_safe(source, tmp, &impl->destroy_list, link)
-+ free(source);
-+ spa_list_init(&impl->destroy_list);
-+}
-+
- static int loop_iterate(void *object, int timeout)
- {
- struct impl *impl = object;
-@@ -354,11 +363,14 @@ static int loop_iterate(void *object, int timeout)
- }
- for (i = 0; i < nfds; i++) {
- struct spa_source *s = ep[i].data;
-- if (SPA_LIKELY(s && s->rmask)) {
-+ if (SPA_LIKELY(s && s->rmask && s->loop)) {
- s->priv = NULL;
- s->func(s);
- }
- }
-+ if (SPA_UNLIKELY(!spa_list_is_empty(&impl->destroy_list)))
-+ process_destroy(impl);
-+
- return nfds;
- }
-
-@@ -712,7 +724,7 @@ static void loop_destroy_source(void *object, struct spa_source *source)
- spa_system_close(impl->impl->system, source->fd);
- source->fd = -1;
- }
-- free(source);
-+ spa_list_insert(&impl->impl->destroy_list, &impl->link);
- }
-
- static const struct spa_loop_methods impl_loop = {
-@@ -783,6 +795,8 @@ static int impl_clear(struct spa_handle *handle)
- spa_list_consume(source, &impl->source_list, link)
- loop_destroy_source(impl, &source->source);
-
-+ process_destroy(impl);
-+
- spa_system_close(impl->system, impl->ack_fd);
- spa_system_close(impl->system, impl->poll_fd);
-
-@@ -844,6 +858,7 @@ impl_init(const struct spa_handle_factory *factory,
- impl->poll_fd = res;
-
- spa_list_init(&impl->source_list);
-+ spa_list_init(&impl->destroy_list);
- spa_hook_list_init(&impl->hooks_list);
-
- impl->buffer_data = SPA_PTR_ALIGN(impl->buffer_mem, MAX_ALIGN, uint8_t);
---
-2.35.1
-
diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire_0.3.47.bb b/meta-pipewire/recipes-multimedia/pipewire/pipewire_1.0.0.bb
index c7479bec9..6fa851caa 100644
--- a/meta-pipewire/recipes-multimedia/pipewire/pipewire_0.3.47.bb
+++ b/meta-pipewire/recipes-multimedia/pipewire/pipewire_1.0.0.bb
@@ -20,8 +20,8 @@ SECTION = "multimedia"
DEPENDS = "dbus"
-# v0.3.47
-SRCREV = "2af393889358723a2789caa3c856700b1c968ef0"
+# v1.0.0(El Presidente)
+SRCREV = "4debdcd40b055b3eaa83a8f4443aa990ea566bfe"
SRC_URI = "git://gitlab.freedesktop.org/pipewire/pipewire.git;branch=master;protocol=https"
S = "${WORKDIR}/git"
@@ -84,7 +84,7 @@ PACKAGECONFIG ??= "\
# is why these two are marked in their respective packageconfigs
# as being in conflict.
-PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev"
+PACKAGECONFIG[alsa] = "-Dalsa=enabled,-Dalsa=disabled,alsa-lib udev,,pipewire-alsa-card-profile"
PACKAGECONFIG[bluez] = "-Dbluez5=enabled,-Dbluez5=disabled,bluez5 sbc"
PACKAGECONFIG[docs] = "-Ddocs=enabled,-Ddocs=disabled,doxygen-native"
PACKAGECONFIG[gstreamer] = "-Dgstreamer=enabled,-Dgstreamer=disabled,glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base"
@@ -230,9 +230,20 @@ SYSTEMD_SERVICE:${PN} = "pipewire.service"
CONFFILES:${PN} += "${datadir}/pipewire/pipewire.conf"
FILES:${PN} = " \
${datadir}/pipewire/pipewire.conf \
+ ${datadir}/pipewire/filter-chain.conf \
${datadir}/pipewire/filter-chain \
${systemd_user_unitdir}/pipewire.* \
+ ${systemd_system_unitdir}/pipewire* \
${bindir}/pipewire \
+ ${datadir}/pipewire/pipewire-avb.conf \
+ ${bindir}/pipewire-avb \
+ ${datadir}/pipewire/pipewire-aes67.conf \
+ ${bindir}/pipewire-aes67 \
+ ${datadir}/pipewire/pipewire.conf.avail \
+ ${datadir}/pipewire/pipewire-pulse.conf.avail \
+ ${datadir}/pipewire/client-rt.conf.avail \
+ ${datadir}/pipewire/client.conf.avail \
+ ${sysconfdir}/security/limits.d \
"
FILES:${PN}-dev += " \
diff --git a/meta-pipewire/recipes-multimedia/pipewire/pipewire_0.3.47.bbappend b/meta-pipewire/recipes-multimedia/pipewire/pipewire_1.0.0.bbappend
index 4cd74a818..beb7c0817 100644
--- a/meta-pipewire/recipes-multimedia/pipewire/pipewire_0.3.47.bbappend
+++ b/meta-pipewire/recipes-multimedia/pipewire/pipewire_1.0.0.bbappend
@@ -1,6 +1,5 @@
SRC_URI += "\
file://0001-systemd-Do-not-override-rootprefix.patch \
- file://0002-Revert-loop-remove-destroy-list.patch \
"
PACKAGECONFIG = "\
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/bluetooth.conf b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/bluetooth.conf
index ebd0b6004..9077e3f45 100644
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/bluetooth.conf
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/bluetooth.conf
@@ -6,7 +6,7 @@ context.properties = {
application.name = "WirePlumber Bluetooth"
log.level = 2
wireplumber.script-engine = lua-scripting
- wireplumber.export-core = false
+ wireplumber.export-core = true
#mem.mlock-all = false
#support.dbus = true
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/30-alsa-monitor.lua b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/30-alsa-monitor.lua
index 75a169675..d07f7ab85 100644
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/30-alsa-monitor.lua
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/30-alsa-monitor.lua
@@ -8,7 +8,7 @@ alsa_monitor.properties = {
}
alsa_monitor.rules = {
- -- disable ACP (PulseAudio-like profiles)
+ -- enable ACP (PulseAudio-like profiles)
{
matches = {
{
@@ -16,7 +16,7 @@ alsa_monitor.rules = {
},
},
apply_properties = {
- ["api.alsa.use-acp"] = false,
+ ["api.alsa.use-acp"] = true,
},
},
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/40-device-defaults.lua b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/40-device-defaults.lua
index 365bab59a..e0d332422 100644
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/40-device-defaults.lua
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/40-device-defaults.lua
@@ -14,7 +14,7 @@ function device_defaults.enable()
-- Selects appropriate default routes ("ports" in pulseaudio terminology)
-- and enables saving and restoring them together with
-- their properties (per-route/port volume levels, channel maps, etc)
- load_script("default-routes.lua", device_defaults.properties)
+ load_script("policy-device-routes.lua", device_defaults.properties)
if device_defaults.properties["use-persistent-storage"] then
-- Enables functionality to save and restore default device profiles
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/90-enable-all.lua b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/90-enable-all.lua
index f6d73a3f1..ecb7da476 100644
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/90-enable-all.lua
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/90-enable-all.lua
@@ -4,7 +4,7 @@ load_module("metadata")
-- Load devices
alsa_monitor.enable()
---v4l2_monitor.enable()
+v4l2_monitor.enable()
-- Track/store/restore user choices about devices
device_defaults.enable()
@@ -13,7 +13,7 @@ device_defaults.enable()
load_script("suspend-node.lua")
-- Automatically sets device profiles to 'On'
-load_module("device-activation")
+load_script("policy-device-profile.lua")
-- Mute ALSA sinks when requested by pipewire-ic-ipc
load_module("mixer-api")
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/wireplumber.conf b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/wireplumber.conf
index 680a791f3..46ad11302 100644
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/wireplumber.conf
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/wireplumber.conf
@@ -57,6 +57,47 @@ context.modules = [
# Provides factories to make session manager objects.
{ name = libpipewire-module-session-manager }
+
+ { name = libpipewire-module-filter-chain
+ args = {
+ node.description = "Equalizer Sink"
+ media.name = "Equalizer Sink"
+ filter.graph = {
+ nodes = [
+ {
+ type = builtin
+ name = bass
+ label = bq_lowshelf
+ # the cut off freq of the bass filter can be adjusted here.
+ control = { "Freq" = 250.0 "Q" = 1.0 "Gain" = 0.0 }
+ }
+ {
+ type = builtin
+ name = treble
+ label = bq_peaking
+ # the cut off freq of the treble filter can be adjusted here.
+ control = { "Freq" = 6000.0 "Q" = 1.0 "Gain" = 0.0 }
+ }
+ ]
+ links = [
+ { output = "bass:Out" input = "treble:In" }
+ ]
+ }
+ audio.channels = 2
+ audio.position = [ FL FR ]
+ capture.props = {
+ node.name = "eq-sink"
+ media.class = Audio/Sink
+ # select the endpoint to which the node is attached
+ target.endpoint = "endpoint.multimedia"
+ node.passive = true
+ }
+ playback.props = {
+ node.name = "eq-output-stream"
+ node.passive = true
+ }
+ }
+ }
]
wireplumber.components = [
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-policy-config-agl/policy.lua.d/10-default-policy.lua b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-policy-config-agl/policy.lua.d/10-default-policy.lua
index e6170dd1c..6814fce4d 100644
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-policy-config-agl/policy.lua.d/10-default-policy.lua
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber-policy-config-agl/policy.lua.d/10-default-policy.lua
@@ -66,7 +66,7 @@ policy_config.policy = {
["Multimedia"] = {
["alias"] = { "Movie", "Music", "Game" },
["priority"] = 25,
- ["action.default"] = "cork",
+ ["action.default"] = "mix",
},
["Speech-Low"] = {
["priority"] = 30,
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0001-Revert-tests-add-pipewire-env-variables-when-running.patch b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0001-Revert-tests-add-pipewire-env-variables-when-running.patch
deleted file mode 100644
index 88301d56f..000000000
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0001-Revert-tests-add-pipewire-env-variables-when-running.patch
+++ /dev/null
@@ -1,139 +0,0 @@
-From 1197f31d2b681d0cf0ca1309d50c8ab8ea80ac5e Mon Sep 17 00:00:00 2001
-From: Ashok Sidipotu <ashok.sidipotu@collabora.com>
-Date: Thu, 2 Dec 2021 16:57:54 +0530
-Subject: [PATCH 1/2] Revert "tests: add pipewire env variables when running
- tests, tidy up common_env"
-
-This reverts commit c24db9f3539f9b7ebe9e74c991cc3037f28ea22c.
-
-Upstream-Status: Inappropriate[meson version dependent]
----
- tests/meson.build | 31 -------------------------------
- tests/modules/meson.build | 9 ++++++---
- tests/wp/meson.build | 10 +++++++---
- tests/wplua/meson.build | 15 +++++++++++----
- 4 files changed, 24 insertions(+), 41 deletions(-)
-
-diff --git a/tests/meson.build b/tests/meson.build
-index 0e06568..9238d5b 100644
---- a/tests/meson.build
-+++ b/tests/meson.build
-@@ -28,37 +28,6 @@ if valgrind.found()
- timeout_multiplier: 2)
- endif
-
--# The common test environment
--common_test_env = environment({
-- 'HOME': '/invalid',
-- 'XDG_RUNTIME_DIR': '/invalid',
-- 'PIPEWIRE_RUNTIME_DIR': '/tmp',
-- 'XDG_CONFIG_HOME': meson.current_build_dir() / '.config',
-- 'XDG_STATE_HOME': meson.current_build_dir() / '.local' / 'state',
-- 'FILE_MONITOR_DIR': meson.current_build_dir() / '.local' / 'file_monitor',
-- 'WIREPLUMBER_CONFIG_DIR': '/invalid',
-- 'WIREPLUMBER_DATA_DIR': '/invalid',
-- 'WIREPLUMBER_MODULE_DIR': meson.current_build_dir() / '..' / 'modules',
-- 'WIREPLUMBER_DEBUG': '7',
--})
--
--spa_plugindir = spa_dep.get_variable(
-- pkgconfig: 'plugindir', internal: 'plugindir', default_value: '')
--pipewire_moduledir = pipewire_dep.get_variable(
-- pkgconfig: 'moduledir', internal: 'moduledir', default_value: '')
--pipewire_confdatadir = pipewire_dep.get_variable(
-- pkgconfig: 'confdatadir', internal: 'confdatadir', default_value: '')
--
--if spa_plugindir != ''
-- common_test_env.set('SPA_PLUGIN_DIR', spa_plugindir)
--endif
--if pipewire_moduledir != ''
-- common_test_env.set('PIPEWIRE_MODULE_DIR', pipewire_moduledir)
--endif
--if pipewire_confdatadir != ''
-- common_test_env.set('PIPEWIRE_CONFIG_DIR', pipewire_confdatadir)
--endif
--
- subdir('wp')
- subdir('wplua')
- subdir('modules')
-diff --git a/tests/modules/meson.build b/tests/modules/meson.build
-index ffab80b..2fc46dc 100644
---- a/tests/modules/meson.build
-+++ b/tests/modules/meson.build
-@@ -1,7 +1,10 @@
- common_deps = [gobject_dep, gio_dep, wp_dep, pipewire_dep]
--common_env = common_test_env
--common_env.set('G_TEST_SRCDIR', meson.current_source_dir())
--common_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
-+common_env = environment({
-+ 'G_TEST_SRCDIR': meson.current_source_dir(),
-+ 'G_TEST_BUILDDIR': meson.current_build_dir(),
-+ 'WIREPLUMBER_MODULE_DIR': meson.current_build_dir() / '..' / '..' / 'modules',
-+ 'WIREPLUMBER_DEBUG': '7',
-+})
- common_args = [
- '-DG_LOG_USE_STRUCTURED',
- ]
-diff --git a/tests/wp/meson.build b/tests/wp/meson.build
-index 178564d..b64ccae 100644
---- a/tests/wp/meson.build
-+++ b/tests/wp/meson.build
-@@ -1,7 +1,11 @@
- common_deps = [gobject_dep, gio_dep, wp_dep, pipewire_dep]
--common_env = common_test_env
--common_env.set('G_TEST_SRCDIR', meson.current_source_dir())
--common_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
-+common_env = environment({
-+ 'G_TEST_SRCDIR': meson.current_source_dir(),
-+ 'G_TEST_BUILDDIR': meson.current_build_dir(),
-+ 'XDG_CONFIG_HOME': meson.current_build_dir() / '.config',
-+ 'WIREPLUMBER_MODULE_DIR': meson.current_build_dir() / '..' / '..' / 'modules',
-+ 'WIREPLUMBER_DEBUG': '7',
-+})
- common_args = [
- '-DG_LOG_USE_STRUCTURED',
- ]
-diff --git a/tests/wplua/meson.build b/tests/wplua/meson.build
-index a7ff033..fcf4b51 100644
---- a/tests/wplua/meson.build
-+++ b/tests/wplua/meson.build
-@@ -1,13 +1,18 @@
- common_deps = [wplua_dep, pipewire_dep, wp_dep]
--common_env = common_test_env
--common_env.set('G_TEST_SRCDIR', meson.current_source_dir())
--common_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
--common_env.set('WIREPLUMBER_DATA_DIR', meson.current_source_dir())
-+common_env = environment({
-+ 'G_TEST_SRCDIR': meson.current_source_dir(),
-+ 'G_TEST_BUILDDIR': meson.current_build_dir(),
-+ 'WIREPLUMBER_CONFIG_DIR': '/invalid',
-+ 'WIREPLUMBER_DATA_DIR': meson.current_source_dir(),
-+ 'WIREPLUMBER_MODULE_DIR': meson.current_build_dir() / '..' / '..' / 'modules',
-+ 'WIREPLUMBER_DEBUG': '7',
-+})
-
- test(
- 'test-wplua',
- executable('test-wplua', 'wplua.c', dependencies: common_deps),
- env: common_env,
-+ workdir : meson.current_source_dir(),
- )
-
- script_tester = executable('script-tester',
-@@ -20,6 +25,7 @@ test(
- script_tester,
- args: ['pod.lua'],
- env: common_env,
-+ workdir : meson.current_source_dir(),
- )
- test(
- 'test-lua-json',
-@@ -32,4 +38,5 @@ test(
- script_tester,
- args: ['monitor-rules.lua'],
- env: common_env,
-+ workdir : meson.current_source_dir(),
- )
---
-2.35.1
-
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0002-Revert-wp-uninstalled-build-this-script-with-the-mes.patch b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0002-Revert-wp-uninstalled-build-this-script-with-the-mes.patch
deleted file mode 100644
index d20634d8b..000000000
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0002-Revert-wp-uninstalled-build-this-script-with-the-mes.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 8e959b7894047030edca21a04dd91994e8868a1f Mon Sep 17 00:00:00 2001
-From: Ashok Sidipotu <ashok.sidipotu@collabora.com>
-Date: Fri, 25 Feb 2022 06:05:43 +0530
-Subject: [PATCH 2/2] Revert "wp-uninstalled: build this script with the meson
- dirs filled in"
-
-This reverts commit 52aaf96179584292f493c4b329bc2c409e6d3dee.
-Upstream-Status: Inappropriate[meson version dependent]
----
- meson.build | 31 -------------------------------
- wp-uninstalled.sh | 11 ++---------
- 2 files changed, 2 insertions(+), 40 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index e4323dc..185248f 100644
---- a/meson.build
-+++ b/meson.build
-@@ -120,34 +120,3 @@ subdir('src')
- if get_option('tests')
- subdir('tests')
- endif
--
--conf_uninstalled = configuration_data()
--conf_uninstalled.set('MESON', '')
--conf_uninstalled.set('MESON_SOURCE_ROOT', meson.project_source_root())
--conf_uninstalled.set('MESON_BUILD_ROOT', meson.project_build_root())
--
--wp_uninstalled = configure_file(
-- input : 'wp-uninstalled.sh',
-- output : 'wp-uninstalled.sh.in',
-- configuration : conf_uninstalled,
--)
--
--wireplumber_uninstalled = custom_target('wp-uninstalled',
-- output : 'wp-uninstalled.sh',
-- input : wp_uninstalled,
-- build_by_default : true,
-- command : ['cp', '@INPUT@', '@OUTPUT@'],
--)
--
--if meson.version().version_compare('>= 0.58')
-- builddir = meson.project_build_root()
-- srcdir = meson.project_source_root()
--
-- devenv = environment({
-- 'WIREPLUMBER_MODULE_DIR': builddir / 'modules',
-- 'WIREPLUMBER_CONFIG_DIR': srcdir / 'src' / 'config',
-- 'WIREPLUMBER_DATA_DIR': srcdir / 'src',
-- })
--
-- meson.add_devenv(devenv)
--endif
-diff --git a/wp-uninstalled.sh b/wp-uninstalled.sh
-index 79e53f2..d6279ff 100755
---- a/wp-uninstalled.sh
-+++ b/wp-uninstalled.sh
-@@ -2,15 +2,8 @@
-
- set -e
-
--# This is unset by meson
--# shellcheck disable=SC2157
--if [ -z "@MESON@" ]; then
-- SOURCEDIR="@MESON_SOURCE_ROOT@"
-- BUILDDIR="@MESON_BUILD_ROOT@"
--else
-- SOURCEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
-- BUILDDIR=$(find "${SOURCEDIR}" -maxdepth 2 -name build.ninja -printf "%h\n" -quit 2>/dev/null || echo "${SOURCEDIR}/build")
--fi
-+SOURCEDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
-+BUILDDIR=${SOURCEDIR}/build
- CONFIGDIR=config
-
- while getopts ":b:c:" opt; do
---
-2.35.1
-
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0003-spa-json-fix-va_list-APIs-for-different-architecture.patch b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0003-spa-json-fix-va_list-APIs-for-different-architecture.patch
deleted file mode 100644
index 9d0c68d58..000000000
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0003-spa-json-fix-va_list-APIs-for-different-architecture.patch
+++ /dev/null
@@ -1,214 +0,0 @@
-From ae6c9a5e612c343dd307fe34a1a282b7a4f17a5c Mon Sep 17 00:00:00 2001
-From: Julian Bouzas <julian.bouzas@collabora.com>
-Date: Wed, 9 Feb 2022 07:59:59 -0500
-Subject: [PATCH 3/3] spa-json: fix va_list APIs for different architectures
-
-The va_list type might not always be a pointer in some architectures, so we
-cannot guarantee it will be modified after using it for a second time in another
-function. This fixes the issue by using macros so args does not get copied, and
-always gets modified when using it more than once.
-
-Upstream-Status: Backport
----
- lib/wp/spa-json.c | 156 ++++++++++++++++++++++++----------------------
- 1 file changed, 80 insertions(+), 76 deletions(-)
-
-diff --git a/lib/wp/spa-json.c b/lib/wp/spa-json.c
-index f14f395..c5e59a3 100644
---- a/lib/wp/spa-json.c
-+++ b/lib/wp/spa-json.c
-@@ -363,33 +363,33 @@ wp_spa_json_new_string (const gchar *value)
- wp_spa_json_builder_new_formatted ("\"%s\"", value));
- }
-
--static void
--wp_spa_json_builder_add_value (WpSpaJsonBuilder *self, const gchar *fmt,
-- va_list args)
--{
-- switch (*fmt) {
-- case 'n':
-- wp_spa_json_builder_add_null (self);
-- break;
-- case 'b':
-- wp_spa_json_builder_add_boolean (self, va_arg(args, gboolean));
-- break;
-- case 'i':
-- wp_spa_json_builder_add_int (self, va_arg(args, gint));
-- break;
-- case 'f':
-- wp_spa_json_builder_add_float (self, (float)va_arg(args, double));
-- break;
-- case 's':
-- wp_spa_json_builder_add_string (self, va_arg(args, const gchar *));
-- break;
-- case 'J':
-- wp_spa_json_builder_add_json (self, va_arg(args, WpSpaJson *));
-- break;
-- default:
-- return;
-- }
--}
-+/* Args is not a pointer in some architectures, so this needs to be a macro to
-+ * avoid args being copied */
-+#define wp_spa_json_builder_add_value(self,fmt,args) \
-+do { \
-+ switch (*fmt) { \
-+ case 'n': \
-+ wp_spa_json_builder_add_null (self); \
-+ break; \
-+ case 'b': \
-+ wp_spa_json_builder_add_boolean (self, va_arg(args, gboolean)); \
-+ break; \
-+ case 'i': \
-+ wp_spa_json_builder_add_int (self, va_arg(args, gint)); \
-+ break; \
-+ case 'f': \
-+ wp_spa_json_builder_add_float (self, (float)va_arg(args, double)); \
-+ break; \
-+ case 's': \
-+ wp_spa_json_builder_add_string (self, va_arg(args, const gchar *)); \
-+ break; \
-+ case 'J': \
-+ wp_spa_json_builder_add_json (self, va_arg(args, WpSpaJson *)); \
-+ break; \
-+ default: \
-+ break; \
-+ } \
-+} while(false)
-
- /*!
- * \brief Creates a spa json of type array
-@@ -724,48 +724,46 @@ wp_spa_json_parse_object_valist (WpSpaJson *self, va_list args)
- return res;
- }
-
--static gboolean
--wp_spa_json_parse_value (const gchar *data, int len, const gchar *fmt,
-- va_list args)
--{
-- switch (*fmt) {
-- case 'n':
-- if (!spa_json_is_null (data, len))
-- return FALSE;
-- break;
-- case 'b':
-- if (!wp_spa_json_parse_boolean_internal (data, len,
-- va_arg(args, gboolean *)))
-- return FALSE;
-- break;
-- case 'i':
-- if (spa_json_parse_int (data, len, va_arg(args, gint *)) < 0)
-- return FALSE;
-- break;
-- case 'f':
-- if (spa_json_parse_float (data, len,
-- (float *)va_arg(args, double *)) < 0)
-- return FALSE;
-- break;
-- case 's': {
-- gchar *str = wp_spa_json_parse_string_internal (data, len);
-- if (!str)
-- return FALSE;
-- *va_arg(args, gchar **) = str;
-- break;
-- }
-- case 'J': {
-- WpSpaJson *j = wp_spa_json_new (data, len);
-- if (!j)
-- return FALSE;
-- *va_arg(args, WpSpaJson **) = j;
-- break;
-- }
-- default:
-- return FALSE;
-- }
-- return TRUE;
--}
-+/* Args is not a pointer in some architectures, so this needs to be a macro to
-+ * avoid args being copied */
-+#define wp_spa_json_parse_value(data,len,fmt,args) \
-+do { \
-+ switch (*fmt) { \
-+ case 'n': \
-+ if (!spa_json_is_null (data, len)) \
-+ return FALSE; \
-+ break; \
-+ case 'b': \
-+ if (!wp_spa_json_parse_boolean_internal (data, len, \
-+ va_arg(args, gboolean *))) \
-+ return FALSE; \
-+ break; \
-+ case 'i': \
-+ if (spa_json_parse_int (data, len, va_arg(args, gint *)) < 0) \
-+ return FALSE; \
-+ break; \
-+ case 'f': \
-+ if (spa_json_parse_float (data, len, va_arg(args, float *)) < 0) \
-+ return FALSE; \
-+ break; \
-+ case 's': { \
-+ gchar *str = wp_spa_json_parse_string_internal (data, len); \
-+ if (!str) \
-+ return FALSE; \
-+ *va_arg(args, gchar **) = str; \
-+ break; \
-+ } \
-+ case 'J': { \
-+ WpSpaJson *j = wp_spa_json_new (data, len); \
-+ if (!j) \
-+ return FALSE; \
-+ *va_arg(args, WpSpaJson **) = j; \
-+ break; \
-+ } \
-+ default: \
-+ return FALSE; \
-+ } \
-+} while(false)
-
- /*!
- * \brief Parses the object property values of a spa json object
-@@ -827,8 +825,7 @@ wp_spa_json_object_get_valist (WpSpaJson *self, va_list args)
- value = g_value_get_boxed (&item);
-
- if (g_strcmp0 (key_str, lookup_key) == 0) {
-- if (!wp_spa_json_parse_value (value->data, value->size, lookup_fmt, args))
-- return FALSE;
-+ wp_spa_json_parse_value (value->data, value->size, lookup_fmt, args);
- lookup_key = va_arg(args, const gchar *);
- if (!lookup_key)
- return TRUE;
-@@ -1366,9 +1363,12 @@ gboolean
- wp_spa_json_parser_get_value (WpSpaJsonParser *self, const gchar *fmt,
- va_list args)
- {
-- return wp_spa_json_parser_advance (self) &&
-- wp_spa_json_parse_value (self->curr.cur,
-- self->curr.end - self->curr.cur, fmt, args);
-+ if (wp_spa_json_parser_advance (self)) {
-+ wp_spa_json_parse_value (self->curr.cur, self->curr.end - self->curr.cur,
-+ fmt, args);
-+ return TRUE;
-+ }
-+ return FALSE;
- }
-
- /*!
-@@ -1419,9 +1419,13 @@ wp_spa_json_parser_get_valist (WpSpaJsonParser *self, va_list args)
- if (!format)
- return TRUE;
-
-- /* parse value */
-- if (!wp_spa_json_parser_get_value (self, format, args))
-+ /* advance */
-+ if (!wp_spa_json_parser_advance (self))
- return FALSE;
-+
-+ /* parse value */
-+ wp_spa_json_parse_value (self->curr.cur, self->curr.end - self->curr.cur,
-+ format, args);
- } while (TRUE);
-
- return FALSE;
---
-2.35.1
-
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0004-policy-endpoint-device-Fix-endpoints-not-connected-w.patch b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0004-policy-endpoint-device-Fix-endpoints-not-connected-w.patch
deleted file mode 100644
index be1e0a527..000000000
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber/0004-policy-endpoint-device-Fix-endpoints-not-connected-w.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 61dcf8b203f26a7c25ffaccdfdd94c233c0440e9 Mon Sep 17 00:00:00 2001
-From: Ashok Sidipotu <ashok.sidipotu@collabora.com>
-Date: Wed, 2 Mar 2022 06:55:37 +0530
-Subject: [PATCH] policy-endpoint-device: Fix endpoints not connected with
- devices
-
--if device linkables are created ahead of the endpoints,
- endpoints are not connected with the devices.
-
--rescan the endpoints on an endpoint creation.
----
- src/scripts/policy-endpoint-device.lua | 4 ++++
- 1 file changed, 4 insertions(+)
-
- Upstream-Status: Submitted [https://gitlab.freedesktop.org/pipewire/wireplumber/-/merge_requests/337]
-
-diff --git a/src/scripts/policy-endpoint-device.lua b/src/scripts/policy-endpoint-device.lua
-index c9c6ceb..0ba39b0 100644
---- a/src/scripts/policy-endpoint-device.lua
-+++ b/src/scripts/policy-endpoint-device.lua
-@@ -221,6 +221,10 @@ linkables_om:connect("objects-changed", function (om)
- scheduleRescan ()
- end)
-
-+endpoints_om:connect("object-added", function (om)
-+ scheduleRescan ()
-+end)
-+
- linkables_om:connect("object-removed", function (om, si)
- unhandleLinkable (si)
- end)
---
-2.35.1
-
diff --git a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb
index 9504a5671..a04f115c3 100644
--- a/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb
+++ b/meta-pipewire/recipes-multimedia/wireplumber/wireplumber_git.bb
@@ -14,18 +14,14 @@ DEPENDS = "glib-2.0 glib-2.0-native pipewire lua"
SRC_URI = "\
git://gitlab.freedesktop.org/pipewire/wireplumber.git;protocol=https;branch=master \
"
-# v0.4.8
-SRCREV = "e14bb72dcc85e2130d0ea96768e5ae3b375a041e"
+# v0.4.17
+SRCREV = "d3eb77b292655cef333a8f4cab4e861415bc37c2"
# patches to be able to compile with lower version of meson that is available in AGL.
SRC_URI += "\
- file://0001-Revert-tests-add-pipewire-env-variables-when-running.patch \
- file://0002-Revert-wp-uninstalled-build-this-script-with-the-mes.patch \
- file://0003-spa-json-fix-va_list-APIs-for-different-architecture.patch \
- file://0004-policy-endpoint-device-Fix-endpoints-not-connected-w.patch \
"
-PV = "0.4.8"
+PV = "0.4.17"
S = "${WORKDIR}/git"
WPAPI="0.4"
@@ -63,9 +59,9 @@ FILES:${PN} = "\
${bindir}/wpexec \
${libdir}/wireplumber-${WPAPI}/* \
${datadir}/wireplumber/scripts/* \
+ ${datadir}/zsh/* \
${systemd_system_unitdir}/* \
"
-RPROVIDES:${PN} += "virtual/pipewire-sessionmanager"
FILES:lib${PN}-${WPAPI} = "\
${libdir}/libwireplumber-${WPAPI}.so.* \
diff --git a/meta-pipewire/scripts/run-yocto-check-layer.sh b/meta-pipewire/scripts/run-yocto-check-layer.sh
index 508d8f749..0e911a145 100755
--- a/meta-pipewire/scripts/run-yocto-check-layer.sh
+++ b/meta-pipewire/scripts/run-yocto-check-layer.sh
@@ -19,17 +19,24 @@ AGL_FEATURES ?= ""
AGL_EXTRA_IMAGE_FSTYPES ?= ""
# important settings imported from poky-agl.conf
-# we do not import
-DISTRO_FEATURES:append = " systemd"
+# we cannot import the distro config right away
+# as the initial values are poky only till the layer
+# is added in
+
+AGL_DEFAULT_DISTRO_FEATURES = "usrmerge largefile opengl wayland pam bluetooth bluez5 3g polkit"
+DISTRO_FEATURES:append = " systemd wayland pam \${AGL_DEFAULT_DISTRO_FEATURES}"
DISTRO_FEATURES_BACKFILL_CONSIDERED:append = " sysvinit"
VIRTUAL-RUNTIME_init_manager = "systemd"
EOF
-
-yocto-check-layer \
+yocto-check-layer --no-auto-dependency \
+ --dependency \
+ $AGLROOT/external/meta-openembedded/meta-oe \
-- \
$AGLROOT/meta-agl/meta-pipewire
[ $? = 0 ] && rm -rf ${TMPROOT}/testbuild-ycl
+
+exit 0
diff --git a/scripts/ci-yocto-check-layer.sh b/scripts/ci-yocto-check-layer.sh
new file mode 100755
index 000000000..c22114356
--- /dev/null
+++ b/scripts/ci-yocto-check-layer.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+set -e
+
+pushd .
+
+pushd meta-agl-core
+./scripts/run-yocto-check-layer.sh
+popd
+
+pushd meta-netboot
+./scripts/run-yocto-check-layer.sh
+popd
+
+pushd meta-pipewire
+./scripts/run-yocto-check-layer.sh
+popd
+
+pushd meta-app-framework
+./scripts/run-yocto-check-layer.sh
+popd
+
+popd \ No newline at end of file
diff --git a/templates/base/bblayers.conf.sample b/templates/base/bblayers.conf.sample
index 8a6ff8804..e3c5fcc65 100644
--- a/templates/base/bblayers.conf.sample
+++ b/templates/base/bblayers.conf.sample
@@ -15,6 +15,7 @@ METADIR := "${@os.path.abspath('##OEROOT##/../..')}"
YOCTO_LAYERS = " \
${METADIR}/external/poky/meta \
${METADIR}/external/poky/meta-poky \
+ ${METADIR}/external/meta-lts-mixins_rust \
"
# this is added for the boards where necessary, not globally
# ${METADIR}/external/poky/meta-yocto-bsp \
@@ -25,7 +26,6 @@ YOCTO_LAYERS = " \
#-----------------------------------------------------
AGL_CORE_LAYERS = " \
${METADIR}/meta-agl/meta-agl-core \
- ${METADIR}/meta-agl/meta-agl-core-test \
${METADIR}/meta-agl/meta-agl-bsp \
"
@@ -43,6 +43,7 @@ AGL_META_FILESYSTEMS ?= ""
AGL_META_MULTIMEDIA ?= ""
AGL_META_VIRTUALIZATION ?= ""
AGL_META_CLANG ?= ""
+AGL_META_QT5 ?= ""
AGL_OTHER_DEPENDENCY_LAYERS = " \
${AGL_META_NETWORKING} \
@@ -51,6 +52,7 @@ AGL_OTHER_DEPENDENCY_LAYERS = " \
${AGL_META_MULTIMEDIA} \
${AGL_META_VIRTUALIZATION} \
${AGL_META_CLANG} \
+ ${AGL_META_QT5} \
"
####################
diff --git a/templates/feature/agl-ci/99_local.conf.inc b/templates/feature/agl-ci/99_local.conf.inc
index 93b9d5a11..1ff8c571b 100644
--- a/templates/feature/agl-ci/99_local.conf.inc
+++ b/templates/feature/agl-ci/99_local.conf.inc
@@ -1,4 +1,4 @@
-DISTRO_FEATURES:append = " AGLCI"
+AGL_FEATURES:append = " AGLCI"
# opencv seems to have a parallel make bug
# ...contrib/modules/xfeatures2d/test/test_features2d.cpp:51:10: fatal error: features2d/test/test_detectors_regression.impl.hpp: No such file or directory
PARALLEL_MAKE:pn-opencv = "-j 1"
@@ -21,12 +21,12 @@ INHERIT += "buildstats"
INHERIT += "buildstats-summary"
# setup for PRSERV and HASHSERV
-#AGL_HOST_PRSERV ?= "10.30.72.18"
-#AGL_HOST_HASHSERV ?= "10.30.72.18"
+AGL_HOST_PRSERV ?= "10.30.72.18"
+AGL_HOST_HASHSERV ?= "10.30.72.18"
-#BB_HASHSERVE = "${AGL_HOST_HASHSERV}:8686"
-#BB_SIGNATURE_HANDLER = "OEEquivHash"
+BB_HASHSERVE = "${AGL_HOST_HASHSERV}:8383"
+BB_SIGNATURE_HANDLER = "OEEquivHash"
-#PRSERV_HOST = "${AGL_HOST_PRSERV}:8585"
+PRSERV_HOST = "${AGL_HOST_PRSERV}:8181"
IMAGE_INSTALL:append = " curl"
diff --git a/templates/feature/agl-ci/included.dep b/templates/feature/agl-ci/included.dep
new file mode 100644
index 000000000..21543697b
--- /dev/null
+++ b/templates/feature/agl-ci/included.dep
@@ -0,0 +1 @@
+agl-create-spdx
diff --git a/templates/feature/agl-create-spdx/50_local.conf.inc b/templates/feature/agl-create-spdx/50_local.conf.inc
new file mode 100644
index 000000000..2dd5314f3
--- /dev/null
+++ b/templates/feature/agl-create-spdx/50_local.conf.inc
@@ -0,0 +1,2 @@
+#see meta-agl/meta-agl/conf/include/agl-devel.inc
+require conf/include/agl-create-spdx.inc
diff --git a/templates/feature/agl-create-spdx/README_feature_agl-create-spdx.md b/templates/feature/agl-create-spdx/README_feature_agl-create-spdx.md
new file mode 100644
index 000000000..332a9dbd5
--- /dev/null
+++ b/templates/feature/agl-create-spdx/README_feature_agl-create-spdx.md
@@ -0,0 +1,7 @@
+---
+description: Feature agl-create-spdx
+authors: Jan-Simon Moeller <jsmoeller@linuxfoundation.rg>
+---
+
+### Feature agl-create-spdx
+Activation of the create-spdx class in oe-core.
diff --git a/templates/feature/agl-ptest/90_local.conf.inc b/templates/feature/agl-ptest/90_local.conf.inc
index 6341b012a..dcaf72ab3 100644
--- a/templates/feature/agl-ptest/90_local.conf.inc
+++ b/templates/feature/agl-ptest/90_local.conf.inc
@@ -1,7 +1,7 @@
# Enabling ptest in image ...
-OVERRIDES .= ":agl-ptest"
+OVERRIDES:append = ":agl-ptest"
DISTRO_FEATURES:append = " ptest"
EXTRA_IMAGE_FEATURES:append = " ptest-pkgs"
IMAGE_INSTALL:append = " lua-ptest xmlsec1-ptest libxml2-ptest"
diff --git a/templates/feature/agl-selinux/50_bblayers.conf.inc b/templates/feature/agl-selinux/50_bblayers.conf.inc
new file mode 100644
index 000000000..b17e292e9
--- /dev/null
+++ b/templates/feature/agl-selinux/50_bblayers.conf.inc
@@ -0,0 +1,5 @@
+AGL_META_PYTHON = "${METADIR}/external/meta-openembedded/meta-python"
+
+BBLAYERS =+ " \
+ ${METADIR}/external/meta-selinux \
+ "
diff --git a/templates/feature/agl-selinux/50_local.conf.inc b/templates/feature/agl-selinux/50_local.conf.inc
new file mode 100644
index 000000000..4aaac2d14
--- /dev/null
+++ b/templates/feature/agl-selinux/50_local.conf.inc
@@ -0,0 +1,2 @@
+#see meta-agl/meta-agl/conf/include/agl-selinux.inc
+require conf/include/agl-selinux.inc
diff --git a/templates/feature/agl-selinux/README_feature_agl-selinux.md b/templates/feature/agl-selinux/README_feature_agl-selinux.md
new file mode 100644
index 000000000..c48ce06b0
--- /dev/null
+++ b/templates/feature/agl-selinux/README_feature_agl-selinux.md
@@ -0,0 +1,9 @@
+---
+description: Feature agl-selinux
+authors: Scott Murray <scott.murray@konsulko.com>
+---
+
+### Feature agl-selinux
+
+Enables building with SELinux enabled, with the default mode
+being permissive.
diff --git a/templates/feature/agl-weston-waltham-remoting/50_local.conf.inc b/templates/feature/agl-weston-waltham-remoting/50_local.conf.inc
deleted file mode 100644
index d965eae6f..000000000
--- a/templates/feature/agl-weston-waltham-remoting/50_local.conf.inc
+++ /dev/null
@@ -1 +0,0 @@
-AGL_FEATURES:append = " waltham-remoting"
diff --git a/templates/feature/agl-weston-waltham-remoting/README_feature_agl-weston-waltham-remoting.md b/templates/feature/agl-weston-waltham-remoting/README_feature_agl-weston-waltham-remoting.md
deleted file mode 100644
index 416ff3f26..000000000
--- a/templates/feature/agl-weston-waltham-remoting/README_feature_agl-weston-waltham-remoting.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-description: Feature agl-weston-waltham-remoting
-authors: Marius Vlad <marius.vlad@collabora.com>
----
-
-### Feature agl-weston-waltham-remoting
-
-Enables remote display configuration using libWeston's remoting plug-in
-for remote output and remote input using waltham-transmitter-plug-in.
diff --git a/templates/feature/agl-weston-waltham-remoting/included.dep b/templates/feature/agl-weston-waltham-remoting/included.dep
deleted file mode 100644
index 82639da07..000000000
--- a/templates/feature/agl-weston-waltham-remoting/included.dep
+++ /dev/null
@@ -1 +0,0 @@
-agl-demo
diff --git a/templates/machine/am62xx-evm/50_bblayers.conf.inc b/templates/machine/am62xx-evm/50_bblayers.conf.inc
new file mode 100644
index 000000000..6ef08c43e
--- /dev/null
+++ b/templates/machine/am62xx-evm/50_bblayers.conf.inc
@@ -0,0 +1,5 @@
+BBLAYERS =+ "\
+ ${METADIR}/bsp/meta-arm/meta-arm \
+ ${METADIR}/bsp/meta-arm/meta-arm-toolchain \
+ ${METADIR}/bsp/meta-ti/meta-ti-bsp \
+ "
diff --git a/templates/machine/am62xx-evm/50_local.conf.inc b/templates/machine/am62xx-evm/50_local.conf.inc
new file mode 100644
index 000000000..782d11a76
--- /dev/null
+++ b/templates/machine/am62xx-evm/50_local.conf.inc
@@ -0,0 +1,3 @@
+MACHINE = "am62xx-evm"
+#see meta-agl/meta-agl-bsp/conf/include/agl_am62xx-evm.inc
+require conf/include/agl_am62xx-evm.inc
diff --git a/templates/machine/aws-ec2-arm64/50_bblayers.conf.inc b/templates/machine/aws-ec2-arm64/50_bblayers.conf.inc
new file mode 100644
index 000000000..4e619cde0
--- /dev/null
+++ b/templates/machine/aws-ec2-arm64/50_bblayers.conf.inc
@@ -0,0 +1,8 @@
+AGL_META_PYTHON = "${METADIR}/external/meta-openembedded/meta-python"
+AGL_META_MULTIMEDIA = "${METADIR}/external/meta-openembedded/meta-multimedia"
+AGL_META_NETWORKING = "${METADIR}/external/meta-openembedded/meta-networking"
+AGL_META_VIRTUALIZATION = "${METADIR}/external/meta-virtualization"
+
+BBLAYERS =+ "\
+ ${METADIR}/bsp/meta-aws \
+ "
diff --git a/templates/machine/aws-ec2-arm64/50_local.conf.inc b/templates/machine/aws-ec2-arm64/50_local.conf.inc
new file mode 100644
index 000000000..ca20e0bf2
--- /dev/null
+++ b/templates/machine/aws-ec2-arm64/50_local.conf.inc
@@ -0,0 +1,21 @@
+MACHINE = "aws-ec2-arm64"
+
+VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"
+IMAGE_INSTALL:append = " cloud-init"
+DISTRO_FEATURES:append = " virtualization"
+
+
+# can we shuffle this out so CI still works
+INHERIT += "extrausers"
+# Hardening: Locking the root password. Creating the user without password for ssh key-based login only
+EXTRA_USERS_PARAMS = "usermod -L root; useradd -p '*' user"
+
+EXTRA_IMAGE_FEATURES:append = " ssh-server-openssh"
+
+# Forcing removal of debug-tweakes as that leads to reversing some sshd_config hardening done in our bbappend when do_rootfs runs
+EXTRA_IMAGE_FEATURES:remove = "debug-tweaks"
+
+AGL_DEFAULT_IMAGE_FSTYPES := "wic.vhd"
+
+# workaround bug in cloud-init leading to empty cloud-init-systemd package
+PACKAGES:pn-cloud-init:forcevariable = "cloud-init-src cloud-init-dbg cloud-init-staticdev cloud-init-dev cloud-init-doc cloud-init-locale cloud-init-systemd cloud-init"
diff --git a/templates/machine/aws-ec2-x86-64/50_bblayers.conf.inc b/templates/machine/aws-ec2-x86-64/50_bblayers.conf.inc
new file mode 100644
index 000000000..4e619cde0
--- /dev/null
+++ b/templates/machine/aws-ec2-x86-64/50_bblayers.conf.inc
@@ -0,0 +1,8 @@
+AGL_META_PYTHON = "${METADIR}/external/meta-openembedded/meta-python"
+AGL_META_MULTIMEDIA = "${METADIR}/external/meta-openembedded/meta-multimedia"
+AGL_META_NETWORKING = "${METADIR}/external/meta-openembedded/meta-networking"
+AGL_META_VIRTUALIZATION = "${METADIR}/external/meta-virtualization"
+
+BBLAYERS =+ "\
+ ${METADIR}/bsp/meta-aws \
+ "
diff --git a/templates/machine/aws-ec2-x86-64/50_local.conf.inc b/templates/machine/aws-ec2-x86-64/50_local.conf.inc
new file mode 100644
index 000000000..58b4b087d
--- /dev/null
+++ b/templates/machine/aws-ec2-x86-64/50_local.conf.inc
@@ -0,0 +1,21 @@
+MACHINE = "aws-ec2-x86-64"
+
+VIRTUAL-RUNTIME_initscripts = "systemd-compat-units"
+IMAGE_INSTALL:append = " cloud-init"
+DISTRO_FEATURES:append = " virtualization"
+
+
+# can we shuffle this out so CI still works
+INHERIT += "extrausers"
+# Hardening: Locking the root password. Creating the user without password for ssh key-based login only
+EXTRA_USERS_PARAMS = "usermod -L root; useradd -p '*' user"
+
+EXTRA_IMAGE_FEATURES:append = " ssh-server-openssh"
+
+# Forcing removal of debug-tweakes as that leads to reversing some sshd_config hardening done in our bbappend when do_rootfs runs
+EXTRA_IMAGE_FEATURES:remove = "debug-tweaks"
+
+AGL_DEFAULT_IMAGE_FSTYPES := "wic.vhd"
+
+# workaround bug in cloud-init leading to empty cloud-init-systemd package
+PACKAGES:pn-cloud-init:forcevariable = "cloud-init-src cloud-init-dbg cloud-init-staticdev cloud-init-dev cloud-init-doc cloud-init-locale cloud-init-systemd cloud-init"
diff --git a/templates/machine/bbe/50_bblayers.conf.inc b/templates/machine/bbe/50_bblayers.conf.inc
index 6e6a6c951..c94c1db8f 100644
--- a/templates/machine/bbe/50_bblayers.conf.inc
+++ b/templates/machine/bbe/50_bblayers.conf.inc
@@ -1,7 +1,7 @@
BBLAYERS =+ " \
${METADIR}/bsp/meta-arm/meta-arm \
${METADIR}/bsp/meta-arm/meta-arm-toolchain \
- ${METADIR}/bsp/meta-ti \
+ ${METADIR}/bsp/meta-ti/meta-ti-bsp \
${METADIR}/bsp/meta-sancloud \
${METADIR}/bsp/meta-rtlwifi \
"
diff --git a/templates/machine/beaglebone-ai64/50_bblayers.conf.inc b/templates/machine/beaglebone-ai64/50_bblayers.conf.inc
new file mode 100644
index 000000000..6ef08c43e
--- /dev/null
+++ b/templates/machine/beaglebone-ai64/50_bblayers.conf.inc
@@ -0,0 +1,5 @@
+BBLAYERS =+ "\
+ ${METADIR}/bsp/meta-arm/meta-arm \
+ ${METADIR}/bsp/meta-arm/meta-arm-toolchain \
+ ${METADIR}/bsp/meta-ti/meta-ti-bsp \
+ "
diff --git a/templates/machine/beaglebone-ai64/50_local.conf.inc b/templates/machine/beaglebone-ai64/50_local.conf.inc
new file mode 100644
index 000000000..80d4aac97
--- /dev/null
+++ b/templates/machine/beaglebone-ai64/50_local.conf.inc
@@ -0,0 +1,3 @@
+MACHINE = "beaglebone-ai64"
+#see meta-agl/meta-agl-bsp/conf/include/agl_beaglebone-ai64.inc
+require conf/include/agl_beaglebone-ai64.inc
diff --git a/templates/machine/beaglebone-ai64/README_machine_beaglebone-ai64.md b/templates/machine/beaglebone-ai64/README_machine_beaglebone-ai64.md
new file mode 100644
index 000000000..7edf758a5
--- /dev/null
+++ b/templates/machine/beaglebone-ai64/README_machine_beaglebone-ai64.md
@@ -0,0 +1,9 @@
+---
+description: Machine beaglebone-ai64
+authors: Denys Dmytriyenko <denys@konsulko.com>
+---
+
+### Machine beaglebone-ai64
+
+BeagleBoard.org BeagleBone AI-64 (uses Texas Instruments J721e/TDA4VM SoC).
+
diff --git a/templates/machine/beagleplay/50_bblayers.conf.inc b/templates/machine/beagleplay/50_bblayers.conf.inc
new file mode 100644
index 000000000..6ef08c43e
--- /dev/null
+++ b/templates/machine/beagleplay/50_bblayers.conf.inc
@@ -0,0 +1,5 @@
+BBLAYERS =+ "\
+ ${METADIR}/bsp/meta-arm/meta-arm \
+ ${METADIR}/bsp/meta-arm/meta-arm-toolchain \
+ ${METADIR}/bsp/meta-ti/meta-ti-bsp \
+ "
diff --git a/templates/machine/beagleplay/50_local.conf.inc b/templates/machine/beagleplay/50_local.conf.inc
new file mode 100644
index 000000000..334f81819
--- /dev/null
+++ b/templates/machine/beagleplay/50_local.conf.inc
@@ -0,0 +1,3 @@
+MACHINE = "beagleplay"
+#see meta-agl/meta-agl-bsp/conf/include/agl_beagleplay.inc
+require conf/include/agl_beagleplay.inc
diff --git a/templates/machine/beagleplay/README_machine_beagleplay.md b/templates/machine/beagleplay/README_machine_beagleplay.md
new file mode 100644
index 000000000..d4528fba2
--- /dev/null
+++ b/templates/machine/beagleplay/README_machine_beagleplay.md
@@ -0,0 +1,9 @@
+---
+description: Machine beagleplay
+authors: Denys Dmytriyenko <denys@konsulko.com>
+---
+
+### Machine beagleplay
+
+BeagleBoard.org BeaglePlay (uses Texas Instruments AM625x SoC).
+
diff --git a/templates/machine/dragonboard-410c/50_bblayers.conf.inc b/templates/machine/dragonboard-410c/50_bblayers.conf.inc
deleted file mode 100644
index 41fe36719..000000000
--- a/templates/machine/dragonboard-410c/50_bblayers.conf.inc
+++ /dev/null
@@ -1,2 +0,0 @@
-BBLAYERS =+ "${METADIR}/bsp/meta-qcom"
-BBMASK += "bsp/meta-qcom/openembedded-layer/recipes-navigation/gpsd"
diff --git a/templates/machine/dragonboard-410c/50_local.conf.inc b/templates/machine/dragonboard-410c/50_local.conf.inc
deleted file mode 100644
index f717fd8ee..000000000
--- a/templates/machine/dragonboard-410c/50_local.conf.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-MACHINE = "dragonboard-410c"
-#see meta-agl/meta-agl-bsp/conf/include/agl_dragonboard-410c.inc
-require conf/include/agl_dragonboard-410c.inc
diff --git a/templates/machine/dragonboard-410c/README_machine_dragonboard-410c.md b/templates/machine/dragonboard-410c/README_machine_dragonboard-410c.md
deleted file mode 100644
index 047e08c28..000000000
--- a/templates/machine/dragonboard-410c/README_machine_dragonboard-410c.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-description: Machine dragonboard-410c
-authors: Jan-Simon Möller <jsmoeller@linuxfoundation.org>, Kotaro Hashimoto <Hashimoto.Kotaro@ds.MitsubishiElectric.co.jp>, Stephane Desneux <stephane.desneux@iot.bzh>
----
-
-### Machine dragonboard-410c
-
-*Description is missing - please complete file meta-agl/templates/machine/dragonboard-410c/README_machine_dragonboard-410c.md*
-
diff --git a/templates/machine/dragonboard-820c/50_bblayers.conf.inc b/templates/machine/dragonboard-820c/50_bblayers.conf.inc
deleted file mode 100644
index f3b96cbb6..000000000
--- a/templates/machine/dragonboard-820c/50_bblayers.conf.inc
+++ /dev/null
@@ -1 +0,0 @@
-BBLAYERS =+ "${METADIR}/bsp/meta-qcom"
diff --git a/templates/machine/dragonboard-820c/50_local.conf.inc b/templates/machine/dragonboard-820c/50_local.conf.inc
deleted file mode 100644
index 1cd53d60c..000000000
--- a/templates/machine/dragonboard-820c/50_local.conf.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-MACHINE = "dragonboard-820c"
-#see meta-agl/meta-agl-bsp/conf/include/agl_dragonboard-410c.inc
-require conf/include/agl_dragonboard-820c.inc
diff --git a/templates/machine/dragonboard-820c/README_machine_dragonboard-820c.md b/templates/machine/dragonboard-820c/README_machine_dragonboard-820c.md
deleted file mode 100644
index 73d9532c3..000000000
--- a/templates/machine/dragonboard-820c/README_machine_dragonboard-820c.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-description: Machine dragonboard-820c
-authors: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
----
-
-### Machine dragonboard-820c
-
-*Description is missing - please complete file meta-agl/templates/machine/dragonboard-820c/README_machine_dragonboard-820c.md*
-
diff --git a/templates/machine/hsdk/40_bblayers.conf.inc b/templates/machine/hsdk/40_bblayers.conf.inc
deleted file mode 100644
index e3954fef3..000000000
--- a/templates/machine/hsdk/40_bblayers.conf.inc
+++ /dev/null
@@ -1,2 +0,0 @@
-# Use meta-synopsys layer for ARC HSDK board
-BBLAYERS =+ "${METADIR}/bsp/meta-synopsys"
diff --git a/templates/machine/hsdk/50_local.conf.inc b/templates/machine/hsdk/50_local.conf.inc
deleted file mode 100644
index 61f77435e..000000000
--- a/templates/machine/hsdk/50_local.conf.inc
+++ /dev/null
@@ -1,2 +0,0 @@
-MACHINE = "hsdk"
-require conf/include/agl_hsdk.inc
diff --git a/templates/machine/hsdk/README_machine_hsdk.md b/templates/machine/hsdk/README_machine_hsdk.md
deleted file mode 100644
index 30e56d13b..000000000
--- a/templates/machine/hsdk/README_machine_hsdk.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-description: Machine hsdk
-authors: Evgeniy Didin <didin@synopsys.com>, Jan-Simon Möller <jsmoeller@linuxfoundation.org>
----
-
-### Machine hsdk
-
-*Description is missing - please complete file meta-agl/templates/machine/hsdk/README_machine_hsdk.md*
-
diff --git a/templates/machine/nitrogen6x/40_bblayers.conf.inc b/templates/machine/imx8mq-evk-viv/40_bblayers.conf.inc
index a4323be1a..edcb6a3a2 100644
--- a/templates/machine/nitrogen6x/40_bblayers.conf.inc
+++ b/templates/machine/imx8mq-evk-viv/40_bblayers.conf.inc
@@ -2,5 +2,4 @@
# recognized by meta-freescale/dynamic-layers
BBLAYERS =+ "\
${METADIR}/bsp/meta-freescale \
- ${METADIR}/bsp/meta-freescale-3rdparty \
"
diff --git a/templates/machine/imx8mq-evk-viv/50_local.conf.inc b/templates/machine/imx8mq-evk-viv/50_local.conf.inc
new file mode 100644
index 000000000..7504c1120
--- /dev/null
+++ b/templates/machine/imx8mq-evk-viv/50_local.conf.inc
@@ -0,0 +1,3 @@
+MACHINE = "imx8mq-evk"
+#see meta-agl/meta-agl-bsp/conf/include/agl_imx8mq-evk-viv.inc
+require conf/include/agl_imx8mq-evk-viv.inc
diff --git a/templates/machine/nitrogen6x/50_setup.sh b/templates/machine/imx8mq-evk-viv/50_setup.sh
index eefd1eb7f..eefd1eb7f 100644
--- a/templates/machine/nitrogen6x/50_setup.sh
+++ b/templates/machine/imx8mq-evk-viv/50_setup.sh
diff --git a/templates/machine/imx8mq-evk-viv/README_machine_imx8mq-evk-viv.md b/templates/machine/imx8mq-evk-viv/README_machine_imx8mq-evk-viv.md
new file mode 100644
index 000000000..be30e00fe
--- /dev/null
+++ b/templates/machine/imx8mq-evk-viv/README_machine_imx8mq-evk-viv.md
@@ -0,0 +1,9 @@
+---
+description: i.MX8MQ EVK with Vivante GPU driver
+authors: Scott Murray <scott.murray@konsulko.com>
+---
+
+### Machine imx8mqevk-viv
+
+i.MX8MQ EVK and EVKB boards with Vivante GPU driver support.
+
diff --git a/templates/machine/nitrogen6x/50_local.conf.inc b/templates/machine/nitrogen6x/50_local.conf.inc
deleted file mode 100644
index f8178bbd1..000000000
--- a/templates/machine/nitrogen6x/50_local.conf.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-MACHINE = "nitrogen6x"
-#see meta-agl/meta-agl-bsp/conf/include/agl_nitrogen6x.inc
-require conf/include/agl_nitrogen6x.inc
diff --git a/templates/machine/nitrogen6x/README_machine_nitrogen6x.md b/templates/machine/nitrogen6x/README_machine_nitrogen6x.md
deleted file mode 100644
index 9994de052..000000000
--- a/templates/machine/nitrogen6x/README_machine_nitrogen6x.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-description: Machine nitrogen6x
-authors: Jan-Simon Möller <jsmoeller@linuxfoundation.org>, Mihail Grigorov <michael.grigorov@konsulko.com>, Nathan Illerbrun <nathani@validmanufacturing.com>, Scott Murray <scott.murray@konsulko.com>
----
-
-### Machine nitrogen6x
-
-*Description is missing - please complete file meta-agl/templates/machine/nitrogen6x/README_machine_nitrogen6x.md*
-
diff --git a/templates/machine/raspberrypi5/50_bblayers.conf.inc b/templates/machine/raspberrypi5/50_bblayers.conf.inc
new file mode 100644
index 000000000..2e677dd8a
--- /dev/null
+++ b/templates/machine/raspberrypi5/50_bblayers.conf.inc
@@ -0,0 +1 @@
+BBLAYERS =+ "${METADIR}/bsp/meta-raspberrypi"
diff --git a/templates/machine/raspberrypi5/50_local.conf.inc b/templates/machine/raspberrypi5/50_local.conf.inc
new file mode 100644
index 000000000..9ee2644ab
--- /dev/null
+++ b/templates/machine/raspberrypi5/50_local.conf.inc
@@ -0,0 +1,4 @@
+MACHINE = "raspberrypi5"
+
+#see meta-agl/meta-agl-bsp/conf/include/agl_raspberrypi5.inc
+require conf/include/agl_raspberrypi5.inc
diff --git a/templates/machine/s4sk/50_bblayers.conf.inc b/templates/machine/s4sk/50_bblayers.conf.inc
new file mode 100644
index 000000000..0cc25a9ab
--- /dev/null
+++ b/templates/machine/s4sk/50_bblayers.conf.inc
@@ -0,0 +1,7 @@
+BBLAYERS =+ "\
+ ${METADIR}/bsp/meta-renesas/meta-rcar-gateway \
+ ${METADIR}/external/poky/meta-yocto-bsp \
+ "
+
+AGL_META_PYTHON = "${METADIR}/external/meta-openembedded/meta-python"
+
diff --git a/templates/machine/s4sk/50_local.conf.inc b/templates/machine/s4sk/50_local.conf.inc
new file mode 100644
index 000000000..b804b3845
--- /dev/null
+++ b/templates/machine/s4sk/50_local.conf.inc
@@ -0,0 +1,4 @@
+MACHINE = "s4sk"
+#see meta-agl/meta-agl-bsp/conf/include/agl_s4sk.inc
+require conf/include/agl_s4sk.inc
+
diff --git a/templates/machine/s4sk/README_machine_s4sk.md b/templates/machine/s4sk/README_machine_s4sk.md
new file mode 100644
index 000000000..275be67a6
--- /dev/null
+++ b/templates/machine/s4sk/README_machine_s4sk.md
@@ -0,0 +1,11 @@
+---
+description: Machine s4sk
+authors: Loc Nguyen <loc.nguyen.wt@renesas.com>
+---
+
+### Machine s4sk
+
+Renesas RCar Gen4 "s4sk" board.
+
+* [R-Car S4 Starter Kit website](https://www.renesas.com/us/en/products/automotive-products/automotive-system-chips-socs/y-ask-rcar-s4-1000base-t-r-car-s4-starter-kit)
+* [elinux S4 Starter Kit](https://elinux.org/R-Car/Boards/S4SK)
diff --git a/templates/machine/unmatched/50_bblayers.conf.inc b/templates/machine/unmatched/50_bblayers.conf.inc
new file mode 100644
index 000000000..03565bafd
--- /dev/null
+++ b/templates/machine/unmatched/50_bblayers.conf.inc
@@ -0,0 +1,6 @@
+# This is the original place, but we need to tweak layer.conf
+BBLAYERS =+ "${METADIR}/bsp/meta-sifive"
+
+# For now, tweak the layer's compatibility to allow using with kirkstone,
+# since we know it works without major issues.
+LAYERSERIES_COMPAT_meta-sifive:append = " kirkstone"
diff --git a/templates/machine/unmatched/50_local.conf.inc b/templates/machine/unmatched/50_local.conf.inc
new file mode 100644
index 000000000..c4d2b3ae5
--- /dev/null
+++ b/templates/machine/unmatched/50_local.conf.inc
@@ -0,0 +1,4 @@
+MACHINE = "unmatched"
+
+#see meta-agl/meta-agl-bsp/conf/include/agl_raspberrypi4.inc
+require conf/include/agl_unmatched.inc