multiseat – roadmap

This week our laboratory at university released the MDM utility to ease the process of installation and configuration of a multiseat box. The idea is that the end-user should not use some boring and hard howtos anymore to deploy it. Just installing a distro package must be enough now. Try it, use it, report the bugs and send the patches! :)

But I would like to call attention here because we’re still relying on the ugly Xephyr solution to build the multiseat on a simple PC machine (there are people selling this solution. Sigh). A lot of cool stuffs arriving in the linux graphics stack are lacking with this solution. So lets try trace the roadmap here that we can follow in the short/medium-term to build a good one solution:

– Vga Arbiter
We should as fast as we can forget the Xephyr hack. Definitely several instances of Xorg – one for each user session – is what we want. If someone wants to use several graphics cards to deploy a multiseat, then (s)he would probably face the problem of the vga legacy address. The vga arbitration is the solution.

Jesse seems that will work towards this in 2.6.28. There’s also a “minor” problem here that the X server still not posting secondary cards (after pci-rework).

– xrandr 1.3
To deploy a multiseat with one video card/multi-crtc, the randr extension is enough to cover the hotplug of output devices. For a multi-card configuration, xrandr must be GPU aware. So we must done some work here as well to do the automagically configuration of output devices.

– input hotplug
So far MDM is not using the last input features of X to plug or re-plug a device in the machine. It is using its own ugly method to poll for devices. Some work here is needed.

– ConsoleKit integration
Device ownership (e.g. audio, pen drive, cameras, usb toys, output and input devices) when multiple users are in the same machine could be a mess. Moreover, the security problems implied by this could be harmful. ConsoleKit seems to solve this all. It is able to keep track of all the users currently logged in.

Honestly I never took a closer look at ConsoleKit. I’m not sure if it’s prepared enough to support multiseat. So we need to take care of this as well eventually putting some hook inside MDM to work with it.

– DRI + modesetting
Support DRI in multiple X servers in parallel is not ready yet. Some redesign must be done to achieve this.

– tools for auto configuration
After all this work, some easy tools and very user-friendly would be awesome to setup on-the-fly the multiseat in the desktop environments.


Tags: , , , ,

7 Responses to “multiseat – roadmap”

  1. nik Says:

    cool and ambitious!!

    keep going!

  2. Stefan Brüns Says:

    Thanks for this overview, Tiago

    One question regarding the arbiter – I have a system with two NV 7300 GT, which have only reasonable support by the closed source NV driver. Will the arbiter also work for the closed source driver, or does it need any special support by the driver?

  3. vignatti Says:

    New chipsets like NV 7300 GT don’t need to rely on the crappy VGA legacy registers. So they can entirely scape from this arbitration thing.

  4. Anonymous Says:

    Hi, nice writeup. Not sure if your aware that people are looking to have this working again in Fedora 11.

  5. Jesse Barnes Says:

    Yeah, I was hoping it would be ready for 2.6.28, but I never received a proper submission for it. So someone still needs to babysit it a little and prepare a patchset for the mailing list. Any volunteers?

  6. Jairo Enrique Says:

    Please are there videos of sidux in multiseat?thanks

  7. Phase 1 : Recherche massive de renseignements | Multiseat Linux Says:

    […] : Multiseat Roadmap […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: