Writing a new driver for nested Xorg servers based on Xephyr code

Laércio de Sousa laerciosousa at sme-mogidascruzes.sp.gov.br
Mon Sep 29 04:16:45 PDT 2014


> I don't believe a driver is the correct thing to do. Xorg, in many
places, assumes it's on raw hardware and does things like modesetting and
VT switching, which obviously won't work in a nested environment.

Xorg 1.16 already avoids VT switching if it's a non-seat0 X server (i.e.,
if -seat option is launched with a non-seat0 value) or if HW_SKIP_CONSOLE
flag is set in video driver in use. Current xf86-video-nested code already
sets this flag, so I see no problem here.

> Are you going to write an xf86-input-nested as well?

It's not my priority. Nevertheless, current xf86-video-nested code has
bultin input support, based on Xlib.

> What's the reason you're trying to turn Xorg into a nested server?

My main motivation is about single-GPU multiseat configuration, i.e., being
able to set properly two seats using a single-GPU dual-head graphics card.
Since there's no other way to launch a dedicated Xorg server for each video
output of a dual-head graphics card (unless it's a dual-GPU one), my only
possibility is a nested X server approach like that ones used in very first
multiseat configurations several years ago (a bare X server spanning all
available outputs, on top of which we start a nested X server for each
output).

Xephyr was often used for this approach, but it still lacks input
hotplugging support, which is a major limitation for modern systemd-logind
based multiseat. Moreover, with my experience in Xephyr-based multiseat
setups, I feel that Xephyr was designed mainly for testing purposes, not
for running a full desktop environment.

On the other hand, Xorg 1.16 already has everything we need for
systemd-logind based multiseat setups, so I think it's much easier to make
it run nested to another X server than implementing the missing parts in
Xephyr itself. Moreover, a pure-Xorg nested X server approach would make
its configuration more transparent for display managers (for example, a
Xephyr-based multiseat setup for GDM is currently impossible, since it
doesn't allow X server command line customization).

King regards,
-- 
*Laércio de Sousa*
*Orientador de Informática*
*Escola Municipal "Professor Eulálio Gruppi"*
*Rua Ismael da Silva Mello, 559, Mogi Moderno*
*Mogi das Cruzes - SPCEP 08717-390*
Telefone: (11) 4726-8313
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-devel/attachments/20140929/11625ccd/attachment.html>


More information about the xorg-devel mailing list