10400 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT consult
f4a84dc23c xfree86: ddc: drop obsolete IS_STEREO() macro
It's not actually doing something, so we don't really need it.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-28 19:22:18 +01:00
Enrico Weigelt, metux IT consult
de61093cad xfree86: ddc: replace SIG_SETUP()
Trivial enough to replace it easily.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-28 18:44:44 +01:00
Enrico Weigelt, metux IT consult
75177d9b72 xfree86: ddc: move EDID parser specific macros out of public header
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-28 18:21:06 +01:00
Enrico Weigelt, metux IT consult
2fe8f72029 xfree86: ddc: replace NEXT_DT_MD_SECTION() macro
trivial enough to be replaced easily.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-28 17:53:04 +01:00
Enrico Weigelt, metux IT consult
d0c2641715 xfree86: ddc: move input voltage level defines into print_edid.c
Only used in print_edid.c, so no need to keep them in global header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-28 17:48:35 +01:00
stefan11111
5c4ac767bb kdrive: Try the evdev input driver if nothing the regular drivers aren't compiled
Now that this driver works on most systems (hopefully) without any configuration,
it makes sense to use it as a fallback default.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-28 15:05:54 +01:00
Enrico Weigelt, metux IT consult
5b81bcb5b4 xfree86: ddc: drop unused VENDOR_SUPPORT_* defines
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-28 11:09:25 +01:00
Enrico Weigelt, metux IT consult
bfe6712c35 xfree86: ddc: move DPMS_*() macros into print_edid.c
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-28 11:09:08 +01:00
Enrico Weigelt, metux IT consult
1649eb38d5 xfree86: ddc: move STD_COLOR_SPACE() and GFT_SUPPORTED() macros
These are only used in print_edid.c, so no need to keep them
in a global header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-27 19:35:08 +01:00
stefan11111
f209e71fb9 modesetting: Use GBM_FORMAT_XRGB8888 for 24-bit depth front bo's
Same as what we use in glamor/glamor_egl.c

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-27 19:16:20 +01:00
stefan11111
50ffe711ca modesetting: map gbm bo's read/write
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-27 19:16:20 +01:00
stefan11111
f4362fc4ec modesetting: Track both the map data and address for gpu buffers
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-27 19:16:20 +01:00
stefan11111
b4c45980ff kdrive: Fix other kinds of vt switches
When starting an X server from a terminal running
inside another X server, the "host" X server sees
the key press event, but not the key release event,
and misinterprets this as a long keypress.

With this patch, we forge the missing key release event,
so the server doesn't think that the user is holding a key down.

This is different from Ctrl + Alt + F* vt switching, because
there we don't want the X server to see the key press event at all,
and we want to forge key release events for the Ctrl + Alt keys.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-27 19:15:44 +01:00
John Studnicka
fb976abad0 modesetting: Clamp image dims to avoid OOB reads
Signed-off-by: John Studnicka <contact@zentec.dev>
2026-01-27 19:15:35 +01:00
John Studnicka
57a9686e65 modesetting: Rotate cursor to match screen
Signed-off-by: John Studnicka <contact@zentec.dev>
2026-01-27 19:15:35 +01:00
John Studnicka
23dfcba633 modesetting: Fall back to SW cursor for OOB dims
Signed-off-by: John Studnicka <contact@zentec.dev>
2026-01-27 19:15:35 +01:00
Enrico Weigelt, metux IT consult
bf7b650482 kdrive: make KdAllocatePrivates() static
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-27 19:11:03 +01:00
Enrico Weigelt, metux IT consult
ebe91d83d3 xfree86: ddc: drop obsolete IS_RIGHT_ON_SYNC() and IS_LEFT_STEREO()
Not used anymore, so no need to keep them around any longer.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-27 19:10:38 +01:00
Enrico Weigelt, metux IT consult
7c59856e8b xfree86: ddc: move DISP_* defines into print_edid.c
Only used in one source file, so no need to keep them in global header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-27 18:56:39 +01:00
Enrico Weigelt, metux IT consult
769616256f xfree86: ddc: drop unused IS_INTERLACED() macro
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-27 18:55:11 +01:00
Enrico Weigelt, metux IT consult
41b2c02f63 xfree86: ddc: drop obsolete DEFAULT_GTF() macro
Not used anywhere.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-27 17:41:52 +01:00
Enrico Weigelt, metux IT consult
fa09ad5a61 xfree86: ddc: move struct cea_ext_body into interpret_edid.c
It's only used there, so no need to keep it in public header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-27 17:28:04 +01:00
Enrico Weigelt, metux IT consult
ac141cd1cc xfree86: ddc: drop unused RANGE_LIMITS_ONLY() macro
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-27 17:22:31 +01:00
Enrico Weigelt, metux IT consult
78953e5965 xfree86: ddc: drop obsolete DFP1() macro
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-27 15:44:51 +01:00
Mario Limonciello
78213678b2 xfree86: common: xf86pciBus: 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.

Signed-off-by: Tautvis <gtautvis@gmail.com>
2026-01-27 12:26:34 +01:00
Mario Limonciello
06ae758f57 xfree86: common: xf86pciBus: Add check for pci_device_linux_sysfs_boot_display()
In the case of multiple display devices that are not VGA devices
the 'boot_display' attribute read by libpciaccess can disambiguate.

