Commit graph

104 commits

Author SHA1 Message Date
Alan Coopersmith
210372ea09 CI: Update debian image from bullseye (11) to bookworm (12)
Drop local build of libxcvt now that bookworm has a package for it

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2141>
2026-03-16 19:12:05 -07:00
Mario Limonciello (AMD)
2c7d03c082 Disable pciaccess for mingw
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2038>
2026-02-22 07:36:50 -06:00
Alan Coopersmith
88c5aea5d3 gitlab CI: add main branch to exception list for check-commits
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2129>
2026-02-17 14:57:07 -08:00
Olivier Fourdan
e1cd42dcaa xwayland/ci: Enforce various code style checks
Make sure the code change does not contain tab characters nor stray
newlines.

This is contributed by Peter Hutterer, adapted from the libinput similar
CI check.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2121>
(cherry picked from commit 9c31b4ad8f)
2026-01-25 11:47:31 -08:00
Peter Hutterer
3f939536d7 CI: drop the ci-fairy check-mr job
The only thing this checked was the checkbox for allowing maintainers to
edit the MR. Changed permissions checks now fail this job but luckily
the setting it checked has been the default for years anyway so we can
drop it.

https://gitlab.freedesktop.org/freedesktop/ci-templates/-/issues/81

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2116>
(cherry picked from commit cd5666a4e0)
2026-01-25 10:40:03 -08:00
Alan Coopersmith
d19f10ae74 ci: run builds with most options enabled and most options disabled
We have too many options to run an exhaustive matrix of the combinations,
but this should at least help us catch code that won't compile in many
of the ifdef paths we don't go down in the default configs.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2056>
(cherry picked from commit 6f6a635363)
2026-01-25 10:40:02 -08:00
Alan Coopersmith
218147dd63 ci: enable xf86bigfont in one set of builds
Hopefully this will avoid us accepting more changesets that break it

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2053>
(cherry picked from commit 4ca8b9a474)
2026-01-25 10:40:02 -08:00
Enrico Weigelt, metux IT consult
9a149e1be4 ci: fix missing runner tag on FreeBSD jobs after gitlab migration
All jobs utilizing kvm (eg. FreeBSD) need the "kvm" runner tag set.
It used to work w/o it, since all runners did have kvm, but in the
new CI there are non-kvm runners, so we really need to set the tag.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1872>
(cherry picked from commit 52c2cb7439)
2026-01-25 10:40:01 -08:00
Povilas Kanapickas
7d0a36ff83 ci: Reuse xserver created by meson-dist job in driver build jobs
Currently each driver build job also builds the server. This is bad use
of resources because server build takes way more resources compared to a
driver build. Reusing already built xserver would resolve the issue.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1806>
(cherry picked from commit 68054d0fe3)
2026-01-25 10:40:01 -08:00
Povilas Kanapickas
5388daf52e ci: Add install prefix to the artifacts of meson-dist job
This will allow to reuse built xserver on subsequent driver build jobs

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1806>
(cherry picked from commit 8e5a5cf2c1)
2026-01-25 10:40:01 -08:00
Povilas Kanapickas
9db4f848fd ci: Adjust prefix instead of setting DESTDIR for meson-dist job
This ensures that the pkg-config files installed to
xserver-tarball/install will have correct paths. This is needed so that
xf86-driver-build-test will be able to reuse this installation of
xserver. It will be passed to that job via artifacts (subsequent
commits)

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1806>
(cherry picked from commit f7d2e810ba)
2026-01-25 10:40:01 -08:00
Povilas Kanapickas
b6b4bca44a ci: Point to last commit of xf86-video-qxl instead of master branch
This ensures that the tests don't start failing silently after new
commits are added to the QXL driver.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1806>
(cherry picked from commit 8d1fa6acde)
2026-01-25 10:40:01 -08:00
Michel Dänzer
5f140561e1 ci: Install XCB dependencies for meson tests
The lack of these prevented some of the tests from running in CI.

