Extend an already existing dual-head setup using one dual-head graphics card and Xinerama, to using 3 monitors across 2 graphics cards still using Xinerama.
Xinerama is an X extension that allows multiple displays to be combined into one big screen/desktop.
Plastic outer shell is removed. |
Metal shielding removed. |
PCB visible with auxilary port. |
PCB view from above. |
PCB removed with wire newly soldered. |
00:0a.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200 SE] (rev 01) 01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP (rev 82)The strings in bold are what you want. Generally speaking, strings beginning with 00: are PCI devices and 01: are AGP. X wants these values in decimal, therefore 00:0a:0 will be entered as 0:10:0. If your hex isn't upto scratch, you can use this simple shell command to work it out.
$ echo $((0x0a)) 10In my BIOS the AGP card is set as the primary device, so when the machine boots only monitors attached to the AGP card show a display. Only when X kicks in does the PCI card initialise.
Section "Device" Identifier "G450" Driver "mga" BusID "PCI:1:0:0" Screen 0 EndSection Section "Device" Identifier "G450-1" Driver "mga" BusID "PCI:1:0:0" Screen 1 EndSection Section "Device" Identifier "9200SE" Driver "radeon" BusID "PCI:0:10:0" EndSectionThis is where the bus id's come in. As you can see even though the G450 is a single card, it has two outputs and thus needs two device sections, the key bit here is the Screen n lines. Also note that "PCI" is used in the BusID even for AGP devices. A mistake I made at first and which stopped the radeon from working was that I put a Screen 2 line in the radeon device section. However, you only put them in when using more than one output of a multi-head card. If I was going to use the other output on the radeon with a fourth monitor I would add another radeon device section and put in Screen 0 and Screen 1 lines like the G450.
Section "ServerLayout" Identifier "XFree86 Configured" Screen 0 "Screen0" 0 0 Screen "Screen 1" RightOf "Screen 2" Screen "Screen 2" RightOf "Screen 0" InputDevice "Mouse0" "CorePointer" InputDevice "Keyboard0" "CoreKeyboard" EndSectionThe "Screen n"'s refer to the three "Screen" sections, where each one links one "Device" section with one "Monitor" section.
Section "ServerFlags" Option "Xinerama" EndSectionHere is the full xorg.conf for this setup.
by: Andrew Clayton <andrew@digital-domain.net> when: 31st July 2004 with: vim