Commit Graph

218 Commits

Author SHA1 Message Date
Alan Coopersmith
3ee086b897 os: fix sha1 build error with Nettle 4.0
Nettle 2.6 (released in 2013) split the sha.h header into sha1.h & sha2.h,
but left the sha.h header for compatibility until the recent Nettle 4.0
release finally removed it.

Nettle 4.0 also dropped the length argument from the sha1_digest function.

Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1871
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2133>
2026-03-16 13:02:37 +01:00
Enrico Weigelt, metux IT consult
e1933ec5a7 meson.build: fix .pc and .m4 install on xorg-sdk-only build
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-14 14:30:39 +01:00
Enrico Weigelt, metux IT consult
1d27e2878a .github: build drivers against xorg-sdk without actual Xserver compile
Use the new xorg-sdk build type instead of building a complete Xserver,
to compile our drivers against.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 16:57:14 +01:00
Enrico Weigelt, metux IT consult
1e6c7be1df meson.build: don't compile anything when no DDX is enabled
The practical use case is just installing Xorg SDK headers for driver build,
but not having to actually compile anything.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 15:43:34 +01:00
Enrico Weigelt, metux IT consult
b2e858ee80 meson.build: move build_xephyr and build_xfbdev to toplevel
These values are also used in at the toplevel, and we're going to
have more uses there for xorg-sdk-only builds.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 12:34:15 +01:00
Enrico Weigelt, metux IT consult
eb6b201c23 meson.build: separate option for only installing xorg sdk
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 12:33:58 +01:00
Enrico Weigelt, metux IT consult
65472d1964 xfree86: move over public SDK headers to include/
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-12 16:21:02 +01:00
Enrico Weigelt, metux IT consult
4d7ffcc2b8 meson.build: don't set HAVE_DIX_CONFIG_H
The symbol isn't used anywhere anymore, so no need to keep it.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-11 16:56:44 +01:00
stefan11111
0a2568ab3a treewide: Update meson.builds for the changes in the modesetting driver
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
Enrico Weigelt, metux IT consult
e369882b50 xorg-server.pc: add more variables for easier driver builds
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-08 16:57:10 +01:00
stefan11111
dc39eda42b treewide: Move the dri2 extension to Xext and use it for all X servers
This is needed to get proton working in Xfbdev, but is probably useful in other places too.

Xephyr has some unrelated issues regaring Xinput, so steam doesn't work there.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-02 17:51:43 +01:00
Enrico Weigelt, metux IT consult
306e4a8a3f release 25.1
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-21 15:53:30 +01:00
b-aaz
7f7efe8195 Revert 9a82f5c, bring back Cygwin support.
Brought back the code removed in that commit so that we can bring back
Cygwin support.
Small changes are done in the process of resolving conflicts against the
current head.

Some checks have not been reverted, because they were not necessary
anymore.

Signed-off-by: b-aaz <b-aazbsd@proton.me>
2025-12-21 12:59:03 +01:00
b-aaz
a53697e70e xfree86: meson: Use install_symlink function instead of a hack.
This was a old hack used before Meson 0.61.0 added install_symlink, we
are at the meson release 1.10.0 so it is safe to use the new proper
function for this task.

Also used the X server's executable name as the link target name, and as
the SUID wrapper's name.

Moved the minimum Meson version up to 0.61.0.

Signed-off-by: b-aaz <b-aazbsd@proton.me>
2025-12-21 11:39:23 +01:00
Enrico Weigelt, metux IT consult
eecea2e1fc xorg-server.pc: add xserverconfigdir variable
That variable is supposed to be used by drivers to query the path to
the xserver config directory (eg /etc/X11/xorg.conf.d), if they have
to install config snippets. It's supposed to replace / phase-out the
sysconfigdir variable, which has a bit misleading name.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-19 17:28:03 +01:00
Enrico Weigelt, metux IT consult
49c15555f9 meson.build: install xlibre-server.h in addition to xorg-config.h
Both files are equal, but drivers should gradually migrate to the
new one, while the old one is phased out.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-19 12:54:57 +01:00
stefan11111
63f2422475 glx: include: meson_options.txt: Allow disabling DRI glx backends
This allows building the X server with glx and without mesa.
This also makes the X server optionally no longer be a loader for dri drivers.