(cherry picked from commit f73f8ccb60)
2026-01-25 10:40:01 -08:00
Enrico Weigelt, metux IT consult
75105fae65 ci: update freebsd builder image
FreeBSD upstream removed image for 14.0 image, so we need to update.
Also increasing image size, since the new images are too small.
(needs update of ci-templates)

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1784>
(cherry picked from commit 6ec89c91f3)
2026-01-25 10:40:00 -08:00
Alan Coopersmith
043b68040b ci: update XTS to a commit that doesn't require -fcommon workaround
xorg/test/xts!10 fixed XTS to build with recent gcc without adding -fcommon

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1786>
(cherry picked from commit 9af363b046)
2026-01-25 10:40:00 -08:00
Enrico Weigelt, metux IT consult
9d1997f316 ci: add intel driver to build matrix
Add the intel driver to our CI, in order to prevent API breaks going
unnoticed again.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1778>
(cherry picked from commit 5f1bdd0aa3)
2026-01-25 10:40:00 -08:00
Enrico Weigelt, metux IT consult
e70c404cbf ci: workaround for building xf86-video-intel via autotools
This driver's meson build scripts are currently broken, but autotools
still works fine. So add a little workaround for forcing it to be built
via autotools, even if meson.build file is there.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1778>
(cherry picked from commit d4f60b5462)
2026-01-25 10:40:00 -08:00
Olivier Fourdan
87918445ab ci: Install wayland-protocols 1.38
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1742>
(cherry picked from commit a55ed3309b)
2026-01-25 10:39:58 -08:00
Olivier Fourdan
b0d703d17e ci: Check for DDXen to be built
Add a script in CI to check for the mere presence of the expected DDXen
to be built.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1743>
(cherry picked from commit d98b36461a)
2026-01-25 10:39:58 -08:00
Olivier Fourdan
19de7d3ed0 ci: Force build of default DDXen in the default target
If any dependency that a DDX requires is missing, the build of the DDX
will be automatically disabled, and the CI check will succeed.

We want the build to fail if any of the expected DDX cannot be built in
the CI, so let's force-enable them at build time.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>

v2: Use a variable for the DDX build args (Peter Hutterer
    <peter.hutterer@who-t.net>)

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1743>
(cherry picked from commit fbedb9b12b)
2026-01-25 10:39:58 -08:00
Enrico Weigelt, metux IT consult
f1802c5458 ci: reduce nolibdecor build to xwayland only
libdecor is only relevant for Xwayland, so no need to build all the
other DDX'es for this build test. Remvoving some unncessary load from
CI machines by disabling all DDX'es but Xwayland here.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1676>
(cherry picked from commit 3cbc9eda07)
2026-01-25 10:39:57 -08:00
Alan Coopersmith
b4a0d3157c CI: update meson from 0.56.2 (bullseye) to 1.0.0 (bullseye-backports)
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1668>
(cherry picked from commit 3de2e27ccc)
2026-01-25 10:39:57 -08:00
Alan Coopersmith
41492c30e1 CI: Update xcb util libraries to versions with working submodule URLs
The tags previously listed used anongit.fd.o URLs for their submodules
which no longer work.  Update to tags using gitlab.fd.o URL's instead.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1672>
(cherry picked from commit 83f553b340)
2026-01-25 10:39:57 -08:00
Enrico Weigelt, metux IT consult
4e5d92a466 ci: add FreeBSD build
Build the Xserver in FreeBSD VM.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1425>
(cherry picked from commit 94998e3a1d)
2026-01-25 10:39:56 -08:00
Enrico Weigelt, metux IT consult
b0624e99d4 ci: use master branch of xf86-video-qxl driver
Need some fixes not in a tagged release yet.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1425>
(cherry picked from commit c41bb2049e)
2026-01-25 10:39:56 -08:00
Enrico Weigelt, metux IT consult
304708c13c ci: fix w64 cross build pkg-config path
pkg-config path is wrong: it's using /usr/share/pkgconfig from the *host*
instead of sysroot, which is leading to wrong pathes.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1655>
(cherry picked from commit 9929f64ec8)
2026-01-25 10:39:56 -08:00
Enrico Weigelt, metux IT consult
409545421e ci: enable building security extension
Since we already had incident where a break in security extension went to
master unnoticed, it's better to enable it in CI build.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1617>
(cherry picked from commit aec722db36)
2026-01-25 10:39:55 -08:00
Alan Coopersmith
cc08f1f4f9 CI: Checkout driver tag into the directory we build from
It was previously checking out the default branch into the $DRIVER
subdirectory, and the requested tag into the current subdirectory,
but then proceeding to build the $DRIVER subdirectory.

