[Feature request] Multiple X servers on one graphics card?

Prof. Dr. Klaus Kusche klaus.kusche at computerix.info
Tue Aug 2 23:35:45 PDT 2011

Tomasz Borowik <timon37 at gmail.com> wrote:
 > I wonder if a custom window manager wouldn't be enough? Using
 > multi-pointer and locking each focus group to a given screen, making
 > sure that no one can interfere with anyone else. If the wm is root it
 > should be capable of spawning programs of different user privileges on
 > each screen. Of course that is far less insulated and in effect
 > probably less secure, but it should be easy to do and might be much
 > more stable, also it should work on whatever hardware you give it.

Chi-Thanh Christopher Nguyen <chithanh at gentoo.org> wrote:
 > I think with MPX and pointer barriers some parts are already in place
 > to do
 > multiseat with zaphod. Though I don't know how well MPX and pointer
 > barriers
 > work together. Applications grabbing input might cause issues too.

It's more than that:
* You need multiple keyboards, each assigned to one screen.
* You want multiple X servers running under different uid's
to separate users and access rights cleanly.
Even if (with Tomasz's approach) the applications are running with
different uid's, you still need to give all users full access to
the X server, and the X server was not designed for serving multiple
users in a safe way.

And yes, input grabbing is a problem, perhaps the most serious one
(at least, you really want to have input grabbing when entering
login passwords...).

The current solution (one X server per card and one Xephyr
per screen / user) solves all the input problems and offers
almost perfect user separation, and is 100 % compatible
with standard X applications, wm's and desktops.
It also runs on anything supported by X.
However, it offers no hardware acceleration, which is a problem
for modern desktops, video applications etc. (in fact, I tried,
that's no serious problem for a single Xephyr on a fast machine
where the CPU suffices to render in software and copy each frame,
but it most likely becomes a problem on a multiuser machine where
CPU and memory bandwidth is shared between many users).

So the question is: How can we preserve what Xephyr offers now
and add what it lacks?


P.S.: I'm not on the list. Please include me in To: or Cc:.

Prof. Dr. Klaus Kusche
Private address: Rainstraße 9/1, 88316 Isny, Germany
+49 7562 6211377 Klaus.Kusche at computerix.info http://www.computerix.info
Office address: NTA Isny gGmbH, Seidenstraße 12-35, 88316 Isny, Germany
+49 7562 9707 36 kusche at nta-isny.de http://www.nta-isny.de

More information about the dri-devel mailing list