[PATCH] xserver: add udev/systemd multi-seat support

Colin Guthrie gmane at colin.guthr.ie
Thu Jul 21 06:33:13 PDT 2011


'Twas brillig, and Lennart Poettering at 17/07/11 01:33 did gyre and gimble:
> Add support for multi-seat-aware input device hotplugging. This
> implements the multi-seat scheme explained here:
> 
> http://www.freedesktop.org/wiki/Software/systemd/multiseat
> 
> This introduces a new X server switch "-seat" which allows configuration
> of the seat to enumerate hotplugging devices on. If specified the value
> of this parameter will also be exported as root window property Xorg_Seat.
> 
> To properly support input hotplugging devices need to be tagged in udev
> according to the seat they are on. Untagged devices are assumed to be on
> the default seat "seat0". If no "-seat" parameter is passed only devices
> on "seat0" are used. This means that the new scheme is perfectly
> compatible with existing setups which have no tagged input devices.
> 
> This also optimizes the udev code in away that is beneficial for systems
> that do not support new udev/systemd style multi-seat: the patch makes
> use of libudev functions to limit enumerating/monitoring of devices to
> actual input devices. This should speed up start-up and minimize
> wake-ups, since we will only enumerate/monitor the devices we are
> interested in instead of all devices on the machine and all events they
> generate.
> 
> Finally, this also unifies the code paths for the udev "change" and
> "add" events, since these should be handled the same way in order to be
> robust to "udevadm trigger" calls, or lost netlink messages. This also
> simplifies the code.
> 
> Note that the -seat switch takes a completely generic identifier, and
> that it has no effect on non-Linux systems. In fact, on other OSes a
> completely different identifier scheme for seats could be used but still
> be exposed with the Xorg_Seat and -seat.
> 
> I tried to follow the coding style of the surrounding code blocks if
> there was any one could follow.


Awesome! People ask me about this kind of stuff quite often (e.g. to tag
a given USB port to a given seat)

Good work!

Col

-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mageia Contributor [http://www.mageia.org/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]




More information about the xorg mailing list