From 9d2a9f64689667056088e5b47f8996bca4c8930b Mon Sep 17 00:00:00 2001 From: Valentine Burley Date: Mon, 16 Mar 2026 13:07:39 +0100 Subject: [PATCH] ci: Avoid mixing libwayland versions in build and test containers Mesa CI currently builds some libwayland components as part of the container images while installing others from the Debian repositories. This results in a version mismatch: we build 1.24.0 locally, while Debian Trixie provides 1.23.1. Mixing these versions is unsupported and breaks the arm32 jobs. Instead of building libwayland in CI, switch back to using the Debian packages (now updated to 1.24.0 via ci-deb-repo). This ensures a consistent version across build and test containers and fixes the arm32 failures. Note that Cuttlefish ships its own older libwayland_client.so without wl_fixes. As a result, we still need to keep the -D legacy-wayland=bind-wayland-display workaround for both x86_64 and arm64, which effectively builds Mesa against an older Wayland interface. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/15072 Signed-off-by: Valentine Burley Part-of: --- .gitlab-ci/container/build-wayland.sh | 2 -- .gitlab-ci/container/cross_build.sh | 8 ++++++-- .gitlab-ci/container/debian/arm64_build.sh | 4 ++-- .gitlab-ci/container/debian/test-base.sh | 10 +++++----- .gitlab-ci/container/debian/x86_64_build.sh | 6 ++++-- .gitlab-ci/image-tags.yml | 2 +- 6 files changed, 18 insertions(+), 14 deletions(-) diff --git a/.gitlab-ci/container/build-wayland.sh b/.gitlab-ci/container/build-wayland.sh index c852deec27d..b31d0f4b6b8 100644 --- a/.gitlab-ci/container/build-wayland.sh +++ b/.gitlab-ci/container/build-wayland.sh @@ -8,8 +8,6 @@ section_start wayland "Building Wayland" # When changing this file, you need to bump the following # .gitlab-ci/image-tags.yml tags: # ALPINE_X86_64_BUILD_TAG -# DEBIAN_BUILD_TAG -# DEBIAN_TEST_BASE_TAG # FEDORA_X86_64_BUILD_TAG export LIBWAYLAND_VERSION="1.24.0" diff --git a/.gitlab-ci/container/cross_build.sh b/.gitlab-ci/container/cross_build.sh index 9e97fe83052..0554574ee9c 100644 --- a/.gitlab-ci/container/cross_build.sh +++ b/.gitlab-ci/container/cross_build.sh @@ -25,6 +25,12 @@ DEPS=( "libpciaccess-dev:$arch" "libstdc++6:$arch" "libvulkan-dev:$arch" + "libwayland-client0:$arch" + "libwayland-cursor0:$arch" + "libwayland-dev:$arch" + "libwayland-egl1:$arch" + "libwayland-egl-backend-dev:$arch" + "libwayland-server0:$arch" "libx11-dev:$arch" "libx11-xcb-dev:$arch" "libxcb-dri2-0-dev:$arch" @@ -78,8 +84,6 @@ fi # dependencies where we want a specific version MULTIARCH_PATH=$(dpkg-architecture -A $arch -qDEB_TARGET_MULTIARCH) export EXTRA_MESON_ARGS="--cross-file=/cross_file-${arch}.txt -D libdir=lib/${MULTIARCH_PATH}" -. .gitlab-ci/container/build-wayland.sh - . .gitlab-ci/container/build-directx-headers.sh apt-get purge -y "${EPHEMERAL[@]}" diff --git a/.gitlab-ci/container/debian/arm64_build.sh b/.gitlab-ci/container/debian/arm64_build.sh index d3cbd9848cd..4f28284ed0f 100644 --- a/.gitlab-ci/container/debian/arm64_build.sh +++ b/.gitlab-ci/container/debian/arm64_build.sh @@ -69,6 +69,7 @@ DEPS=( libxshmfence-dev libxtensor-dev libxxf86vm-dev + libwayland-bin libwayland-dev libwayland-egl-backend-dev "llvm-${LLVM_VERSION}-dev" @@ -84,6 +85,7 @@ DEPS=( python3-venv shellcheck u-boot-tools + wayland-protocols xz-utils yamllint zlib1g-dev @@ -109,8 +111,6 @@ arch=armhf . .gitlab-ci/container/build-mold.sh -. .gitlab-ci/container/build-wayland.sh - . .gitlab-ci/container/build-llvm-spirv.sh . .gitlab-ci/container/build-libclc.sh diff --git a/.gitlab-ci/container/debian/test-base.sh b/.gitlab-ci/container/debian/test-base.sh index 28f14aba47b..c885d5b930d 100644 --- a/.gitlab-ci/container/debian/test-base.sh +++ b/.gitlab-ci/container/debian/test-base.sh @@ -89,7 +89,6 @@ EPHEMERAL=( python3-setuptools python3-venv python3-wheel - wayland-protocols xz-utils ) @@ -124,7 +123,11 @@ DEPS=( libtirpc3t64 libubsan1 libvulkan1 + libwayland-bin libwayland-client0 + libwayland-cursor0 + libwayland-dev + libwayland-egl1 libwayland-server0 libxcb-composite0 libxcb-dri2-0 @@ -157,6 +160,7 @@ DEPS=( sysvinit-core vulkan-tools waffle-utils + wayland-protocols xinit xserver-common xserver-xorg-video-amdgpu @@ -209,10 +213,6 @@ section_end debian_setup . .gitlab-ci/container/build-libclc.sh -############### Build Wayland - -. .gitlab-ci/container/build-wayland.sh - ############### Build Weston . .gitlab-ci/container/build-weston.sh diff --git a/.gitlab-ci/container/debian/x86_64_build.sh b/.gitlab-ci/container/debian/x86_64_build.sh index 044daf63ee6..aa71d4d3813 100644 --- a/.gitlab-ci/container/debian/x86_64_build.sh +++ b/.gitlab-ci/container/debian/x86_64_build.sh @@ -45,6 +45,9 @@ DEPS=( libxcb-xfixes0-dev libxcb1-dev libxml2-dev + libwayland-bin + libwayland-dev + libwayland-egl-backend-dev "llvm-${LLVM_VERSION}-dev" ocl-icd-opencl-dev python3-pip @@ -52,6 +55,7 @@ DEPS=( spirv-tools strace time + wayland-protocols zstd ) @@ -76,8 +80,6 @@ tar -xvf $XORGMACROS_VERSION.tar.bz2 && rm $XORGMACROS_VERSION.tar.bz2 cd $XORGMACROS_VERSION; ./configure; make install; cd .. rm -rf $XORGMACROS_VERSION -. .gitlab-ci/container/build-wayland.sh - . .gitlab-ci/container/build-shader-db.sh . .gitlab-ci/container/build-directx-headers.sh diff --git a/.gitlab-ci/image-tags.yml b/.gitlab-ci/image-tags.yml index b5ac85a7a42..02969683990 100644 --- a/.gitlab-ci/image-tags.yml +++ b/.gitlab-ci/image-tags.yml @@ -34,7 +34,7 @@ variables: KERNEL_TAG: "v6.19-mesa-9505" KERNEL_REPO: "gfx-ci/linux" - PKG_REPO_REV: "0d2527f6" + PKG_REPO_REV: "78fcf356" FIRMWARE_TAG: "8fc31b97" FIRMWARE_REPO: "gfx-ci/firmware"