Comment 63 for bug 570151

Revision history for this message
Andrew Kohlsmith (akohlsmith) wrote :

A similar issue is happening with 12.10 x86-64 and the nVidia 304.43 driver (installed from Ubuntu packages):

My setup:
two GeForce 8400GS PCIex16 cards. The first card (PCI ID 3:0:0) has two Samsung SyncMaster 2343s connected. They are set up as a vertical TwinView. The second card (PCI ID 4:0:0) has a single Dell monitor attached. Xinerama is NOT enabled.

The monitors are arranged in a "backward" L. The two Samsungs are on the right as Screen 0, stacked vertically, and the Dell is on the left as Screen 1.

I can move the mouse between the two Samsungs without issue, and I can move from the Samsungs to the Dell. However once I am on the Dell, I cannot move back to the Samsungs. As I move the mouse to the right to get back to the Samsungs the mouse will "wrap" to the left side of the Dell instead of to the left side of the Samsungs. It will do this every time I approach the right side of the Dell.

If I swap the order of the monitors in xorg.conf so that the Dell is on the right side of the Samsungs instead of the left, then the issue occurs on the Samsung monitors; when I approach the right side of the Samsung monitors, the mouse wraps to the left side of the Samsung monitors instead of going to the left side of the Dell monitor.

This occurs with any dm (tried, lightdm, gdm, kdm and lxdm), and occurs at the login screen as well. It's entirely reproducible.

nvidia-current 304.51.really.304.43-0ubuntu1
xorg 1:7.7+1ubuntu4
xserver-xorg 1:7.7+1ubuntu4
xserver-xorg-core 2:1.13.0-0ubuntu6

Section "ServerLayout"
    Identifier "Layout0"

# the Samsung monitors on the right, the Dell on the left:
    Screen 0 "Screen0" 1280 0
    Screen 1 "Screen1" 0 0

# to move the Dell to the right of the Samsung monitors, use the following:
# Screen 0 "Screen0" 0
# Screen 1 "Screen1" 2048 0

    InputDevice "Keyboard0" "CoreKeyboard"
    InputDevice "Mouse0" "CorePointer"
    Option "Xinerama" "0"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device "Device0"
    Monitor "Monitor0"
    DefaultDepth 24
    Option "TwinView" "true"
    Option "TwinViewOrientation" "Below"
    Option "TwinViewXineramaInfoOrder" "CRT-0, CRT-1"
    Option "nvidiaXineramaInfoOrder" "CRT-1"
    Option "metamodes" "CRT-0: nvidia-auto-select, CRT-1: nvidia-auto-select"
    SubSection "Display"
        Depth 24
    EndSubSection
EndSection

Section "Screen"
    Identifier "Screen1"
    Device "Device1"
    Monitor "Monitor1"
    DefaultDepth 24
    Option "TwinView" "false"
    SubSection "Display"
        Depth 24
    EndSubSection
EndSection