Fixes: 89b7f4501 ("CI: add a driver build stage to check for header breakage")
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1607>
(cherry picked from commit 552250901f)
2026-01-25 10:39:55 -08:00
Enrico Weigelt, metux IT consult
00f7df1f08 os: drop SUN-DES-1 authentication
DES isn't considered secure anymore for long time now, more and more platforms
dropping DES from their RPC implementations, and even the one where it came
from (Solaris) disabled it for a decade now. We have much better alternatives
(eg. passing creds via Unix socket for local connections, ssh tunneling,
MIT-MAGIC-COOKIE-1, ...), so it's unlikely anybody still really relying on it.

Therefore, sweep it out.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1453>
(cherry picked from commit 71b207a2eb)
2026-01-25 10:39:53 -08:00
Peter Hutterer
a29ee13088 CI: include ci-templates only once
No functional change here.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1568>
(cherry picked from commit baef637747)
2026-01-25 10:39:53 -08:00
Erik Kurzinger
5c141a7b33 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>
(cherry picked from commit e00e7205c9)
2026-01-19 12:32:24 -08:00
Peter Hutterer
9bdd10b023 CI: Only run the driver build job on Xorg changes
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1318>
(cherry picked from commit 052909ab9b)
2026-01-19 12:32:22 -08:00
Peter Hutterer
6383d90e89 CI: add a driver build stage to check for header breakage
Pull a few drivers and try to build their most recent release (or a
specific SHA) and see if they still build. If they do, yay, otherwise
fail.

Dependency-wise we need to keep libevdev-dev and libinput-dev around
now and add libspice-protocol-dev for the qxl driver.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1318>
(cherry picked from commit 89b7f45010)
2026-01-19 12:32:22 -08:00
Michel Dänzer
c7b10e390d ci: Make test stage jobs not depend on earlier stage jobs
There's no dependency, they can start anytime.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1406>
(cherry picked from commit e1cb1b324e)
2026-01-19 12:32:21 -08:00
Peter Hutterer
ff7af01b74 CI: replace the dist script with invocations of the meson-build script
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1317>
(cherry picked from commit 96b9bbe9fa)
2026-01-19 12:32:19 -08:00
Peter Hutterer
e282e921df CI: switch the mingw cross-compile job to use the meson build script too
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1317>
(cherry picked from commit cd6840f18e)
2026-01-19 12:32:19 -08:00
Peter Hutterer
cf709197f7 CI: switch to the meson-build.sh helper script
This script does the same thing but has a few more toggles than our
custom script which means we can set everything we need in the
gitlab-ci.yml file and have it DTRT.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1317>
(cherry picked from commit ce2f24c510)
2026-01-19 12:32:19 -08:00
Peter Hutterer
49c771b812 CI: use MESON_BUILDDIR for the build directory
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1317>
(cherry picked from commit 0ab32a7587)
2026-01-19 12:32:19 -08:00
Michel Dänzer
961d72684b ci: Create check-merge-request job only in MR pipelines
It can't work as intended in other pipelines.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1338>
(cherry picked from commit 1b625044dc)
2026-01-19 12:32:18 -08:00
Michel Dänzer
d757aabd50 ci: Prevent duplicate pipelines for MRs
Do not create a pipeline for $CI_PIPELINE_SOURCE == 'push' if
$CI_OPEN_MERGE_REQUESTS is set, which means there are open MRs using
the branch as the source.
2024-01-08 01:11:21 +00:00
Peter Hutterer
a133334270 xwayland: Add XTEST support using EIS
This adds support for XTEST in Xwayland using EIS, the emulated input
library [1].

