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 <>
Signed-off-by: default avatarEmil Velikov <>
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.
# UPSTREAM_REPO: mesa/mesa
DEBIAN_TAG: "2019-07-17"
DEBIAN_TAG: "2019-07-30"
DEBIAN_VERSION: stretch-slim
......@@ -10,6 +10,74 @@ apt-get install -y \
ca-certificates \
apt-get install -y git
echo 'deb stretch-backports main' >/etc/apt/sources.list.d/backports.list
apt-get update
apt-get install -t stretch-backports -y \
libdrm-dev \
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 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 \
export XORGPROTO_VERSION=xorgproto-2019.1
tar -xvf $XORGPROTO_VERSION.tar.bz2 && rm $XORGPROTO_VERSION.tar.bz2
cd $XORGPROTO_VERSION; ./configure; make install; cd ..
apt-get purge -y \
bzip2 \
gcc \
libc6-dev \
echo 'deb-src stretch main' > /etc/apt/sources.list.d/deb-src.list
echo 'deb-src 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
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
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 to install all dependencies
# for building Mesa
TMPDIR=$(mktemp -d)
......@@ -6,7 +6,7 @@ if test $? -eq 1; then
exit 1
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
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