I have a Dell Latitude D620 laptop, and I run Debian testing on it. I've been running it this way for many years now. Every so often something changes and *poof* I've got to figure everything out again.
One of the things that changed over from Debian Etch to Debian Lenny (the current testing) was a new driver for the Intel 945GM card. The biggest bummer was that with my old config file the new driver would crash.
At any rate, lets go over this for anyone else who has to go through this:
The old package:
http://packages.debian.org/stable/x11/xserver-xorg-video-i810The new package:
http://packages.debian.org/testing/x11/xserver-xorg-video-intelFrom lspci:
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)
So, in the mix of the things that have changed is a completely different xorg.conf format.
The biggest shocker for me was the complete lack of Xinerama support. Turn it on and it crashes the driver cold. Since I use a monitor along with my laptop monitor, this was a problem.
Now its important to note that the old driver had two seperate xorg.conf devices, one for each "display pipe"... thus one per monitor. Xinerama was used to connect the devices back together into one display.
The new method stacks three concepts. To oversimplify: a
screen can have one or many
CRTCs (CRT Controllers) which can be hooked up to one or many
outputs (monitors).
I have a DELL E228WFP monitor hooked to the DVI port on my port replicator, and I have the laptop monitor. The external monitor is 1680x1050 and the laptop is 1440x900.
So, to make one large display, you make a virtual screen that is 3120x1050 (the monitors sitting next to each other). You then configure a CRTC to be at offset +0+0 and another to be at +1680+0. It is a little strange that you can actually configure the CRTCs to overlap and you'll see the same image on both screens.
Now, theres a problem with having a 3120x1050 screen. "There is a known issue that DRI doesn't work on pre-965 if maximum is larger than 2048x2048." So, have it set up that way and no DRI (meaning crappy 2D and really crappy 3D support).
My hack around that was to logically stack my screens (i.e. up-down)... I tell X that my display is actually 1650x1950 even though the screens are left-right. The drawback is that I have to move off the bottom of my screen to go to my laptop (instead of to the right).
At any rate, here's my old config file. Do note there are issues with it even with the old driver (like, for instance, having to hit Fn-F8 on boot so the primary monitor will be the big one -- and not the laptop monitor).
# Jeff's old /etc/X11/xorg.conf
Section "Files" FontPath "/usr/share/fonts/X11/misc" FontPath "/usr/X11R6/lib/X11/fonts/misc" FontPath "/usr/share/fonts/X11/cyrillic" FontPath "/usr/X11R6/lib/X11/fonts/cyrillic" FontPath "/usr/share/fonts/X11/100dpi/:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled" FontPath "/usr/share/fonts/X11/75dpi/:unscaled" FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled" FontPath "/usr/share/fonts/X11/Type1" FontPath "/usr/X11R6/lib/X11/fonts/Type1" FontPath "/usr/share/fonts/X11/100dpi" FontPath "/usr/X11R6/lib/X11/fonts/100dpi" FontPath "/usr/share/fonts/X11/75dpi" FontPath "/usr/X11R6/lib/X11/fonts/75dpi" # path to defoma fonts FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" EndSection
Section "Module" Load "i2c" Load "bitmap" Load "ddc" #Load "dri" Load "extmod" Load "freetype" Load "glx" Load "int10" Load "type1" Load "vbe" EndSection
Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc104" Option "XkbLayout" "us" EndSection
Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ExplorerPS/2" Option "Emulate3Buttons" "true" EndSection
Section "InputDevice" Driver "synaptics" Identifier "Synaptics Touchpad" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "LeftEdge" "120" Option "RightEdge" "830" Option "TopEdge" "120" Option "BottomEdge" "650" Option "FingerLow" "14" Option "FingerHigh" "15" Option "MaxTapTime" "180" Option "MaxTapMove" "110" Option "EmulateMidButtonTime" "75" Option "VertScrollDelta" "20" Option "HorizScrollDelta" "20" Option "MinSpeed" "0.6" Option "MaxSpeed" "0.6" Option "AccelFactor" "0.015" Option "EdgeMotionMinSpeed" "200" Option "EdgeMotionMaxSpeed" "200" Option "UpDownScrolling" "1" Option "CircularScrolling" "1" Option "CircScrollDelta" "0.1" Option "CircScrollTrigger" "2" EndSection
Section "Device" Identifier "Internal Video Card" Driver "i810" VideoRam 262144 BusID "PCI:0:2:0" Option "FlipPrimary" "on" Option "MonitorLayout" "DFP,LFP" Screen 0 EndSection
Section "Device" Identifier "External Video Card" Driver "i810" VideoRam 262144 BusID "PCI:0:2:0" Option "FlipPrimary" "on" Screen 1
EndSection
Section "Device" Identifier "External Video Card FP" Driver "i810" VideoRam 262144 BusID "PCI:0:2:0" #Option "MonitorLayout" "LFP,DFP" #Option "MonitorLayout" "DFP,LFP" #Option "FlipPrimary" "on" Screen 1
EndSection
Section "Monitor" Identifier "Internal FP" Option "DPMS" HorizSync 30-83 VertRefresh 56-60 ModeLine "1680x1050" 119.0 1680 1728 1760 1840 1050 1053 1059 1080 -hsync +vsync EndSection
Section "Monitor" Identifier "DELL 2007FP" ModelName "DELL 2007FP" ModeLine "1680x1050" 119.0 1680 1728 1760 1840 1050 1053 1059 1080 -hsync +vsync Option "DPMS" HorizSync 30-83 VertRefresh 56-60 EndSection
Section "Monitor" Identifier "Tube" ModeLine "1680x1050" 119.0 1680 1728 1760 1840 1050 1053 1059 1080 -hsync +vsync
Option "DPMS" #HorizSync 30-183 HorizSync 30-183 VertRefresh 75-90 EndSection
Section "Screen" Identifier "Internal LCD" Device "Internal Video Card" Monitor "Internal FP" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1680x1050" "1440x900" "1280x1024" "1280x768" "1024x768" "800x600" "640x480" EndSubSection EndSection
Section "Screen" Identifier "External FP" Device "External Video Card FP" Monitor "DELL 2007FP" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1440x900" "1280x1024" "1280x768" "1024x768" "800x600" "640x480" Virtual 1440 900 EndSubSection EndSection
Section "Screen" Identifier "External Monitor" Device "External Video Card" Monitor "Tube" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1680x1050" "1280x1024" "1280x768" "1024x768" "800x600" "640x480" Virtual 1680 1050 EndSubSection EndSection
Section "ServerLayout" Identifier "external" Screen 0 "Internal LCD" 0 0 Screen 1 "External FP" Rightof "Internal LCD" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" InputDevice "Synaptics Touchpad" Option "Xinerama" "true" EndSection
Section "ServerLayout" Identifier "internal" Screen "Internal LCD" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" InputDevice "Synaptics Touchpad" EndSection
Section "ServerLayout" Identifier "Default Layout" Screen 0 "Internal LCD" 0 0 Screen 1 "External Monitor" Leftof "Internal LCD" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" InputDevice "Synaptics Touchpad" Option "Xinerama" "true" EndSection
Section "ServerLayout" Identifier "Default Layout bak" Screen "Internal LCD" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" InputDevice "Synaptics Touchpad" EndSection
Section "DRI" Mode 0666 EndSection
|
And now here's the new config file. I haven't yet applied my Synaptics tweeks to make the trackpad work better.
# The *NEW* xorg.conf dual monitor file Section "Files" EndSection
Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc104" Option "XkbLayout" "us" EndSection
Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ImPS/2" Option "Emulate3Buttons" "true" EndSection
Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "HorizScrollDelta" "0" EndSection
Section "Device" Identifier "Intel 945GM" Driver "intel" Option "Monitor-TMDS-1" "TMDS Monitor" Option "Monitor-LVDS" "LVDS Monitor" #Option "ModeDebug" "true"
EndSection
Section "Monitor" Identifier "LVDS Monitor" Option "DPMS" Option "Below" "TMDS Monitor" Option "PreferredMode" "1440x900" Option "Position" "0 1050" EndSection
Section "Monitor" Identifier "TMDS Monitor" Option "DPMS" #HorizSync 65-70 #VertRefresh 59-60 HorizSync 64-83 VertRefresh 56-75
Option "PreferredMode" "1680x1050" EndSection
Section "Screen" Identifier "The Screen" Device "Intel 945GM" SubSection "Display" Virtual 1680 1950 EndSubsection EndSection
Section "ServerLayout" Identifier "Default Layout" Screen "The Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" InputDevice "Synaptics Touchpad" EndSection
|
Now there is one oddity which I wasn't able to find a way around other than the old school hack of specifying an overly-restrictive horizontal refresh rate: xorg wants to put the Flat Panel into 1280x1024x75hz mode and not 1680x1050x60hz mode. I ended up putting the slightly more restrictive
HorizSync to make it so that it won't go into 1280x1024 mode.
For more information about setting up dual head under the Intel driver is available from
their site.
3 comments:
Hello,
Also another solution here, which seems more appropriate :
http://ballard.blogspot.com/2007/09/debain-upgrading-from-xserver-xorg.html
Worked for me with a Dell D610 whith 1400x1050 display and an external 1600x1200 display.
Also another solution here, which seems more appropriate :
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=420419
Worked for me with a Dell D610 whith 1400x1050 display and an external 1600x1200 display.
(Please disregard the former comment, I put the wrong link)
...except that doesn't get around the fundamental problem that the DRI is limited to 11 bits in each direction. If you'd want to use DRI on both screens you have to keep it to 2048x2048 if you're using the Intel 945GM cards... unless I'm missing something.
Post a Comment