To differentiate between X11 clients using XTEST, initiate a EI context
for each client and use the actual client name, from its command
line.

When an X11 client first tries to use XTEST to generate emulated input
events, a new connection to libEI is initiated by Xwayland on behalf
of the X11 client.

During that connection phase, the EI server will not be accepting
events until the emulated device is actually created, meaning that any
XTEST request from the X11 client will be discarded until the EI server
is willing to accept events.

To avoid that issue, add an event queue in Xwayland per X11 client that
will keep those requests, and dequeue them as soon as the EI server is
ready, i.e. once the EI device is added.

If the X11 client disconnects from the Xserver before the EI server is
ready, or if the connection is closed by the EI server, those events are
discarded and the queue cleared from any pending events.

For 10 minutes after the client disconnects, keep the internal struct
alive. If a client with the same commandline arguments connects again,
re-use the same struct. This means we are faster with the events the
second time around but it also allows the EIS server to pause individual
clients that keep sending intermittent events and disconnect immediately
(e.g. it'd be possible to pause xdtotool while an authentication prompt
is active).

[1] https://gitlab.freedesktop.org/libinput/libei

Thanks to Jan Beich <jbeich@FreeBSD.org> for fixing the build on BSD.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Co-authored-by: Olivier Fourdan <ofourdan@redhat.com>
Co-authored-by: David Redondo <kde@david-redondo.de>
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
2023-06-26 13:19:19 +02:00
Xaver Hugl
2adc5c45c1 present: add support for PresentOptionAsyncMayTear
Signed-off-by: Xaver Hugl <xaver.hugl@gmail.com>
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
2023-06-19 12:19:31 +02:00
Xaver Hugl
c6bf0e3950 Update CI to xorgproto 2023.2
This is needed to support tearing-updates-v1

Signed-off-by: Xaver Hugl <xaver.hugl@gmail.com>
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
2023-06-19 12:19:28 +02:00
Xaver Hugl
e3480b0d78 Update the CI to provide wayland-protocols 1.30
This is needed for tearing-updates-v1

Signed-off-by: Xaver Hugl <xaver.hugl@gmail.com>
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
2023-06-19 12:19:18 +02:00
Alan Coopersmith
445834826d gitlab CI: add workflow rules
Needed due to the gitlab config changes described in:
 https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/438

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2023-03-14 10:39:32 -07:00
Austin Shafer
5a742ab876 Add libdrm 2.4.109 requirement
Reviewed-by: Olivier Fourdan <ofourdan@redhat.com>
2023-03-03 14:18:49 +00:00
Michel Dänzer
81d91f7d01 ci: Move dist testing to a separate job
Multiple reasons, in particular:

* Doing it in every build & test job duplicates effort, resulting in
  the pipeline taking longer than necessary.
* We cannot limit the number of test processes spawned by meson dist.
* There's little point running tests for dist anyway, we just want to
  make sure we can build & install from the generated tarball.
2023-01-19 15:08:57 +01:00
Joshua Ashton
d1fbee9cf5 ci: Bump to wayland-protocols 1.28 for xwayland_shell
Debian Bullseye only has 1.20, so we need to bump this.

Signed-off-by: Joshua Ashton <joshua@froggi.es>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
2022-12-21 11:03:20 +00:00
Michel Dänzer
67bca99637 ci: Move build job script to a separate file
Will make it easier to do more complex shell stuff.

No functional change intended.

v2:
* Use /bin/bash instead of /bin/sh (Peter Hutterer)
* Export environment variables on a separate line (Peter)
* Use "set" command instead of shell command line arguments, for
  consistency with debian-install.sh.
2022-09-02 14:52:20 +02:00
Michel Dänzer
3d7df9b452 ci: Use fixed Git commits for piglit, rendercheck & xts
Without this, building a new docker image may pull in new changes from
those repositories, which may affect the CI results.
2022-09-02 14:52:18 +02:00