Dual screen in Ubuntu

Today I got dual screen in Ubuntu working… I have been fiddling around with it a few times before but nothing seriously. Never got it working the way I wanted. Earlier I edited the xorg.conf by hand while following guides from the internet and yesterday I stumbled upon a graphical Nvidia X configuration tool by accident… the solution was a bit of both.

The tool is called nvidia-settings and looks something like the image below.

As far as I know there are 2 ways of doing dual screen in Linux. Either you can use Xinerama or the Nvidia built-in feature called TwinView (I might be wrong here :D). Anyways I chose TviewView because that was the default in the Nvidia config tool. After making X aware of my second monitor with the Nvidia tool I saved the X configuration and restarted the X server with the new (Nvidia generated) configuration. The Nvidia generated configuration had 2 problems:

By hand I added the danish keyboard configuration which I copy-pasted from the old xorg.conf:

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
    Option         "CoreKeyboard"
    Option         "XkbRules"      "xorg"
    Option         "XkbModel"      "pc104"
    Option         "XkbLayout"     "dk"

To force the DVI to be the primary monitor I used the following:

Section "Device"
    Identifier     "NVIDIA Corporation NV43 [GeForce 6600]"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 6600"
    BusID          "PCI:1:0:0"
    Option         "NoLogo" "1"
    Option         "TwinView" "1"
    Option         "TwinViewXineramaInfoOrder" "DFP, CRT"
    Option         "TwinViewOrientation" "LeftOf"
    Option         "MetaModes" "DFP: 1600x1200, CRT: 1280x1024"

Section "Screen"
    Identifier     "Screen0"
    Device         "NVIDIA Corporation NV43 [GeForce 6600]"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
        Modes      "1600x1200" "1280x1024" "1024x768" "800x600" "640x480"

First I don’t want to see the Nvidia Logo when X is started… it is a nice logo though :) TwinViewXineramaInfoOrder is the important part because this makes sure that the DVI is the default monitor. You can read more about all the possible options for the Nvidia driver on Nvidias homepage.

My only “problem” is that the background image is streched out on both monitors, but I guess I have to make a custom background image for my dual screen setup. Now I can play World of Warcraft in a dual screen setup in Linux as well which was one of the only things that kept me booting into Windows. To bad performance drops a bit in Linux :( But I have a strong feeling that we are to blame Nvidia for that rather than Wine… but its just a gut feeling. :D