I've been trying to see if there's any hope of running multiseat with the current X.org server and open source drivers. I think the two most likely hardware scenarios are 2+ recent ATI cards or 2+ recent NVidia cards, so I'm focusing on testing those configurations on some new hardware at Seneca, using F10 so far (Rawhide soon).
So far I've been working with two ASUS EAH4550's (PCI-Ex16 ATI R710) on a system with an Asus P5E5 Premuim motherboard. After much experimentation, it looks like:
- The kernel option "pci=rom" is not required (contrary to the radeonhd web page).
- The xorg.conf accepts the BusID option in the "Devices" section to specify each card, the evdev "AutoAddDevices" option turned off in ServerFlags, and InputDevice sections specifying the evdev driver and the /dev/input/eventX devices for keyboard and pointer.
- These setpci commands are required to make the card's AtomBIOS visible to the radeonhd driver (on this hardware):
setpci -s 0000:01:00.0 COMMAND=2
setpci -s 0000:02:00.0 COMMAND=2
(Setting "UseAtomBIOS" off does not work -- without these lines, the X server will not start up).
- The cards may be started one-at-a-time, and work reliably with the designated keyboard and mouse
- Two X servers may be started at the same time, one for each seat. The VT switch that takes place when the second one starts will make the first screen blank out. Terminating the second X server causes the first one to reappear. These sessions seem robust/reliable (I can start gnome-session for two separate users, and do productive work on them).
- Adding the "-sharevts" option to the X server command line causes both seats to be active at the same time (the -novtswitch option is not needed). The servers will apparently run forever without user input, but shortly after I start using any of the keyboard/mice, the system locks up pretty tight (no network access, displays frozen). Sometimes I can enter enough keystrokes to start an app or two, and they also run fine as long as there are no input events.
So this feels pretty close, but short of setting up a serial console I don't know how to find out what's causing the two-seat lockups.
Next up: checking out Nvidia (I'm not hopeful, at least with the open source drivers).