Already in hard-freeze, so we don't have to worry about breaking changes.
Significant changes:
- LLVM 15 is used instead of 11 or 13
- /dev/shm has to be manually mounted
- Debian 12 uses libdrm 2.4.114
- reworked creating of rootfs, from debootstrap to mmdebstrap
- split `create-rootfs.sh` into `lava_build.sh`, `setup-rootfs.sh`, and `strip-rootfs.sh`
- dropped winehq repository for now (Debian wine is up-to-date enough)
- we use wine now, no need to call explicitly call wine64
- bumped libasan from version 6 to 8
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21977>
- .use-debian/x86_build
stage: build-x86_64
variables:
- LLVM_VERSION: 11
+ LLVM_VERSION: 15
script:
- .gitlab-ci/meson/build.sh
-D perfetto=true
-D tools=drm-shim
MINIO_ARTIFACT_NAME: mesa-amd64
- LLVM_VERSION: "13"
+ LLVM_VERSION: 15
script:
- .gitlab-ci/meson/build.sh
- .gitlab-ci/prepare-artifacts.sh
- .meson-build
- .ci-deqp-artifacts
variables:
- LLVM_VERSION: "13"
+ LLVM_VERSION: 15
UNWIND: "enabled"
DRI_LOADERS: >
-D glx=disabled
-D osmesa=true
-D tools=drm-shim,etnaviv,freedreno,glsl,intel,intel-ui,nir,nouveau,lima,panfrost,asahi
-D b_lto=true
- LLVM_VERSION: 13
+ LLVM_VERSION: 15
script: |
section_start lava-pytest "lava-pytest"
.gitlab-ci/lava/lava-pytest.sh
debian-release:
extends: .meson-build
variables:
- LLVM_VERSION: "13"
+ LLVM_VERSION: 15
UNWIND: "enabled"
DRI_LOADERS: >
-D glx=dri
debian-clang:
extends: .meson-build
variables:
- LLVM_VERSION: "13"
+ LLVM_VERSION: 15
UNWIND: "enabled"
GALLIUM_DUMP_CPU: "true"
C_ARGS: >
-D gles1=enabled
-D gles2=enabled
-D llvm=enabled
- -D microsoft-clc=enabled
+ -D microsoft-clc=disabled
-D shared-llvm=enabled
-D opencl-spirv=true
GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,radeonsi,tegra,d3d12,crocus,i915,asahi"
-D build-aco-tests=true
-D intel-clc=enabled
-D imagination-srv=true
- CC: clang
- CXX: clang++
+ CC: clang-${LLVM_VERSION}
+ CXX: clang++-${LLVM_VERSION}
debian-clang-release:
extends: debian-clang
.debian-cl:
extends: .meson-build
variables:
- LLVM_VERSION: "13"
+ LLVM_VERSION: 15
UNWIND: "enabled"
DRI_LOADERS: >
-D glx=disabled
debian-vulkan:
extends: .meson-build
variables:
- LLVM_VERSION: "13"
+ LLVM_VERSION: 15
UNWIND: "disabled"
DRI_LOADERS: >
-D glx=disabled
CROSS: i386
VULKAN_DRIVERS: intel,amd,swrast,virtio
GALLIUM_DRIVERS: "iris,nouveau,r300,r600,radeonsi,swrast,virgl,zink,crocus"
- LLVM_VERSION: 13
+ LLVM_VERSION: 15
EXTRA_OPTION: >
-D vulkan-layers=device-select,overlay
variables:
CROSS: s390x
GALLIUM_DRIVERS: "swrast,zink"
- LLVM_VERSION: 13
+ LLVM_VERSION: 15
VULKAN_DRIVERS: "swrast"
debian-ppc64el:
mount -t devtmpfs none /dev || echo possibly already mounted
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
+mkdir /dev/shm
+mount -t tmpfs -o noexec,nodev,nosuid tmpfs /dev/shm
mount -t tmpfs tmpfs /tmp
echo "nameserver 8.8.8.8" > /etc/resolv.conf
-#!/bin/bash
+#!/usr/bin/env bash
# shellcheck disable=SC2086 # we want word splitting
set -ex
git clone --single-branch -b master --no-checkout https://gitlab.freedesktop.org/virgl/virglrenderer.git third_party/virglrenderer
pushd third_party/virglrenderer
git checkout "$VIRGLRENDERER_VERSION"
-meson setup build/ -Drender-server-worker=process -Dvenus=true $EXTRA_MESON_ARGS
+meson setup build/ -D libdir=lib -D render-server-worker=process -D venus=true $EXTRA_MESON_ARGS
meson install -C build
popd
-#!/bin/bash
+#!/usr/bin/env bash
set -ex
-export LLVM_CONFIG="llvm-config-11"
+export LLVM_CONFIG="llvm-config-${LLVM_VERSION:?"llvm unset!"}"
+LLVM_TAG="llvmorg-15.0.7"
$LLVM_CONFIG --version
git clone \
https://github.com/llvm/llvm-project \
--depth 1 \
- -b llvmorg-12.0.0-rc3 \
+ -b "${LLVM_TAG}" \
/llvm-project
mkdir /libclc
pushd /libclc
-cmake -S /llvm-project/libclc -B . -G Ninja -DLLVM_CONFIG=$LLVM_CONFIG -DLIBCLC_TARGETS_TO_BUILD="spirv-mesa3d-;spirv64-mesa3d-" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DLLVM_SPIRV=/usr/bin/llvm-spirv
+cmake -S /llvm-project/libclc -B . -G Ninja -DLLVM_CONFIG="$LLVM_CONFIG" -DLIBCLC_TARGETS_TO_BUILD="spirv-mesa3d-;spirv64-mesa3d-" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DLLVM_SPIRV=/usr/bin/llvm-spirv
ninja
ninja install
popd
-#!/bin/bash
+#!/usr/bin/env bash
set -ex
-VER="13.0.0"
+VER="${LLVM_VERSION:?llvm not set}.0.0"
curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
-O "https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/refs/tags/v${VER}.tar.gz"
echo "set(CMAKE_SYSTEM_PROCESSOR arm)";
echo "set(CMAKE_C_COMPILER /usr/lib/ccache/$GCC_ARCH-gcc)";
echo "set(CMAKE_CXX_COMPILER /usr/lib/ccache/$GCC_ARCH-g++)";
+ echo "set(CMAKE_CXX_FLAGS_INIT \"-Wno-psabi\")"; # makes ABI warnings quiet for ARMv7
echo "set(ENV{PKG_CONFIG} \"/usr/bin/$GCC_ARCH-pkgconf\")";
echo "set(DE_CPU $DE_CPU)";
} > "$toolchain_file"
+++ /dev/null
-#!/bin/bash
-# shellcheck disable=SC2140 # ugly array, remove later
-# shellcheck disable=SC2288 # ugly array, remove later
-# shellcheck disable=SC2086 # we want word splitting
-
-set -ex
-
-if [ $DEBIAN_ARCH = arm64 ]; then
- ARCH_PACKAGES="firmware-qcom-media
- firmware-linux-nonfree
- libfontconfig1
- libgl1
- libglu1-mesa
- libvulkan-dev
- "
-elif [ $DEBIAN_ARCH = amd64 ]; then
- # Add llvm 13 to the build image
- apt-get -y install --no-install-recommends curl gnupg2 software-properties-common
- apt-key add /llvm-snapshot.gpg.key
- add-apt-repository "deb https://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-13 main"
- # Debian bullseye has older wine 5.0, we want >= 7.0 for traces.
- apt-key add /winehq.gpg.key
- apt-add-repository https://dl.winehq.org/wine-builds/debian/
-
-
- ARCH_PACKAGES="firmware-amd-graphics
- inetutils-syslogd
- iptables
- libcap2
- libfontconfig1
- libelf1
- libfdt1
- libgl1
- libglu1-mesa
- libllvm13
- libllvm11
- libva2
- libva-drm2
- libvulkan-dev
- socat
- spirv-tools
- sysvinit-core
- "
-
-elif [ $DEBIAN_ARCH = armhf ]; then
- ARCH_PACKAGES="firmware-misc-nonfree
- "
-fi
-
-INSTALL_CI_FAIRY_PACKAGES="git
- python3-dev
- python3-pip
- python3-setuptools
- python3-wheel
- "
-
-apt-get update
-apt-get -y install --no-install-recommends \
- $ARCH_PACKAGES \
- $INSTALL_CI_FAIRY_PACKAGES \
- $EXTRA_LOCAL_PACKAGES \
- bash \
- ca-certificates \
- curl \
- dropbear \
- firmware-realtek \
- initramfs-tools \
- jq \
- libasan6 \
- libexpat1 \
- libpng16-16 \
- libpython3.9 \
- libsensors5 \
- libvulkan1 \
- libwaffle-1-0 \
- libx11-6 \
- libx11-xcb1 \
- libxcb-dri2-0 \
- libxcb-dri3-0 \
- libxcb-glx0 \
- libxcb-present0 \
- libxcb-randr0 \
- libxcb-shm0 \
- libxcb-sync1 \
- libxcb-xfixes0 \
- libxdamage1 \
- libxext6 \
- libxfixes3 \
- libxkbcommon0 \
- libxrender1 \
- libxshmfence1 \
- libxxf86vm1 \
- netcat-openbsd \
- python3 \
- python3-lxml \
- python3-mako \
- python3-numpy \
- python3-packaging \
- python3-pil \
- python3-renderdoc \
- python3-requests \
- python3-simplejson \
- python3-yaml \
- sntp \
- strace \
- waffle-utils \
- weston \
- xinit \
- xserver-xorg-core \
- xwayland \
- zstd
-
-
-if [ "$DEBIAN_ARCH" = "amd64" ]; then
- # workaround wine needing 32-bit
- # https://bugs.winehq.org/show_bug.cgi?id=53393
- apt-get install -y --no-remove wine-stable-amd64 # a requirement for wine-stable
- WINE_PKG="wine-stable"
- WINE_PKG_DROP="wine-stable-i386"
- apt download "${WINE_PKG}"
- dpkg --ignore-depends="${WINE_PKG_DROP}" -i "${WINE_PKG}"*.deb
- rm "${WINE_PKG}"*.deb
- sed -i "/${WINE_PKG_DROP}/d" /var/lib/dpkg/status
- apt-get install -y --no-remove winehq-stable # symlinks-only, depends on wine-stable
-fi
-
-# Needed for ci-fairy, this revision is able to upload files to
-# MinIO and doesn't depend on git
-pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2
-
-# Needed for manipulation with traces yaml files.
-pip3 install yq
-
-apt-get purge -y \
- $INSTALL_CI_FAIRY_PACKAGES
-
-passwd root -d
-chsh -s /bin/sh
-
-cat > /init <<EOF
-#!/bin/sh
-export PS1=lava-shell:
-exec sh
-EOF
-chmod +x /init
-
-#######################################################################
-# Strip the image to a small minimal system without removing the debian
-# toolchain.
-
-# Copy timezone file and remove tzdata package
-rm -rf /etc/localtime
-cp /usr/share/zoneinfo/Etc/UTC /etc/localtime
-
-UNNEEDED_PACKAGES="
- libfdisk1
- "
-
-export DEBIAN_FRONTEND=noninteractive
-
-# Removing unused packages
-for PACKAGE in ${UNNEEDED_PACKAGES}
-do
- echo ${PACKAGE}
- if ! apt-get remove --purge --yes "${PACKAGE}"
- then
- echo "WARNING: ${PACKAGE} isn't installed"
- fi
-done
-
-apt-get autoremove --yes || true
-
-# Dropping logs
-rm -rf /var/log/*
-
-# Dropping documentation, localization, i18n files, etc
-rm -rf /usr/share/doc/*
-rm -rf /usr/share/locale/*
-rm -rf /usr/share/X11/locale/*
-rm -rf /usr/share/man
-rm -rf /usr/share/i18n/*
-rm -rf /usr/share/info/*
-rm -rf /usr/share/lintian/*
-rm -rf /usr/share/common-licenses/*
-rm -rf /usr/share/mime/*
-
-# Dropping reportbug scripts
-rm -rf /usr/share/bug
-
-# Drop udev hwdb not required on a stripped system
-rm -rf /lib/udev/hwdb.bin /lib/udev/hwdb.d/*
-
-# Drop all gconv conversions && binaries
-rm -rf usr/bin/iconv
-rm -rf usr/sbin/iconvconfig
-rm -rf usr/lib/*/gconv/
-
-# Remove libusb database
-rm -rf usr/sbin/update-usbids
-rm -rf var/lib/usbutils/usb.ids
-rm -rf usr/share/misc/usb.ids
-
-rm -rf /root/.pip
-
-#######################################################################
-# Crush into a minimal production image to be deployed via some type of image
-# updating system.
-# IMPORTANT: The Debian system is not longer functional at this point,
-# for example, apt and dpkg will stop working
-
-UNNEEDED_PACKAGES="apt libapt-pkg6.0 "\
-"ncurses-bin ncurses-base libncursesw6 libncurses6 "\
-"perl-base "\
-"debconf libdebconfclient0 "\
-"e2fsprogs e2fslibs libfdisk1 "\
-"insserv "\
-"udev "\
-"init-system-helpers "\
-"cpio "\
-"passwd "\
-"libsemanage1 libsemanage-common "\
-"libsepol1 "\
-"gpgv "\
-"hostname "\
-"adduser "\
-"debian-archive-keyring "\
-"libegl1-mesa-dev "\
-"libegl-mesa0 "\
-"libgl1-mesa-dev "\
-"libgl1-mesa-dri "\
-"libglapi-mesa "\
-"libgles2-mesa-dev "\
-"libglx-mesa0 "\
-"mesa-common-dev "\
-"gnupg2 "\
-"software-properties-common " \
-
-# Removing unneeded packages
-for PACKAGE in ${UNNEEDED_PACKAGES}
-do
- echo "Forcing removal of ${PACKAGE}"
- if ! dpkg --purge --force-remove-essential --force-depends "${PACKAGE}"
- then
- echo "WARNING: ${PACKAGE} isn't installed"
- fi
-done
-
-# Show what's left package-wise before dropping dpkg itself
-COLUMNS=300 dpkg-query -W --showformat='${Installed-Size;10}\t${Package}\n' | sort -k1,1n
-
-# Drop dpkg
-dpkg --purge --force-remove-essential --force-depends dpkg
-
-# No apt or dpkg, no need for its configuration archives
-rm -rf etc/apt
-rm -rf etc/dpkg
-
-# Drop directories not part of ostree
-# Note that /var needs to exist as ostree bind mounts the deployment /var over
-# it
-rm -rf var/* srv share
-
-# ca-certificates are in /etc drop the source
-rm -rf usr/share/ca-certificates
-
-# No need for completions
-rm -rf usr/share/bash-completion
-
-# No zsh, no need for comletions
-rm -rf usr/share/zsh/vendor-completions
-
-# drop gcc python helpers
-rm -rf usr/share/gcc
-
-# Drop sysvinit leftovers
-rm -rf etc/init.d
-rm -rf etc/rc[0-6S].d
-
-# Drop upstart helpers
-rm -rf etc/init
-
-# Various xtables helpers
-rm -rf usr/lib/xtables
-
-# Drop all locales
-# TODO: only remaining locale is actually "C". Should we really remove it?
-rm -rf usr/lib/locale/*
-
-# partition helpers
-rm -rf usr/sbin/*fdisk
-
-# local compiler
-rm -rf usr/bin/localedef
-
-# Systemd dns resolver
-find usr etc -name '*systemd-resolve*' -prune -exec rm -r {} \;
-
-# Systemd network configuration
-find usr etc -name '*networkd*' -prune -exec rm -r {} \;
-
-# systemd ntp client
-find usr etc -name '*timesyncd*' -prune -exec rm -r {} \;
-
-# systemd hw database manager
-find usr etc -name '*systemd-hwdb*' -prune -exec rm -r {} \;
-
-# No need for fuse
-find usr etc -name '*fuse*' -prune -exec rm -r {} \;
-
-# lsb init function leftovers
-rm -rf usr/lib/lsb
-
-# Only needed when adding libraries
-rm -rf usr/sbin/ldconfig*
-
-# Games, unused
-rmdir usr/games
-
-# Remove pam module to authenticate against a DB
-# plus libdb-5.3.so that is only used by this pam module
-rm -rf usr/lib/*/security/pam_userdb.so
-rm -rf usr/lib/*/libdb-5.3.so
-
-# remove NSS support for nis, nisplus and hesiod
-rm -rf usr/lib/*/libnss_hesiod*
-rm -rf usr/lib/*/libnss_nis*
set -o xtrace
export DEBIAN_FRONTEND=noninteractive
+export LLVM_VERSION="${LLVM_VERSION:=15}"
# Ephemeral packages (installed for this script and removed again at the end)
STABLE_EPHEMERAL=" \
apt-get install -y --no-remove \
$STABLE_EPHEMERAL \
- curl \
crossbuild-essential-$arch \
- pkgconf:$arch \
+ pkgconf:$arch \
+ libdrm-dev:$arch \
libelf-dev:$arch \
libexpat1-dev:$arch \
libffi-dev:$arch \
libwayland-dev:$arch
if [[ $arch != "armhf" ]]; then
- # See the list of available architectures in https://apt.llvm.org/bullseye/dists/llvm-toolchain-bullseye-13/main/
- if [[ $arch == "s390x" ]] || [[ $arch == "i386" ]] || [[ $arch == "arm64" ]]; then
- LLVM=13
- else
- LLVM=11
- fi
-
# We don't need clang-format for the crossbuilds, but the installed amd64
# package will conflict with libclang. Uninstall clang-format (and its
# problematic dependency) to fix.
- apt-get remove -y clang-format-13 libclang-cpp13
+ apt-get remove -y clang-format-${LLVM_VERSION} libclang-cpp${LLVM_VERSION}
# llvm-*-tools:$arch conflicts with python3:amd64. Install dependencies only
# with apt-get, then force-install llvm-*-{dev,tools}:$arch with dpkg to get
# around this.
apt-get install -y --no-remove --no-install-recommends \
- libclang-cpp${LLVM}:$arch \
+ libclang-cpp${LLVM_VERSION}:$arch \
libgcc-s1:$arch \
libtinfo-dev:$arch \
libz3-dev:$arch \
- llvm-${LLVM}:$arch \
+ llvm-${LLVM_VERSION}:$arch \
zlib1g
fi
# This needs to be done after container_post_build.sh, or apt-get breaks in there
if [[ $arch != "armhf" ]]; then
- apt-get download llvm-${LLVM}-{dev,tools}:$arch
- dpkg -i --force-depends llvm-${LLVM}-*_${arch}.deb
- rm llvm-${LLVM}-*_${arch}.deb
+ apt-get download llvm-${LLVM_VERSION}-{dev,tools}:$arch
+ dpkg -i --force-depends llvm-${LLVM_VERSION}-*_${arch}.deb
+ rm llvm-${LLVM_VERSION}-*_${arch}.deb
fi
-#!/bin/bash
+#!/usr/bin/env bash
# shellcheck disable=SC2086 # we want word splitting
set -ex
-#!/bin/bash
+#!/usr/bin/env bash
# shellcheck disable=SC2086 # we want word splitting
set -e
set -o xtrace
+export LLVM_VERSION="${LLVM_VERSION:=15}"
+
apt-get -y install ca-certificates
-sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
-echo 'deb https://deb.debian.org/debian buster main' >/etc/apt/sources.list.d/buster.list
+sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list.d/*
apt-get update
# Ephemeral packages (installed for this script and removed again at
"
apt-get -y install \
- ${EXTRA_LOCAL_PACKAGES} \
${STABLE_EPHEMERAL} \
+ apt-utils \
android-libext4-utils \
autoconf \
automake \
git \
glslang-tools \
kmod \
- libasan6 \
+ libasan8 \
libdrm-dev \
libelf-dev \
libexpat1-dev \
libxshmfence-dev \
libxxf86vm-dev \
libwayland-dev \
- llvm-11-dev \
+ libwayland-egl-backend-dev \
+ llvm-${LLVM_VERSION}-dev \
ninja-build \
+ meson \
+ openssh-server \
pkgconf \
python3-mako \
python3-pil \
zlib1g-dev \
zstd
-pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2
-
-# We need at least 0.61.4 for proper Rust; 0.62 for modern meson env2mfile
-pip3 install meson==0.63.3
+pip3 install --break-system-packages git+http://gitlab.freedesktop.org/freedesktop/ci-templates@ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2
arch=armhf
. .gitlab-ci/container/cross_build.sh
. .gitlab-ci/container/build-mold.sh
-# dependencies where we want a specific version
-EXTRA_MESON_ARGS=
-. .gitlab-ci/container/build-libdrm.sh
-
. .gitlab-ci/container/build-wayland.sh
apt-get purge -y $STABLE_EPHEMERAL
############### Install packages for baremetal testing
apt-get install -y ca-certificates
-sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
+sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list.d/*
apt-get update
apt-get install -y --no-remove \
cpio \
curl \
fastboot \
- netcat \
+ netcat-openbsd \
+ openssh-server \
procps \
python3-distutils \
python3-minimal \
-#!/bin/bash
+#!/usr/bin/env bash
set -e
set -o xtrace
xvfb
# Used to initialize the Wine environment to reduce build time
-wine64 whoami.exe
-
+wine wineboot.exe --init
set -o xtrace
export DEBIAN_FRONTEND=noninteractive
+export LLVM_VERSION="${LLVM_VERSION:=15}"
-apt-get install -y ca-certificates gnupg2 software-properties-common
-
-# Add llvm 13 to the build image
-apt-key add .gitlab-ci/container/debian/llvm-snapshot.gpg.key
-add-apt-repository "deb https://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-13 main"
-
-sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
+apt-get install -y ca-certificates
+sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list.d/*
# Ephemeral packages (installed for this script and removed again at
# the end)
STABLE_EPHEMERAL=" \
- python3-pip \
- python3-setuptools \
"
apt-get update
apt-get install -y --no-remove \
$STABLE_EPHEMERAL \
+ apt-utils \
bison \
ccache \
- curl \
- clang-format-13 \
+ curl \
+ clang-format-${LLVM_VERSION} \
dpkg-cross \
findutils \
flex \
git \
glslang-tools \
kmod \
- libclang-13-dev \
- libclang-11-dev \
+ libclang-${LLVM_VERSION}-dev \
+ libclang-cpp${LLVM_VERSION}-dev \
+ libclang-common-${LLVM_VERSION}-dev \
libelf-dev \
libepoxy-dev \
libexpat1-dev \
libgtk-3-dev \
- libllvm13 \
- libllvm11 \
+ libllvm${LLVM_VERSION} \
libomxil-bellagio-dev \
libpciaccess-dev \
libunwind-dev \
libxrender-dev \
libxshmfence-dev \
libxxf86vm-dev \
+ libwayland-egl-backend-dev \
make \
+ meson \
ninja-build \
+ openssh-server \
pkgconf \
python3-mako \
python3-pil \
+ python3-pip \
python3-ply \
python3-requests \
+ python3-setuptools \
qemu-user \
valgrind \
x11proto-dri2-dev \
x11proto-randr-dev \
xz-utils \
zlib1g-dev \
- zstd
-
-# Needed for ci-fairy, this revision is able to upload files to MinIO
-pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2
+ zstd
-# We need at least 1.0.0 for proper Rust; 0.62 for modern meson env2mfile
-pip3 install meson==1.0.0
+# Needed for ci-fairy, this revision is able to upload files to S3
+pip3 install --break-system-packages git+http://gitlab.freedesktop.org/freedesktop/ci-templates@ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2
. .gitlab-ci/container/build-rust.sh
popd
# Building LLVM
-git clone -b release/14.x --depth=1 \
+git clone -b release/15.x --depth=1 \
https://github.com/llvm/llvm-project llvm-project
-git clone -b v14.0.0 --depth=1 \
+git clone -b v15.0.0 --depth=1 \
https://github.com/KhronosGroup/SPIRV-LLVM-Translator llvm-project/llvm/projects/SPIRV-LLVM-Translator
mkdir llvm-project/build
-#!/bin/bash
+#!/usr/bin/env bash
set -e
set -o xtrace
-#!/bin/bash
+#!/usr/bin/env bash
# shellcheck disable=SC2086 # we want word splitting
set -e
set -o xtrace
export DEBIAN_FRONTEND=noninteractive
+export LLVM_VERSION="${LLVM_VERSION:=15}"
# Ephemeral packages (installed for this script and removed again at the end)
STABLE_EPHEMERAL=" \
apt-get install -y --no-remove \
$STABLE_EPHEMERAL \
check \
- clang \
- libasan6 \
+ clang-${LLVM_VERSION} \
+ libasan8 \
libarchive-dev \
- libclang-cpp13-dev \
- libclang-cpp11-dev \
+ libdrm-dev \
+ libclang-cpp${LLVM_VERSION}-dev \
libgbm-dev \
libglvnd-dev \
liblua5.3-dev \
libxcb-xfixes0-dev \
libxcb1-dev \
libxml2-dev \
- llvm-13-dev \
- llvm-11-dev \
+ llvm-${LLVM_VERSION}-dev \
ocl-icd-opencl-dev \
python3-pip \
python3-venv \
. .gitlab-ci/container/build-libclc.sh
-. .gitlab-ci/container/build-libdrm.sh
-
. .gitlab-ci/container/build-wayland.sh
pushd /usr/local
popd
rm -rf DirectX-Headers
-python3 -m pip install -r .gitlab-ci/lava/requirements.txt
+python3 -m pip install --break-system-packages -r .gitlab-ci/lava/requirements.txt
# install bindgen
RUSTFLAGS='-L native=/usr/local/lib' cargo install \
-#!/bin/bash
+#!/usr/bin/env bash
# shellcheck disable=SC2086 # we want word splitting
set -e
apt-get install -y ca-certificates gnupg2 software-properties-common
-sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list
+sed -i -e 's/http:\/\/deb/https:\/\/deb/g' /etc/apt/sources.list.d/*
+
+export LLVM_VERSION="${LLVM_VERSION:=15}"
# Ephemeral packages (installed for this script and removed again at
# the end)
bzip2 \
ccache \
cmake \
- clang-11 \
+ clang-${LLVM_VERSION} \
flex \
glslang-tools \
g++ \
libasound2-dev \
libcap-dev \
- libclang-cpp11-dev \
+ libclang-cpp${LLVM_VERSION}-dev \
+ libdrm-dev \
libegl-dev \
libelf-dev \
libepoxy-dev \
libwayland-dev \
libx11-xcb-dev \
libxext-dev \
- llvm-13-dev \
- llvm-11-dev \
+ llvm-${LLVM_VERSION}-dev \
make \
meson \
+ openssh-server \
patch \
pkgconf \
protobuf-compiler \
xz-utils \
"
-# Add llvm 13 to the build image
-apt-key add .gitlab-ci/container/debian/llvm-snapshot.gpg.key
-add-apt-repository "deb https://apt.llvm.org/bullseye/ llvm-toolchain-bullseye-13 main"
-
apt-get update
apt-get dist-upgrade -y
-apt-get install -y \
- sysvinit-core
+apt-get install --purge -y \
+ sysvinit-core libelogind0
apt-get install -y --no-remove \
+ apt-utils \
curl \
git \
git-lfs \
inetutils-syslogd \
iptables \
jq \
- libasan6 \
+ libasan8 \
+ libdrm2 \
libexpat1 \
- libllvm13 \
- libllvm11 \
+ libllvm${LLVM_VERSION} \
liblz4-1 \
libpng16-16 \
- libpython3.9 \
+ libpython3.11 \
libvulkan1 \
libwayland-client0 \
libwayland-server0 \
# Needed for ci-fairy, this revision is able to upload files to MinIO
# and doesn't depend on git
-pip3 install git+http://gitlab.freedesktop.org/freedesktop/ci-templates@ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2
+pip3 install --break-system-packages git+http://gitlab.freedesktop.org/freedesktop/ci-templates@ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2
# Needed for manipulation with traces yaml files.
-pip3 install yq
-
-# Needed for crosvm compilation.
-update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 100
+pip3 install --break-system-packages yq
############### Build LLVM-SPIRV translator
. .gitlab-ci/container/build-libclc.sh
-############### Build libdrm
-
-. .gitlab-ci/container/build-libdrm.sh
-
############### Build Wayland
. .gitlab-ci/container/build-wayland.sh
set -o xtrace
export DEBIAN_FRONTEND=noninteractive
+export LLVM_VERSION="${LLVM_VERSION:=15}"
# Ephemeral packages (installed for this script and removed again at the end)
STABLE_EPHEMERAL=" \
bzip2 \
ccache \
- clang-13 \
- clang-11 \
+ clang-${LLVM_VERSION} \
cmake \
g++ \
glslang-tools \
libasound2-dev \
libcap-dev \
- libclang-cpp13-dev \
- libclang-cpp11-dev \
+ libclang-cpp${LLVM_VERSION}-dev \
+ libdrm-dev \
libgles2-mesa-dev \
libpciaccess-dev \
libpng-dev \
libxkbcommon-dev \
libxrandr-dev \
libxrender-dev \
- llvm-13-dev \
- llvm-11-dev \
+ llvm-${LLVM_VERSION}-dev \
make \
meson \
ocl-icd-opencl-dev \
$STABLE_EPHEMERAL \
clinfo \
iptables \
- libclang-common-13-dev \
- libclang-common-11-dev \
- libclang-cpp13 \
- libclang-cpp11 \
+ libclang-common-${LLVM_VERSION}-dev \
+ libclang-cpp${LLVM_VERSION} \
libcap2 \
libegl1 \
libepoxy0 \
$STABLE_EPHEMERAL
apt-get autoremove -y --purge
-
-# hack to remove Debian libdrm (until bookworm), deqp sometimes load old libdrm, we could remove here eventually Mesa too; execute on both GL and VK container
-dpkg -r --force-depends "libdrm2" "libdrm-radeon1" "libdrm-nouveau2" "libdrm-intel1" "libdrm-amdgpu1" "libdrm-common" # "mesa-vulkan-drivers" "mesa-vdpau-drivers" "mesa-va-drivers" "libgl1-mesa-dri" "libglx-mesa0" "vdpau-driver-all" "va-driver-all" "libglx0" "libgl1" "libvdpau-va-gl1" "libglu1-mesa" "libegl-mesa0" "libgl1-mesa-dri" "libglapi-mesa" "libosmesa6"
glslang-tools \
libexpat1-dev \
gnupg2 \
+ libdrm-dev \
libgbm-dev \
libgles2-mesa-dev \
liblz4-dev \
python3-setuptools \
python3-wheel \
software-properties-common \
+ wine \
+ wine64 \
wine64-tools \
xz-utils \
"
xserver-xorg-video-amdgpu \
xserver-xorg-video-ati
-# Install a more recent version of Wine than exists in Debian.
-apt-key add .gitlab-ci/container/debian/winehq.gpg.key
-apt-add-repository https://dl.winehq.org/wine-builds/debian/
apt-get update -q
-# workaround wine needing 32-bit
-# https://bugs.winehq.org/show_bug.cgi?id=53393
-apt-get install -y --no-remove wine-stable-amd64 # a requirement for wine-stable
-WINE_PKG="wine-stable"
-WINE_PKG_DROP="wine-stable-i386"
-apt-get download "${WINE_PKG}"
-dpkg --ignore-depends="${WINE_PKG_DROP}" -i "${WINE_PKG}"*.deb
-rm "${WINE_PKG}"*.deb
-sed -i "/${WINE_PKG_DROP}/d" /var/lib/dpkg/status
-apt-get install -y --no-remove winehq-stable # symlinks-only, depends on wine-stable
-
############### Install DXVK
. .gitlab-ci/container/setup-wine.sh "/dxvk-wine64"
. .gitlab-ci/container/install-wine-apitrace.sh
# Add the apitrace path to the registry
-wine64 \
+wine \
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment" \
/v Path \
/t REG_EXPAND_SZ \
apt-get autoremove -y --purge
-# hack to remove Debian libdrm (until bookworm), deqp sometimes load old libdrm, we could remove here eventually Mesa too; execute on both GL and VK container
-dpkg -r --force-depends "libdrm2" "libdrm-radeon1" "libdrm-nouveau2" "libdrm-intel1" "libdrm-amdgpu1" "libdrm-common" # "mesa-vulkan-drivers" "mesa-vdpau-drivers" "mesa-va-drivers" "libgl1-mesa-dri" "libglx-mesa0" "vdpau-driver-all" "va-driver-all" "libglx0" "libgl1" "libvdpau-va-gl1" "libglu1-mesa" "libegl-mesa0" "libgl1-mesa-dri" "libglapi-mesa" "libosmesa6"
+#dpkg -r --force-depends "mesa-vulkan-drivers" "mesa-vdpau-drivers" "mesa-va-drivers" "libgl1-mesa-dri" "libglx-mesa0" "vdpau-driver-all" "va-driver-all" "libglx0" "libgl1" "libvdpau-va-gl1" "libglu1-mesa" "libegl-mesa0" "libgl1-mesa-dri" "libglapi-mesa" "libosmesa6"
- .incorporate-templates-commit
- .use-wine
variables:
- FDO_DISTRIBUTION_VERSION: bullseye-slim
+ FDO_DISTRIBUTION_VERSION: bookworm-slim
FDO_REPO_SUFFIX: $CI_JOB_NAME
FDO_DISTRIBUTION_EXEC: 'bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
# no need to pull the whole repo to build the container image
# Don't want the .container rules
- .build-rules
-# Debian 11 based x86 build image base
+# Debian based x86 build image base
debian/x86_build-base:
extends:
- .fdo.container-build@debian
needs:
- debian/x86_build-base
-# Debian 11 based x86 main build image
+# Debian based x86 main build image
debian/x86_build:
extends:
- .use-debian/x86_build-base
needs:
- debian/x86_build
-# Debian 11 based i386 cross-build image
+# Debian based i386 cross-build image
debian/i386_build:
extends:
- .use-debian/x86_build-base
needs:
- debian/i386_build
-# Debian 11 based x86-mingw cross main build image
+# Debian based x86-mingw cross main build image
debian/x86_build-mingw:
extends:
- .use-debian/x86_build-base
needs:
- debian/x86_build-mingw
-# Debian 11 based ppc64el cross-build image
+# Debian based ppc64el cross-build image
debian/ppc64el_build:
extends:
- .use-debian/x86_build-base
needs:
- debian/ppc64el_build
-# Debian 11 based s390x cross-build image
+# Debian based s390x cross-build image
debian/s390x_build:
extends:
- .use-debian/x86_build-base
needs:
- debian/android_build
-# Debian 11 based x86 test image base
+# Debian based x86 test image base
debian/x86_test-base:
extends: debian/x86_build-base
variables:
needs:
- debian/x86_test-base
-# Debian 11 based x86 test image for GL
+# Debian based x86 test image for GL
debian/x86_test-gl:
extends: .use-debian/x86_test-base
variables:
needs:
- debian/x86_test-gl
-# Debian 11 based x86 test image for VK
+# Debian based x86 test image for VK
debian/x86_test-vk:
extends: .use-debian/x86_test-base
variables:
needs:
- debian/x86_test-vk
-# Debian 11 based x86 test image for Android
+# Debian based x86 test image for Android
debian/x86_test-android:
extends: .use-debian/x86_test-base
variables:
needs:
- debian/x86_test-android
-# Debian 11 based ARM build image
+# Debian based ARM build image
debian/arm_build:
extends:
- .fdo.container-build@debian
set -e
overrideDll() {
- if ! wine64 reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "$1" /d native /f; then
+ if ! wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "$1" /d native /f; then
echo -e "Failed to add override for $1"
exit 1
fi
set -o xtrace
export DEBIAN_FRONTEND=noninteractive
+export LLVM_VERSION="${LLVM_VERSION:=15}"
check_minio()
{
${ARCH_PACKAGES} \
automake \
bc \
- clang \
+ clang-${LLVM_VERSION} \
cmake \
curl \
- debootstrap \
+ mmdebstrap \
git \
glslang-tools \
libdrm-dev \
libxkbcommon-dev \
libwayland-dev \
ninja-build \
+ openssh-server \
patch \
protobuf-compiler \
python-is-python3 \
fi
ROOTFS=/lava-files/rootfs-${DEBIAN_ARCH}
-mkdir -p $ROOTFS
+mkdir -p "$ROOTFS"
+
+# rootfs packages
+PKG_BASE=(
+ tzdata mount
+)
+PKG_CI=(
+ firmware-realtek
+ bash ca-certificates curl
+ initramfs-tools jq netcat-openbsd dropbear openssh-server
+ libasan8
+ git
+ python3-dev python3-pip python3-setuptools python3-wheel
+ weston # Wayland
+ xinit xserver-xorg-core xwayland # X11
+)
+PKG_MESA_DEP=(
+ libdrm2 libsensors5 libexpat1 # common
+ libvulkan1 # vulkan
+ libx11-6 libx11-xcb1 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-randr0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrender1 libxshmfence1 libxxf86vm1 # X11
+)
+PKG_DEP=(
+ libpng16-16
+ libwaffle-1-0
+ libpython3.11 python3 python3-lxml python3-mako python3-numpy python3-packaging python3-pil python3-renderdoc python3-requests python3-simplejson python3-yaml # Python
+ sntp
+ strace
+ waffle-utils
+ zstd
+)
+# arch dependent rootfs packages
+[ "$DEBIAN_ARCH" = "arm64" ] && PKG_ARCH=(
+ libgl1 libglu1-mesa
+ libvulkan-dev
+ firmware-linux-nonfree firmware-qcom-media
+ libfontconfig1
+)
+[ "$DEBIAN_ARCH" = "amd64" ] && PKG_ARCH=(
+ firmware-amd-graphics
+ libgl1 libglu1-mesa
+ inetutils-syslogd iptables libcap2
+ libfontconfig1
+ spirv-tools
+ libelf1 libfdt1 "libllvm${LLVM_VERSION}"
+ libva2 libva-drm2
+ libvulkan-dev
+ socat
+ sysvinit-core
+ wine
+)
+[ "$DEBIAN_ARCH" = "armhf" ] && PKG_ARCH=(
+ firmware-misc-nonfree
+)
+
+mmdebstrap \
+ --variant=apt \
+ --arch="${DEBIAN_ARCH}" \
+ --components main,contrib,non-free-firmware \
+ --include "${PKG_BASE[*]} ${PKG_CI[*]} ${PKG_DEP[*]} ${PKG_MESA_DEP[*]} ${PKG_ARCH[*]}" \
+ bookworm \
+ "$ROOTFS/" \
+ "http://deb.debian.org/debian"
############### Setuping
if [ "$DEBIAN_ARCH" = "amd64" ]; then
if [[ ${DEBIAN_ARCH} = "amd64" ]]; then
. .gitlab-ci/container/build-crosvm.sh
mv /usr/local/bin/crosvm $ROOTFS/usr/bin/
- mv /usr/local/lib/$GCC_ARCH/libvirglrenderer.* $ROOTFS/usr/lib/$GCC_ARCH/
+ mv /usr/local/lib/libvirglrenderer.* $ROOTFS/usr/lib/$GCC_ARCH/
mkdir -p $ROOTFS/usr/local/libexec/
mv /usr/local/libexec/virgl* $ROOTFS/usr/local/libexec/
fi
-############### Build libdrm
-EXTRA_MESON_ARGS+=" -D prefix=/libdrm"
-. .gitlab-ci/container/build-libdrm.sh
-
-
############### Build local stuff for use by igt and kernel testing, which
############### will reuse most of our container build process from a specific
############### hash of the Mesa tree.
rm -rf /root/.cargo
rm -rf /root/.rustup
-############### Create rootfs
-set +e
-if ! debootstrap \
- --variant=minbase \
- --arch=${DEBIAN_ARCH} \
- --components main,contrib,non-free \
- bullseye \
- $ROOTFS/ \
- http://deb.debian.org/debian; then
- cat $ROOTFS/debootstrap/debootstrap.log
- exit 1
-fi
-set -e
-
-cp .gitlab-ci/container/create-rootfs.sh $ROOTFS/.
+############### Fill rootfs
+cp .gitlab-ci/container/setup-rootfs.sh $ROOTFS/.
+cp .gitlab-ci/container/strip-rootfs.sh $ROOTFS/.
cp .gitlab-ci/container/debian/llvm-snapshot.gpg.key $ROOTFS/.
cp .gitlab-ci/container/debian/winehq.gpg.key $ROOTFS/.
-chroot $ROOTFS sh /create-rootfs.sh
+chroot $ROOTFS bash /setup-rootfs.sh
rm $ROOTFS/{llvm-snapshot,winehq}.gpg.key
-rm $ROOTFS/create-rootfs.sh
+rm "$ROOTFS/setup-rootfs.sh"
+rm "$ROOTFS/strip-rootfs.sh"
cp /etc/wgetrc $ROOTFS/etc/.
-############### Inject missing firmwares from Debian 11
-if [[ "$DEBIAN_ARCH" == "arm64" ]]; then
- # This A660 firmware is included from Debian 12 (bookworm) up
- mkdir -p /lava-files/rootfs-arm64/lib/firmware/qcom/sm8350/ # for firmware imported later
- curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
- "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a660_gmu.bin?id=8451c2b1d529dc1a49328ac9235d3cf5bb8a8fcb" \
- -o /lava-files/rootfs-arm64/lib/firmware/qcom/a660_gmu.bin
- curl -L --retry 4 -f --retry-all-errors --retry-delay 60 \
- "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a660_sqe.fw?id=8451c2b1d529dc1a49328ac9235d3cf5bb8a8fcb" \
- -o /lava-files/rootfs-arm64/lib/firmware/qcom/a660_sqe.fw
-fi
-
-
-############### Install the built libdrm
-# Dependencies pulled during the creation of the rootfs may overwrite
-# the built libdrm. Hence, we add it after the rootfs has been already
-# created.
-find /libdrm/ -name lib\*\.so\* \
- -exec cp -t $ROOTFS/usr/lib/$GCC_ARCH/. {} \;
-mkdir -p $ROOTFS/libdrm/
-cp -Rp /libdrm/share $ROOTFS/libdrm/share
-rm -rf /libdrm
-
-
-if [ ${DEBIAN_ARCH} = arm64 ]; then
+if [ "${DEBIAN_ARCH}" = "arm64" ]; then
+ mkdir -p /lava-files/rootfs-arm64/lib/firmware/qcom/sm8350/ # for firmware imported later
# Make a gzipped copy of the Image for db410c.
gzip -k /lava-files/Image
KERNEL_IMAGE_NAME+=" Image.gz"
fi
-du -ah $ROOTFS | sort -h | tail -100
+du -ah "$ROOTFS" | sort -h | tail -100
pushd $ROOTFS
tar --zstd -cf /lava-files/lava-rootfs.tar.zst .
popd
--- /dev/null
+#!/usr/bin/env bash
+# shellcheck disable=SC1091 # The relative paths in this file only become valid at runtime.
+# When changing this file, you need to bump the following
+# .gitlab-ci/image-tags.yml tags:
+# KERNEL_ROOTFS_TAG
+set -ex
+
+export DEBIAN_FRONTEND=noninteractive
+
+# Needed for ci-fairy, this revision is able to upload files to
+# MinIO and doesn't depend on git
+pip3 install --break-system-packages git+http://gitlab.freedesktop.org/freedesktop/ci-templates@ffe4d1b10aab7534489f0c4bbc4c5899df17d3f2
+
+# Needed for manipulation with traces yaml files.
+pip3 install --break-system-packages yq
+
+passwd root -d
+chsh -s /bin/sh
+
+cat > /init <<EOF
+#!/bin/sh
+export PS1=lava-shell:
+exec sh
+EOF
+chmod +x /init
+
+# Copy timezone file and remove tzdata package
+rm -rf /etc/localtime
+cp /usr/share/zoneinfo/Etc/UTC /etc/localtime
+
+. strip-rootfs.sh
-#!/bin/bash
+#!/usr/bin/env bash
export WINEPREFIX="$1"
export WINEDEBUG="-all"
EOF
# Set the wine prefix and disable the crash dialog
-wine64 regedit crashdialog.reg
+wine regedit crashdialog.reg
rm crashdialog.reg
# An immediate wine command may fail with: "${WINEPREFIX}: Not a
--- /dev/null
+#!/usr/bin/env bash
+# Strip the image to a small minimal system.
+# When changing this file, you need to bump the following
+# .gitlab-ci/image-tags.yml tags:
+# KERNEL_ROOTFS_TAG
+set -ex
+
+export DEBIAN_FRONTEND=noninteractive
+
+UNNEEDED_PACKAGES=(
+ libfdisk1 git
+ python3-dev python3-pip python3-setuptools python3-wheel
+)
+
+# Removing unused packages
+for PACKAGE in "${UNNEEDED_PACKAGES[@]}"
+do
+ if ! apt-get remove --purge --yes "${PACKAGE}"
+ then
+ echo "WARNING: ${PACKAGE} isn't installed"
+ fi
+done
+
+apt-get autoremove --yes || true
+
+UNNEEDED_PACKAGES=(
+ apt libapt-pkg6.0
+ ncurses-bin ncurses-base libncursesw6 libncurses6
+ perl-base
+ debconf libdebconfclient0
+ e2fsprogs e2fslibs libfdisk1
+ insserv
+ udev
+ init-system-helpers
+ cpio
+ passwd
+ libsemanage1 libsemanage-common
+ libsepol1
+ gpgv
+ hostname
+ adduser
+ debian-archive-keyring
+ libegl1-mesa-dev # mesa group
+ libegl-mesa0
+ libgl1-mesa-dev
+ libgl1-mesa-dri
+ libglapi-mesa
+ libgles2-mesa-dev
+ libglx-mesa0
+ mesa-common-dev
+ gnupg2
+ software-properties-common
+)
+
+# Removing unneeded packages
+for PACKAGE in "${UNNEEDED_PACKAGES[@]}"
+do
+ if ! dpkg --purge --force-remove-essential --force-depends "${PACKAGE}"
+ then
+ echo "WARNING: ${PACKAGE} isn't installed"
+ fi
+done
+
+# Show what's left package-wise before dropping dpkg itself
+COLUMNS=300 dpkg-query -W --showformat='${Installed-Size;10}\t${Package}\n' | sort -k1,1n
+
+# Drop dpkg
+dpkg --purge --force-remove-essential --force-depends dpkg
+
+# directories for a removal
+
+directories=(
+ /var/log/* # logs
+ /usr/share/doc/* # docs, i18n, etc.
+ /usr/share/locale/*
+ /usr/share/X11/locale/*
+ /usr/share/man
+ /usr/share/i18n/*
+ /usr/share/info/*
+ /usr/share/lintian/*
+ /usr/share/common-licenses/*
+ /usr/share/mime/*
+ /usr/share/bug
+ /lib/udev/hwdb.bin # udev hwdb not required on a stripped system
+ /lib/udev/hwdb.d/*
+ /usr/bin/iconv # gconv conversions && binaries
+ /usr/sbin/iconvconfig
+ /usr/lib/*/gconv/
+ /usr/sbin/update-usbids # libusb db
+ /usr/share/misc/usb.ids
+ /var/lib/usbutils/usb.ids
+ /root/.pip # pip cache
+ /root/.cache
+ /etc/apt # configuration archives of apt and dpkg
+ /etc/dpkg
+ /var/* # drop non-ostree directories
+ /srv
+ /share
+ /usr/share/ca-certificates # certificates are in /etc
+ /usr/share/bash-completion # completions
+ /usr/share/zsh/vendor-completions
+ /usr/share/gcc # gcc python helpers
+ /etc/inid.d # sysvinit leftovers
+ /etc/rc[0-6S].d
+ /etc/init
+ /usr/lib/lsb
+ /usr/lib/xtables # xtrables helpers
+ /usr/lib/locale/* # should we keep C locale?
+ /usr/sbin/*fdisk # partitioning
+ /usr/bin/localedef # local compiler
+ /usr/sbin/ldconfig* # only needed when adding libs
+ /usr/games
+ /usr/lib/*/security/pam_userdb.so # Remove pam module to authenticate against a DB
+ /usr/lib/*/libdb-5.3.so # libdb-5.3.so that is only used by this pam module ^
+ /usr/lib/*/libnss_hesiod* # remove NSS support for nis, nisplus and hesiod
+ /usr/lib/*/libnss_nis*
+)
+
+for directory in "${directories[@]}"; do
+ rm -rf "$directory" || echo "Failed to remove $directory! Update scripts!"
+done
+
+files=(
+ '*systemd-resolve*' # systemd dns resolver
+ '*networkd*' # systemd network configuration
+ '*timesyncd*' # systemd ntp
+ 'systemd-hwdb*' # systemd hw database
+ '*fuse*' # FUSE
+)
+
+for files in "${files[@]}"; do
+ find /usr /etc -name "$files" -prune -exec rm -r {} \;
+done
mount -t sysfs none /sys
mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
+mkdir /dev/shm
+mount -t tmpfs -o noexec,nodev,nosuid tmpfs /dev/shm
mount -t tmpfs tmpfs /tmp
. ${VM_TEMP_DIR}/crosvm-env.sh
variables:
DEBIAN_X86_BUILD_BASE_IMAGE: "debian/x86_build-base"
- DEBIAN_BASE_TAG: "2023-05-23-virglrenderer"
+ DEBIAN_BASE_TAG: "2023-05-25-bookworm"
DEBIAN_X86_BUILD_IMAGE_PATH: "debian/x86_build"
- DEBIAN_BUILD_TAG: "2023-04-29-mold"
+ DEBIAN_BUILD_TAG: "2023-05-25-bookworm"
DEBIAN_X86_BUILD_MINGW_IMAGE_PATH: "debian/x86_build-mingw"
- DEBIAN_BUILD_MINGW_TAG: "2023-01-03-ci-libva-2.17"
+ DEBIAN_BUILD_MINGW_TAG: "2023-05-25-bookworm"
DEBIAN_X86_TEST_BASE_IMAGE: "debian/x86_test-base"
DEBIAN_X86_TEST_IMAGE_PATH: ${DEBIAN_X86_TEST_IMAGE_GL_PATH}
DEBIAN_X86_TEST_ANDROID_IMAGE_PATH: "debian/x86_test-android"
- DEBIAN_X86_TEST_ANDROID_TAG: "2023-05-04-piglit-79a084c5"
- DEBIAN_X86_TEST_GL_TAG: "2023-05-17-piglit-d8c08d12"
- DEBIAN_X86_TEST_VK_TAG: "2023-05-17-piglit-d8c08d12"
+ DEBIAN_X86_TEST_ANDROID_TAG: "2023-05-25-bookworm"
+ DEBIAN_X86_TEST_GL_TAG: "2023-05-25-bookworm"
+ DEBIAN_X86_TEST_VK_TAG: "2023-05-25-bookworm"
ALPINE_X86_BUILD_TAG: "2023-03-20-3.17-bump"
FEDORA_X86_BUILD_TAG: "2023-04-26-rusticl"
- KERNEL_ROOTFS_TAG: "2023-05-23-virglrenderer"
+ KERNEL_ROOTFS_TAG: "2023-05-25-bookworm"
WINDOWS_X64_VS_PATH: "windows/x64_vs"
WINDOWS_X64_VS_TAG: "2022-10-20-upgrade-zlib"
# Use this script in a python virtualenv for isolation
python3 -m venv .venv
. .venv/bin/activate
-python3 -m pip install -r ${CI_PROJECT_DIR}/.gitlab-ci/lava/requirements-test.txt
+python3 -m pip install --break-system-packages -r ${CI_PROJECT_DIR}/.gitlab-ci/lava/requirements-test.txt
TEST_DIR=${CI_PROJECT_DIR}/.gitlab-ci/tests
-#!/bin/sh
+#!/usr/bin/env bash
set -ex
mkdir -p "$RESULTS"
if [ "$PIGLIT_REPLAY_SUBCOMMAND" = "profile" ]; then
- # workaround for older Debian Bullseye libyaml 0.2.2
- sed -i "/^%YAML 1\.2$/d" "$PIGLIT_REPLAY_DESCRIPTION_FILE"
-
yq -iY 'del(.traces[][] | select(.label[]? == "no-perf"))' \
"$PIGLIT_REPLAY_DESCRIPTION_FILE"
fi
;;
esac
-PATH="/opt/wine-stable/bin/:$PATH" # WineHQ path
+#PATH="/opt/wine-stable/bin/:$PATH" # WineHQ path
# Avoid asking about Gecko or Mono instalation
export WINEDLLOVERRIDES=mscoree=d;mshtml=d
# Set environment for apitrace executable.
export PATH="/apitrace/build:$PATH"
-export PIGLIT_REPLAY_WINE_BINARY=wine64
+export PIGLIT_REPLAY_WINE_BINARY=wine
export PIGLIT_REPLAY_WINE_APITRACE_BINARY="/apitrace-msvc-win64/bin/apitrace.exe"
export PIGLIT_REPLAY_WINE_D3DRETRACE_BINARY="/apitrace-msvc-win64/bin/d3dretrace.exe"
- .lint-clang-format-rules
variables:
GIT_STRATEGY: fetch
+ LLVM_VERSION: 15
script:
- shopt -s globstar
- - clang-format-13 --Werror --dry-run src/**/{asahi,panfrost}/**/*.{h,c,cpp}
+ - clang-format-${LLVM_VERSION:?} --Werror --dry-run src/**/{asahi,panfrost}/**/*.{h,c,cpp}
.test-gl:
extends:
- .baremetal-test
- .use-debian/arm64_test
variables:
- DEQP_RUNNER_OPTIONS: "--env LD_PRELOAD=libasan.so.6:/install/lib/libdlclose-skip.so"
+ DEQP_RUNNER_OPTIONS: "--env LD_PRELOAD=libasan.so.8:/install/lib/libdlclose-skip.so"
MINIO_ARTIFACT_NAME: mesa-arm64-asan
needs:
- debian/arm64_test
"--deqp-gl-config-name=rgba8888d24s8ms0",
]
version_check = "GL ES 3.2.*git"
-renderer_check = "STONEY"
+renderer_check = "stoney"
[[deqp]]
deqp = "/deqp/modules/gles3/deqp-gles3"
spec@ext_image_dma_buf_import@ext_image_dma_buf_import-sample_y216,Fail
spec@ext_packed_depth_stencil@fbo-depthstencil-gl_depth24_stencil8-drawpixels-float-and-ushort,Fail
spec@ext_packed_depth_stencil@fbo-stencil-gl_depth24_stencil8-drawpixels,Fail
-spec@glsl-1.30@execution@glsl-fs-continue-in-switch-in-do-while,Fail
-spec@glsl-1.30@execution@glsl-vs-continue-in-switch-in-do-while,Fail
spec@glsl-1.50@execution@geometry@primitive-types gl_triangle_strip_adjacency,Fail
spec@glsl-1.50@execution@geometry@tri-strip-ordering-with-prim-restart gl_triangle_strip_adjacency ffs,Fail
spec@glsl-1.50@execution@geometry@tri-strip-ordering-with-prim-restart gl_triangle_strip_adjacency other,Fail
spec@!opengl 1.0@gl-1.0-user-clip-all-planes,Fail
spec@!opengl 1.1@line-smooth-stipple,Fail
+
+# since Debian 12 (bookworm) uprev
+spec@arb_viewport_array@display-list,Fail
spec@ext_texture_srgb@texwrap formats-s3tc bordercolor-swizzled@GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT- swizzled- border color only,Fail
spec@ext_texture_srgb@texwrap formats-s3tc bordercolor-swizzled@GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT- swizzled- border color only,Fail
spec@ext_texture_srgb@texwrap formats-s3tc bordercolor-swizzled@GL_COMPRESSED_SRGB_S3TC_DXT1_EXT- swizzled- border color only,Fail
-spec@glsl-1.30@execution@glsl-fs-continue-in-switch-in-do-while,Fail
-spec@glsl-1.30@execution@glsl-vs-continue-in-switch-in-do-while,Fail
spec@glsl-1.50@execution@geometry@tri-strip-ordering-with-prim-restart gl_triangle_strip_adjacency ffs,Fail
spec@glsl-1.50@execution@geometry@tri-strip-ordering-with-prim-restart gl_triangle_strip_adjacency other,Fail
spec@glsl-4.00@execution@conversion@frag-conversion-explicit-dmat2-mat2,Fail
spec@khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp@sRGB decode full precision,Fail
spec@!opengl 1.1@line-smooth-stipple,Fail
+
+# since Debian 12 (bookworm)
+spec@arb_viewport_array@display-list,Fail
glx@glx-swap-event_async
glx@glx-swap-event_event
glx@glx-swap-event_interval
+
+# Debian 12 (bookworm) uprev
+dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers32_sets1
# New CTS failures in 1.3.5.0
-dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers16_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers1_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers2_sets4_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers32_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers3_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers8_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_ahit_buffers1_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_ahit_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_ahit_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_ahit_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_ahit_buffers2_sets4_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_ahit_buffers3_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_ahit_buffers8_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_call_buffers1_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_call_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_call_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_call_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_call_buffers2_sets4_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_call_buffers3_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_call_buffers8_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_chit_buffers1_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_chit_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_chit_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_chit_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_chit_buffers2_sets4_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_chit_buffers3_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_chit_buffers8_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers16_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers1_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers2_sets4_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers32_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers3_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers8_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers16_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers1_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers2_sets4_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers32_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers3_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers8_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers1_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers2_sets4_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers3_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers8_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_miss_buffers1_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_miss_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_miss_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_miss_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_miss_buffers2_sets4_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_miss_buffers3_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_miss_buffers8_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_rgen_buffers1_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_rgen_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_rgen_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_rgen_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_rgen_buffers2_sets4_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_rgen_buffers3_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_rgen_buffers8_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_sect_buffers1_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_sect_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_sect_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_sect_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_sect_buffers2_sets4_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_sect_buffers3_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_sect_buffers8_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tesc_buffers1_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tesc_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tesc_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tesc_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tesc_buffers2_sets4_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tesc_buffers3_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tesc_buffers8_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers1_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers2_sets4_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers3_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers8_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers16_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers1_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers2_sets4_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers32_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers3_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers8_sets1,Crash
dEQP-VK.pipeline.fast_linked_library.extended_dynamic_state.before_draw.line_stipple_enable,Fail
# https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/4298
--- /dev/null
+# timeout on bookworm (buffers32 seems to be usually more than 30s)
+dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers32_sets1
+dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers32_sets1
+dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers32_sets1
dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers16_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers2_sets4_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_ahit_buffers1_sets3_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_ahit_buffers2_sets4,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_call_buffers2_sets4_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_chit_buffers1_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_chit_buffers1_sets3_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_chit_buffers3_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers16_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers1_sets3,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers2_sets4,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers32_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers16_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers2_sets4_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers2_sets4_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers3_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_miss_buffers1_sets3,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_miss_buffers2_sets4,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_rgen_buffers2_sets4_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_sect_buffers1_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_sect_buffers1_sets3,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_sect_buffers8_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tesc_buffers1_sets3,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tesc_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers1_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers8_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers16_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers2_sets4_imm_samplers,Crash
dEQP-VK.dynamic_rendering.primary_cmd_buff.random.seed49_tessellation,Fail
dEQP-VK.dynamic_rendering.primary_cmd_buff.random.seed59_geometry,Fail
dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_max_2_samples
dEQP-VK.draw.dynamic_rendering.primary_cmd_buff.linear_interpolation.offset_max_8_samples
dEQP-VK.draw.dynamic_rendering.complete_secondary_cmd_buff.linear_interpolation.no_offset_4_samples
+# since Debian 12 CI uprev
+dEQP-VK.pipeline.pipeline_library.framebuffer_attachment.diff_attachments_2d_32x32_39x41_ms
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers1_sets3,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers1_sets3_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers2_sets4_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers32_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers3_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers8_sets1,Crash
# descriptor-buffer crashes
dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers1_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers2_sets4,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.compute_comp_buffers32_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_ahit_buffers2_sets4,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_ahit_buffers3_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_chit_buffers2_sets4_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers2_sets4_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers32_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers2_sets4_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_miss_buffers1_sets3_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_miss_buffers3_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_rgen_buffers1_sets3,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_rgen_buffers1_sets3_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_sect_buffers8_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tesc_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers1_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers1_sets3_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers3_sets1,Crash
# depth/stencil clear
# Timeouts in VK-GL-CTS 1.3.5.0
dEQP-VK.memory.mapping.suballocation.full.variable.implicit_unmap
dEQP-VK.api.device_init.create_instance_device_intentional_alloc_fail.basic
+
+# timeout after switch to Debian 12
+dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers32_sets1
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers1_sets3,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers1_sets3_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers2_sets4,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers2_sets4_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers32_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers3_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers8_sets1,Crash
spec@!opengl 1.1@line-smooth-stipple,Fail
spec@glsl-1.10@execution@variable-indexing@vs-output-array-vec2-index-wr-no-unroll,Fail
+
+# since Debian 12 (bookworm) uprev
+shaders@glsl-uniform-interstage-limits@subdivide 5- statechanges,Crash
spec@!opengl 1.1@depthstencil-default_fb-drawpixels-24_8 samples=2,Fail
spec@!opengl 1.1@depthstencil-default_fb-drawpixels-24_8 samples=4,Fail
spec@!opengl 1.1@depthstencil-default_fb-drawpixels-32f_24_8_rev samples=2,Fail
-spec@!opengl 1.1@depthstencil-default_fb-drawpixels-float-and-ushort samples=2,Fail
spec@!opengl 1.1@getteximage-formats,Fail
spec@!opengl 1.1@linestipple,Fail
spec@!opengl 1.1@linestipple@Factor 2x,Fail
spec@oes_texture_view@rendering-formats@clear GL_RGB10_A2 as GL_RG16I,Fail
spec@oes_texture_view@rendering-formats@clear GL_RGB10_A2 as GL_RGBA8I,Fail
-spec@!opengl 1.0@depth-clear-precision-check,Fail
spec@!opengl 1.0@depth-clear-precision-check@depth16,Fail
spec@!opengl 1.0@depth-clear-precision-check@depth24,Fail
# Works when run individually, but fail consistently on the CI
dEQP-GLES3.functional.texture.specification.teximage2d_pbo.rgba32i_cube,Fail
+
+# Debian bookworm update (2023-04-27)
+spec@!opengl 1.0@depth-clear-precision-check,Timeout
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_chit_buffers1_sets3_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_chit_buffers3_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers1_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers1_sets3,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_comp_buffers3_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers1_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers1_sets3,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers1_sets3_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers3_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers1_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers1_sets3,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers3_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_miss_buffers1_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_miss_buffers1_sets3,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_miss_buffers1_sets3_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_sect_buffers3_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tesc_buffers1_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tesc_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tesc_buffers1_sets3_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tesc_buffers3_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers1_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers1_sets3_imm_samplers,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers3_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers1_sets1,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers1_sets3,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers3_sets1,Crash
dEQP-VK.pipeline.fast_linked_library.misc.interpolate_at_sample_no_sample_shading,Crash
dEQP-VK.pipeline.fast_linked_library.misc.unused_shader_stages,Crash
dEQP-VK.pipeline.fast_linked_library.misc.unused_shader_stages_include_geom,Crash
gmem-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_call_buffers1_sets3_imm_samplers,Crash
gmem-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_chit_buffers1_sets1,Crash
gmem-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_frag_buffers1_sets3_imm_samplers,Crash
-gmem-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers1_sets3_imm_samplers,Crash
gmem-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers3_sets1,Crash
gmem-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_miss_buffers1_sets3_imm_samplers,Crash
gmem-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers3_sets1,Crash
nobin-dEQP-VK.transform_feedback.simple.lines_or_triangles_triangle_strip_3,Fail
spec@arb_vertex_attrib_64bit@execution@unused-sub-dvec4-01,Crash
spec@arb_vertex_attrib_64bit@execution@unused-sub-dvec4-02,Crash
+
+# Debian bookworm migration
+dEQP-VK.api.driver_properties.conformance_version,Fail
+dEQP-VK.wsi.acquire_drm_display.get_drm_display_invalid_fd,Fail
spec@!opengl 3.2@gl-3.2-adj-prims line cull-back pv-last
spec@!opengl 3.2@gl-3.2-adj-prims line cull-front pv-last
spec@!opengl 3.2@gl-3.2-adj-prims pv-last
+
+# Debian bookworm migration
+gmem-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_geom_buffers3_sets1
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_tese_buffers3_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers1_sets1,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers1_sets3_imm_samplers,Crash
-dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers1_sets3,Crash
dEQP-VK.binding_model.descriptor_buffer.multiple.graphics_vert_buffers3_sets1,Crash
dEQP-VK.pipeline.fast_linked_library.misc.interpolate_at_sample_no_sample_shading,Crash
dEQP-VK.pipeline.fast_linked_library.misc.unused_shader_stages_include_geom,Crash
spec@arb_vertex_attrib_64bit@execution@unused-sub-dvec4-02,Crash
dynamic-dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_32_32.samples_2.d32_sfloat_s8_uint_separate_layouts.compatibility_depth_zero_stencil_zero_testing_stencil,Fail
+
+# since Debian 12 (bookworm) uprev
+dEQP-VK.api.driver_properties.conformance_version,Fail
spec@ext_texture_compression_s3tc@compressedteximage gl_compressed_srgb_s3tc_dxt1_ext,Fail
spec@!opengl 1.1@line-smooth-stipple,Fail
+
+# bookworm update
+spec@ext_framebuffer_multisample@renderbufferstorage-samples,Fail
version_check = "GL ES 3.2.*git"
renderer_check = "llvmpipe"
[deqp.env]
- LD_PRELOAD = "libasan.so.6"
+ LD_PRELOAD = "libasan.so.8"
program@execute@global-offset,Fail
program@execute@global-offset@3d- input dependent,Fail
-# InvalidModule: Invalid SPIR-V module: vloada_half should be of a half vector type
-program@execute@vload@vloada_half-float-constant,Crash
-program@execute@vload@vloada_half-float-global,Crash
-program@execute@vload@vloada_half-float-local,Crash
-program@execute@vload@vloada_half-float-private,Crash
+# Debian bookworm fails
+program@build@vector-data-types,Fail
GPU_VERSION: softpipe-asan
DEQP_FRACTION: 10
DEQP_VER: gles31
- DEQP_RUNNER_OPTIONS: "--env LD_PRELOAD=libasan.so.6"
+ DEQP_RUNNER_OPTIONS: "--env LD_PRELOAD=libasan.so.8"
extends: .softpipe-deqp-test
needs:
- debian/x86_test-gl
spec@!opengl 1.0@depth-clear-precision-check@depth32,Fail
spec@arb_texture_buffer_object@texture-buffer-size-clamp,Fail
-
+spec@nv_shader_atomic_float@execution@ssbo-atomicexchange-float,Fail
glx@glx-buffer-age,Fail
glx@glx-buffer-age vblank_mode=0,Fail
-glx@glx-multi-window-single-context,Crash
glx@glx-swap-pixmap-bad,Fail
glx@glx-tfp,Crash
# New CTS failures in 1.3.5.0
KHR-GL46.polygon_offset_clamp.PolygonOffsetClampMinMax,Fail
KHR-GL46.polygon_offset_clamp.PolygonOffsetClampZeroInfinity,Fail
+
+# since Debian 12 (bookworm) uprev
+spec@arb_compute_variable_group_size@local-size,Crash
+spec@arb_viewport_array@display-list,Fail
+glx@glx-multi-window-single-context,Fail
KHR-GL46.polygon_offset_clamp.PolygonOffsetClampZeroInfinity,Fail
spec@arb_texture_cube_map_array@texsubimage cube_map_array,Fail
-spec@ext_transform_feedback@tessellation quad_strip wireframe,Fail
spec@ext_transform_feedback@tessellation quads wireframe,Fail
spec@!opengl 1.1@texsubimage,Fail
DEQP_FRACTION: 1000
# Skip dlclose so that we get good backtraces of the leaks.
# Don't batch the tests into caselists while we're leaky.
- DEQP_RUNNER_OPTIONS: "--env LD_PRELOAD=libasan.so.6:libdlclose-skip.so --tests-per-group 1"
+ DEQP_RUNNER_OPTIONS: "--env LD_PRELOAD=libasan.so.8:libdlclose-skip.so --tests-per-group 1"
needs:
- debian/x86_test-vk
- debian-testing-asan
# New CTS failures in 1.3.5.0
KHR-GL46.polygon_offset_clamp.PolygonOffsetClampMinMax,Fail
KHR-GL46.polygon_offset_clamp.PolygonOffsetClampZeroInfinity,Fail
+
+# fails after Debian bookworm update
+spec@arb_viewport_array@display-list,Fail