Commit graph xserver/include
Author SHA1 Message Date
Enrico Weigelt, metux IT consult
9b7d25945f os: drop xstrcasestr()
Some checks failed
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-solaris (push) Has been cancelled
Build X servers / xserver-build-openbsd (push) Has been cancelled
Build X servers / xserver-build-hurd (push) Has been cancelled
Build X servers / xserver-build-alpine (push) Has been cancelled
Build X servers / gentoo-deps-image (push) Has been cancelled
Build X servers / xserver-build-gentoo (push) Has been cancelled
Build X servers / xserver-build-rhel (10) (push) Has been cancelled
Build X servers / xserver-build-rhel (9) (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / xserver-build-arch (push) Has been cancelled
Build X servers / Check Signed-Off-By (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
check PRs for merge conflicts / notify (push) Has been cancelled
Windows is the only platform not providing strcasestr, and it's only
user is the xfree86 DDX, which only runs on Unix.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-07-23 14:35:08 +02:00
Enrico Weigelt, metux IT consult
6b1a33e91e Revert "include: move CONFIG_BSD_CONSOLE into xlibre-xserver.h"
Some checks failed
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-solaris (push) Has been cancelled
Build X servers / xserver-build-openbsd (push) Has been cancelled
Build X servers / xserver-build-hurd (push) Has been cancelled
Build X servers / xserver-build-alpine (push) Has been cancelled
Build X servers / gentoo-deps-image (push) Has been cancelled
Build X servers / xserver-build-gentoo (push) Has been cancelled
Build X servers / xserver-build-rhel (10) (push) Has been cancelled
Build X servers / xserver-build-rhel (9) (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / xserver-build-arch (push) Has been cancelled
Build X servers / Check Signed-Off-By (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
check PRs for merge conflicts / notify (push) Has been cancelled
This reverts commit cbbac38918.
It was a dead end: the symbol already *has* been in xlibre-xserver.h,
but that change moved it into the private xorg-config.h.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-07-14 10:45:23 +02:00
Enrico Weigelt, metux IT consult
cbbac38918 include: move CONFIG_BSD_CONSOLE into xlibre-xserver.h
Some checks failed
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-solaris (push) Has been cancelled
Build X servers / xserver-build-openbsd (push) Has been cancelled
Build X servers / xserver-build-hurd (push) Has been cancelled
Build X servers / xserver-build-alpine (push) Has been cancelled
Build X servers / gentoo-deps-image (push) Has been cancelled
Build X servers / xserver-build-gentoo (push) Has been cancelled
Build X servers / xserver-build-rhel (10) (push) Has been cancelled
Build X servers / xserver-build-rhel (9) (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / xserver-build-arch (push) Has been cancelled
Build X servers / Check Signed-Off-By (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
check PRs for merge conflicts / notify (push) Has been cancelled
the classic keyboard driver needs it defined on BSD systems.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-07-13 12:49:52 +02:00
Enrico Weigelt, metux IT consult
4016148b81 os: gate SVR4-only socket headers on HAVE_SYS_*_H, not SVR4
Some checks failed
Build X servers / drivers-build-ubuntu (video-siliconmotion:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sis:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sisusb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg14:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg3:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-solaris (push) Has been cancelled
Build X servers / xserver-build-openbsd (push) Has been cancelled
Build X servers / xserver-build-hurd (push) Has been cancelled
Build X servers / xserver-build-alpine (push) Has been cancelled
Build X servers / gentoo-deps-image (push) Has been cancelled
Build X servers / xserver-build-gentoo (push) Has been cancelled
Build X servers / xserver-build-rhel (10) (push) Has been cancelled
Build X servers / xserver-build-rhel (9) (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
<sys/filio.h>, <sys/sockio.h> and <sys/stropts.h> were included under
the grab-bag SVR4 / __SVR4 OS macro. Whether these headers exist is a
per-header question, so probe them directly:

  - conf_data gains HAVE_SYS_FILIO_H / HAVE_SYS_SOCKIO_H /
    HAVE_SYS_STROPTS_H via cc.has_header (alongside the other
    HAVE_SYS_*_H checks),
  - os/Xtranssock.c gates <sys/filio.h> on HAVE_SYS_FILIO_H,
  - os/access.c gates <sys/sockio.h> on HAVE_SYS_SOCKIO_H and
    <sys/stropts.h> on HAVE_SYS_STROPTS_H (split into independent guards
    since they are now independent probes).

<sys/stropts.h> is SVR4/Solaris-only, so its check is exactly
equivalent to the old SVR4 guard. <sys/filio.h> and <sys/sockio.h> also
exist on the BSDs, so they are now correctly included there too (they
provide the FIO*/SIOC* ioctls and are idempotent — the BSD <sys/ioctl.h>
already pulls them in), which is the intended "include it where it
exists" behaviour rather than "only on SVR4".

Verified: Linux -Dwerror=true build gets all three as #undef (none of
the headers exist there, identical to SVR4 being undefined) and links
Xvfb and Xnest cleanly.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-07-07 13:29:44 +02:00
Enrico Weigelt, metux IT consult
6efb6f85de xf86: drop dead #define termio termios
Some checks failed
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-solaris (push) Has been cancelled
Build X servers / xserver-build-openbsd (push) Has been cancelled
Build X servers / xserver-build-hurd (push) Has been cancelled
Build X servers / xserver-build-alpine (push) Has been cancelled
Build X servers / gentoo-deps-image (push) Has been cancelled
Build X servers / xserver-build-gentoo (push) Has been cancelled
Build X servers / xserver-build-rhel (10) (push) Has been cancelled
Build X servers / xserver-build-rhel (9) (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / xserver-build-arch (push) Has been cancelled
Build X servers / Check Signed-Off-By (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
check PRs for merge conflicts / notify (push) Has been cancelled
The SysV `struct termio` type is used nowhere in the tree — the only
`termio` occurrence is the unrelated `#include <termio.h>` in the
SVR4/Sun block — so this BSD-only alias mapping `termio` to `termios`
under `#ifdef CSRG_BASED` is dead code and can be removed.

The rest of the `#ifdef CSRG_BASED` block is left intact: it is a
legitimate structural BSD-header block, to be dealt with in a later
xf86_OSlib.h restructure.

The CSRG_BASED block isn't compiled on Linux; a `-Dwerror=true` Linux
build links Xvfb and Xnest cleanly, confirming no accidental damage.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-07-02 13:23:11 +02:00
Enrico Weigelt, metux IT consult
b9d651f800 os: gate <sys/param.h> on HAVE_SYS_PARAM_H, not CSRG_BASED
Some checks failed
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-solaris (push) Has been cancelled
Build X servers / xserver-build-openbsd (push) Has been cancelled
Build X servers / xserver-build-hurd (push) Has been cancelled
Build X servers / xserver-build-alpine (push) Has been cancelled
Build X servers / gentoo-deps-image (push) Has been cancelled
Build X servers / xserver-build-gentoo (push) Has been cancelled
Build X servers / xserver-build-rhel (10) (push) Has been cancelled
Build X servers / xserver-build-rhel (9) (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / xserver-build-arch (push) Has been cancelled
Build X servers / Check Signed-Off-By (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
check PRs for merge conflicts / notify (push) Has been cancelled
Whether <sys/param.h> is available is a header question, not an
OS-family question. Both os/connection.c and os/access.c included it
under `#ifdef CSRG_BASED` (i.e. "is this a BSD-derived system or
Darwin?") — a grab-bag OS macro standing in for the concrete fact that
actually matters. Replace it with a proper feature check.

Add HAVE_SYS_PARAM_H via cc.has_header('sys/param.h') to conf_data
(alongside the other HAVE_SYS_*_H probes) and switch both includes to
it. This is behaviour-preserving:

  - On the BSD/Darwin systems where CSRG_BASED was set, sys/param.h
    exists, so the header is still included.
  - In os/access.c the inner `#if (BSD >= 199103)` guard is unchanged:
    BSD is only defined by sys/param.h itself (on real BSD), so on other
    platforms it stays undefined and VARIABLE_IFREQ is not defined —
    exactly as before.
  - On platforms that always have sys/param.h (e.g. glibc/Linux) the
    header is now also included, which is harmless.

Verified: Linux build with -Dwerror=true configures and links Xvfb and
Xnest cleanly (no MIN/MAX or other redefinition from the widened
include).

First step of replacing the tree's grab-bag OS-family #ifdefs
(CSRG_BASED, SVR4, ...) with concrete, meson-detectable feature flags.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-07-02 11:42:50 +02:00
Enrico Weigelt, metux IT consult
7103c74da1 xf86: gate consType on CONFIG_BSD_CONSOLE, not CSRG_BASED
The xf86Info.consType field and the BSD console-driver-type constants
(PCCONS/SYSCONS/PCVT/WSCONS/...) are the BSD console machinery consumed
by hw/xfree86/os-support/bsd/console_*.c and bsd_VTsw.c. They were
gated on the opaque grab-bag macro CSRG_BASED ("Computer Systems
Research Group", i.e. BSD-derived) OR'd with __FreeBSD_kernel__.

Introduce a self-documenting meson flag CONFIG_BSD_CONSOLE (following
the existing CONFIG_WSCONS/CONFIG_UDEV/... convention) set to exactly
`csrg_based or host_machine.system() == 'kfreebsd'` — i.e. the same set
of platforms the old `CSRG_BASED || __FreeBSD_kernel__` guard matched —
and use it at all three sites (struct field, constants, initializer).

Behaviour / ABI:
  - The flag is true on precisely the same platforms as before, so the
    xf86InfoRec layout is unchanged everywhere. On Linux (and every
    non-BSD target) CONFIG_BSD_CONSOLE is undefined just as CSRG_BASED
    was, so consType stays absent and the struct offsets — hence the
    driver ABI, incl. the nvidia blob — are untouched.
  - Fixes a latent inconsistency on GNU/kFreeBSD: the struct field was
    present there (via __FreeBSD_kernel__) but xf86Globals.c initialised
    .consType only under #ifdef CSRG_BASED, so it defaulted to 0 instead
    of -1. Both are now driven by the single CONFIG_BSD_CONSOLE flag, so
    field presence and initialiser always agree.

Verified: Linux -Dwerror=true build configures (dix-config.h gets
`#undef CONFIG_BSD_CONSOLE`) and links Xorg cleanly.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-07-02 11:42:00 +02:00
Enrico Weigelt, metux IT consult
c7843a9d39 dix: guard ARRAY_SIZE against a platform-provided definition
Some checks failed
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-solaris (push) Has been cancelled
Build X servers / xserver-build-openbsd (push) Has been cancelled
Build X servers / xserver-build-hurd (push) Has been cancelled
Build X servers / xserver-build-alpine (push) Has been cancelled
Build X servers / gentoo-deps-image (push) Has been cancelled
Build X servers / xserver-build-gentoo (push) Has been cancelled
Build X servers / xserver-build-rhel (10) (push) Has been cancelled
Build X servers / xserver-build-rhel (9) (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / xserver-build-arch (push) Has been cancelled
Build X servers / Check Signed-Off-By (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
check PRs for merge conflicts / notify (push) Has been cancelled
include/dix.h defined ARRAY_SIZE() unconditionally. On platforms whose
system headers already provide it — notably illumos/Solaris
<sys/sysmacros.h> — that is a redefinition, fatal under -Werror
("ARRAY_SIZE redefined"). Wrap it in #ifndef, matching what
Xext/dri2/pci_ids/pci_id_driver_map.h already does, so any translation
unit that pulls in a system ARRAY_SIZE before dix.h keeps building.

(Robustness fix: the concrete xf86bigfont Solaris break that exposed this
is separately fixed by dropping its <sys/sysmacros.h> include, but dix.h
should not be fragile for the next such file.)

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-07-01 18:25:14 +02:00
Tautvis
60fea77f06 include: glx_extint.h add comment for xorgGlxCreateVendor
Add warning, that xorgGlxCreateVendor need to be called once

Signed-off-by: Tautvis <gtautvis@gmail.com>
2026-06-30 15:25:49 +02:00
Enrico Weigelt, metux IT consult
f1ce12ac77 glx: move GLYPHPADBYTES out of the SDK into its sole user
Some checks failed
Build X servers / drivers-build-ubuntu (video-sisusb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg14:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg3:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-solaris (push) Has been cancelled
Build X servers / xserver-build-openbsd (push) Has been cancelled
Build X servers / xserver-build-alpine (push) Has been cancelled
Build X servers / xserver-build-gentoo (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / xserver-build-arch (push) Has been cancelled
Build X servers / Check Signed-Off-By (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
check PRs for merge conflicts / notify (push) Has been cancelled
Build ubuntu deps image / build-ubuntu-deps-image (push) Has been cancelled
GLYPHPADBYTES used to be a machine-dependent knob in <servermd.h>,
tunable per platform for the old mfb/cfb glyph blitters. Those are
long gone and the value has been fixed at 4 for over a decade; the
remaining "!= 4" code paths were just dropped (a09755b66), and
GLYPHWIDTHBYTESPADDED() now hardwires the 4-byte row pad directly.

That left the server-side glXUseXFont() implementation as the single
remaining user, where it is handed to GL_UNPACK_ALIGNMENT so OpenGL
steps to each next glyph row on the same boundary X padded them to.
Since it is no longer machine-dependent and nothing else references
it, there is no reason to keep it in the public SDK header: move the
definition next to its lone use in Xext/glx/xfont.c, with a comment
explaining what it is and why it must match GLYPHWIDTHBYTESPADDED().

No functional change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-29 15:49:32 +02:00
Enrico Weigelt, metux IT consult
8031c2f45a treewide: fix result type of BitmapBytePad() to size_t
sizes can't have negative numbers, so use the size_t here.
Also having to fix up lots of callers.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-29 15:44:48 +02:00
Enrico Weigelt, metux IT consult
a09755b660 treewide: drop ifdef's for GLYPHPADBYTES != 4
It's always defined to 4, for over a decade now, so no extra case
checks needed anymore.

See: 17c3347f14
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-29 14:28:42 +02:00
Enrico Weigelt, metux IT consult
4564f0f16f [PR #3162] os: add optional debug logging of WriteToClient() frontend calls
Some checks failed
Build X servers / drivers-build-ubuntu (video-r128:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-rendition:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-s3virge:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-savage:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-siliconmotion:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sis:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sisusb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg14:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg3:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-solaris (push) Has been cancelled
Build X servers / xserver-build-openbsd (push) Has been cancelled
Build X servers / xserver-build-alpine (push) Has been cancelled
Build X servers / xserver-build-gentoo (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
Add a buildtime-selectable meson option 'debug_writetoclient' that logs
every call going through the exported WriteToClient() frontend, to help
track down which (out-of-tree / not-yet-converted) callers still use the
legacy public entry point instead of dixWriteToClient().

  - none      (default): no logging, the frontend stays a plain tail call
  - caller:   log client/count plus the immediate caller (return address,
              resolved to a symbol name via dladdr() when available)
  - backtrace: log client/count plus a full xorg_backtrace() stack

The option maps to CONFIG_DEBUG_WRITETOCLIENT[_BACKTRACE] in dix-config.h.
Internal reply/event paths use dixWriteToClient() directly and are not
affected by this logging.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
PR: https://github.com/X11Libre/xserver/pull/3162
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-26 23:17:09 +02:00
Enrico Weigelt, metux IT consult
3369a29359 [PR #3162] os: split WriteToClient() into exported frontend and internal dixWriteToClient()
Move the actual body of WriteToClient() into a new internal worker
dixWriteToClient() and turn WriteToClient() into a thin exported
frontend that just delegates to it.

This separates the two roles the function had: the exported, legacy
entry point kept for ABI compatibility with out-of-tree drivers/modules,
and the worker used by all in-tree reply/event paths. In-tree callers
will be moved over to dixWriteToClient() in the following commits, which
also lets the frontend be instrumented later without affecting internal
paths.

dixWriteToClient() is declared in the private os/io_priv.h but still
exported (_X_EXPORT), since in-tree modules that may be built as separate
shared objects (e.g. GLX) need to link against it.

The xi1/xi2 protocol unit tests intercept the reply path via
-Wl,-wrap,WriteToClient. As the in-tree reply path moves onto
dixWriteToClient(), retarget the linker wrap (and the WRAP_FUNCTION /
wrapped_* references) to dixWriteToClient(); this also covers calls that
still go through the WriteToClient() frontend, since it funnels into the
same worker.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
PR: https://github.com/X11Libre/xserver/pull/3162
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-26 23:17:09 +02:00
Victor Lev
fbbac7c8f8 os.h: add restrict qualifiers to strlcpy/strlcat declarations
Match the implementation signatures. os.h is an installed public SDK
header that may be included by C++ or pre-C99 consumers where the bare
'restrict' keyword does not compile, so use the portable _X_RESTRICT_KYWD
macro instead (it expands to nothing where restrict is unavailable, and
deliberately avoids 'restrict' under C++ to work around a g++ issue on
Solaris).

Signed-off-by: Victor Lev <levvictor123@gmail.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 15:45:46 +02:00
Enrico Weigelt, metux IT consult
ebbbb0236d dix: use xorg_list saveSet list
Simplify saveSet handling by just using trivial `struct xorg_list` instead
of complicated dynamically resized array. Common operations like insert or
remove are much simpler using lists instead of arrays.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-25 15:37:02 +02:00
Enrico Weigelt, metux IT consult
14a022d82f list: make xorg_list cope with zero-initialized list heads
Some checks failed
Build X servers / drivers-build-ubuntu (video-s3virge:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-savage:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-siliconmotion:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sis:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sisusb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg14:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg3:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-alpine (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / xserver-build-arch (push) Has been cancelled
Build X servers / Check Signed-Off-By (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
check PRs for merge conflicts / notify (push) Has been cancelled
Most xorg_list operations already tolerate a list head that was merely
zero-initialized (next == prev == NULL) instead of run through
xorg_list_init(): xorg_list_add()/xorg_list_append() auto-init via
__xorg_list_autoinit(), and xorg_list_for_each_entry(), xorg_list_is_empty()
and xorg_list_present() guard against a NULL head->next.

Two paths were still missed, so a head embedded in a calloc()'d struct could
crash before anything was ever added to it:

  - xorg_list_for_each_entry_safe() guarded its loop *condition* with
    (head)->next != NULL, but its init clause unconditionally computed
    tmp = container_of(pos->member.next, ...). On a zeroed head, pos resolves
    to container_of(NULL) and reading pos->member.next dereferences address 0,
    crashing before the guard is evaluated. Seed tmp from
    (head)->next ? pos->member.next : NULL so an empty/zeroed list iterates
    zero times without dereferencing anything.

  - xorg_list_del() dereferenced entry->prev/entry->next directly, so resetting
    a zeroed head (the documented "reset to empty list" use) would NULL-deref.
    Auto-init it first, consistent with xorg_list_add()/xorg_list_append().

With these, a zero-initialized xorg_list head behaves as a valid empty list
across the whole API, so an embedded list head no longer strictly requires an
explicit xorg_list_init() call to be safe.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-25 10:47:59 +02:00
Enrico Weigelt, metux IT consult
56799a9107 mi: drop mioverlay.h
Since no drivers are compiled against this anymore, and the mioverlay.c
functions only dummies just to satisfy proprietary Nvidia driver's
symbol dependencies, this header isn't needed anymore.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-24 19:26:49 +02:00
Konstantin
5b088a5514 xv: change FOURCC_RGBA32 to AMD one
Initally we used value of DRM_FORMAT_ARGB8888, but it seems than
xf86-video-ati has established other value for years. So, change it to
well established one.

Because we define a different values, this breaks compilation of xf86-video-ati.
I am unsure, who is right in this situation, but I guess better to use
an established value, to make AMD xorg driver compile.

I do not aware about any of the side effects of this change.

Fixes: 15412e78c8 - glamor: xv: add rgba32 format
Signed-off-by: Konstantin <ria.freelander@gmail.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1321>
2026-06-24 19:25:57 +02:00
Enrico Weigelt, metux IT consult
d3969dc792 xfixes: move cursor count priv data into ScreenRec
First step of untwisting xfixes: move the small private data structure
directly into ScreenRec - this is just the head pointer for the (per
client) cursor hide counters and the wrapped DisplayCursor() vector.

This functionality is planned to be moved into DIX later.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-24 19:23:27 +02:00
Enrico Weigelt, metux IT consult
db5c65f130 include: parentheses around macro argument symbols
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-24 19:12:55 +02:00
Enrico Weigelt, metux IT consult
a9587bd0fa include: inputstr.h: drop assert()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-19 19:24:57 +02:00
Enrico Weigelt, metux IT consult
cd3b134234 include: extnsionst.h: drop unnecessary includes
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-18 13:50:05 +02:00
stefan11111
aba7780c2e include: glamor/glamor_egl: Use EGL extensions string macros for build-time compat
Don't waste time probing egl extenions with meson.
libepoxy (and libglvnd) already have macros defined for
various EGL extensions that the gl library knows about.

Signed-off-by: stefan11111 <stefan11111github@gmail.com>
2026-06-15 16:48:40 +02:00
Enrico Weigelt, metux IT consult
4f314d497c include/meson.build: use triple quotes for multiline prefix in has_member
Signed-off-by: Nekrad <nekrad@xlibre.org>
2026-06-12 18:59:03 +02:00
Enrico Weigelt, metux IT consult
b158f35a6d meson: fix features requiring >= 1.0.0 to keep minimum 0.61.0
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-06-10 13:01:22 +02:00
stefan11111
6b3703e120 glamor/glamor_egl: Import pixmaps directly from dma bufs
Before this, when we wanted to import pixmaps from dma bufs,
we were importing a gbm bo from dma bufs, exporting the
gbm bo as dmabufs, importing an EGLImageKHR from those
dmabufs, and finally creating a pixmap from the EGLImageKHR.

Now, we just import the image and create a pixmap from it.

See: https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2057#note_3442757

Signed-off-by: stefan11111 <stefan11111github@gmail.com>
2026-05-29 13:35:43 +02:00
John Studnicka
b477959552 lint: Add targeted NOLINT on existing ASM
Some checks failed
Build X servers / drivers-build-ubuntu (video-nouveau:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-nv:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-omap:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-qxl:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-r128:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-rendition:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-s3virge:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-savage:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-siliconmotion:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sis:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sisusb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg14:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg3:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Has been cancelled
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
Signed-off-by: John Studnicka <contact@zentec.dev>
2026-05-26 12:15:17 +02:00
stefan11111
f6d7e8c3ef meson: Add -Dgbm build option
Allow libgbm to be explicitly enabled/disabled.
Useful for testing (and maybe packaging).

Signed-off-by: stefan11111 <stefan11111github@gmail.com>
2026-05-21 20:32:54 +02:00
stefan11111
03a7e3c51e glamor/glamor_egl: Add a fallback path to glamor_gbm_bo_from_pixmap_internal
nvidia's gbm backend has issues dealing with importing a gbm bo directly from an EGLImage

This exports the image as dmabufs and imports a bo from dmabufs

This fixes DRI3 export on nvidia, but it is a terrible implementation.

A better implementation can be found here: https://github.com/X11Libre/xserver/pull/2732

See: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/14047#note_3475566

Fixes: https://github.com/X11Libre/xserver/issues/1202

Signed-off-by: stefan11111 <stefan11111github@gmail.com>
2026-05-21 17:01:29 +02:00
Peter Hutterer
cd2f6a0f19 os/auth: prefer getrandom() over arc4random_buf() and /dev/urandom
Some checks are pending
Build X servers / drivers-build-ubuntu (video-rendition:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-s3virge:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-savage:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-siliconmotion:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-sis:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-sisusb:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-suncg14:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-suncg3:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-suncg6:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-sunffb:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-sunleo:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-suntcx:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-tdfx:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-trident:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-v4l:25.0.1) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-vbox:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-vesa:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-vmware:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-voodoo:25.0.0) (push) Blocked by required conditions
Build X servers / drivers-build-ubuntu (video-xgi:25.0.0) (push) Blocked by required conditions
Build X servers / xserver-build-mingw32-ubuntu (push) Waiting to run
Build X servers / xserver-build-macos (push) Waiting to run
Build X servers / xserver-build-freebsd (push) Waiting to run
Build X servers / xserver-build-dragonflybsd (push) Waiting to run
Build X servers / xserver-build-netbsd (push) Waiting to run
Build X servers / xserver-build-cygwin (push) Waiting to run
Build X servers / xserver-build-arch (push) Waiting to run
Build X servers / Check Signed-Off-By (push) Waiting to run
Build X servers / Release pushed tag (push) Blocked by required conditions
check PRs for merge conflicts / notify (push) Waiting to run
Use getrandom() as the preferred source of random data when available,
getrandom() works in chroots and containers without the random device
node.

Note this is a build-time preference, not a runtime preference.

Assisted-by: Claude:claude-claude-opus-4-6
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2200>
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-05-20 19:50:09 +02:00
Emil Velikov
304cd659d4 glamor_egl: remove unneeded xf86 includes/GLAMOR_FOR_XORG
As of last commit, all of glamor_egl ix xf86 agnostic, so adjust the
includes and drop the GLAMOR_FOR_XORG instances.

Note the macro is still used for glamor_xv_init() which pulls xf86.

v2: Drop GLAMOR_FOR_XORG guards (Michel Dänzer)

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/235>
2026-05-12 14:50:18 +02:00
Enrico Weigelt, metux IT consult
1795852d15 include: scrnintstr.h: mark private area of ScreenRec
Some checks are pending
Build X servers / xserver-build-ubuntu (push) Waiting to run
Build X servers / drivers-build-ubuntu (push) Waiting to run
Build X servers / xserver-build-mingw32-ubuntu (push) Waiting to run
Build X servers / xserver-build-macos (push) Waiting to run
Build X servers / xserver-build-freebsd (push) Waiting to run
Build X servers / xserver-build-dragonflybsd (push) Waiting to run
Build X servers / xserver-build-netbsd (push) Waiting to run
Build X servers / xserver-build-cygwin (push) Waiting to run
Build X servers / Check Signed-Off-By (push) Waiting to run
Build X servers / Release pushed tag (push) Blocked by required conditions
check PRs for merge conflicts / notify (push) Waiting to run
Add a clear marker telling the border line of which fields drivers
are allowed to touch (except for in-tree drivers) - anything below
is NOT part of ABI anymore and can change anytime.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-05-08 13:58:15 +02:00
Enrico Weigelt, metux IT consult
1d9dab775e include: window.h: drop duplicate typedef of WindowPtr
Some checks are pending
Build X servers / xserver-build-ubuntu (push) Waiting to run
Build X servers / drivers-build-ubuntu (push) Waiting to run
Build X servers / xserver-build-mingw32-ubuntu (push) Waiting to run
Build X servers / xserver-build-macos (push) Waiting to run
Build X servers / xserver-build-freebsd (push) Waiting to run
Build X servers / xserver-build-dragonflybsd (push) Waiting to run
Build X servers / xserver-build-netbsd (push) Waiting to run
Build X servers / xserver-build-cygwin (push) Waiting to run
Build X servers / Check Signed-Off-By (push) Waiting to run
Build X servers / Release pushed tag (push) Blocked by required conditions
check PRs for merge conflicts / notify (push) Waiting to run
this typedef is already in include/xlibre_ptrtypes.h

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-05-06 19:32:33 +02:00
stefan11111
3c26aad719 glamor: xfree86: Add glamor_egl_init2 function
Some checks are pending
Build X servers / xserver-build-ubuntu (push) Waiting to run
Build X servers / drivers-build-ubuntu (push) Waiting to run
Build X servers / xserver-build-mingw32-ubuntu (push) Waiting to run
Build X servers / xserver-build-macos (push) Waiting to run
Build X servers / xserver-build-freebsd (push) Waiting to run
Build X servers / xserver-build-dragonflybsd (push) Waiting to run
Build X servers / xserver-build-netbsd (push) Waiting to run
Build X servers / xserver-build-cygwin (push) Waiting to run
Build X servers / Check Signed-Off-By (push) Waiting to run
Build X servers / Release pushed tag (push) Blocked by required conditions
check PRs for merge conflicts / notify (push) Waiting to run
`glamor_egl_init2` is now another function that can be used by xf86 drivers

Currently, all default glamor egl caps are either all set or all unset.
In the future, I'm planning to make it so that systems where
only some glamor egl caps can be enabled will have them enabled,
even if more advanced caps are unavailable.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-05-05 11:09:56 +02:00
Enrico Weigelt, metux IT consult
a6ba4a3800 include: xlibre_ptrtypes: protect from double declaration of ClientPtr
On MacOS we're getting tons of warnings, because Xdefs.h also defining
this type. In the longer run we should check whether to include
Xdefs.h at all, but for the time being just doing a quick workaround.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-04-30 14:39:39 +02:00
Enrico Weigelt, metux IT consult
93223eaec7 dix: dixfonts: move closure structures into consumer source file
The structs from closure.h and closestr.h are only used inside dixfonts.c,
thus no need to have them scattered around several headers.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-04-28 14:39:41 +02:00
b-aaz
5abe5a0b2a glamor: export some glamor APIs used by xorgxrdp.
Some checks are pending
Build X servers / xserver-build-ubuntu (push) Waiting to run
Build X servers / drivers-build-ubuntu (push) Waiting to run
Build X servers / xserver-build-mingw32-ubuntu (push) Waiting to run
Build X servers / xserver-build-macos (push) Waiting to run
Build X servers / xserver-build-freebsd (push) Waiting to run
Build X servers / xserver-build-dragonflybsd (push) Waiting to run
Build X servers / xserver-build-netbsd (push) Waiting to run
Build X servers / xserver-build-cygwin (push) Waiting to run
Build X servers / Check Signed-Off-By (push) Waiting to run
Build X servers / Release pushed tag (push) Blocked by required conditions
check PRs for merge conflicts / notify (push) Waiting to run
The recent development versions of xorgxrdp require these 5 glamor_*
functions that were made private in the past:

glamor_fds_from_pixmap:        Made private in ea232c7
glamor_pixmap_from_fds:        Made private in 81c1479
glamor_get_formats:            Made private in 6f6aab8
glamor_get_modifiers:          Made private in 0644764
glamor_get_drawable_modifiers: Made private in 800ab10

Exporting them again to make xorgxrdp compilable with XLibre.

Signed-off-by: b-aaz <b-aazbsd@proton.me>
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-04-27 20:29:32 +02:00
Enrico Weigelt, metux IT consult
3b5e1fb924 include: dri2.h: fix missing include of "dix.h"
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-04-24 16:44:17 +02:00
Enrico Weigelt, metux IT consult
d64cce16a4 include: fix missing includes of <X11/Xfuncproto.h>
Needed for _X_EXPORT.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-04-24 13:04:40 +02:00
Enrico Weigelt, metux IT consult
1a1db3624a glx: turn retval of xorgGlxCreateVendor() into void
Nobody's using it's return value.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-04-23 19:45:53 +02:00
Enrico Weigelt, metux IT consult
0a4da92bb8 include: vbeModes.h: fix missing include of <X11/Xdefs.h>
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-04-23 18:28:01 +02:00
Enrico Weigelt, metux IT consult
028766665c include: mioverlay.h: fix missing include of <X11/Xdefs.h>
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-04-23 18:13:24 +02:00
Enrico Weigelt, metux IT consult
3874ae3f8c include: mizerarc.h: fix missing include of <X11/Xdefs.h>
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-04-23 18:11:12 +02:00
Enrico Weigelt, metux IT consult
077b2f7ec5 include: misyncshm.h: fix missing include of <X11/Xdefs.h>
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-04-23 18:07:26 +02:00
Enrico Weigelt, metux IT consult
06a46f1127 include: misyncfd.h: fix missing include of <X11/Xdefs.h>
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-04-23 18:03:58 +02:00
Enrico Weigelt, metux IT consult
6d1ae8c9ac glamor: unexport glamor_destroy_pixmap()
Some checks are pending
Build X servers / xserver-build-ubuntu (push) Waiting to run
Build X servers / drivers-build-ubuntu (push) Waiting to run
Build X servers / xserver-build-mingw32-ubuntu (push) Waiting to run
Build X servers / xserver-build-macos (push) Waiting to run
Build X servers / xserver-build-freebsd (push) Waiting to run
Build X servers / xserver-build-dragonflybsd (push) Waiting to run
Build X servers / xserver-build-netbsd (push) Waiting to run
Build X servers / xserver-build-cygwin (push) Waiting to run
Build X servers / Check Signed-Off-By (push) Waiting to run
Build X servers / Release pushed tag (push) Blocked by required conditions
check PRs for merge conflicts / notify (push) Waiting to run
It's only used by glamor internally, on error pathes where the pixmap
has been created only partially and something went wrong.
Drivers don't call this function.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-04-22 16:52:24 +02:00
Alan Coopersmith
73b881c896 meson: define BSD44SOCKETS and LOCALCONN for xtrans when appropriate
These were defined for autoconf by xtrans.m4 but got missed in the
conversion to meson.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2171>
2026-04-21 12:16:58 +02:00
Diego Viola
01e3bbf4c8 Fix typos
Some checks failed
Build X servers / xserver-build-ubuntu (push) Has been cancelled
Build X servers / drivers-build-ubuntu (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / Check Signed-Off-By (push) Has been cancelled
check PRs for merge conflicts / notify (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
Signed-off-by: Diego Viola <diego.viola@gmail.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2134>
2026-04-19 12:32:26 +02:00
Tautvis
3b81b8a9b9 modesetting: fix defined(GBM_BO_*) enum compile checks
Some checks failed
Build X servers / xserver-build-ubuntu (push) Has been cancelled
Build X servers / drivers-build-ubuntu (push) Has been cancelled
Build X servers / xserver-build-mingw32-ubuntu (push) Has been cancelled
Build X servers / xserver-build-macos (push) Has been cancelled
Build X servers / xserver-build-freebsd (push) Has been cancelled
Build X servers / xserver-build-dragonflybsd (push) Has been cancelled
Build X servers / xserver-build-netbsd (push) Has been cancelled
Build X servers / xserver-build-cygwin (push) Has been cancelled
Build X servers / Check Signed-Off-By (push) Has been cancelled
check PRs for merge conflicts / notify (push) Has been cancelled
Build X servers / Release pushed tag (push) Has been cancelled
Apparently the enum values cannot be checked during preprocessor phase.
Fix it with checking gbm version using meson and defining additional
symbols which are visible during compile time.

Signed-off-by: Tautvis <gtautvis@gmail.com>
2026-04-10 14:09:38 +02:00