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:
The new package:
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
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
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
HorizSyncto 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.