5771 Commits

Author SHA1 Message Date
Mario Limonciello
a86be24e6e Add compatibility define for pci_device_is_boot_display()
It will take some time for a new libpciaccess to be released and
even then bumping the dependency for libpciaccess isn't attractive.
If an older libpciaccess is used just add a static inline define.

Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2038>
2026-03-23 12:46:15 +01:00
Dongwon Kim
99473bb976 modesetting: Empty damage once dispatch is done
This commit is to fix some regression caused by

commit 995e60a919

where DamageEmpty on damage was missing in several
places.

Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1486>
2026-03-19 18:48:39 +01:00
Sultan Alsawaf
7f7753dd87 modesetting: Don't recursively force present to unflip
Present calls drmmode_set_mode_major() as part of ms_present_unflip(),
which leads to a crash due to the recursive attempt to force present to
unflip when it already is.

Fix it by simply skipping the forced present unflip when present itself is
unflipping. This also speeds up drmmmode_prepare_modeset() when present
isn't even flipping to begin with.

Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1791

Fixes: 899c87af1f ("modesetting: unflip before any setcrtc() calls")
Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1793>
2026-03-19 18:48:28 +01:00
stefan11111
a2976e3023 treewide: Pull DEFAULT_LOGDIR into dix-config.h
With this, X servers don't have to parse this option separately,
and can just use it after including dix-config.h

Linux kdrive servers (currently Xfbdev only) now support logging.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-03-18 14:09:52 +01:00
NexusSfan
13234efe7b Fix Hurd support for the vesa driver.
Also, nitpick, but `__GNU__` is the correct ifdef to use, not `__hurd__`.

Signed-off-by: NexusSfan <nexussfan@duck.com>
2026-03-16 13:30:13 +01:00
Icenowy Zheng
d0e2967eab modesetting: properly use fb_id of front_bo for reverse PRIME CRTC
When doing reverse PRIME, the buffer being scaned out is still the front
BO.

Properly reuse its fb_id, to prevent adding a FB for the front_bo each
time the fb_id is requested.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2064>
2026-03-16 13:22:51 +01:00
Thomas Zimmermann
ca1c0976dd Add a workaround to accept devices of the kernel's corebootdrm
driver. Makes Xorg work on pre-configured displays with coreboot
and the DRM graphics stack. Review of the corebootdrm driver
happens at [1].

Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/series/159820/ # [1]
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2132>
2026-03-16 13:19:45 +01:00
Thomas Zimmermann
af1459136d xf86: Accept devices with the kernel's vesadrm driver
Add a workaround to accept devices of the kernel's vesadrm driver.
Makes Xorg work on pre-configured displays with VESA and the DRM
graphics stack. Review of the vesadrm driver happens at [1].

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/series/146477/ # 1
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1879>
2026-03-16 13:19:45 +01:00
Thomas Zimmermann
901146fe17 xf86: Accept devices with the kernel's efidrm driver
Add a workaround to accept devices of the kernel's efidrm driver.
Makes Xorg work on pre-configured displays with UEFI and the DRM
graphics stack. Review of the efidrm driver happens at [1].

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/series/146477/ # 1
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1879>
2026-03-16 13:19:45 +01:00
Timo Aaltonen
bd5c2ee289 xf86pciBus.c: use Intel ddx only for pre-gen3 hardware
Use intel ddx only on pre-gen4 hw, newer ones will fall back to modesetting.

Instead of defaulting to the Intel driver for all Intel hardware, only
default it for older hardware for which it has shown to be better for.

Note that Debian/Fedora and their derivatives, as well as the yocto project
have been carrying this patch for many years:
192254841a
ee515e44b0

so this simply aligns xserver upstream with Linux distributions.

Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Co-authored-by: Balló György <ballogyor@gmail.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1887>
2026-03-16 13:18:42 +01:00
Diego Viola
639551d032 treewide: fix typos
Signed-off-by: default avatarDiego Viola <diego.viola@gmail.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2138>

---------------------------------------------------------------------------

One of the spelling errors was moved to another file and fixed there

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-03-16 13:11:07 +01:00
stefan11111
e6a0fa4b0c Treewide: Fix typos
Signed-off-by: Diego Viola <diego.viola@gmail.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2134>

----------------------------------------------------------------------------

This commit is the result of `git apply commit.diff --reject`
applied on e8f4522312

67c82078fe does not
apply to Xlibre

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-03-16 13:11:07 +01:00
Alan Coopersmith
3783d7eeee xfree86: issue error if too many clocks entries are listed in config
Changes message issued for too many clocks from the confusing:
    "29.0" is not a valid keyword in this section.
to the more obvious:
    More than 128 Clocks defined.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2130>
Fixes: https://github.com/X11Libre/xserver/issues/1407
Fixes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1851
Fixes: https://github.com/X11Libre/xserver/pull/1416
2026-03-16 13:08:04 +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
af0de5a0f4 xfree86: make xf86Sbus.h private
This header isn't actually included by any drivers (not even the sun* ones),
neither does it have any _X_EXPORT'ed symbols, nor structs that a driver
could use. Not relevant at all for proprietary Nvidia drivers, because their
cards never worked on Sbus.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 16:29:01 +01:00
Enrico Weigelt, metux IT consult
921215026f xfree86: ramdac: don't ifdef on HAVE_XORG_CONFIG_H
It's always present, so no need to ifdef on it.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 14:00:57 +01:00
Enrico Weigelt, metux IT consult
7f8eeb5471 xfree86: sdksyms.sh: don't ifdef on HAVE_XORG_CONFIG_H anymore.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 14:00:49 +01:00
Enrico Weigelt, metux IT consult
bb821cf041 xfree86: utils: don't ifdef on HAVE_XORG_CONFIG_H anymore
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 14:00:12 +01:00
Enrico Weigelt, metux IT consult
528c7a95bd xfree86: vgahw: don't ifdef on HAVE_XORG_CONFIG_H anymore
it's always present, so no need to check for it.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 13:59:54 +01:00
Enrico Weigelt, metux IT consult
fabb551d88 xfree86: shadowfb: don't ifdef on HAVE_XORG_CONFIG_H anymore
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 13:37:08 +01:00
Enrico Weigelt, metux IT consult
b6e5c98809 xfree86: xkb: don't ifdef on HAVE_XORG_CONFIG_H anymore
it's always present, so no need to check for it.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 13:36:55 +01:00
Enrico Weigelt, metux IT consult
786ba60a07 xfree86: loader: don't ifdef on HAVE_XORG_CONFIG_H anymore
It's always present, so no need to ifdef on it.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 13:12:44 +01:00
Enrico Weigelt, metux IT consult
54b23f986b xfree86: fbdev: don't ifdef on HAVE_XORG_CONFIG_H
it's always present here, so no need to ifdef on it.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 12:35:07 +01:00
Enrico Weigelt, metux IT consult
7dad061eab xfree86: parser: dont ifdef on HAVE_XORG_CONFIG_H
The header is always present (we're inside xfree86), so no need
for that #ifdef.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 12:33:40 +01:00
Enrico Weigelt, metux IT consult
e085d839cc xfree86: ramdac: move over public SDK headers to include/
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 11:40:38 +01:00
Enrico Weigelt, metux IT consult
4764eb9a8a xfree86: int10: move public SDK headers to include/
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 10:25:17 +01:00
Enrico Weigelt, metux IT consult
3bd7f343c1 xfree86: shadowfb: move public SDK headers into include/
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-13 10:11:07 +01:00
Enrico Weigelt, metux IT consult
dda087c554 xfree86: parser: move public SDK headers into include/
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-12 20:00:11 +01:00
Enrico Weigelt, metux IT consult
a1081d7765 xfree86: common: move public SDK headers to include/
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-12 19:51:51 +01:00
Enrico Weigelt, metux IT consult
1cc06b8d60 xfree86: i2c: move over public SDK headers to include/
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-12 19:50:11 +01:00
Enrico Weigelt, metux IT consult
45d2ba92d3 xfree86: ddc: move public SDK headers to include/
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-12 19:18:54 +01:00
Enrico Weigelt, metux IT consult
1431b33caa xfree86: modes: move public SDK headers to include/
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-12 19:03:56 +01:00
Enrico Weigelt, metux IT consult
69d57bcf52 Xext: move over public SDK headers to include/
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-12 19:00:42 +01:00
Enrico Weigelt, metux IT consult
9bd146a391 xfree86: dri: move over public SDK headers to include/
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-12 18:28:35 +01:00
Enrico Weigelt, metux IT consult
0edeb0e34e xfree86: vgahw: move over public SDK header to include/
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-12 17:08:29 +01:00
Enrico Weigelt, metux IT consult
e20767dd40 xfree86: fbdevhw: move over public SDK header to include/
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-12 16:26:30 +01:00
Enrico Weigelt, metux IT consult
0272fcd55e present: move over public SDK header to include/
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-12 16:21:20 +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
b9259d00bc config: move over nvidia driver quirks to hw/xfree86/compat
This is specific to xfree86 DDX, so should be under it's subdir.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-12 13:25:34 +01:00
Enrico Weigelt, metux IT consult
9633c44154 xfree86: modes: fix unhandled retval of asprintf()
Compiler complains that return value isn't handled and breaks
the build.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 20:10:18 +01:00
Enrico Weigelt, metux IT consult
f78a15531c xfree86: modes: replace XNFasprintf() by standard libc asprintf()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 18:58:45 +01:00
Enrico Weigelt, metux IT consult
62b0add858 mi: move ValidateRec to mi_priv.h and rename to MiValidateRec
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 18:27:41 +01:00
Enrico Weigelt, metux IT consult
e134e4d7fd xfree: replace DDXPoint by xPoint
DDXPoint is just an alias to xPoint

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-02-10 15:59:27 +01:00
stefan11111
e30646b37d modesetting: Use more conservative cursor bo flags
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
79aeab95d8 modesetting: drop extra newline
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
531ca18467 modesetting: drop unused enum constant
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
b7bf58922f modesetting: Check for GLAMOR instead of GLAMOR_HAS_GBM
Now gbm required for the modesetting driver.
`GLAMOR_HAS_GBM` is defined even if glamor isn't built.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +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
stefan11111
0ac903f4b9 modesetting: Fail in ScreenInit if we can't get a gbm device
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00
stefan11111
0de74bf2e9 modesetting: Simplify shadow functions
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-02-09 14:19:16 +01:00