Fixes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1638
Fixes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1819

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-12-16 15:56:04 +01:00
Enrico Weigelt, metux IT consult
1e66e2e02d meson.build: disable suggest-attribute=format warning on mingw32
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-12 19:41:55 +01:00
Enrico Weigelt, metux IT consult
005993d888 .github: enable -Werror on FreeBSD
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-12 15:27:14 +01:00
Enrico Weigelt, metux IT consult
819547669b meson.build: enable -Wchar-subscripts
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-12 13:48:15 +01:00
Enrico Weigelt, metux IT consult
f6dba72943 meson.build: enable -Wshift-negative-value
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-11 20:49:43 +01:00
Enrico Weigelt, metux IT consult
90c8af27bd include: move writing xorg-config.h to the end
This allows us to move around probing DDX specific logic out of the fat
include/meson.build to more appropriate places, eg. xfree86/meson.build.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-10 14:54:28 +01:00
Enrico Weigelt, metux IT consult
408b3076a7 sdk: install xlibre-server.pc in addition to xorg-server.pc
A little step forward in completely separating our SDK from old
legacy Xorg.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-08 15:15:45 +01:00
Tautvis
8d90cd0060 Patch 2/5 xfree86: libseat support, wireup libseat
Refactor libseat code for Xlibre and add to meson.build:

* update meson for seat-libseat
* refactor code:
  * seatd-libseat.c - add aditional private include headers
  * add cast to libseat_set_log_handler argument 1 for (libseat_log_func),
  for warning silencing
  * make seatd_libseat_init to accept keeptty state as parameter
  * include xf86Events, xf86_priv - make visible xf86VTLeave for seatd code (it
    is neccesary because seatd can force console leave)

Signed-off-By: Tautvis <gtautvis@gmail.com>
2025-12-05 12:29:52 +01:00
Enrico Weigelt, metux IT consult
1c0a9399c8 meson.build: move creating conf_data object to toplevel
create it very early, so we're free to move around call sites
between subdirectories. preparation for untwisting the whole
probing logic.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-12-05 12:19:52 +01:00
Enrico Weigelt, metux IT consult
a1f3edddf4 meson.build: enable -fno-common on all platforms
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-11-27 12:07:29 +01:00
stefan11111
5943ca5a1d os: Fix builds with -Dxdmcp=false
Fixes: https://github.com/X11Libre/xserver/issues/239
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-09-22 12:00:14 +02:00
b-aaz
679d1796c5 meson.build: Enable epoll-shim for DFBSD.
DragonFlyBSD also uses epoll-shim and it is necessary for DRI3.

Signed-off-by: b-aaz <b-aazbsd@proton.me>
2025-09-17 13:47:28 +02:00
Enrico Weigelt, metux IT consult
d7e7d2c142 meson.build: add -Wincompatible-pointer-types
Add some more compiler warning type.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-09-15 16:16:39 +02:00
Enrico Weigelt, metux IT consult
e474b81a45 damage: move the extension under the Xext directory
Tidying up the source tree structure a bit.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-09-10 17:06:13 +02:00
stefan11111
6415fdf2db kdrive: bring back Xfbdev
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-09-08 17:35:36 +02:00
stefan11111
133bf69eb5 meson.build: add Xephyr to the list of X servers we mention at build time
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-08-31 10:02:32 +02:00
stefan11111
90846d49cc xfree86: add (optional) ScreenRec padding for legacy Nvidia driver
Commit 3cb3024fea removed pScratchPixmap field
in ScreenRec, which broke legacy Nvidia (proprietary) drivers (470.x), thus
we should add an empty/dummy field here, to ensure correct padding. But this
would break ABI again - can't do that within minor release line.

As compromise, adding a *build time* option CONFIG_LEGACY_NVIDIA_PADDING for
this, so operators/packagers can opt-in to this change.

As it breaks ABI, the option is disabled by default until the next major release
and intended for EXPERTS ONLY who need nvidia390 or nvidia470 drivers.

Note that ALL DRIVERS should be rebuild if it is applied!

