This is the v2 of patch series which provides some missing parts for full single-GPU multiseat support in Xephyr. This version fixes some problems found in v1, like double-free errors for some InputOption objects, and memory corruptions when a USB keyboard or mouse is unplugged and replugged several times, due to the fact that their FDs may not be successfully unregistered when they are unplugged.
This version also brings new patches for improving NewInputDeviceRequest() implementation in hw/kdrive/src/kinput.c (making use of KdParseKbdOptions() and KdParsePointerOptions() as requested), and some other minor changes. Some patches provide new command-line options to make it easier to launch Xephyr directly from display manager, rather than from within a user session. One of them fixes an issue where Xephyr keyboards' LEDs are not toggled when NumLock, CapsLock, and ScrollLock are pressed. The most significant one introduces input hotplugging support for keyboards and pointers with both hal and udev backends. Example of Xephyr-based seat configuration in LightDM 1.12 or newer based on this patch series (provided that a bare X server on display number :90, with two outputs named LVDS and VGA, is already running): [Seat:seat-LVDS] xserver-command=Xephyr -host-display :90 -dpi 96 -sw-cursor -input-hotplug -xkbrules evdev -xkblayout br -xkbmodel abnt2 -output LVDS [Seat:seat-VGA] xserver-command=Xephyr -host-display :90 -dpi 96 -sw-cursor -input-hotplug -xkbrules evdev -xkblayout br -xkbmodel abnt2 -output VGA Laércio de Sousa (7): ephyr: allow passing explictly host X server display number and/or authorization file path kdrive: fix up NewInputDeviceRequest() implementation kdrive: set "evdev" driver for input devices automatically, if available. kdrive: introduce input hotplugging support for udev and hal backends (#33140) kdrive: add options to set default XKB properties ephyr: ignore "-sharevts" and "-layout seatXXX" command-line options ephyr: move host_has_extension() implementation to hostx.c Mikhail Krivtsov (1): kdrive: update evdev keyboard LEDs (#22302) hw/kdrive/ephyr/ephyr.c | 12 +- hw/kdrive/ephyr/ephyrdriext.c | 4 +- hw/kdrive/ephyr/ephyrglxext.c | 2 +- hw/kdrive/ephyr/ephyrinit.c | 26 ++++ hw/kdrive/ephyr/hostx.c | 16 +- hw/kdrive/ephyr/hostx.h | 2 +- hw/kdrive/linux/evdev.c | 11 +- hw/kdrive/src/Makefile.am | 2 + hw/kdrive/src/kdrive.c | 81 +++++++++++ hw/kdrive/src/kinfo.c | 4 + hw/kdrive/src/kinput.c | 332 +++++++++++++++++++++++++++++++++--------- 11 files changed, 401 insertions(+), 91 deletions(-) -- 2.2.0 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel