[PATCH v2 0/8] Xephyr input hotplugging support and other additions for single-GPU multiseat

Laércio de Sousa laerciosousa at sme-mogidascruzes.sp.gov.br
Tue Mar 31 11:08:33 PDT 2015


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



More information about the xorg-devel mailing list