diff options
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, ®istry_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" |