Problem :
I have a dual-monitor setup where the second (smaller) monitor extends the desktop of the first one.
This works perfectly fine using the KDE monitor settings/XRandr, but Xorg’s default behaviour is to clone the first monitor and setting it to a lower resolution, causing two modesets: One from the correct resolutions (set by radeon
while booting) to the cloned view on the KDM login screen, and a second one after the login.
Now I’d like to have the correct setup in xorg.conf
.
As far as I know, I have to enable the merged framebuffer as described here, however I do not know how a complete, working configuration should look like.
So far, I managed to disable the unnecessary modesetting, but the second screen is still cloning (and now cropping) the frist one:
Section "Screen"
Identifier "First Screen"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080"
EndSubSection
EndSection
Section "Screen"
Identifier "Second Screen"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Section "Device"
Identifier "ATI"
Driver "radeon"
Option "MergedFB" "true"
Option "MergedNonRectangular" "true"
Option "CRT2Position" "RightOf"
Option "MetaModes" "1920x1080-1280x1024"
EndSection
I am aware that I have to specify Virtual 3200 1080
somewhere in a “Display” SubSection. I tried putting it in both of the existing ones, in an additional SubSection, and in an additional “Screen” Section, but none proved successful.
Solution :
The important lines are the metamodes and TwinViewOrientation in the Screen section. You need to find the names of your monitors and set them correctly. The easiest way to do this would be to install the proprietary drivers and then use aticonfig to generate your xorg.conf.
I am not an expert but after a lot of attempts I have correctly configured my own xorg.conf to do what you need. I am posting the relevant sections of my xorg.conf, you should be able to adapt it to suit your needs. I have commented (comments begin with #
) the lines that are most important to the best of my knowledge:
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0 # This sets the orientation of the monitors
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Seiko/Epson"
HorizSync 37.2 - 55.8
VertRefresh 40.0 - 60.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Quadro FX 880M"
EndSection
## Note that there is only one Screen section, I believe this is what makes
## the extended desktop.
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
## This line sets the resolutions for each monitor
Option "metamodes" "DP-3: 1600x900, VGA-0: 1440x900"
## This sets monitor0 to extend the screen to the right
Option "TwinViewOrientation" "RightOf"
SubSection "Display"
Depth 24
EndSubSection
EndSection