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 <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40487>
This commit is contained in:
Valentine Burley 2026-03-16 13:07:39 +01:00 committed by Marge Bot
parent db5a1ed2fa
commit 9d2a9f6468
6 changed files with 18 additions and 14 deletions

View file

@ -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"

View file

@ -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[@]}"

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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"