This compile-time option, along with the hacks needed to support it
in a non-abi-breaking way, should be droppen in the next major release.

Co-authored-by: Oleh Nykyforchyn <oleh.nyk@gmail.com>

Signed-off-by: Oleh Nykyforchyn <oleh.nyk@gmail.com>
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-22 17:02:12 +02:00
b-aaz
6574903366 include: meson.build: Fixed broken dependency on epoll-shim on FreeBSD.
The epoll-shim dependency did not get detected on FreeBSD,
because of missing prefix and dependency arguments in has_function()
call in include/meson.build.
Also added the path of epoll-shim headers include directory
(/usr/local/include/libepoll-shim/) to the compiler include search
paths for proper detection and build.

Signed-off-by: b-aaz <b-aazbsd@proton.me>
2025-08-05 14:04:05 +02:00
Enrico Weigelt, metux IT consult
ead8331996 kdrive: move ephyr build option check into kdrive's meson.build
As more kdrive-based servers are coming, it's time to refactor the meson
structure a little bit, so all kdrive specific logic is in its own subdir.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-08-04 12:57:16 +02:00
Medvidek77
02bba6d9b3 Update meson.build 2025-07-31 16:13:59 +02:00
Medvidek77
e24a13065d Fixed xserver version 2025-07-31 16:13:59 +02:00
stefan11111
ed12dbbc18 meson.build: Check for libudev directly, instead of our flimsy os-speciffic guessing
Implement what was discussed in https://github.com/X11Libre/xserver/issues/478

Use dependency() instead of cc.check_header(), as the former is the
intended way to check for dependencies.

cc.check_headers would turn udev on on systems where libudev.h
is present, but libudev.pc isn't.

Thos would do the wrong thing on systems where the admin wants to
have that header for some reason, but doesn't want programs to use
libudev.

We also keep udev and udev_kms a tristate, so we try to do
the right thing when the user doesn't explicitly pass
values for udev and udev_kms.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-07-28 17:24:05 +02:00
stefan11111
0d261275fa meson.build: Don't silently change the user's option regarding udev support
This can cause issues like: https://github.com/X11Libre/xserver/issues/397

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-07-24 20:22:26 +02:00
b-aaz
1da93ea889 meson.build: Enabled udev for FreeBSD.
FreeBSD uses libudev-devd for a libudev compatible interface.
So the udev options should be available for it.

Signed-off-by: b-aaz <b-aazbsd.proton.me>
2025-07-24 16:45:17 +02:00
Enrico Weigelt, metux IT consult
dcf7890076 Xace: always build xace
Xace callbacks are needed in many places, and the their overhead (when not
actually used) is really minimal. So it doesn't make much sense having
extra complexity for disabling it at build time.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-07-24 10:49:54 +02:00
Enrico Weigelt, metux IT consult
d5d19ac6f0 os: use internal xtrans instead of external library
Now that we've got xtrans bundled in our source tree, use this one and
drop the external dependency.

Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/691
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-07-18 22:29:38 +02:00
Enrico Weigelt, metux IT consult
c54d8b1b34 minor release 25.0.0.5
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-07-11 17:52:07 +02:00
Enrico Weigelt, metux IT consult
cdd81c2744 meson.build: add -Woverride-init
enable override-init warning to catch some more bugs.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-07-11 15:51:39 +02:00
Enrico Weigelt, metux IT consult
fc9bd6b175 minor release 25.0.0.4
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-07-04 17:26:48 +02:00
Enrico Weigelt, metux IT consult
5d7be80305 minor release 25.0.0.3
minor bugfix release.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-07-02 17:44:12 +02:00
stefan11111
6851e17816 meson.build: meson_options.txt: add build option to disable building tests
These tests take a long time to build and link, especially with lto.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2025-07-02 17:40:10 +02:00
Enrico Weigelt, metux IT consult
d08631bef1 minor release 25.0.0.2
minor bugfix release.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-30 12:44:45 +02:00
Enrico Weigelt, metux IT consult
f5ea9069e1 release 25.0.0.1
minor bugfix release

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-24 17:46:26 +02:00
Enrico Weigelt, metux IT consult
4e1515f793 meson.build: fix release date variable
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-06-23 15:42:47 +02:00