I configured the nvidia (proprietary, shame, shame) driver on my Dell Latitude D820 laptop so that my video card can display on 2 physical screens at the same time (ideal for beamer overhead display in conferences, or with a spare LCD display on the desk, etc.).
I had only tested the clone mode until now, which is usually used to display the same thing on the flat pannel of the laptop and the VGA output (on a beamer, for instance).
I got a bit further and tested the twinview settings, so that I can have the best resolution on either screen : 1680×1050 on internal display or the laptop (DFP, Digital Flat Panel), and 1280×1024 on the external LCD display (recognized as a CRT by the card). Both screens can then be “assembled” to form one large screen of 2960×1050 known by Xinerama ! And guess what, the window manager manages that in a user-friendly way (more or less) : windows can be transfered from one screen to the other, and magnification only sets them to cover the full of the current screen only.
By setting the correct nvidia metamodes in xorg.conf, I can use the randr-aware gnome preferences setting tool (
gnome-display-properties) to switch to different modes, and alternate between 3 basic modes : full large screen composed of both screens next to each-other, or separate output only on one of the displays.
Here’s a copy of the settings (updated 2008/01/23) in my
/etc/X11/xorg.conf file :
Identifier "Dual Screen Twinview"
Device "nVidia Corporation G72M [Quadro NVS 110M/GeForce Go 7300]"
Monitor "Dual Screen"
# To remove the nvidia logo, uncomment this. Displaying the logo helps figure out the screens order
# Option "NoLogo" "True"
# Using TwinView for dual display management (Xinerama)
Option "TwinView" "True"
# Default screen on DFP : useful for Gnome session, panels, etc.
Option "TwinViewXineramaInfoOrder" "DFP-0"
# Configure different meta-modes to be able to select with xrandr which resolutions, dual screen on or off, etc.
Option "MetaModes" "DFP-0: 1680x1050, CRT-0: 1280x1024@1280x1050; DFP-0:1680x1050, CRT-0:NULL; DFP-0: 1280x1024, CRT-0: 1280x1024; DFP-0:NULL, CRT-0:1280x1024; DFP-0: 1024x768, CRT-0: 1024x768; DFP-0:NULL, CRT-0:1024x768; DFP-0: 800x600, CRT-0: 800x600; DFP-0:NULL, CRT-0:800x600"
# Correctly set font sizes, etc.
Option "UseEdidDpi" "DFP-0"
# Depending on the way you arrange your monitors on the desk
Option "TwinViewOrientation" "DFP-0 LeftOf CRT-0"
# Option "TwinViewOrientation" "DFP-0 RightOf CRT-0"
# Allows starting in dual head for later plugging of the beamer
Option "ConnectedMonitor" "DFP, CRT"
# the following should fit most cases
# Option "HorizSync" "DFP-0: 30-75; CRT-0: 30-70"
Option "HorizSync" "DFP-0: 30-65; CRT-0: 31-80"
# Option "VertRefresh" "DFP-0: 30-60; CRT-0: 48-120"
Option "VertRefresh" "DFP-0: 30-60; CRT-0: 56-75"
Update 2008/01/23 : I had problems with the old settings, and tried to solve them today, with quite some success. Now, both screen are activated even if no external beamer or LCD display is connected : it helps connect a beamer on the fly without restarting X (corresponding settings : “ConnectedMonitor” and “HorizSync” and “VertRefresh”). Also, gnome would open its primary screen on the external display (even if it wasn’t there due to previous settings 🙁 ), so I’ve set “TwinViewXineramaInfoOrder” for it to use the laptop’s screen first. At last, I added “UseEdidDpi” so that the fonts are readable. I’m pretty satisfied with this new config.
Update 2008/02/10 : I added today another layout so that I can use the
Option "TwinViewOrientation" "clone" mode also. And I updated also the layout switching setup so that I can select it from boot also.
Great experience 🙂