Commit Graph

22438 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT consult
55d317dd50 xfree86: ddc: move some defines into private header
Those aren't used by any external driver, so no need to keep them public.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-29 17:32:21 +01:00
Enrico Weigelt, metux IT consult
f98d467a0c xfree86: ddc: move remaining struct cea_* to private header
Not needed in public SDK headers.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-29 16:51:11 +01:00
Tautvis
af9afa287a modesetting: pageflip: clear new_front_bo struct in ms_do_pageflip
ms_do_pageflip function temporary creates and destroy drmmode_bo object, but
the structure is stack ( values goes uninitialized). This became problem
because in f4362fc4ec drmmode_bo struct got extra
fields which is checked during drmmode_bo_destroy and causes crash.

Signed-off-by: Tautvis <gtautvis@gmail.com>
2026-01-29 14:35:48 +01:00
Alexander Melnyk
547d13575d xkb: Fix locked/latched indicator desync across multiple keyboards
When a group indicator (or a latched indicator of any kind) is defined,
e.g.:
  indicator "Scroll Lock" { groups = Group2; }
the logical and physical indicator state may desync across multiple
connected keyboards.

This is caused by XkbPushLockedStateToSlaves only pushing locked_mods to
the slave devices. Pushing locked_group (as well as latched groups/mods)
along with locked_mods resolves the issue.

The issue is not observed with API calls because a different code path
is taken (avoiding XkbPushLockedStateToSlaves altogether).

Signed-off-by: Alexander Melnyk <inboxnumberzero@zoho.com>
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2120>
2026-01-29 14:34:16 +01:00
John Studnicka
8fa58d3b51 modesetting: Handle reflected/rotated cursors better
Moved the cursor glyph cropping into a separate function that handles reflections and rotations.

Also, x/y are indexes into the buffer, so they should be clamped to width/height len - 1 for correctness.

Signed-off-by: John Studnicka <contact@zentec.dev>
2026-01-29 14:33:13 +01:00
Enrico Weigelt, metux IT consult
1a9d075b9a xfree86: ddc: move struct cea_vendor_block(_hdmi) to private header
Not used by any external driver, so no need to keep them in public header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-29 14:32:40 +01:00
Enrico Weigelt, metux IT consult
5a34d6c738 xfree86: ddc: move struct cea_speaker_block into private header
Not used by any external drivers, so no need to keep it in public header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-29 14:08:57 +01:00
Enrico Weigelt, metux IT consult
b6092270e0 xfree86: ddc: move struct cea_data_block into private header
Not used by any external drivers, so no need to keep it in public header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-29 13:18:16 +01:00
Enrico Weigelt, metux IT consult
46741a8645 xfree86: ddc: move CVT_SUPPORTED to private header
Not used by any external driver, so no need to keep it in public header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-29 10:37:10 +01:00
Enrico Weigelt, metux IT consult
88a58ed15c xfree86: ddc: move sync characteristics macros to print_edid.c
Only used there, so no need to keep them in public header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-29 10:36:57 +01:00
Enrico Weigelt, metux IT consult
b584b59f1d xfree86: ddc: move ext tag defines into interpret_edid.c
Not used anywhere outside, so no need to keep them in public header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-29 10:36:44 +01:00
Enrico Weigelt, metux IT consult
bd271ff0b5 xfree86: ddc: move EDID1_LEN into edid_priv.h
Not used by any external drivers, so no need to keep it public.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-28 20:00:32 +01:00
Enrico Weigelt, metux IT consult
aab09a7b73 xfree86: ddc: move IS_*_STEREO() macros into print_edid.c
Only used there, so no need to keep them in public header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-28 19:47:35 +01:00
Enrico Weigelt, metux IT consult
e38aaa19b1 xfree86: ddc: move some parsing EDID macros into ddc.c
Only used there, so no need to keep them in public header.

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-28 19:25:59 +01:00
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
2ba1b0b06f Revert 5d3490d135
We can't free driverNames[i], because it's part of abi,
and other drivers might give us statically-allocated strings.

Fixes: #1848

Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-27 19:15:50 +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
stefan11111
fa5db91243 Xext/xvdisp.c: Add missing padding to ProcXvQueryEncodings
Signed-off-by: stefan11111 <stefan11111@shitposting.expert>
2026-01-27 19:15:27 +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
Enrico Weigelt, metux IT consult
86c6e75117 .github: increase xf86-video-intel version to 25.0.1
Upcoming work needs a few fixes in the Intel driver.
(mainly not using internal EDID parser defines anymore)

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-27 15:44:34 +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
Enrico Weigelt, metux IT consult
a6d1bdcd3e .github: util: add support for arbitrary refs to drv_tag() et al.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-26 21:17:48 +01:00
Enrico Weigelt, metux IT consult
5c226122f5 meson_options: xquartz: rename bundle ID prefix to xlibre.net
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2026-01-23 12:50:32 +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