Multiple Displays on Laptop

Jason Van Patten <[email protected]> Fri, 31 Dec 2004 16:13:57 -0500
Newsgroups gmane.comp.freedesktop.xserver
Message-ID <[email protected]>
Hi folks -

I hope I'm sending this to the right mailing list.  If not, could someone 
kindly redirect me?

I'm trying to configure X to run on my laptop (IBM Thinkpad, ATI Mobility 
T2) like so: When the laptop is connected to a monitor (ie, docked) I'd like 
the X server to run at resolution 2048x1536.  The laptop's LCD can only 
handle 1600x1200, so that's what it displays.  Like a 16x12 window into a 
2048x1526 background.

When I undock the laptop, I can use xrandr to drop the resolution down to 
16x12 so the LCD screen shows the entire desktop.

I've been partially successful in getting this to work.  I'll include the 
interesting bits of my xorg.conf at the end of the message.  The last hurdle 
to overcome is the requirement for a DDC-capable monitor to be attached when 
X starts.  If the laptop is connected to such a monitor, everything works 
beautifully.  It comes up in 2048x1536, and the LCD displays 16x12 of it.

However, if I bring the X server up when the laptop isn't docked, or is 
connected to a monitor that isn't DDC capable, I get a fixed 1600x1200 
display and that's it.  I can't change it up to 2048x1536 or 1920x1440.

Also, if I do bring X up with the DDC monitor attached, then de-dock the 
laptop, and THEN try to resize the server (xrandr) the LCD blanks out.  It 
seems I HAVE to have it connected to a DDC monitor to enable this feature, 
and to resize the screen.

Any ideas?


The bits from the config that'll matter most:
Section "Monitor"
         Identifier   "Monitor0"
         VendorName   "Monitor Vendor"
         ModelName    "LCD Panel 1600x1200"
         DisplaySize  410        300
         HorizSync    30.0 - 130.0
         VertRefresh  50.0 - 160.0
         Option      "dpms" "off"
EndSection
Section "Device"
         Identifier  "Videocard0"
         Driver      "radeon"
         VendorName  "Videocard vendor"
         BoardName   "ATI FireGL Mobility T2"
         Option      "SubPixelOrder" "NONE"
         Option      "MonitorLayout" "LVDS,CRT"
         Option      "MergedFB" "TRUE"
         Option      "MetaModes" "1600x1200-2048x1536 1600x1200-1920x1440 
1600x1200-1600x1200"
EndSection

Section "Screen"
         Identifier "Screen0"
         Device     "Videocard0"
         Monitor    "Monitor0"
         DefaultDepth     24
         SubSection "Display"
                 Viewport   0 0
                 Depth     16
                 Modes    "800x600" "640x480"
         EndSubSection
         SubSection "Display"
                 Viewport   0 0
                 Depth     24
                 Modes     "2048x1536" "1920x1440" "1600x1200" "1280x1024" 
"1024x768" "800x600" "640x480"
         EndSubSection
EndSection


-----------
Essentially, I want to tell the X server: Ignore DDC and do what I tell you. 
  I know best.  ... is that even possible?

Thanks!

jas
-- 
Jason Van Patten