Well, I’m getting further along. I now understand how to use the intel driver better, well enough to setup dual head dynamically using xrandr. But there is a serious limitation that makes me think either the Intel guys don’t understand X11 or there is a shift in Xorg away from the use of the use of Screens.
First, I have the i915GM chipset. The intel driver doesn’t properly handle viewports larger than 2048×2048 for chipsets prior to the 945 (I believe). So when using the intel driver with my laptop, which does 1280×800, and an external VGA @ 1024×768 I can’t align them side by side. If I did then the total viewport width would be larger than 2048. Fortunately, I can align them vertically. The total height of the two monitors is < 2048.
So my new xorg.conf sets up the three possible output ports: LVDS (LCD monitor), VGA and TV-Out but only the LVDS will come up initially if nothing is connected to the other two ports. Note that if I have the VGA plugged in initially, when GDM starts, the LVDS will take on the resolution of the VGA (the smaller of the two resolutions). So to force the LVDS to use it’s preferred resolution initially, don’t plugin in the VGA until you’re ready to login from GDM (or even after you’ve logged in).
Before logging in via GDM I plug in the VGA. When I log in, I do:
xrandr –output VGA –preferred –above LVDS
That gets me dual head with two different display resolutions. The VGA is accessible by dragging my mouse (and windows) "up" from the LCD display. All is fine and dandy. Except…
- I can find no way to get my desktop GNOME panels to be left on the LVDS monitor. When I add the VGA with the xrandr command the panels get moved to the VGA. It doesn’t matter if I enable VGA, then disable LVDS then add it back in (trying to reverse the original process). I always end up with the panels on the VGA. This makes the VGA "monitor 1", according to OpenOffice.�
- This whole process simply sets up "Monitors", not X11 "Screens". The difference (to a user) is subtle. OpenOffice is happy to place an Impress slide show on a specific monitor, so presentations work fine with this. But MythTV (and many applications) still rely on seperate X11 screen definitions mixed with Xinerama. So, with this configuration, I can find no way to get MythTV on the second display device (in this case, the VGA). While I haven’t tried it, I’m pretty sure I won’t be able to get it onto the TV out either. Arggghhh.
I was able to switch back and forth between dual head and single head fairly easily (xrand –output VGA –off, to get back to single head) although at one point I did get the black screen of death – no video output at all – forcing me to hard reset the system.
One other note: you have to use an xorg.conf to get this working – as opposed to starting the X session without and xorg.conf and letting the driver figure things out on its own – or else the external outputs (VGA and TV-Out) are not seen by the driver in its default configuration. But what I found more important for forcing a defined xorg.conf was that without one I can’t disabled the $#%^#$ synaptics pad! The way I type, the palm of my thumb rubs that pad constantly and moves the mouse all over. So I switched to a laptop USB mouse. Well, the default config for the intel driver happily configures the synaptics pad so it can be used but does not configure it with SHMConfig set to "on". Without this you can’t use the synclient tool to manually disable the pad. So, I’m stuck with manually configuring this in the xorg.conf file.