Monday 15 January 2007

Linux - Dual Monitors with ATI Radeon on IBM T42

My recent experience with a dual monitor setup with Fedora Core 6 on an IBM T42 laptop with the ATI Mobility Radeon chip. I really liked the nice 3D and floating effects of compiz and beryl that comes stock standard with FC6 on the laptop screen.
Alas, after a lot of teeth gnashing and debug, the effects don't seem to extend properly to a dual monitor setup. My dual montior setup was more special as it had different resolutions. The laptop screen at 1400x1050 and the external Samsung monitor at 1440x900 (widescreen).

After a lot of experiementation, I discovered that using the latest ATI drivers (the fglrx ones) off the ATI website or using the Livinia repository gave the best display across the dual monitors as separate desktops, and not an extended desktop. Alas, with this option, the 3D desktop goes away, as the ATI drivers do not support the AIGLX extensions.

Thus, now I have two xorg.conf's setup on my laptop. One is for a single monitor setup (using the Xorg's radeon driver) and the other for a dual monitor setup (using the ATI driver from Livinia repository).

Some good links I used to experiment with.
http://forums.fedoraforum.org/showthread.php?t=121119

http://ozlabs.org/~jk/docs/mergefb/

http://dri.freedesktop.org/wiki/MergedFB

Single-Head xorg.conf with radeon drivers
Section "ServerLayout"
Identifier "single head configuration"

Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Synaptics" "CorePointer"
EndSection

Section "Module"
Load "dri"
Load "glx"
SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection

Section "InputDevice"
Identifier "Synaptics"
Driver "synaptics"
Option "Device" "/dev/input/mice"
Option "Protocol" "auto-dev"
Option "Emulate3Buttons" "yes"
EndSection

Section "Monitor"

### Comment all HorizSync and VertSync values to use DDC:
Identifier "Monitor0"
ModelName "LCD Panel 1400x1050"
### Comment all HorizSync and VertSync values to use DDC:
HorizSync 31.5 - 90.0
VertRefresh 59.0 - 75.0
Option "dpms"
EndSection

Section "Device"
Identifier "Videocard0"
Driver "radeon"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Option "AddARGBGLXVisuals" "True"
Option "DisableGLXRootClipping" "True"
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1400x1050" "1280x1024" "1280x960" "1280x800" "1152x864" "1152x768" "1024x768" "800x600" "640x480"
EndSubSection
EndSection

Section "DRI"
Group 0
Mode 0666
EndSection


Dual-head xorg.conf with ATI fglrx drivers
Section "ServerLayout"
Identifier "Multihead layout"
Screen 0 "Screen0" LeftOf "Screen1"
Screen 1 "Screen1" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Synaptics" "CorePointer"
Option "Xinerama" "on"
Option "Clone" "off"
EndSection

Section "Module"
Load "dri"
Load "glx"
SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection

Section "InputDevice"
Identifier "Synaptics"
Driver "synaptics"
Option "Device" "/dev/input/mice"
Option "Protocol" "auto-dev"
Option "Emulate3Buttons" "yes"
EndSection

Section "Monitor"

### Comment all HorizSync and VertSync values to use DDC:
### Comment all HorizSync and VertSync values to use DDC:
Identifier "Monitor0"
ModelName "LCD Panel 1400x1050"
### Comment all HorizSync and VertSync values to use DDC:
HorizSync 31.5 - 90.0
VertRefresh 59.0 - 75.0
Option "dpms"
EndSection

Section "Monitor"
Identifier "Monitor1"
VendorName "Monitor Vendor"
ModelName "LCD Panel 1440x900"
### Comment all HorizSync and VertSync values to use DDC:
HorizSync 31.5 - 100.0
VertRefresh 59.0 - 75.0
Option "dpms"
EndSection

Section "Device"
Identifier "Videocard0"
Driver "radeon"
EndSection

Section "Device"
Identifier "Videocard1"
Driver "radeon"
VendorName "Videocard Vendor"
BoardName "ATI Technologies Inc RV350 [Mobility Radeon 9600 M10]"
BusID "PCI:1:0:0"
Screen 1
EndSection

Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Option "AddARGBGLXVisuals" "True"
Option "DisableGLXRootClipping" "True"
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1400x1050" "1280x1024" "1280x960" "1280x800" "1152x864" "1024x768" "800x600" "640x480"
EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device "Videocard1"
Monitor "Monitor1"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1440x900"
EndSubSection
EndSection

Section "DRI"
Group 0
Mode 0666
EndSection

No comments: