For about eight years I've been a proud owner of a 15" LiteOn monitor which is the only piece from my first computer that survived till today. Now I have an addition, a 22" Benq E2200HD and along with that came an ATI Radeon HD 4350 video card. One of the goals is to put both monitors at work using the VGA and DVI outputs from the video card.
Some details on the setup: I want to use Benq monitor as the primary output and it has a native resolution of 1920x1080. LiteOn monitor has a native resolution of 1024x768. Benq monitor is connected to the DVI port using an adapter and LiteOn monitor is connected to the VGA port.
There are just too many tutorials explaining how to setup dual head and most of them complete each other so I cannot state one source that helped me most. At the beginning I used only the Benq monitor and configured the second output manually through xrandr tool (a nice gui is grandr). After a lot of tries I got to the final configuration for xorg.conf that extends the workspace on both monitors, the LiteOn monitor being on the right side of the Benq one.
The original configuration file I generated using Xorg -configure and then stripped unused so far stuff. I have also an on-board "ATI Radeon 2100" card which I don't use right now. Xorg detected the on-board card and generated screen and device sections which I removed. Using the on-board card along with the HD4350 is a challenge for some other time.
Here is a part from the xorg.conf file that is related to configuring the extended workspace.
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
Option "RightOf" "Monitor0"
EndSection
Section "Device"
Identifier "Card0"
Driver "radeon"
VendorName "ATI Technologies Inc"
BoardName "RV710 [Radeon HD 4350]"
BusID "PCI:2:0:0"
Option "monitor-DVI-0" "Monitor0"
Option "monitor-VGA-0" "Monitor1"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 24
Virtual 2944 1080
Modes "1920x1080" "1024x768" "800x600" "640x480"
EndSubSection
EndSection
In this config there are a couple of important places that need to be setup properly. The first one is to configure the order of the monitors. I thought of "Monitor0" being the Benq model and "Monitor1" the LiteOn one and specified in the "Monitor" section for "Monitor1" the layout I want.
The next important part is to map correctly the physical ports to "Monitor" sections in "Device" section. It is required to follow the pattern
Option "monitor-OUTPUTNAME" "MonitorIdentifier"
The OUTPUTNAME can be obtained by running xrandr tool and look for port names. The name of the output should be selected completely up until the first space, ie "DVI-0" and not just the "DVI" part. Here is the output on my setup:
016:31[istirbu@kubi:~]$ xrandr
Screen 0: minimum 320 x 200, current 2944 x 1080, maximum 2944 x 1080
VGA-0 connected 1024x768+1920+0 (normal left inverted right x axis y axis) 304mm x 228mm
1024x768 75.0*+ 70.1 60.0
832x624 74.6
800x600 72.2 75.0 60.3 56.2
640x480 75.0 72.8 75.0 66.7 59.9
720x400 70.1
DVI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 476mm x 268mm
1920x1080 60.0*+
1680x1050 60.0
1280x1024 75.0 60.0
1440x900 75.0 59.9
1280x960 60.0
1280x800 59.8
1152x864 75.0
1152x720 60.0
1024x768 75.0 60.0
832x624 74.6
800x600 75.0 60.3
640x480 75.0 59.9
720x400 70.1
The last part is the screen section and the important line is the "Virtual" entry. Because I chose to align the monitors in a horizontal fashion, the width in "Virtual" has to match the summation of both monitors' width, ie add 1920 and 1024. The height is left 1080 as it is the largest of both resolutions.