There’s a lot of context to keep in my head when I do my C++ work. I wanted to be able to be productive when I work from home, and decided on a two-monitor setup toward that end.
I bought an NVidia GeForce 9500 GT dual DVI output board by EVGA (512MB DDR2, PCI Express 2.0, SLI Support, (Dual Link) Dual DVI), an Acer X233H LCD monitor capable of 1920×1080 resolution, and an eMachines E202Hwmd LCD monitor capable of 1600×900 resolution.
First Try
After installing the new card, I hooked up both monitors to the DVI outputs and fired up Mandriva 2009.1. It booted, but when X started the first screen went black (I think the other one never powered on).
The Ril Dil
Unplugging the video cable for the second monitor enabled me to reboot and get back into X. I tried some things to use the open source “nv” driver and I think it would work, but after working with it for a while I decided to try the (proprietary) nvidia driver. To do this, I ran Mandriva Control Panel, went into “Set up the graphical server”, and chose “GeForce 6100 and later”. When MCC alerted that a proprietary driver was available, I selected it. In the options, I chose to “Enable duplicate display on the second display”.
Now, as root, I ran the nvidia-settings program and set up the displays:
Here is the xorg.conf file that nvidia-settings generated for me:
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 1.0 (mandrake@n2.mandriva.com) Sun Oct 18 07:57:16 EDT 2009
# File generated by XFdrake (rev )
# **********************************************************************
# Refer to the xorg.conf man page for details about the format of
# this file.
# **********************************************************************
Section "ServerLayout"
Identifier "layout1"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Module"
Load "dbe" # Double-Buffering Extension
Load "v4l" # Video for Linux
Load "extmod"
Load "glx" # 3D layer
Disable "dri"
EndSection
Section "ServerFlags"
# allows the server to start up even if the mouse does not work
#DontZoom # disable <Ctrl><Alt><KP_+>/<KP_-> (resolution switching)
Option "DontZap" "False" # disable <Ctrl><Alt><BS> (server abort)
Option "allowmouseopenfail"
Option "Xinerama" "0"
EndSection
Section "InputDevice"
# generated from data in "/etc/sysconfig/keyboard"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbLayout" "us"
Option "XkbModel" "pc105"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "Monitor"
# Monitor preferred modeline (60.0 Hz vsync, 67.5 kHz hsync, ratio 16/9, 95 dpi)
Identifier "monitor1"
VendorName "Plug'n Play"
ModelName "Acer X233H"
HorizSync 30.0 - 94.0
VertRefresh 49.0 - 75.0
ModeLine "1920x1080" 148.5 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630
ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616
ModeLine "1920x1080_120" 368.76 1920 2072 2288 2656 1080 1081 1084 1157 -hsync +vsync
ModeLine "1920x1080_100" 302.02 1920 2072 2280 2640 1080 1081 1084 1144 -hsync +vsync
ModeLine "1920x1080_85" 252.93 1920 2064 2272 2624 1080 1081 1084 1134 -hsync +vsync
ModeLine "1920x1080_75" 220.64 1920 2056 2264 2608 1080 1081 1084 1128 -hsync +vsync
ModeLine "1920x1080_60" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -hsync +vsync
ModeLine "1920x1080_50" 141.45 1920 2032 2232 2544 1080 1081 1084 1112 -hsync +vsync
ModeLine "1600x900_120" 255.69 1600 1728 1904 2208 900 901 904 965 -hsync +vsync
ModeLine "1600x900_100" 208.90 1600 1720 1896 2192 900 901 904 953 -hsync +vsync
ModeLine "1600x900_85" 174.79 1600 1712 1888 2176 900 901 904 945 -hsync +vsync
ModeLine "1600x900_75" 152.28 1600 1704 1880 2160 900 901 904 940 -hsync +vsync
ModeLine "1600x900_60" 119.00 1600 1696 1864 2128 900 901 904 932 -hsync +vsync
ModeLine "1600x900_50" 97.04 1600 1680 1848 2096 900 901 904 926 -hsync +vsync
ModeLine "1368x768_120" 185.67 1368 1472 1624 1880 768 769 772 823 -hsync +vsync
ModeLine "1368x768_100" 151.73 1368 1464 1616 1864 768 769 772 814 -hsync +vsync
ModeLine "1368x768_85" 125.67 1368 1456 1600 1832 768 769 772 807 -hsync +vsync
ModeLine "1368x768_75" 110.19 1368 1456 1600 1832 768 769 772 802 -hsync +vsync
ModeLine "1368x768_60" 85.86 1368 1440 1584 1800 768 769 772 795 -hsync +vsync
ModeLine "1368x768_50" 69.92 1368 1424 1568 1768 768 769 772 791 -hsync +vsync
ModeLine "1360x765_120" 182.63 1360 1456 1608 1856 765 766 769 820 -hsync +vsync
ModeLine "1360x765_100" 149.22 1360 1456 1600 1840 765 766 769 811 -hsync +vsync
ModeLine "1360x765_85" 124.65 1360 1448 1592 1824 765 766 769 804 -hsync +vsync
ModeLine "1360x765_75" 108.34 1360 1440 1584 1808 765 766 769 799 -hsync +vsync
ModeLine "1360x765_60" 84.40 1360 1424 1568 1776 765 766 769 792 -hsync +vsync
ModeLine "1360x765_50" 69.34 1360 1416 1560 1760 765 766 769 788 -hsync +vsync
ModeLine "1280x720_120" 161.56 1280 1376 1512 1744 720 721 724 772 -hsync +vsync
ModeLine "1280x720_100" 131.85 1280 1368 1504 1728 720 721 724 763 -hsync +vsync
ModeLine "1280x720_85" 110.01 1280 1360 1496 1712 720 721 724 756 -hsync +vsync
ModeLine "1280x720_75" 95.65 1280 1352 1488 1696 720 721 724 752 -hsync +vsync
ModeLine "1280x720_60" 74.48 1280 1336 1472 1664 720 721 724 746 -hsync +vsync
ModeLine "1280x720_50" 60.47 1280 1328 1456 1632 720 721 724 741 -hsync +vsync
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Acer X233H"
HorizSync 30.0 - 94.0
VertRefresh 49.0 - 75.0
EndSection
Section "Device"
Identifier "device1"
Driver "nvidia"
VendorName "nVidia Corporation"
BoardName "NVIDIA GeForce 6100 and later"
Option "DPMS"
Option "TwinViewOrientation" "Clone"
Option "TwinView"
Option "AddARGBGLXVisuals"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9500 GT"
EndSection
Section "Screen"
Identifier "screen1"
Device "device1"
Monitor "monitor1"
DefaultDepth 24
SubSection "Display"
Depth 8
Modes "1920x1080" "1600x900" "1366x768" "1360x765" "1280x720"
EndSubSection
SubSection "Display"
Depth 15
Modes "1920x1080" "1600x900" "1366x768" "1360x765" "1280x720"
EndSubSection
SubSection "Display"
Depth 16
Modes "1920x1080" "1600x900" "1366x768" "1360x765" "1280x720"
EndSubSection
SubSection "Display"
Depth 24
Modes "1920x1080" "1600x900" "1366x768" "1360x765" "1280x720"
EndSubSection
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "1"
Option "TwinViewXineramaInfoOrder" "DFP-1"
Option "metamodes" "DFP-0: 1920x1080 +1600+0, DFP-1: nvidia-auto-select +0+0; DFP-0: NULL, DFP-1: 1600x900 +0+0; DFP-0: NULL, DFP-1: 1280x720 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Before X initializes, only one monitor is active (the one plugged in to DVI-0, I think). I plugged the Acer monitor into DVI-0 so if for some reason I’m not booting X I get the larger monitor; but in nvidia-settings I picked the eMachines monitor as my primary monitor so that the KDE taskbar is over on that monitor, leaving the Acer monitor fully free for an rdesktop session.