Signed-off-by: Tautvis <gtautvis@gmail.com>
2026-01-27 12:26:34 +01:00
Enrico Weigelt, metux IT consult
1cb42729a4 xfree86: ddc: replace several internal macros that aren't really needed
Just replace them by their actual definition right where they're called.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-27 11:31:17 +01:00
stefan11111
76356395e7 kdrive/fbdev: Fix uninitialized variable when switching vt's
When rapidly switching vt's, it can happen that shadow tries to
draw to the screen before it's initialized.
In that case, we return NULL, and we should also return a zero size,
because shadow doesn't check for NULL.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-23 12:47:36 +01:00
Enrico Weigelt, metux IT consult
43232e4f09 xfree86: edid.h: drop Uint typedef
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-22 13:03:12 +01:00
Enrico Weigelt, metux IT consult
4cc303a2d2 xfree86: xlibre-server.h: fix missing HAVE_TIMINGSAFE_MEMCMP
os.h still defining our own timingsafe_memcmp() prototype when this
symbol isn't set - this is causing trouble with drivers on FreeBSD.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-22 12:38:28 +01:00
Enrico Weigelt, metux IT consult
8ab6539d0b xfree86: replace Uchar by C standard uint8_t
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-22 11:14:23 +01:00
stefan11111
30fb629a7d kdrive: Enable zapping by default
Zapping is the fastest way to kill the X server, faster than vt switching,
or killing the window manager and configuring the X server to die with it.

It is very useful when debugging, or if the system runs very low on memory

This adds the `-nozap` argument, for restoring the old behavior.
The `-zap` argument is also kept for backwards compatibility.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-22 08:58:15 +01:00
stefan11111
162fda3bd6 kdrive/fbdev: Get glx working through glamor egl on Xfbdev
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-21 10:23:23 +01:00
stefan11111
f69d06e7d3 kdrive/fbdev: Fix miscmansuffix in the Xfbdev manpage
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-21 10:12:20 +01:00
stefan11111
c2ca290e63 kdrive: Build Xkdrive man page
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-21 10:12:20 +01:00
Enrico Weigelt, metux IT consult
f738e30963 xfree86: os-support: linux: drop unused lnx_ev56.c
This file isn't even compiled ever, so we really don't need it anymore.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-14 15:55:35 +01:00
Enrico Weigelt, metux IT consult
36e1a9c37c xfree86: add exported xf86GetConsoleFd()
This functions is designed for some legacy keyboard drivers
(eg. xf86-input-keyboard) that need to get the fd to the console
device, so they don't need to directly access xf86Info field anymore.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-14 11:15:19 +01:00
Enrico Weigelt, metux IT consult
efc9321a64 xfree86: os-support: drop local "fd" variable in xf86OpenConsole()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-13 17:50:38 +01:00
Enrico Weigelt, metux IT consult
d8eb141135 xfree86: os-support: common: reorganize console driver table
Merge driver name and open-proc tables into one, using a struct.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-13 17:05:58 +01:00
Enrico Weigelt, metux IT consult
e814acf006 xfree86: os-support: bsd: scope "vtmode" in xf86OpenConsole()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-13 15:30:33 +01:00
Enrico Weigelt, metux IT consult
fd5cd094d1 xfree86: os-support: bsd: scope "result" variable in xf86OpenConsole()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-13 14:52:40 +01:00
Imre Vadász
e0f4acc929 Remove workaround for ancient FreeBSD versions before 2.2.8.
This workaround was unnecessarily active for current DragonFlyBSD,
as well as probably for current FreeBSD as well, because the
"pcvt" console support would be used by default. Hence this adds
explicit code for the PCVT case to skip the quirk on FreeBSD and
DragonFlyBSD.

Signed-off-by: Imre Vadász <imre@vdsz.com>
2026-01-13 14:13:57 +01:00
Enrico Weigelt, metux IT consult
b5f2c96901 xfree86: os-support: bsd: tiny logging simplification on PCVT
There isn't much practical value of printing kernel PCVT driver
version into our log on NetBSD. Let's simplify this a bit and
get cut down the #ifdef wood a little bit.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-13 14:11:25 +01:00
stefan11111
69da481f66 kdrive/linux: Set device name when using the evdev driver
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-12 16:46:17 +01:00
stefan11111
cc152cf964 kdrive/linux: Improve evdev driver autodetection
It should now work out of the box on most setups
with one mouse and one keyboard.

It probably still breaks on some single mouse and keyboard
setups, and on setups with more than one mouse or keyboard.

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-12 16:46:17 +01:00
stefan11111
a2c58b9934 kdrive/linux: Try all 32 static evdev device nodes
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-12 16:46:17 +01:00
stefan11111
cb445cef6b kdrive/fbdev: Use ShadowFB by default
It can be disabled by passing `-noshadow` to the command-line args

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-12 09:14:31 +01:00
stefan11111
984f403a17 kdrive: Fixup keyboard events after vt switch
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-12 08:08:52 +01:00
squishypinkelephant
6db9b685c1 fully split, rename kdInitInputPre to KdAddConfigInputDrivers 2026-01-08 10:32:42 +01:00
squishypinkelephant
80112b61ba split KdInitInput for Xephyr 2026-01-08 10:32:42 +01:00