Can the nouveau Xorg driver be used for a multihead workstation

multi-monitornvidiaxorg

I'm trying a manual setup of Xorg 1.9.5, for two identical monitors connected to the VGA and DVI ports of an nVidia GeForce 6600. I get the X Server to run using a single screen, and it appears identical on both monitors. Started with Xorg -configure, and have tried to use two screens with the same device, but only one is recognized. It automatically recognized the "modesetting" driver, through the nouveau module in the kernel.

I had this working OK with Xorg 1.7.7 and similar hardware, using the nv driver and the "DualHead" and "DynamicTwinView" Device options. I don't find these options documented for nouveau and wonder if it is still possible to use it, as it loads by default into the kernel on my newer system (Slackware 13.37.0).

If the kernel driver needs to be removed, I have the nv and nouveau X drivers available. Any recomendations on which to use for DualHead would be appreciated.

Best Answer

Yes, the nouveau driver works, but it has to be explicitly selected in the Device section. When I saw the conflict between the nouveau kernel module and the nv driver (older nVidia driver, probably going away), I left the default driver "modesetting" as configured by Xorg -configure - never thinking the nouveau X driver would/could be used - until I read the following:

ATM , the nvidia driver and the nv driver both don't like KMS on...

But nouveau was built for KMS* to be on...

From http://forums.debian.net/viewtopic.php?f=10&t=52787
*KMS = "Kernel Mode Switching"

Yes, of course it makes sense (now ;-) that the kernel 'nouveau' module does something different than the X server 'nouveau' driver, and both are required!

For my dual-head setup, I set Screen 0 / Screen 1 in otherwise identical (other than Identifier) Device sections. This is needed to specify different monitor connections on the single video card I am using.

I also have Option "Xinerama" "True" in the ServerFlags section - I think that is needed for my window manager to avoid placing windows straddling the monitors.

So, a minimum working configuration I require is this:

Section "ServerLayout"
    Identifier      "X.org Configured"
    Screen          "Screen0"  0 0
    Screen          "Screen1"  RightOf "Screen0"
EndSection

Section "ServerFlags"
    Option  "Xinerama" "True"
EndSection


Section "Screen"
    Identifier      "Screen0"
    Device          "nVidiaNV43_0"
EndSection

Section "Screen"
    Identifier      "Screen1"
    Device          "nVidiaNV43_1"
EndSection

Section "Device"
    Identifier  "nVidiaNV43_0"
    Driver      "nouveau"
    BusID       "PCI:4:0:0"
    Screen      0
EndSection

Section "Device"
    Identifier  "nVidiaNV43_1"
    Driver      "nouveau"
    BusID       "PCI:4:0:0"
    Screen      1
EndSection
Related Question