Dual Head With X.org, Radeon 7000, and GNOME
Posted by Eric Stein - April 16, 2006 CE @ 00:45:12 UTC
I've wanted to have dual monitors for a very long time. I recently bought another Dell E193FP 19" LCD to match the one I already had. Of course I wanted to be using it as soon as possible, so I went over to my brother's place and we found a card I could use:
eastein@pippin:~$ lspci|grep VGA
0000:02:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV100 QY [Radeon 7000/VE]
eastein@pippin:~$
0000:02:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV100 QY [Radeon 7000/VE]
eastein@pippin:~$
X.org
I browsed around on the Ubuntu Wiki and found the page on setting up Xinerama with multiple monitors. After a fair bit two days of tinkering, I came up with this xorg.conf:Section "Files"
FontPath "/usr/share/X11/fonts/misc"
FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/X11/fonts/Type1"
FontPath "/usr/share/X11/fonts/CID"
FontPath "/usr/share/X11/fonts/100dpi"
FontPath "/usr/share/X11/fonts/75dpi"
# paths to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
EndSection
Section "Module"
Load "GLcore"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection
Section "InputDevice"
Identifier "keyboard1"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "mouse1"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Section "Monitor"
Identifier "Dell0"
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Dell1"
Option "DPMS"
EndSection
Section "Device"
Identifier "ati0"
Driver "radeon"
BusID "PCI:2:0:0"
Screen 0
EndSection
Section "Device"
Identifier "ati1"
Driver "radeon"
BusID "PCI:2:0:0"
Screen 1
EndSection
Section "Screen"
Identifier "screen0"
Device "ati0"
Monitor "Dell0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Section "Screen"
Identifier "screen1"
Device "ati1"
Monitor "Dell1"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Multihead"
Screen "screen0"
Screen "screen1" RightOf "screen0"
InputDevice "mouse1" "CorePointer"
InputDevice "keyboard1" "CoreKeyboard"
Option "Xinerama"
EndSection
Section "DRI"
Mode 0666
EndSection
This wasn't the first xorg.conf I worked with - I used another earlier that seemed to work until I realized I needed to set the gamma correction on each head separately. The previous one used only one device section - a problem if you want to set gamma correction independently. In my case, the second head's gamma was too high by default, resulting in a washed out look. When you have two separate screens, you can set the gamma correction like so:FontPath "/usr/share/X11/fonts/misc"
FontPath "/usr/share/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/X11/fonts/Type1"
FontPath "/usr/share/X11/fonts/CID"
FontPath "/usr/share/X11/fonts/100dpi"
FontPath "/usr/share/X11/fonts/75dpi"
# paths to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/CID"
EndSection
Section "Module"
Load "GLcore"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection
Section "InputDevice"
Identifier "keyboard1"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "mouse1"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
Option "ZAxisMapping" "4 5"
EndSection
Section "Monitor"
Identifier "Dell0"
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Dell1"
Option "DPMS"
EndSection
Section "Device"
Identifier "ati0"
Driver "radeon"
BusID "PCI:2:0:0"
Screen 0
EndSection
Section "Device"
Identifier "ati1"
Driver "radeon"
BusID "PCI:2:0:0"
Screen 1
EndSection
Section "Screen"
Identifier "screen0"
Device "ati0"
Monitor "Dell0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Section "Screen"
Identifier "screen1"
Device "ati1"
Monitor "Dell1"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Multihead"
Screen "screen0"
Screen "screen1" RightOf "screen0"
InputDevice "mouse1" "CorePointer"
InputDevice "keyboard1" "CoreKeyboard"
Option "Xinerama"
EndSection
Section "DRI"
Mode 0666
EndSection
eastein@pippin:~$ xgamma -screen 0 -gamma 0.92
-> Red 0.800, Green 0.900, Blue 0.900
<- Red 0.920, Green 0.920, Blue 0.920
eastein@pippin:~$ xgamma -screen 0 -rgamma 0.8
-> Red 0.920, Green 0.920, Blue 0.920
<- Red 0.800, Green 0.920, Blue 0.920
eastein@pippin:~$ xgamma -screen 1 -gamma 0.7
-> Red 0.700, Green 0.700, Blue 0.700
<- Red 0.700, Green 0.700, Blue 0.700
eastein@pippin:~$ xgamma -screen 1 -rgamma 0.65
-> Red 0.700, Green 0.700, Blue 0.700
<- Red 0.650, Green 0.700, Blue 0.700
eastein@pippin:~$
-> Red 0.800, Green 0.900, Blue 0.900
<- Red 0.920, Green 0.920, Blue 0.920
eastein@pippin:~$ xgamma -screen 0 -rgamma 0.8
-> Red 0.920, Green 0.920, Blue 0.920
<- Red 0.800, Green 0.920, Blue 0.920
eastein@pippin:~$ xgamma -screen 1 -gamma 0.7
-> Red 0.700, Green 0.700, Blue 0.700
<- Red 0.700, Green 0.700, Blue 0.700
eastein@pippin:~$ xgamma -screen 1 -rgamma 0.65
-> Red 0.700, Green 0.700, Blue 0.700
<- Red 0.650, Green 0.700, Blue 0.700
eastein@pippin:~$
Post a Comment