[PATCH v3 00/10] Xephyr input hotplugging support and other additions for single-GPU multiseat

Laércio de Sousa laerciosousa at sme-mogidascruzes.sp.gov.br
Thu Apr 2 13:02:22 PDT 2015


This is the v3 of patch series which provides some missing parts
for full single-GPU multiseat support in Xephyr. This version includes
two last-minute patches: one that introduces a new flag to better
distinguish between real keyboards and other key input devices (so that
kdrive can grab keyboards only), and another one that prevents kdrive
evdev driver from deliberately renaming keyboard and pointer devices
if they are already named (e.g. from udev), with potential memory leaks.

v2 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. It 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 (9):
  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
  config/udev: better distinguish between real keyboards and other key
    input devices
  kdrive: don't let evdev driver overwrite existing device names

Mikhail Krivtsov (1):
  kdrive: update evdev keyboard LEDs (#22302)

 config/hal.c                   |   2 +-
 config/udev.c                  |   4 +
 config/wscons.c                |   2 +-
 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        |  17 ++-
 hw/kdrive/src/Makefile.am      |   2 +
 hw/kdrive/src/kdrive.c         |  81 ++++++++++
 hw/kdrive/src/kinfo.c          |   4 +
 hw/kdrive/src/kinput.c         | 334 ++++++++++++++++++++++++++++++++---------
 hw/xfree86/common/xf86Xinput.c |   2 +-
 include/input.h                |  13 +-
 16 files changed, 421 insertions(+), 102 deletions(-)

-- 
2.2.0

>From 824591a2d28645cf515629f1a1927999a6651351 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?La=C3=A9rcio=20de=20Sousa?=
 <laerciosousa at sme-mogidascruzes.sp.gov.br>
Date: Tue, 31 Mar 2015 14:58:09 -0300
Subject: [PATCH v2 0/8] Xephyr input hotplugging support and other additions for single-GPU multiseat
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit


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