← Back to team overview

compiz team mailing list archive

[Bug 201342] Re: Tearing on secondary monitors even when "Sync To VBlank" is turned on.

 

Added a workaround in the bug description. I think it's exactly what
Aaron P. of Nvidia was talking about...

WORKAROUND:

Enable "Force full screen redraws (buffer swap) on repaint" in the
Workarounds section of CCSM. If you don't have ccsm installed, you can
get it by installing package "compizconfig-settings-manager".


** Description changed:

  Binary package hint: compiz
  
  When using 2 separate X screens with Vsync on, Compiz should honor each
  screen's refreshrate independently. Instead it pushes a single refresh,
  causing tearing on one of the screens when both screens are not in
  perfect sync.
  
  Ubuntu Hardy
  compiz-core 1:0.7.2-0ubuntu1
  
  Dell XPS M1330 laptop (Intel Core2Duo T7500, 2GB ram, Nvidia 8400M GS,
  internal monitor and external Dell 2405FPW)
  
- Steps to reproduce:
+ WORKAROUND:
+ 
+ Enable "Force full screen redraws (buffer swap) on repaint" in the
+ Workarounds section of CCSM. If you don't have ccsm installed, you can
+ get it by installing package "compizconfig-settings-manager".
+ 
+ TEST CASE:
  
  1) Use a dual-monitor setup with 2 separate X screens
  2) Start Compiz with Vsync enabled
  3) Move a window around both screens
  
  You will find that screen 0 shows no sign of tearing, screen 1 will show
  a single large tearline running down the screen, timed at the clock
  difference between both screens.
  
  A bit more information taken from a post to Nvidia corp.:
  
  [question]
  i have a twinview setup with 2 lcd's: nvidia-settings says screen 1 has a 59.99hz refreshrate, screen 2 has 59.95hz.
  
  as a result, with vsync on (without is undoable), one of the screens
  always has one major tearline running down very slowly. the other one is
  smooth. depending on which screen i make primary, the other one starts
  to tear.
  
  so i guess that sort of makes sense, as the screens are slightly out of
  sync, but isnt there a way to make both screen vsync correctly? i tried
  running 2 separate x screens but that doesnt seem to be the solution
  (compiz is still only using 1 global refreshrate).
  
- 
  [answer]
  In TwinView, there's only one video memory surface for the screen, so it's only possible to sync to one or the other. To sync to both at the same time, you'd need to wait for the refreshes to line up again, which happens every 1/(59.99 Hz - 59.95 Hz) = 25 seconds = unacceptable. One thing you could try is to use identical mode timings for both screens, if your display devices can handle it.
  
  With two separate X screens, you can swap each one independently so you
  should be able to get tear-free swaps on both screens. If Compiz can't
  do it, that sounds like a bug in Compiz.
  
  -AaronP, Nvidia Corporation.

-- 
You received this bug notification because you are a member of compiz
packagers, which is subscribed to compiz in Ubuntu.
https://bugs.launchpad.net/bugs/201342

Title:
  Tearing on secondary monitors even when "Sync To VBlank" is turned on.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/201342/+subscriptions