How to do a multihead (two-monitor) installation
------------------------------------------------
Doing a multihead configuration is a matter of editing the XF86Config file.
I already had one monitor and one video card configured in my /etc/X11/XF86Config file:
Code:
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Z70"
DisplaySize 320 240
HorizSync 30.0 - 70.0
VertRefresh 50.0 - 120.0
Option "dpms"
EndSection
Section "Device"
Identifier "Videocard0"
Driver "ati"
VendorName "Videocard vendor"
BoardName "ATI Mach64 3D RAGE II"
EndSection
So, after the first monitor, I added the second. Everything was pretty self-explanatory, and I obtained the
horizontal sync and the vertical refresh rate from the Vendor's website.
Code:
Section "Monitor"
Identifier "Monitor1"
VendorName "Dell"
ModelName "Something"
DisplaySize 320 240
HorizSync 30.0 - 85.0
VertRefresh 48.0 - 120.0
Option "dpms"
EndSection
And I needed to add the second video card, too:
Code:
Section "Device"
Identifier "Videocard1"
Driver "s3virge"
VendorName "S3"
BoardName "S3 Inc. 86c988"
BusID "PCI:3:5:0"
EndSection
I was able to look, in the display configuration in X, to see which driver was used by this specific video board. The
first time I tried this, I did not have the BusID line in there, and XF86 was erroring out and telling me where on the
bus the problem was. Using scanpci will tell you a lot of information, and the
BusID that you need is buried in there
somewhere. (It will return a line like: S3 0x0003 cardnum 0x05 f0x00 ... and that's where the 3:5:0 comes from, I
think.)
Now that those are set up, you have to tell X to use both screen, how to orient
them, and to use Xinerama so that the
two monitors work together and act like one.
Code:
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
[red]Screen "Screen1" LeftOf "Screen0"[/red]
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "DevInputMice" "AlwaysCore"
Option "Xinerama" "on"
EndSection
Everything there was there before, with the exception of the Screen1 line and the Option "Xinerama" line. LeftOf/RightOf are how you tell XF86 which monitor is on which side.
Then, restart X, and everything should (hopefully) be working.
If it's not, my source was "Xinerama: Setting Up a Multi-Headed Display" pp. 76-79 in the Jan/Feb 2001 "Maximum Linux" magazine. You may want to consult that article for more background information.