Commit 73dfa008 authored by Emil Velikov's avatar Emil Velikov Committed by Alexandros Frantzis

Pull a custom Xvfb build and use it

The branch used introduces support for DRI3/glamor. As such we can use
the actual GPU instead of swrast.

Note: we explicitly add each repo, install and remove it. This is
minimise the pollution across Debian versions

v2: Add a comment about x11proto-dev buster hunk (Alf)
Reviewed-by: Alexandros Frantzis's avatarAlexandros Frantzis <alexandros.frantzis@collabora.com>
Signed-off-by: default avatarEmil Velikov <emil.velikov@collabora.com>
parent 1661f799
Pipeline #54514 failed with stages
in 1 minute and 36 seconds
......@@ -14,7 +14,7 @@
# repository's registry will be used there as well.
variables:
# UPSTREAM_REPO: mesa/mesa
DEBIAN_TAG: "2019-07-17"
DEBIAN_TAG: "2019-07-30"
DEBIAN_VERSION: stretch-slim
DEBIAN_IMAGE: "$CI_REGISTRY_IMAGE/debian/$DEBIAN_VERSION:$DEBIAN_TAG"
......
......@@ -10,6 +10,74 @@ apt-get install -y \
ca-certificates \
wget
apt-get install -y git
echo 'deb https://deb.debian.org/debian stretch-backports main' >/etc/apt/sources.list.d/backports.list
apt-get update
apt-get install -t stretch-backports -y \
libdrm-dev \
meson
rm /etc/apt/sources.list.d/backports.list
# Stretch is old-stable, as such we want to move to buster soonish.
# In there we don't need to build the proto package, since it's recent enough.
# The following should do it:
#echo 'deb https://deb.debian.org/debian buster main' >/etc/apt/sources.list.d/buster.list
#apt-get update
#apt-get install -t buster -y x11proto-dev
#rm /etc/apt/sources.list.d/buster.list
apt-get install -y \
bzip2 \
gcc \
libc6-dev \
make
export XORG_RELEASES=https://xorg.freedesktop.org/releases/individual
export XORGPROTO_VERSION=xorgproto-2019.1
wget $XORG_RELEASES/proto/$XORGPROTO_VERSION.tar.bz2
tar -xvf $XORGPROTO_VERSION.tar.bz2 && rm $XORGPROTO_VERSION.tar.bz2
cd $XORGPROTO_VERSION; ./configure; make install; cd ..
rm -rf $XORGPROTO_VERSION
apt-get purge -y \
bzip2 \
gcc \
libc6-dev \
make
echo 'deb-src https://deb.debian.org/debian stretch main' > /etc/apt/sources.list.d/deb-src.list
echo 'deb-src https://deb.debian.org/debian stretch-updates main' >> /etc/apt/sources.list.d/deb-src.list
apt-get update
apt-get build-dep -y xvfb
git clone --single-branch --branch sent/xvfb-render-node https://gitlab.freedesktop.org/evelikov/xserver
pushd xserver
meson build/ \
-D ipv6=true \
-D dmx=false \
-D xvfb=true \
-D xnest=false \
-D xcsecurity=true \
-D xorg=false \
-D xephyr=false \
-D xwayland=false \
-D glamor=true \
-D udev=true \
-D systemd_logind=false \
-D suid_wrapper=false \
-D xkb_bin_dir=/usr/bin \
-D xkb_dir=/usr/share/X11/xkb \
-D xkb_output_dir=/var/lib/xkb
ninja -C build/
ninja -C build/ install
popd
rm -rf xserver
rm /etc/apt/sources.list.d/deb-src.list
apt-get update
apt-get purge -y git
# Download and run upstream Mesa debian-install.sh to install all dependencies
# for building Mesa
TMPDIR=$(mktemp -d)
......
......@@ -6,7 +6,7 @@ if test $? -eq 1; then
exit 1
fi
Xvfb $DISPLAY -screen 0 1024x768x24 >/tmp/xvfb.log 2>&1 &
/usr/local/bin/Xvfb $DISPLAY -screen 0 1024x768x24 >/tmp/xvfb.log 2>&1 &
# Random sleep, otherwise glxinfo will start before Xvfb is up
sleep 3s
local_mesa=0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment