Note that more than two can be started but do not get carried away.
Linux starts logins on a list of virtual terminals. Each can be accessed CTL+ALT+Fn where n is a number 1 through about 8. By default the X server is started at vt7, and if you make the above change an X server will be started at vt7 and vt8. CTL+ALT+F7 will get the first, and CTL+ALT+F8 will get the second. See the lines in /etc/inittab 1:2345:respawn:/sbin/mingetty tty1 ... 6:2345:respawn:/sbin/mingetty tty6 which I suspect set the stage that puts the first X server on vt7.
Some things are well not shared ... sound is one.
Except if you play with /etc/security/console.perms and the /dev/... permissions.
Look at http://linuxconsole.sf.net , they separated consoles nicely. I use it on my home machine with two Radeons (9200SE/AGP and 7000/PCI), two PS2 keyboards and two USB mice. I use it on FC1 and the 2.6.6-rc3-mm1 kernel. I used dumbcon=1 boot option (new in linuxconsole.sf.net changes) and I get these messages during boot:
... Console: Colour VGA+ 80x25 vc:1-16 ... Console: mono dummy device 80x25 vc:17-17 ... serio: i8042 AUX port at 0x60,0x64 irq 12 keyboard.c: [AT Raw Set 2 keyboard] vc:1-16 input: AT Raw Set 2 keyboard on isa0060/serio1 serio: i8042 KBD port at 0x60,0x64 irq 1 keyboard.c: [AT Translated Set 2 keyboard] vc:17-17 input: AT Translated Set 2 keyboard on isa0060/serio0 ...
So multiple keyboard inputs go into separated VCs. The X servers must be started with "vt7" and "vt17" options so they use their own keyboards.
I do not know how all the display drivers in the universe work with multiple X servers. I would not leave a stress test running on one and attempt to do remote virtualized brain surgery on a real person in the other.
I can't comment about virtual lobotomy. :-) Here are my observations on the technical side:
The only real problem with the radeon driver in FC1's XFree86-4.3.0 is that when I logout on :0 then the CRT on :1 goes blank. The gdm login screen comes back on :0 and I have to and Ctrl-Alt-NumpadMinus to get back my picture and resolution.
With the latest DRI changes in -mm, both cards can have accelerated 3D. E.g. we can use two tuxracers at once. Seriously! I had to use a trick however, the radeon DRI driver in the kernel initializes cards in (bus number;card number) increasing order:
[drm] Initialized radeon 1.10.0 20020828 on minor 0: ATI Technologies Inc Radeon RV100 QY [Radeon 7000/VE]
[drm] Initialized radeon 1.10.0 20020828 on minor 1: ATI Technologies Inc RV280 [Radeon 9200 SE]
I have to enumerate the X servers in the same order in gdm.conf otherwise neither one finds its dri device.
BTW I have an MSI K8T Neo with Athlon64 3200+ and 512MB memory so it's not really stressed by two tuxracers. :-)
I would like to see this functionality in the mainline kernel and really supported by Fedora Core (say 3...) including the possibility of setting it up with system-config-display.
Best regards, Zoltán Böszörményi