Multiseat
Multiseat is a model of computation that supports multiple local users using their sessions in a totally independent way. Looks like the old mainframe computers but with terminals connect directly in a single PC box. There's a lot of people that use and sell multiseat Linux systems due its low cost which qualifies it as a wonderful "techno-social" model of computation.
At first glance looks trivial to deploy a multiseat under Linux starting one instance of our canonical X server (i.e., the Xorg) for each user. But we cannot. The current version of the X server (1.6) don't let us to easily deploy the multiseat for several reasons, better explained here. In this sense, the intention of this page is the following:
- to collect all spare documentations and give a guidance to users that want to deploy such model, and;
- to help its development.
Information to Users
There are different solutions to setup a multiseat. The old -- but still used -- way is through HOWTOs, that show how to configure the xorg.conf, the display manager (e.g. gdm, kdm) and the association of devices to seats. There are a huge pile of HOWTOs in the Web. Basically the HOWTOs show two different approach of configuration:
- multiple Xephyr servers over a host Xorg, and
- multiple instances of Xorg.
The Xephyr's approach is known to work with "any" video card vendor but lacks some extensions (3D, OpenGL) and has the latency for being nested servers. The "multiple Xorg" approach is "right way", but it only work with a limited video cards.
When each seat is just a collection of USB devices (including USB graphics, input, etc.), this multiple xorg approach works (because there are no VGA arbitration issues, etc), and multiseat has the potential to be plug and play via udev rules. Instructions and current limitations for this type of implementation on recent versions of Ubuntu are at http://libdlo.freedesktop.org/wiki/MultiSeatTerminal.
The Multiseat Display Manager (MDM) tool help to automatize the process of installation and configuration for multiple PCIe graphics cards. Despite its name, MDM is actually a wrapper on the real display manager. It is used to configure multiseat environments, allowing users to change a normal machine into a multiseat machine by just installing a package. The current version of MDM is only configuring the Xephyr's based solution.
IMPORTANT: Users that want to try multiseat are totally encouraged to try MDM and avoid the old and hard way to set up through HOWTO. For some people this can be controversial so the list of collect HOWTOs is here (again: try to avoid them and use MDM tool):
http://userful.com (commercial solution, but free for personal use. Single virtualized xServer, high performance approach and widely used, over 400,000 seats deployed, supports single-chip dual-head video cards)
http://en.wikibooks.org/wiki/Multiterminal_with_Xephyr (slower performance as it relies on nested Xservers, but supports broader hardware than the MSS approaches below, over 40,000 seats deployed)
http://wpkg.org/Configuring_multiseat_X_workstation (Multiple Simultaneous xServers (MSS), less dependable hardware support)
http://blog.chris.tylers.info/index.php?/archives/14-Multiseat-X-Under-X11R6.97.0.html (MSS)
http://netpatia.blogspot.com/2006/09/multiseat-computer-with-ubuntu.html (MSS)
http://www.automation.dn.ua/linux/3d-multiseat_en.html (MSS)
Users are also encouraged to read the Wikipedia's article about multiseat.
Development
Wikipedia's article (nice historical references)
Multiseat's roadmap (Set 2008).
- Integration with the rest of the system:
- hal/udev


