After many years of junk collecting, I have acquired a large number of Matrox Millennium II cards. These cards have a rather unique feature in that you can put more than one of them in a computer and use them at the same time. Those of you that used to run NeXTSTEP/OPENSTEP no doubt recognize this card. In all I have five of the Millennium II cards. I also have an AGP Millennium G200 which also supports the multi-card feature.

In order for this to be a "worthwhile" demonstration, I decided I would try out OPENSTEP, Linux, and Windows XP. I cobbled together a stand of sorts to arrange the six monitors. It's nothing special, I expect this to be a temporary setup so ergonomics weren't much of a factor. I can't look at the monitors on top for long because they are so high that it strains my neck.

The motherboard I chose is an older Tyan S2460 with dual Athlon 1200 processors. The monitors I'm using are three 15" monitors and three 17" monitors. The 17" monitors are all identical, the 15" monitors are two random CRTs and an IBM T55D digital LCD.

To start off I thought I'd boot KNOPPIX and get the disk partitioned while I wait for the latest Ubuntu distro to download. The kernel on the KNOPPIX 5.1.1 disk did not like so many cards. It would immediately reboot the computer as soon as the kernel was loaded. Without the extra cards KNOPPIX would boot fine. By the time I had given up getting KNOPPIX to boot the Ubuntu had been downloaded and burned.

Ubuntu was able to boot up fine. Interestingly, while the text console came up on the G200/T55D in the AGP slot, X11 decided that my video card was the first PCI card. Switching back and forth between X11 and the text console via the keystrokes would switch back and forth between monitors. When the text console was active the 17" monitor turned off, but when X11 was active, the T55D stayed on but the screen was blanked out.

Ubuntu did not detect the additional cards by itself. I couldn't find any GUI or control panel to let me add the additional cards or arrange them. This meant I had to delve into manually configuring X11, a task which I really loathe. I hate all that modeline and sync rate crap. I did find this guide which does a good job detailing most of the process of getting multi-head going.

I cut & pasted the section relating to the working video card to try to bring a second one up. Both displays came up, but they are mirrors of each other! Uh... That's not what I wanted. Checking over the xorg.conf I noticed I forgot the RightOf option. Corrected the error and tried again and I had two monitors working the way I expected.

After getting two screens to work I copied & pasted to pick up the other three Millennium II cards. It again only brought up two monitors. Thinking maybe it was a limitation that I could only have two (although I've seen photos of at least five on other sites), I tried again with only the center and the left. Only got the center that time. So I tried again with only the left. Xorg complained there were no screens detected and listed out all the cards it found and said there were no Device sections for them. Wait, what's this? They're listed in decimal and I punched in hexadecimal just like I got from lspci. Changed it and now I get all five displays.

I was unable to get X11 to use the sixth display. Lots and lots of searching and fighting with the config file yielded no results. Every single time X11 fired up, it would clear the screen, pause for a second, then shut the T55D display off. The best I can tell is that no-one has ever succeeded in getting the T55D working under Linux. Ever.

The next thing to try was XP. After XP finished the text console part of the install it had no problems switching to the graphic installer. XP was quite happy to display graphics on the T55D without shutting it off. During the hardware detection phase the monitors connected to the PCI cards started snapping on one-by-one, but they did not display anything on them yet. After finishing the install all I had to do was go into the desktop properties and check that I wanted to expand my desktop onto the additional screens and drag them around to match my physical layout. I didn't have to go online and download drivers or anything. I guess that's an advantage to using older hardware, the drivers are stock. I was able to get all six screens working under XP without any hassles.

For the heck of it, I tried playing a video clip and dragging it around between the heads. I could only play it on three of the heads, the AGP and the first 2 PCI slots. On the others it would either stay black and start again when I got it back onto a working head, or else it would stop playing and WMP didn't know it had stopped. Changing the hardware acceleration options in WMP made no difference. This might be a problem with sharing IRQs, I don't know.

To install OPENSTEP I had to remove the G200/T55D. With the G200/T55D installed the graphic text console would shut the T55D off. With the card removed and the console coming up on another display, I discovered that I couldn't install OPENSTEP onto the 13gig drive I had already set aside a partition for.

OPENSTEP is so old it couldn't count high enough and wasn't able to see the partition table of the disk. I dug out a 4gig HD just to install OPENSTEP onto. Still didn't like it. Mostly installed but still had problems calculating the size during the final step. Broke out OPENSTEP on Parallels to make a disk image the same size as the partition I had set aside on the 13gig, and imaged the whole thing over. No go, wouldn't boot.

Found an option in the BIOS to change the disk type from "Other" to "DOS". Made OPENSTEP a lot happier, it realized I had more than a 200meg disk. I was able to fully install, although it still didn't see the original partition table. I let it wipe out the partition table since I expected I could recreate it, and if not I had already tried the other two operating systems anyway. (As a side note, I was able to use gpart to recover the Linux partition. I couldn't recover the XP partition since the OPENSTEP partition now overlapped it.)

Once I installed the 4.10 "beta" MGA driver OPENSTEP was happy to detect all five of the Millennium II cards. Unfortunately there was a bug in the Screen preference and I was not able to rearrange the screens to match my physical layout. I probably could have gone in and manually changed the appropriate settings, but at this point it wasn't really worth it. I was able to see that all the cards were working which was good enough.

While having five or six heads is certainly cool, this was only a temporary setup. I sort of would like to find a way to justify keeping the six headed monster, it might be fun to make a nice stand (maybe out of K'Nex?). Unfortunately none of the operating systems I tried out are ones that I can sit in front of and work with all day. I don't really have any use for Windows, there aren't any programs on it that I use that much. Linux is at least a unix, but the GUI still blows. I manage around 20 Linux computers, but of them, only one is connected full time to a monitor, and that's my MythTV box. OPENSTEP 4.2 is just too dated with no USB support, no DPMS support, no modern software, etc. If I could run MacOS X with six heads, I'd probably do it, I still use a Mac with a G4 450 every day as my main computer simply because I can run it dual headed.

In the end this project was of course a stupid waste of time.