summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-agl-bsp/conf/include/agl_cubox-i.inc24
-rw-r--r--meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc4
-rw-r--r--meta-agl-bsp/conf/include/agl_raspberrypi4.inc5
-rw-r--r--meta-agl-bsp/conf/include/agl_rcar-nogfx.inc10
-rw-r--r--meta-agl-bsp/conf/include/agl_rcar.inc1
-rw-r--r--meta-agl-bsp/conf/layer.conf2
-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_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-graphics/wayland/weston_11.0.3.imx.bbappend2
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch22
-rw-r--r--meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend9
-rw-r--r--meta-agl-bsp/meta-raspberrypi/recipes-kernel/dtc/dtc_1.7.0.bbappend (renamed from meta-agl-bsp/meta-raspberrypi/recipes-kernel/dtc/dtc_1.6.1.bbappend)0
-rw-r--r--meta-agl-bsp/meta-rcar-gen3-adas/conf/layer.conf2
-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-bad_1.22.%.bbappend5
-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/virtualization-layer/recipes-graphics/mesa/mesa_24.%.bbappend (renamed from meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa_22.%.bbappend)0
-rw-r--r--meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_6.6.bbappend (renamed from meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend)0
-rw-r--r--meta-agl-core/conf/distro/poky-agl.conf15
-rw-r--r--meta-agl-core/conf/layer.conf2
-rw-r--r--meta-agl-core/conf/local.conf.sample6
-rw-r--r--meta-agl-core/conf/templates/base/bblayers.conf.sample (renamed from templates/base/bblayers.conf.sample)3
-rw-r--r--meta-agl-core/conf/templates/base/conf-notes.txt (renamed from templates/base/conf-notes.txt)0
-rw-r--r--meta-agl-core/conf/templates/base/local.conf.sample (renamed from templates/base/local.conf.sample)3
-rw-r--r--meta-agl-core/files/group1
-rw-r--r--meta-agl-core/files/passwd1
-rw-r--r--meta-agl-core/recipes-devtools/cmake/cmake_%.bbappend1
-rw-r--r--meta-agl-core/recipes-devtools/cmake/cmake_aglcore.inc9
-rw-r--r--meta-agl-core/recipes-devtools/cmake/files/environment.d-cmake-agl.sh1
-rw-r--r--meta-agl-core/recipes-extended/gperf/.appends.core0
-rw-r--r--meta-agl-core/recipes-extended/gperf/gperf_%.bbappend1
-rw-r--r--meta-agl-core/recipes-extended/gperf/gperf_aglcore.inc1
-rw-r--r--meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb2
-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-clients-Handle-missing-pointer_surface-is-there-s-no.patch30
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Add-paint-node-destruction-into-weston_lay.patch60
-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_13.0.%.bbappend (renamed from meta-agl-core/recipes-graphics/wayland/weston_10.0.%.bbappend)2
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston_13.0_aglcore.inc (renamed from meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc)12
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux-agl-config.inc1
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/lttng.cfg1
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/selinux.cfg2
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/systemd-required.cfg1
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/vbox-vmware-sata.cfg1
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/x86-extra-graphic-devices.cfg1
-rw-r--r--meta-agl-core/recipes-kernel/linux/linux/x86-usb-devices.cfg1
-rw-r--r--meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/0001-Added-appid-and-title-support.patch197
-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-support/ptest-runner/ptest-runner/0007-WIP-Initial-LAVA-support.patch32
-rw-r--r--meta-app-framework/conf/layer.conf2
-rw-r--r--meta-netboot/conf/layer.conf2
-rw-r--r--meta-pipewire/conf/layer.conf2
-rw-r--r--meta-pipewire/recipes-core/packagegroups/packagegroup-pipewire-base.bb1
-rw-r--r--meta-pipewire/recipes-multimedia/pipewire/pipewire_1.0.0.bb2
-rw-r--r--meta-pipewire/recipes-multimedia/wireplumber/wireplumber-config-agl/host.lua.d/30-alsa-monitor.lua4
-rwxr-xr-xscripts/.aglsetup_genconfig.bash6
-rw-r--r--templates/feature/agl-ci/99_local.conf.inc13
-rw-r--r--templates/feature/agl-netboot/50_bblayers.conf.inc2
63 files changed, 284 insertions, 1176 deletions
diff --git a/meta-agl-bsp/conf/include/agl_cubox-i.inc b/meta-agl-bsp/conf/include/agl_cubox-i.inc
index ee5e759e4..fc0e14b5f 100644
--- a/meta-agl-bsp/conf/include/agl_cubox-i.inc
+++ b/meta-agl-bsp/conf/include/agl_cubox-i.inc
@@ -1,15 +1,21 @@
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"
+# Temporary fix for upstream breakage
+# Note that the :cubox-i override is needed because we're
+# overriding a definition done in the machine .conf.
+KERNEL_DEVICETREE:cubox-i = " \
+ nxp/imx/imx6dl-cubox-i.dtb \
+ nxp/imx/imx6q-cubox-i.dtb \
+ nxp/imx/imx6dl-hummingboard.dtb \
+ nxp/imx/imx6q-hummingboard.dtb \
+"
# Include devicetrees for SOM 1.5 and Hummingboard 2 hardware
KERNEL_DEVICETREE:append = " \
- imx6dl-hummingboard-som-v15.dtb \
- imx6q-hummingboard-som-v15.dtb \
- imx6dl-hummingboard2.dtb \
- imx6q-hummingboard2.dtb \
- imx6dl-hummingboard2-som-v15.dtb \
- imx6q-hummingboard2-som-v15.dtb \
+ nxp/imx/imx6dl-hummingboard-som-v15.dtb \
+ nxp/imx/imx6q-hummingboard-som-v15.dtb \
+ nxp/imx/imx6dl-hummingboard2.dtb \
+ nxp/imx/imx6q-hummingboard2.dtb \
+ nxp/imx/imx6dl-hummingboard2-som-v15.dtb \
+ nxp/imx/imx6q-hummingboard2-som-v15.dtb \
"
diff --git a/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc b/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc
index f058ba1a5..cb13de713 100644
--- a/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc
+++ b/meta-agl-bsp/conf/include/agl_imx6qdlsabreauto.inc
@@ -1,5 +1 @@
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_raspberrypi4.inc b/meta-agl-bsp/conf/include/agl_raspberrypi4.inc
index 7fd878d66..4ba7ff0f6 100644
--- a/meta-agl-bsp/conf/include/agl_raspberrypi4.inc
+++ b/meta-agl-bsp/conf/include/agl_raspberrypi4.inc
@@ -11,7 +11,10 @@ RPI_USE_U_BOOT = "1"
ENABLE_UART ?= "1"
# For libomxil
-#LICENSE_FLAGS_ACCEPTED = "commercial"
+#LICENSE_FLAGS_ACCEPTED += "commercial"
+
+# For linux-firmware-rpidistro
+LICENSE_FLAGS_ACCEPTED += "synaptics-killswitch"
IMAGE_INSTALL:append = " kernel-modules linux-firmware-rpidistro-bcm43430 linux-firmware-rpidistro-bcm43455 create-combined-dtb "
diff --git a/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc b/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc
index fb67fd976..64e13642e 100644
--- a/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc
+++ b/meta-agl-bsp/conf/include/agl_rcar-nogfx.inc
@@ -58,3 +58,13 @@ BBMASK += "meta-renesas/meta-rcar-gen3/recipes-graphics/cogl/cogl-1.0_1.%.bbappe
# packagegroup bbclass is inherited. This can be removed when upstream
# is fixed to add the required PACKAGE_ARCH = "${MACHINE_ARCH}".
PACKAGE_ARCH:pn-packagegroup-multimedia-libs = "${MACHINE_ARCH}"
+
+# Mask out BSP layer gstreamer* 1.22.x bbappends for now, as the BSP
+# effectively is building 1.20.x plugins and packaging them as 1.22,
+# which breaks building various things. The whole directory is not
+# commented out because we still want the vspfilter plugin.
+# The BBMASKs need to be here instead of agl_rcar.ing since without
+# them there are issues with the gstreamer1.0-plugins-bad patches in
+# meta-agl-core not applying.
+BBMASK += "meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx"
+BBMASK += "meta-renesas/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-"
diff --git a/meta-agl-bsp/conf/include/agl_rcar.inc b/meta-agl-bsp/conf/include/agl_rcar.inc
index e1169c21e..ce3b8a8f9 100644
--- a/meta-agl-bsp/conf/include/agl_rcar.inc
+++ b/meta-agl-bsp/conf/include/agl_rcar.inc
@@ -18,7 +18,6 @@ PREFERRED_PROVIDER_libgbm:rcar-gen3 = "libgbm"
PREFERRED_PROVIDER_virtual/libgbm:rcar-gen3 = "libgbm"
PREFERRED_RPROVIDER_libgbm-dev:rcar-gen3 = "libgbm"
-
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"
diff --git a/meta-agl-bsp/conf/layer.conf b/meta-agl-bsp/conf/layer.conf
index cd98a9dfc..036cde7a7 100644
--- a/meta-agl-bsp/conf/layer.conf
+++ b/meta-agl-bsp/conf/layer.conf
@@ -23,4 +23,4 @@ BBFILE_COLLECTIONS += "aglbsp"
BBFILE_PATTERN_aglbsp = "^${LAYERDIR}/"
BBFILE_PRIORITY_aglbsp = "60"
-LAYERSERIES_COMPAT_aglbsp = "kirkstone"
+LAYERSERIES_COMPAT_aglbsp = "scarthgap"
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
deleted file mode 100644
index 9d6b2f3d0..000000000
--- a/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa/0001-virgl-don-t-a-use-staging-when-a-resources-created-w.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-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_agl.inc b/meta-agl-bsp/meta-core/recipes-graphics/mesa/mesa_agl.inc
index c0f5b271d..e74761317 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,5 +1,3 @@
-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
deleted file mode 100644
index 07a43f958..000000000
--- a/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_10.0.1.imx.bbappend
+++ /dev/null
@@ -1,10 +0,0 @@
-# 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-graphics/wayland/weston_11.0.3.imx.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_11.0.3.imx.bbappend
new file mode 100644
index 000000000..ca162e28f
--- /dev/null
+++ b/meta-agl-bsp/meta-freescale-layer/recipes-graphics/wayland/weston_11.0.3.imx.bbappend
@@ -0,0 +1,2 @@
+# Use provided hook to disable removal of wayland from PACKAGECONFIG
+PACKAGECONFIG_IMX_REMOVALS = "x11"
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
deleted file mode 100644
index f95891a2f..000000000
--- a/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx/0001-enable-mhdp-with-etnaviv.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Tweak MHDP driver Kconfig so it can be enabled with etnaviv
-
-The MHDP driver is needed for using HDMI on the i.MX8MQ EVK, tweak its
-Kconfig entry so that it can be enabled when using etnaviv, not just
-Vivante.
-
-Upstream-Status: pending
-Signed-off-by: Scott Murray <scott.murray@konsulko.com>
----
-
-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_%.bbappend b/meta-agl-bsp/meta-freescale-layer/recipes-kernel/linux/linux-fslc-imx_%.bbappend
index 0772a98a8..7fa055b40 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
@@ -4,11 +4,10 @@ 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
-# becomes more feasible with upstream meta-freescale.
-SRC_URI:append:etnaviv = " \
- file://0001-enable-mhdp-with-etnaviv.patch \
- file://0002-dts-enable-etnaviv.patch \
-"
+# becomes feasible with the linux-fslc kernel.
+#SRC_URI:append:etnaviv = " \
+# file://0002-dts-enable-etnaviv.patch \
+#"
# Support for i.MX8MQ EVKB (e.g. Broadcom wifi)
AGL_KCONFIG_FRAGMENTS:append:imx8mq-evk = " imx8mq-evkb.cfg"
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/dtc/dtc_1.6.1.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/dtc/dtc_1.7.0.bbappend
index a28a9e748..a28a9e748 100644
--- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/dtc/dtc_1.6.1.bbappend
+++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/dtc/dtc_1.7.0.bbappend
diff --git a/meta-agl-bsp/meta-rcar-gen3-adas/conf/layer.conf b/meta-agl-bsp/meta-rcar-gen3-adas/conf/layer.conf
index be6f0aa25..bae421a50 100644
--- a/meta-agl-bsp/meta-rcar-gen3-adas/conf/layer.conf
+++ b/meta-agl-bsp/meta-rcar-gen3-adas/conf/layer.conf
@@ -15,4 +15,4 @@ BBFILE_COLLECTIONS += "rcar-gen3-cogent"
BBFILE_PATTERN_rcar-gen3-cogent := "^${LAYERDIR}/"
BBFILE_PRIORITY_rcar-gen3-cogent = "7"
-LAYERSERIES_COMPAT_rcar-gen3-cogent = "kirkstone"
+LAYERSERIES_COMPAT_rcar-gen3-cogent = "scarthgap"
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
deleted file mode 100644
index d91281c18..000000000
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.20.%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-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
deleted file mode 100644
index d91281c18..000000000
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.20.%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-do_unpack[network] = "1"
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.%.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.%.bbappend
new file mode 100644
index 000000000..eee123cf4
--- /dev/null
+++ b/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.22.%.bbappend
@@ -0,0 +1,5 @@
+# Enable here for now due to meta-rcar-gen3 bbappends being masked
+# out, can be removed once gstreamer 1.22.x is properly supported
+# there.
+EXTRA_OECONF += "--enable-kms"
+PACKAGECONFIG:append = " kms"
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
deleted file mode 100644
index d91281c18..000000000
--- a/meta-agl-bsp/meta-rcar-gen3/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.20.%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-do_unpack[network] = "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_24.%.bbappend
index 0a6606ebf..0a6606ebf 100644
--- a/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa_22.%.bbappend
+++ b/meta-agl-bsp/virtualization-layer/recipes-graphics/mesa/mesa_24.%.bbappend
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_6.6.bbappend
index 6952436a3..6952436a3 100644
--- 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_6.6.bbappend
diff --git a/meta-agl-core/conf/distro/poky-agl.conf b/meta-agl-core/conf/distro/poky-agl.conf
index 19a21ad44..266a06d70 100644
--- a/meta-agl-core/conf/distro/poky-agl.conf
+++ b/meta-agl-core/conf/distro/poky-agl.conf
@@ -106,11 +106,6 @@ CONNECTIVITY_CHECK_URIS ?= ""
# Not yet upstreamed; should be submitted.
SECURITY_CFLAGS:pn-qtwebengine = "${SECURITY_NO_PIE_CFLAGS}"
-#Redefined USER_CLASSES
-#Disable prelink. It is unmaintained and likely will go away.
-#default: USER_CLASSES ?= "buildstats image-prelink"
-USER_CLASSES = "buildstats"
-
# AGL uses 4 optimization levels
# 2 for ARM 32bit
# - a high and a medium setting for the CCARGS
@@ -146,13 +141,3 @@ AGL_DEFAULT_INITRAMFS_FSTYPES ?= "ext4.gz"
IMAGE_FSTYPES = "${AGL_DEFAULT_IMAGE_FSTYPES} ${AGL_EXTRA_IMAGE_FSTYPES}"
INITRAMFS_FSTYPES = "${AGL_DEFAULT_INITRAMFS_FSTYPES} ${AGL_EXTRA_INITRAMFS_FSTYPES}"
#
-
-# Fix for rpm metadata clash between nativesdk-cmake and nativesdk-qtbase-tools
-# (revalidate after 2017-10-15, 2018-06-12: still required)
-DIRFILES:pn-nativesdk-cmake = "1"
-
-# For https://jira.automotivelinux.org/browse/SPEC-1629 :
-# We exclude the conflicting vars from the sstate task hash.
-# This needs to be verified.
-do_package_write_rpm[vardepsexclude] += "ARCHIVER_TOPDIR PF"
-
diff --git a/meta-agl-core/conf/layer.conf b/meta-agl-core/conf/layer.conf
index ddea256fe..8047df519 100644
--- a/meta-agl-core/conf/layer.conf
+++ b/meta-agl-core/conf/layer.conf
@@ -20,7 +20,7 @@ BBFILES_DYNAMIC += " \
qt5-layer:${LAYERDIR}/dynamic-layers/meta-qt5/*/*/*.bbappend \
"
-LAYERSERIES_COMPAT_aglcore = "kirkstone"
+LAYERSERIES_COMPAT_aglcore = "scarthgap"
LAYERDEPENDS_aglcore = "core"
# Sanity check for meta-virtualization layer.
diff --git a/meta-agl-core/conf/local.conf.sample b/meta-agl-core/conf/local.conf.sample
index ecc9b141a..4cfae4ceb 100644
--- a/meta-agl-core/conf/local.conf.sample
+++ b/meta-agl-core/conf/local.conf.sample
@@ -148,11 +148,7 @@ EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
# enable extra features. Some available options which can be included in this variable
# are:
# - 'buildstats' collect build statistics
-# - 'image-mklibs' to reduce shared library files size for an image
-# - 'image-prelink' in order to prelink the filesystem image
-# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
-# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
-USER_CLASSES ?= "buildstats image-prelink"
+USER_CLASSES ?= "buildstats"
#
# Runtime testing of images
diff --git a/templates/base/bblayers.conf.sample b/meta-agl-core/conf/templates/base/bblayers.conf.sample
index e3c5fcc65..c6a37a0b0 100644
--- a/templates/base/bblayers.conf.sample
+++ b/meta-agl-core/conf/templates/base/bblayers.conf.sample
@@ -15,7 +15,6 @@ 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 \
@@ -36,7 +35,7 @@ AGL_CORE_DEPENDENCY_LAYERS = " \
"
# Indirection to avoid duplicate inclusions of the same folder into BBLAYERS
-# the evaluation is in the bblayers.conf.sample in meta-agl/templates/base
+# the evaluation is in the bblayers.conf.sample in meta-agl/meta-agl-core/conf/templates/base
AGL_META_NETWORKING ?= ""
AGL_META_PYTHON ?= ""
AGL_META_FILESYSTEMS ?= ""
diff --git a/templates/base/conf-notes.txt b/meta-agl-core/conf/templates/base/conf-notes.txt
index 09ae72647..09ae72647 100644
--- a/templates/base/conf-notes.txt
+++ b/meta-agl-core/conf/templates/base/conf-notes.txt
diff --git a/templates/base/local.conf.sample b/meta-agl-core/conf/templates/base/local.conf.sample
index 7f2c0b11a..be49ed00d 100644
--- a/templates/base/local.conf.sample
+++ b/meta-agl-core/conf/templates/base/local.conf.sample
@@ -149,8 +149,7 @@ EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
# enable extra features. Some available options which can be included in this variable
# are:
# - 'buildstats' collect build statistics
-# - 'image-prelink' in order to prelink the filesystem image
-USER_CLASSES ?= "buildstats image-prelink"
+USER_CLASSES ?= "buildstats"
#
# Runtime testing of images
diff --git a/meta-agl-core/files/group b/meta-agl-core/files/group
index 69a86186e..a7e0cd17f 100644
--- a/meta-agl-core/files/group
+++ b/meta-agl-core/files/group
@@ -99,3 +99,4 @@ sgx::1010:
kuksa::900:
qemu::901:
kvm::902:
+ptest::2001:
diff --git a/meta-agl-core/files/passwd b/meta-agl-core/files/passwd
index 3e6639d86..ea54d06e4 100644
--- a/meta-agl-core/files/passwd
+++ b/meta-agl-core/files/passwd
@@ -65,3 +65,4 @@ pipewire::1008:1008:::
kuksa::900:900:::
qemu::901:901:::
user::1004:100:::
+ptest::2001:2001:::
diff --git a/meta-agl-core/recipes-devtools/cmake/cmake_%.bbappend b/meta-agl-core/recipes-devtools/cmake/cmake_%.bbappend
deleted file mode 100644
index 980783236..000000000
--- a/meta-agl-core/recipes-devtools/cmake/cmake_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', '${BPN}_aglcore.inc', '', d)}
diff --git a/meta-agl-core/recipes-devtools/cmake/cmake_aglcore.inc b/meta-agl-core/recipes-devtools/cmake/cmake_aglcore.inc
deleted file mode 100644
index 2d50a1f24..000000000
--- a/meta-agl-core/recipes-devtools/cmake/cmake_aglcore.inc
+++ /dev/null
@@ -1,9 +0,0 @@
-FILESEXTRAPATHS:append := ":${THISDIR}/files"
-
-SRC_URI:append:class-nativesdk = " \
- file://environment.d-cmake-agl.sh \
-"
-
-do_install:append:class-nativesdk() {
- install -m 644 ${WORKDIR}/environment.d-cmake-agl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake-agl.sh
-}
diff --git a/meta-agl-core/recipes-devtools/cmake/files/environment.d-cmake-agl.sh b/meta-agl-core/recipes-devtools/cmake/files/environment.d-cmake-agl.sh
deleted file mode 100644
index 64b6cf3c6..000000000
--- a/meta-agl-core/recipes-devtools/cmake/files/environment.d-cmake-agl.sh
+++ /dev/null
@@ -1 +0,0 @@
-export OE_CMAKE_TOOLCHAIN_FILE="$OECORE_NATIVE_SYSROOT/usr/share/cmake/OEToolchainConfig.cmake"
diff --git a/meta-agl-core/recipes-extended/gperf/.appends.core b/meta-agl-core/recipes-extended/gperf/.appends.core
deleted file mode 100644
index e69de29bb..000000000
--- a/meta-agl-core/recipes-extended/gperf/.appends.core
+++ /dev/null
diff --git a/meta-agl-core/recipes-extended/gperf/gperf_%.bbappend b/meta-agl-core/recipes-extended/gperf/gperf_%.bbappend
deleted file mode 100644
index 980783236..000000000
--- a/meta-agl-core/recipes-extended/gperf/gperf_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', '${BPN}_aglcore.inc', '', d)}
diff --git a/meta-agl-core/recipes-extended/gperf/gperf_aglcore.inc b/meta-agl-core/recipes-extended/gperf/gperf_aglcore.inc
deleted file mode 100644
index 2a590838b..000000000
--- a/meta-agl-core/recipes-extended/gperf/gperf_aglcore.inc
+++ /dev/null
@@ -1 +0,0 @@
-BBCLASSEXTEND += "nativesdk"
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 3596cbb06..41240309b 100644
--- a/meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb
+++ b/meta-agl-core/recipes-graphics/wayland/agl-compositor_git.bb
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fac6abe0003c4d142ff8fa1f18316df0"
DEPENDS = "wayland wayland-protocols wayland-native weston"
SRC_URI = "git://gerrit.automotivelinux.org/gerrit/src/agl-compositor.git;protocol=https;branch=${AGL_BRANCH}"
-SRCREV = "d5ecd12729734b788546e0d80edc492454bec251"
+SRCREV = "18e93caca8ad397d504215d673765871b2c88f25"
AGL_BRANCH:aglnext = "next"
SRCREV:aglnext = "${AUTOREV}"
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
deleted file mode 100644
index fc2f35bd6..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston/0001-backend-drm-make-sure-all-buffers-are-released-when-.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-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-clients-Handle-missing-pointer_surface-is-there-s-no.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-clients-Handle-missing-pointer_surface-is-there-s-no.patch
new file mode 100644
index 000000000..202333a5e
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-clients-Handle-missing-pointer_surface-is-there-s-no.patch
@@ -0,0 +1,30 @@
+From 6a847464de9e773f6d1490916d0df48a0f90eeba Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Thu, 5 Oct 2023 16:27:34 +0300
+Subject: [PATCH] clients: Handle missing pointer_surface is there's no pointer
+ event
+
+Upstream-Status: Pending
+
+Bug-AGL: SPEC-4916
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+---
+ clients/window.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/clients/window.c b/clients/window.c
+index 30f6410..882e9d5 100644
+--- a/clients/window.c
++++ b/clients/window.c
+@@ -3818,7 +3818,7 @@ pointer_surface_frame_callback(void *data, struct wl_callback *callback,
+ force_frame = false;
+ }
+
+- if (!input->pointer)
++ if (!input->pointer || !input->pointer_surface)
+ return;
+
+ if (input_set_pointer_special(input))
+--
+2.35.1
+
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Add-paint-node-destruction-into-weston_lay.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Add-paint-node-destruction-into-weston_lay.patch
new file mode 100644
index 000000000..19eadcf7f
--- /dev/null
+++ b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Add-paint-node-destruction-into-weston_lay.patch
@@ -0,0 +1,60 @@
+From cfde02d47a503cbfd0629bbfe0cb776686af8a91 Mon Sep 17 00:00:00 2001
+From: Marius Vlad <marius.vlad@collabora.com>
+Date: Tue, 9 Apr 2024 18:34:22 +0300
+Subject: [PATCH] libweston: Add paint node destruction into
+ weston_layer_entry_remove()
+
+This prevents a potential crash where users of
+weston_layer_entry_insert/layer_entry_remove() would see when moving
+views into a NULL layer (effectively unmapping the surface/view).
+
+Users that have migrated to the weston_view_move_to_layer() are immune
+to this issue because that takes care paint node destruction.
+
+Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
+---
+ libweston/compositor.c | 17 ++++++++++-------
+ 1 file changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/libweston/compositor.c b/libweston/compositor.c
+index bb29b83b5..ea257bb90 100644
+--- a/libweston/compositor.c
++++ b/libweston/compositor.c
+@@ -3980,17 +3980,10 @@ weston_view_move_to_layer(struct weston_view *view,
+ struct weston_layer_entry *layer)
+ {
+ bool was_mapped = view->is_mapped;
+- struct weston_paint_node *pnode, *pntmp;
+
+ if (layer == &view->layer_link)
+ return;
+
+- /* Remove all paint nodes because we have no idea what a layer change
+- * does to view visibility on any output.
+- */
+- wl_list_for_each_safe(pnode, pntmp, &view->paint_node_list, view_link)
+- weston_paint_node_destroy(pnode);
+-
+ view->surface->compositor->view_list_needs_rebuild = true;
+
+ /* Damage the view's old region, and remove it from the layer. */
+@@ -4020,6 +4013,16 @@ weston_view_move_to_layer(struct weston_view *view,
+ WL_EXPORT void
+ weston_layer_entry_remove(struct weston_layer_entry *entry)
+ {
++ struct weston_paint_node *pnode, *pntmp;
++ struct weston_view *view;
++
++ /* Remove all paint nodes because we have no idea what a layer change
++ * does to view visibility on any output.
++ */
++ view = container_of(entry, struct weston_view, layer_link);
++ wl_list_for_each_safe(pnode, pntmp, &view->paint_node_list, view_link)
++ weston_paint_node_destroy(pnode);
++
+ wl_list_remove(&entry->link);
+ wl_list_init(&entry->link);
+ entry->layer = NULL;
+--
+2.43.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
deleted file mode 100644
index 4e0e2c587..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-Send-name-description-update-wl_output-to-.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-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
deleted file mode 100644
index 02349c098..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-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
deleted file mode 100644
index 5b7a4ca76..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-weston-log-Add-a-iterator-helper-for-debug.patch
+++ /dev/null
@@ -1,227 +0,0 @@
-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
deleted file mode 100644
index 53a620ef7..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston/0001-simple-touch-Add-maximized-fullscreen-states.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-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.%.bbappend b/meta-agl-core/recipes-graphics/wayland/weston_13.0.%.bbappend
index 685894116..87cad12a0 100644
--- a/meta-agl-core/recipes-graphics/wayland/weston_10.0.%.bbappend
+++ b/meta-agl-core/recipes-graphics/wayland/weston_13.0.%.bbappend
@@ -1 +1 @@
-require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'weston_10.0_aglcore.inc', '', d)}
+require ${@bb.utils.contains('AGL_FEATURES', 'aglcore', 'weston_13.0_aglcore.inc', '', d)}
diff --git a/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc b/meta-agl-core/recipes-graphics/wayland/weston_13.0_aglcore.inc
index a19e0f344..843a068b4 100644
--- a/meta-agl-core/recipes-graphics/wayland/weston_10.0_aglcore.inc
+++ b/meta-agl-core/recipes-graphics/wayland/weston_13.0_aglcore.inc
@@ -1,17 +1,13 @@
FILESEXTRAPATHS:append := ":${THISDIR}/weston"
-# Workaround for incorrect upstream definition
-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)}"
-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 \
+SRC_URI:append = " \
+ file://0001-clients-Handle-missing-pointer_surface-is-there-s-no.patch \
+ file://0001-libweston-Add-paint-node-destruction-into-weston_lay.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
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 e42ae823d..4799a6180 100644
--- a/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc
+++ b/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc
@@ -43,6 +43,7 @@ AGL_KCONFIG_FRAGMENTS += " \
${@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)} \
+ lttng.cfg \
"
AGL_KCONFIG_FRAGMENTS += " ${@bb.utils.contains('AGL_XEN_GUEST_WANTED','1','xen_domu.cfg','',d)}"
diff --git a/meta-agl-core/recipes-kernel/linux/linux/lttng.cfg b/meta-agl-core/recipes-kernel/linux/linux/lttng.cfg
new file mode 100644
index 000000000..e5f6b9c69
--- /dev/null
+++ b/meta-agl-core/recipes-kernel/linux/linux/lttng.cfg
@@ -0,0 +1 @@
+CONFIG_KALLSYMS_ALL=y
diff --git a/meta-agl-core/recipes-kernel/linux/linux/selinux.cfg b/meta-agl-core/recipes-kernel/linux/linux/selinux.cfg
index 5998111e3..d49283158 100644
--- a/meta-agl-core/recipes-kernel/linux/linux/selinux.cfg
+++ b/meta-agl-core/recipes-kernel/linux/linux/selinux.cfg
@@ -10,7 +10,5 @@ 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
index 3586a17bb..3424c80b9 100644
--- a/meta-agl-core/recipes-kernel/linux/linux/systemd-required.cfg
+++ b/meta-agl-core/recipes-kernel/linux/linux/systemd-required.cfg
@@ -26,7 +26,6 @@ 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
diff --git a/meta-agl-core/recipes-kernel/linux/linux/vbox-vmware-sata.cfg b/meta-agl-core/recipes-kernel/linux/linux/vbox-vmware-sata.cfg
index ce1eca1a7..a37f07d1f 100644
--- a/meta-agl-core/recipes-kernel/linux/linux/vbox-vmware-sata.cfg
+++ b/meta-agl-core/recipes-kernel/linux/linux/vbox-vmware-sata.cfg
@@ -12,7 +12,6 @@ CONFIG_BLK_DEV_SD=y
CONFIG_FUSION=y
CONFIG_FUSION_SPI=y
CONFIG_DRM_VMWGFX=y
-CONFIG_DRM_VMWGFX_FBCON=y
CONFIG_VMWARE_BALLOON=m
CONFIG_VMWARE_VMCI=m
CONFIG_VMWARE_VMCI_VSOCKETS=m
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 e7d99e5ac..9c8e240e9 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
@@ -12,7 +12,6 @@ CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_VGEM=m
CONFIG_DRM_VMWGFX=y
-CONFIG_DRM_VMWGFX_FBCON=y
CONFIG_DRM_GMA500=m
CONFIG_DRM_UDL=m
CONFIG_FB_DEFERRED_IO=y
diff --git a/meta-agl-core/recipes-kernel/linux/linux/x86-usb-devices.cfg b/meta-agl-core/recipes-kernel/linux/linux/x86-usb-devices.cfg
index 19c57796e..d74d4afd8 100644
--- a/meta-agl-core/recipes-kernel/linux/linux/x86-usb-devices.cfg
+++ b/meta-agl-core/recipes-kernel/linux/linux/x86-usb-devices.cfg
@@ -75,7 +75,6 @@ CONFIG_WL18XX=m
CONFIG_WLCORE=m
CONFIG_WLCORE_SPI=m
CONFIG_WLCORE_SDIO=m
-CONFIG_WILINK_PLATFORM_DATA=y
CONFIG_ZD1211RW=m
CONFIG_ZD1211RW_DEBUG=y
CONFIG_MWIFIEX=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
index f4139ff2c..685f80c7b 100644
--- 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
@@ -1,34 +1,34 @@
-From 2de455486403a710cb6896b0052b4cd7e46d83a2 Mon Sep 17 00:00:00 2001
+From b8bbab864a1367ac47bcc0998b4c07d20020965a Mon Sep 17 00:00:00 2001
From: Marius Vlad <marius.vlad@collabora.com>
-Date: Thu, 10 Aug 2023 14:20:48 +0300
+Date: Thu, 5 Oct 2023 18:23:52 +0300
Subject: [PATCH] ext/wayland: Add title/appid support
+Upstream-Status: Pending
+
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(-)
+ ext/wayland/gstwaylandsink.c | 41 +++++++++++++++++++++++++++++-
+ ext/wayland/gstwaylandsink.h | 2 ++
+ gst-libs/gst/wayland/gstwlwindow.c | 12 ++++++++-
+ gst-libs/gst/wayland/gstwlwindow.h | 3 ++-
+ 4 files changed, 55 insertions(+), 3 deletions(-)
diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c
-index 0761304..8913ee2 100644
+index 2f116bf..69f4a00 100644
--- a/ext/wayland/gstwaylandsink.c
+++ b/ext/wayland/gstwaylandsink.c
-@@ -63,7 +63,9 @@ enum
- {
- PROP_0,
+@@ -61,6 +61,8 @@ enum
PROP_DISPLAY,
-- PROP_FULLSCREEN
-+ PROP_FULLSCREEN,
+ PROP_FULLSCREEN,
+ PROP_ROTATE_METHOD,
+ PROP_APP_ID,
-+ PROP_TITLE
++ PROP_TITLE,
+ PROP_LAST
};
- GST_DEBUG_CATEGORY (gstwayland_debug);
-@@ -212,6 +214,16 @@ gst_wayland_sink_class_init (GstWaylandSinkClass * klass)
- "Whether the surface should be made fullscreen ", FALSE,
+@@ -177,6 +179,16 @@ gst_wayland_sink_class_init (GstWaylandSinkClass * klass)
+ GST_TYPE_VIDEO_ORIENTATION_METHOD, GST_VIDEO_ORIENTATION_IDENTITY,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class, PROP_APP_ID,
@@ -41,77 +41,77 @@ index 0761304..8913ee2 100644
+ "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);
+ /**
+ * waylandsink:render-rectangle:
+ *
+@@ -266,6 +278,16 @@ gst_wayland_sink_get_property (GObject * object,
+ g_value_set_enum (value, self->current_rotate_method);
+ GST_OBJECT_UNLOCK (self);
break;
+ case PROP_APP_ID:
-+ GST_OBJECT_LOCK (sink);
-+ g_value_set_string (value, sink->app_id);
-+ GST_OBJECT_UNLOCK (sink);
++ GST_OBJECT_LOCK (self);
++ g_value_set_string (value, self->app_id);
++ GST_OBJECT_UNLOCK (self);
+ break;
+ case PROP_TITLE:
-+ GST_OBJECT_LOCK (sink);
-+ g_value_set_string (value, sink->title);
-+ GST_OBJECT_UNLOCK (sink);
++ GST_OBJECT_LOCK (self);
++ g_value_set_string (value, self->title);
++ GST_OBJECT_UNLOCK (self);
+ 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);
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+@@ -289,6 +311,16 @@ gst_wayland_sink_set_property (GObject * object,
+ gst_wayland_sink_set_fullscreen (self, g_value_get_boolean (value));
+ GST_OBJECT_UNLOCK (self);
break;
+ case PROP_APP_ID:
-+ GST_OBJECT_LOCK (sink);
-+ sink->app_id = g_value_dup_string (value);
-+ GST_OBJECT_UNLOCK (sink);
++ GST_OBJECT_LOCK (self);
++ self->app_id = g_value_dup_string (value);
++ GST_OBJECT_UNLOCK (self);
+ break;
+ case PROP_TITLE:
-+ GST_OBJECT_LOCK (sink);
-+ sink->title = g_value_dup_string (value);
-+ GST_OBJECT_UNLOCK (sink);
++ GST_OBJECT_LOCK (self);
++ self->title = g_value_dup_string (value);
++ GST_OBJECT_UNLOCK (self);
+ 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);
+ case PROP_ROTATE_METHOD:
+ gst_wayland_sink_set_rotate_method (self, g_value_get_enum (value),
+ FALSE);
+@@ -310,12 +342,18 @@ gst_wayland_sink_finalize (GObject * object)
+ gst_buffer_unref (self->last_buffer);
+ if (self->display)
+ g_object_unref (self->display);
++ if (self->title)
++ g_object_unref (self->title);
++ if (self->app_id)
++ g_object_unref (self->app_id);
+ if (self->window)
+ g_object_unref (self->window);
+ if (self->pool)
+ gst_object_unref (self->pool);
- g_free (sink->display_name);
-+ g_free (sink->title);
-+ g_free (sink->app_id);
+ g_free (self->display_name);
++ g_free (self->title);
++ g_free (self->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) {
+ g_mutex_clear (&self->display_lock);
+ g_mutex_clear (&self->render_lock);
+@@ -761,7 +799,8 @@ gst_wayland_sink_show_frame (GstVideoSink * vsink, GstBuffer * buffer)
+ if (!self->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);
- }
+ self->window = gst_wl_window_new_toplevel (self->display,
+- &self->video_info, self->fullscreen, &self->render_lock);
++ &self->video_info, self->fullscreen, &self->app_id, &self->title,
++ &self->render_lock);
+ g_signal_connect_object (self->window, "closed",
+ G_CALLBACK (on_window_closed), self, 0);
+ gst_wl_window_set_rotate_method (self->window,
diff --git a/ext/wayland/gstwaylandsink.h b/ext/wayland/gstwaylandsink.h
-index 7aabb6f..4db00e5 100644
+index 3243d8c..6aee19d 100644
--- a/ext/wayland/gstwaylandsink.h
+++ b/ext/wayland/gstwaylandsink.h
-@@ -63,6 +63,8 @@ struct _GstWaylandSink
+@@ -58,6 +58,8 @@ struct _GstWaylandSink
gboolean fullscreen;
gchar *display_name;
@@ -120,47 +120,50 @@ index 7aabb6f..4db00e5 100644
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)
+diff --git a/gst-libs/gst/wayland/gstwlwindow.c b/gst-libs/gst/wayland/gstwlwindow.c
+index 6004993..de0a81e 100644
+--- a/gst-libs/gst/wayland/gstwlwindow.c
++++ b/gst-libs/gst/wayland/gstwlwindow.c
+@@ -270,7 +270,7 @@ gst_wl_window_ensure_fullscreen (GstWlWindow * self, 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;
+ GstWlWindow *self;
+ GstWlWindowPrivate *priv;
+@@ -307,6 +307,16 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info,
-@@ -287,6 +287,14 @@ gst_wl_window_new_toplevel (GstWlDisplay * display, const GstVideoInfo * info,
+ gst_wl_window_ensure_fullscreen (self, fullscreen);
- /* Finally, commit the xdg_surface state as toplevel */
- window->configured = FALSE;
+ if (app_id)
-+ xdg_toplevel_set_app_id (window->xdg_toplevel, app_id);
++ xdg_toplevel_set_app_id (priv->xdg_toplevel, app_id);
+ else
-+ xdg_toplevel_set_app_id (window->xdg_toplevel, "ext.wayland.waylandsink");
++ xdg_toplevel_set_app_id (priv->xdg_toplevel, "ext.wayland.waylandsink");
+ if (title)
-+ xdg_toplevel_set_title (window->xdg_toplevel, title);
++ xdg_toplevel_set_title (priv->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);
++ xdg_toplevel_set_title (priv->xdg_toplevel, "ext.wayland.waylandsink");
++
++
+ /* Finally, commit the xdg_surface state as toplevel */
+ priv->configured = FALSE;
+ wl_surface_commit (priv->area_surface);
+diff --git a/gst-libs/gst/wayland/gstwlwindow.h b/gst-libs/gst/wayland/gstwlwindow.h
+index 06c4001..e102052 100644
+--- a/gst-libs/gst/wayland/gstwlwindow.h
++++ b/gst-libs/gst/wayland/gstwlwindow.h
+@@ -39,7 +39,8 @@ void gst_wl_window_ensure_fullscreen (GstWlWindow * self,
-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);
+ GST_WL_API
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);
++ const GstVideoInfo * info, gboolean fullscreen, gchar * app_id,
++ gchar *title, GMutex * render_lock);
+ GST_WL_API
+ GstWlWindow *gst_wl_window_new_in_surface (GstWlDisplay * display,
--
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
deleted file mode 100644
index 72b924337..000000000
--- a/meta-agl-core/recipes-multimedia/gstreamer1.0-plugins-bad/files/rcar-gen3/0001-Added-appid-and-title-support.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-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-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 14c90b714..11c6fd27b 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
@@ -1,4 +1,4 @@
-From 552f06e025493f7e634ea9e27489861b88f45555 Mon Sep 17 00:00:00 2001
+From bdcbb0e78bbffe45719d0a27954544120f37442a Mon Sep 17 00:00:00 2001
From: Tim Orling <timothy.t.orling@linux.intel.com>
Date: Mon, 15 Oct 2018 18:30:42 -0700
Subject: [PATCH] Initial LAVA support
@@ -24,13 +24,12 @@ Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
[updated for ptest-runner 2.4.1]
[updated for ptest-runner 2.4.2]
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
-
---
flags.h | 10 ++++++++++
main.c | 9 ++++++++-
- utils.c | 15 +++++++++++++++
+ utils.c | 17 ++++++++++++++++-
utils.h | 2 +-
- 4 files changed, 34 insertions(+), 2 deletions(-)
+ 4 files changed, 35 insertions(+), 3 deletions(-)
create mode 100644 flags.h
diff --git a/flags.h b/flags.h
@@ -85,7 +84,7 @@ index 31e4dd5..f12d6d6 100644
print_usage(stdout, argv[0]);
exit(1);
diff --git a/utils.c b/utils.c
-index a67ac11..0c081ce 100644
+index 59b8b77..30423c4 100644
--- a/utils.c
+++ b/utils.c
@@ -49,6 +49,7 @@
@@ -96,28 +95,30 @@ index a67ac11..0c081ce 100644
#define GET_STIME_BUF_SIZE 1024
#define WAIT_CHILD_BUF_MAX_SIZE 1024
-@@ -483,6 +484,7 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
- fprintf(fp, "START: %s\n", progname);
- PTEST_LIST_ITERATE_START(head, p)
+@@ -425,6 +426,7 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
+ }
+
char *ptest_dir = strdup(p->run_ptest);
+ char *ptest = strdup(p->ptest);
if (ptest_dir == NULL) {
rc = -1;
break;
-@@ -525,6 +527,9 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
+@@ -477,7 +479,10 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
fprintf(fp, "ERROR: setpgid() failed, %s\n", strerror(errno));
}
+- time_t start_time= time(NULL);
+ if (opts.flags & LAVA_SIGNAL_ENABLE) {
+ fprintf(stdout, "<LAVA_SIGNAL_STARTTC %s>\n", ptest);
+ }
- sttime = time(NULL);
- fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, sttime));
++ time_t start_time = time(NULL);
+ fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, start_time));
fprintf(fp, "BEGIN: %s\n", ptest_dir);
-@@ -548,6 +553,16 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
+
+@@ -594,6 +599,16 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts,
fprintf(fp, "END: %s\n", ptest_dir);
- fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, entime));
+ fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, end_time));
+ if (opts.flags & LAVA_SIGNAL_ENABLE) {
+ char result[5]; // pass\0, fail\0, skip\0
+
@@ -130,7 +131,7 @@ index a67ac11..0c081ce 100644
+ }
}
free(ptest_dir);
- PTEST_LIST_ITERATE_END
+ do_close(&pipefd_stdout[PIPE_READ]);
diff --git a/utils.h b/utils.h
index 04fc666..ad702d8 100644
--- a/utils.h
@@ -146,3 +147,6 @@ index 04fc666..ad702d8 100644
extern void check_allocation1(void *, size_t, char *, int, int);
extern struct ptest_list *get_available_ptests(const char *);
extern int print_ptests(struct ptest_list *, FILE *);
+--
+2.37.3
+
diff --git a/meta-app-framework/conf/layer.conf b/meta-app-framework/conf/layer.conf
index 85565353e..0fe82784b 100644
--- a/meta-app-framework/conf/layer.conf
+++ b/meta-app-framework/conf/layer.conf
@@ -9,5 +9,5 @@ BBFILE_COLLECTIONS += "meta-app-framework"
BBFILE_PATTERN_meta-app-framework = "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-app-framework = "60"
-LAYERSERIES_COMPAT_meta-app-framework = "kirkstone"
+LAYERSERIES_COMPAT_meta-app-framework = "scarthgap"
LAYERDEPENDS_meta-app-framework = "core aglcore openembedded-layer"
diff --git a/meta-netboot/conf/layer.conf b/meta-netboot/conf/layer.conf
index ddf63c4a2..a41406cbb 100644
--- a/meta-netboot/conf/layer.conf
+++ b/meta-netboot/conf/layer.conf
@@ -9,5 +9,5 @@ BBFILE_COLLECTIONS += "meta-netboot"
BBFILE_PATTERN_meta-netboot = "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-netboot = "60"
-LAYERSERIES_COMPAT_meta-netboot = "kirkstone"
+LAYERSERIES_COMPAT_meta-netboot = "scarthgap"
LAYERDEPENDS_meta-netboot = "core networking-layer"
diff --git a/meta-pipewire/conf/layer.conf b/meta-pipewire/conf/layer.conf
index 639a3ef43..4a28a4244 100644
--- a/meta-pipewire/conf/layer.conf
+++ b/meta-pipewire/conf/layer.conf
@@ -9,7 +9,7 @@ BBFILE_COLLECTIONS += "meta-pipewire"
BBFILE_PATTERN_meta-pipewire = "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-pipewire = "71"
-LAYERSERIES_COMPAT_meta-pipewire = "kirkstone"
+LAYERSERIES_COMPAT_meta-pipewire = "scarthgap"
LAYERDEPENDS_meta-pipewire = "openembedded-layer"
#
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-multimedia/pipewire/pipewire_1.0.0.bb b/meta-pipewire/recipes-multimedia/pipewire/pipewire_1.0.0.bb
index 641c97e8f..6fa851caa 100644
--- a/meta-pipewire/recipes-multimedia/pipewire/pipewire_1.0.0.bb
+++ b/meta-pipewire/recipes-multimedia/pipewire/pipewire_1.0.0.bb
@@ -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"
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/scripts/.aglsetup_genconfig.bash b/scripts/.aglsetup_genconfig.bash
index c7ed92e47..3d380e69d 100755
--- a/scripts/.aglsetup_genconfig.bash
+++ b/scripts/.aglsetup_genconfig.bash
@@ -407,7 +407,7 @@ function genconfig() {
info " Features: $FEATURES"
# step 1: run usual OE setup to generate conf dir
- export TEMPLATECONF=$(cd $SCRIPTDIR/../templates/base && pwd -P)
+ export TEMPLATECONF=$(cd $SCRIPTDIR/../meta-agl-core/conf/templates/base && pwd -P)
debug "running oe-init-build-env with TEMPLATECONF=$TEMPLATECONF"
info " Running $METADIR/external/poky/oe-init-build-env"
info " Templates dir: $TEMPLATECONF"
@@ -417,7 +417,8 @@ function genconfig() {
cd $CURDIR
# step 2: concatenate other remaining fragments coming from base
- process_fragments $TEMPLATECONF
+ FRAGMENTS=$(cd $SCRIPTDIR/../templates/base && pwd -P)
+ process_fragments $FRAGMENTS
# step 3: fragments for machine
process_fragments $(find_machine_dir $MACHINE)
@@ -557,6 +558,7 @@ info "OK"
infon "Generating setup file: $BUILDDIR/agl-init-build-env ... "
cat <<EOF >$BUILDDIR/agl-init-build-env
+export TEMPLATECONF=${METADIR}/meta-agl/meta-agl-core/conf/templates/base
. $METADIR/external/poky/oe-init-build-env $BUILDDIR
if [ -n "\$DL_DIR" ]; then
BB_ENV_PASSTHROUGH_ADDITIONS="\$BB_ENV_PASSTHROUGH_ADDITIONS DL_DIR"
diff --git a/templates/feature/agl-ci/99_local.conf.inc b/templates/feature/agl-ci/99_local.conf.inc
index 1ff8c571b..c12cd1717 100644
--- a/templates/feature/agl-ci/99_local.conf.inc
+++ b/templates/feature/agl-ci/99_local.conf.inc
@@ -21,12 +21,15 @@ 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}:8383"
-BB_SIGNATURE_HANDLER = "OEEquivHash"
+#BB_HASHSERVE = "${AGL_HOST_HASHSERV}:8383"
+#BB_SIGNATURE_HANDLER = "OEEquivHash"
-PRSERV_HOST = "${AGL_HOST_PRSERV}:8181"
+#PRSERV_HOST = "${AGL_HOST_PRSERV}:8181"
IMAGE_INSTALL:append = " curl"
+
+# remote .rootfs suffix
+IMAGE_NAME_SUFFIX = ""
diff --git a/templates/feature/agl-netboot/50_bblayers.conf.inc b/templates/feature/agl-netboot/50_bblayers.conf.inc
index 7cbff1662..94e784a1a 100644
--- a/templates/feature/agl-netboot/50_bblayers.conf.inc
+++ b/templates/feature/agl-netboot/50_bblayers.conf.inc
@@ -2,6 +2,6 @@ BBLAYERS =+ " ${METADIR}/meta-agl/meta-netboot \
"
# Indirection to avoid duplicate inclusions of the same folder into BBLAYERS
-# the evaluation is in the bblayers.conf.sample in meta-agl/templates/base
+# the evaluation is in the bblayers.conf.sample in meta-agl/meta-agl-core/conf/templates/base
AGL_META_PYTHON = "${METADIR}/external/meta-openembedded/meta-python"
AGL_META_NETWORKING = "${METADIR}/external/meta-openembedded/meta-networking"