Update CI for Xwayland explicit sync

Explicit sync support for Xwayland requires several updates to the
Debian CI image. These include...

xorgproto 2024.1 for DRI3 1.4 and Present 1.4
wayland-protocols 1.34 for wp-linux-drm-syncobj-v1
libdrm 2.4.116 for drmSyncobjEventfd
linux-libc-dev from bullseye-backports for DMA_BUF_IOCTL_IMPORT/EXPORT_SYNC_FD

Signed-off-by: Erik Kurzinger <ekurzinger@nvidia.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/967>
This commit is contained in:
Erik Kurzinger 2024-03-26 09:53:17 -07:00 committed by Olivier Fourdan
parent d411a8b611
commit e00e7205c9
3 changed files with 13 additions and 8 deletions

View File

@ -19,7 +19,7 @@ variables:
FDO_UPSTREAM_REPO: xorg/xserver FDO_UPSTREAM_REPO: xorg/xserver
FDO_DISTRIBUTION_VERSION: bullseye-slim FDO_DISTRIBUTION_VERSION: bullseye-slim
FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/debian-install.sh' FDO_DISTRIBUTION_EXEC: 'env FDO_CI_CONCURRENT=${FDO_CI_CONCURRENT} bash .gitlab-ci/debian-install.sh'
FDO_DISTRIBUTION_TAG: "2024-02-29-libei.0" FDO_DISTRIBUTION_TAG: "2024-03-26-explicit-sync-2"
MESON_BUILDDIR: "build" MESON_BUILDDIR: "build"
include: include:

View File

@ -49,7 +49,7 @@ build 'https://gitlab.freedesktop.org/pixman/pixman.git' 'pixman-0.38.4'
build 'https://gitlab.freedesktop.org/xorg/lib/pthread-stubs.git' '0.4' build 'https://gitlab.freedesktop.org/xorg/lib/pthread-stubs.git' '0.4'
# we can't use the xorgproto pkgconfig files from /usr/share/pkgconfig, because # we can't use the xorgproto pkgconfig files from /usr/share/pkgconfig, because
# these would add -I/usr/include to CFLAGS, which breaks cross-compilation # these would add -I/usr/include to CFLAGS, which breaks cross-compilation
build 'https://gitlab.freedesktop.org/xorg/proto/xorgproto.git' 'xorgproto-2023.2' '--datadir=/lib' build 'https://gitlab.freedesktop.org/xorg/proto/xorgproto.git' 'xorgproto-2024.1' '--datadir=/lib'
build 'https://gitlab.freedesktop.org/xorg/lib/libXau.git' 'libXau-1.0.9' build 'https://gitlab.freedesktop.org/xorg/lib/libXau.git' 'libXau-1.0.9'
build 'https://gitlab.freedesktop.org/xorg/proto/xcbproto.git' 'xcb-proto-1.14.1' build 'https://gitlab.freedesktop.org/xorg/proto/xcbproto.git' 'xcb-proto-1.14.1'
build 'https://gitlab.freedesktop.org/xorg/lib/libxcb.git' 'libxcb-1.14' build 'https://gitlab.freedesktop.org/xorg/lib/libxcb.git' 'libxcb-1.14'

View File

@ -15,6 +15,10 @@ EPHEMERAL="
xvfb xvfb
" "
# Add bullseye-backports for the newer linux-libc-dev package
echo 'deb http://deb.debian.org/debian bullseye-backports main' >> /etc/apt/sources.list
apt update
apt-get install -y \ apt-get install -y \
$EPHEMERAL \ $EPHEMERAL \
autoconf \ autoconf \
@ -93,6 +97,7 @@ apt-get install -y \
libxtst-dev \ libxtst-dev \
libxv-dev \ libxv-dev \
libz-mingw-w64-dev \ libz-mingw-w64-dev \
linux-libc-dev/bullseye-backports \
mesa-common-dev \ mesa-common-dev \
meson \ meson \
mingw-w64-tools \ mingw-w64-tools \
@ -114,8 +119,8 @@ apt-get install -y \
cd /root cd /root
# Xwayland requires drm 2.4.109 for drmGetDeviceFromDevId # Xwayland requires drm 2.4.116 for drmSyncobjEventfd
git clone https://gitlab.freedesktop.org/mesa/drm --depth 1 --branch=libdrm-2.4.109 git clone https://gitlab.freedesktop.org/mesa/drm --depth 1 --branch=libdrm-2.4.116
cd drm cd drm
meson _build meson _build
ninja -C _build -j${FDO_CI_CONCURRENT:-4} install ninja -C _build -j${FDO_CI_CONCURRENT:-4} install
@ -130,8 +135,8 @@ ninja -C _build -j${FDO_CI_CONCURRENT:-4} install
cd .. cd ..
rm -rf libxcvt rm -rf libxcvt
# xserver requires xorgproto >= 2023.2 for XWAYLAND # xserver requires xorgproto >= 2024.1 for XWAYLAND
git clone https://gitlab.freedesktop.org/xorg/proto/xorgproto.git --depth 1 --branch=xorgproto-2023.2 git clone https://gitlab.freedesktop.org/xorg/proto/xorgproto.git --depth 1 --branch=xorgproto-2024.1
pushd xorgproto pushd xorgproto
./autogen.sh ./autogen.sh
make -j${FDO_CI_CONCURRENT:-4} install make -j${FDO_CI_CONCURRENT:-4} install
@ -146,8 +151,8 @@ ninja -C _build -j${FDO_CI_CONCURRENT:-4} install
cd .. cd ..
rm -rf wayland rm -rf wayland
# Xwayland requires wayland-protocols >= 1.30, but Debian bullseye has 1.20 only # Xwayland requires wayland-protocols >= 1.34, but Debian bullseye has 1.20 only
git clone https://gitlab.freedesktop.org/wayland/wayland-protocols.git --depth 1 --branch=1.30 git clone https://gitlab.freedesktop.org/wayland/wayland-protocols.git --depth 1 --branch=1.34
cd wayland-protocols cd wayland-protocols
meson _build meson _build
ninja -C _build -j${FDO_CI_CONCURRENT:-4} install ninja -C _build -j${FDO_CI_CONCURRENT:-4} install