Dual monitors, 1 portrait 1 landscape, vsync issues

Some basic info:

Ubuntu 12.10/Unity
Nvidia 570 GTX using 304.64 driver
Main Mointor: 1920x1200 landscape connected via DVI
Second Monitor: 1080x1200 portrait connected via VGA

This is a picture of my setup:

The problem I’m having is that there seems to be a single line where vysnc does not apply. This line moves from the bottom of my screen up to the top, then resets at the bottom. I took a video to demonstrate: https://www.youtube.com/watch?v=D4HMFdklb1Q

Notice the firefox window as I drag it left and right. There is a line where the screen tears near the bottom, and it slowly inches up. Eventually it would reach the top and cycle back to the bottom.

If anyone could shed light on this problem, I’d very much appreciate it. Here is my xorg.conf:

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
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 "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DELL U2412M"
    HorizSync       30.0 - 83.0
    VertRefresh     50.0 - 61.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 570"
    Option         "TripleBuffering" "true"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "DFP: nvidia-auto-select +0+362, CRT: nvidia-auto-select @1920x1920 +1920+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

–edit
I should note that this only happens on my main monitor. There are no vsync issues on the second (portrait) monitor. More over, this does not happen in any other monitor configuration; for example portrait/portrait portrait/landscape landscape/landscape. This only happens when I am using landscape/portrait and only on my main monitor.

Please provide information as much as you can get to reproduce the issue :

  •   Bug report file by running nvidia-bug-report.sh script as root. 
    
  • Desktop Environment you are using like KDE, GNOME, Unity etc…
  • Window Manager you are using Compiz, gnome-shell, Kwin, Unity etc…
  • Is the use is specific to GPU, System hardware, OS , Software Component etc…?
  • Using any display manager like gdm, kdm etc…

- Bug report file by running nvidia-bug-report.sh script as root.
http://paste2.org/p/2441702

- Desktop Environment you are using like KDE, GNOME, Unity etc…
GNOME 3.6

- Window Manager you are using Compiz, gnome-shell, Kwin, Unity etc…
Unity 3D

- Is the use is specific to GPU, System hardware, OS , Software Component etc…?
This only happens on Ubuntu. On Windows 7, everything works as intended

- Using any display manager like gdm, kdm etc…
LightDM

Small update. I figured out a workaround by loading CompizConfig Settings Manager and disabling “sync to vblank” in the OpenGL settings, then manually setting a frame rate of 68 fps in the Composite settings. For some reason, setting the fps to 60 gave artefacts, but a setting of 55 or 65 didn’t. 68 Seems to look the best for me, so I will stick with that. It’s not perfect, there are still some very brief moments of tearing, but it’s much more tolerable.

Furthermore, I booted into Gnome Classic with no effects, meaning no compositing, and had no issues. This problem seems to revolve around vsync and compositing desktops.

I have the exact same problem with my 8600GTS graphics card.
My primary monitor is a Dell E248WFP (19200x1200, 60Hz) connected to the DVI port, and an Asus VB171D (1280x1024,60Hz) connected to VGA. If I open a window on the primary monitor and start to drag it, a horizontal line appears at the bottom slowly moving up. If I disable the twinview or simply unplug the second monitor the line disappears.

My xorg.conf is the following:


Section “Monitor”
Identifier “Monitor0”
VendorName “Unknown”
ModelName “Ancor Communications Inc ASUS VB171”
HorizSync 30.0 - 83.0
VertRefresh 55.0 - 75.0
Option “DPMS”
EndSection

Section “Device”
Identifier “Device0”
Driver “nvidia”
VendorName “NVIDIA Corporation”
BoardName “GeForce 8600 GTS”
EndSection

Section “Screen”
Identifier “Screen0”
Device “Device0”
Monitor “Monitor0”
DefaultDepth 24
Option “Stereo” “0”
Option “nvidiaXineramaInfoOrder” “DFP-0”
Option “metamodes” “CRT: nvidia-auto-select +1920+0, DFP: nvidia-auto-select +0+0”
SubSection “Display”
Depth 24
EndSubSection
EndSection

The problem isn’t related to one specific distribution,kernel or driver version, it’s the same on Fedora,Ubuntu,openSUSE,CentOS,Debian with kernel versions starting from 2.6.34.13 up to the most recent ones.

There is a bug report on launchpad about this problem which is almost 3 years old, and is still not fixed. If you search on google after vsync/tearing issues on nvidia cards you will see there are many people complaining about this problem and apparently nobody at nvidia gives a damn about it. I must quote Linus Torvalds, F*CK YOU nvidia.

Thanks for reporting this issue. We filed bug 1212671 internally to track this issue.

Using fluxbox (so barebones), just moving xterm around causes major tearing in drivers 310.19. Downgrading back down to 304.64 (304.64-3 Debian version), fixes most of the tearing. It now only occurs at the edges. Much better.

GTX 650

I also have this problem, and it is horrible. I am running Ubuntu 64-bit 12.04 LTS and have a GTS 250 with the 310 driver.