Multiseat
Multiseat is a model of computing that supports multiple local users using their sessions in a totally independent way. This looks quite similar to the old mainframe computer model, but with the “terminals” connected directly to 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 computing. With the current version of X (1.7.6) and wisely chosen hardware, is it possible to get working multiseat configuration by just editing few configuration files as documented for example on Ubuntu MultiseatX page
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 system. 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 (or Xnest) 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.
- 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://wiki.debian.org/Multi_Seat_Debian_HOWTO (MSS)
- https://fedorahosted.org/multiseat/ (MSS)
- https://help.ubuntu.com/community/MultiseatX (MSS)
- http://www.linuxtoys.org/multiseat/multiseat.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)
- http://www.gentoo-wiki.info/HOWTO_Multiseat_X
- http://vignatti.wordpress.com/2008/09/23/multiseat-roadmap/
Users are also encouraged to read the Wikipedia's article about multiseat.
Development
- Wikipedia's article (nice historical references)
- Multiseat's roadmap (Set 2008).
- VgaArbiter
- Integration with the rest of the system: