← Back to team overview

compiz team mailing list archive

[Bug 880707] Re: Video tearing still occurs in compiz (less so) when "Sync To VBlank" is enabled.

 

A small breakthrough today: I discovered the issue is not compiz, it's
just the unity plugin. The tearing stops when you disable the unity
plugin. The same is true for performance bug 861061.

Both issues seem to be caused by an unreasonable amount of overhead that
the unity plugin introduces into compiz. And both issues are new in
Ubuntu 11.10, so it's a regression.

** Description changed:

  You might expect that with "Sync To VBlank" enabled in compiz that video
  tearing doesn't happen. But it does, just less often.
  
- This is normal, expected behaviour. The cause is that compiz (up to
- 0.9.6 at least) uses GLX_SGI_video_sync, which provides a rough way of
- synchronizing with the video frame rate of the monitor. But it's not
- reliable in most cases because if you take a little too long to render
- the frame, then you can miss the frame deadline and tearing can still be
- seen.
+ This appears to be a regression in Ubuntu 11.10, because in 11.04 "Sync
+ to VBlank" was working reliably and eliminated tearing.
  
- The solution to this bug is to modify compiz to use glXSwapBuffers for
- every frame. And possibly, optionally, use GLX_SGI_swap_control for
- synchronization, though it might not be necessary when using pure buffer
- swapping.
- 
- Speaking with smspillaz, he says a move to 100% glXSwapBuffers is
- planned for a future version of compiz, not least because it is required
- in order to port compiz to OpenGLES.
- 
- More info: http://www.opengl.org/wiki/Swap_Interval
+ Strangely, disabling just the Unity plugin in CCSM solves the problem
+ and all tearing goes away. This seems to be related to bug 861061 where
+ the Unity plugin also degrades application frame rates. Both issues are
+ instantly solved by disabling just the Unity plugin.
  
  WORKAROUND:
  
  In CCSM, Workarounds, enable "Force full screen redraw (buffer swap) on
  repaint".
  
  ProblemType: Bug
  DistroRelease: Ubuntu 11.10
  Package: compiz 1:0.9.6+bzr20110929-0ubuntu5
  ProcVersionSignature: Ubuntu 3.0.0-12.20-generic 3.0.4
  Uname: Linux 3.0.0-12-generic x86_64
  .tmp.unity.support.test.0:
  
  ApportVersion: 1.23-0ubuntu3
  Architecture: amd64
  CompizPlugins: [core,bailer,detection,composite,opengl,compiztoolbox,decor,mousepoll,place,gnomecompat,resize,imgpng,move,wall,regex,grid,vpswitch,animation,session,resizeinfo,unitymtgrabhandles,expo,workarounds,fade,scale,ezoom,unityshell]
  CompositorRunning: compiz
  Date: Mon Oct 24 16:01:07 2011
  DistUpgraded: Fresh install
  DistroCodename: oneiric
  DistroVariant: ubuntu
  GraphicsCard:
   Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller [8086:0102] (rev 09) (prog-if 00 [VGA controller])
     Subsystem: Dell Device [1028:047e]
  InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release amd64 (20111012)
  MachineType: Dell Inc. OptiPlex 990
  PackageArchitecture: all
  ProcEnviron:
   LANGUAGE=en_AU:en
   PATH=(custom, no user)
   LANG=en_AU.UTF-8
   SHELL=/bin/bash
  ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-12-generic root=UUID=c9a0c042-2d94-4c4b-bb7f-756faf723ada ro quiet splash intel_iommu=on vt.handoff=7
  SourcePackage: compiz
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 05/28/2011
  dmi.bios.vendor: Dell Inc.
  dmi.bios.version: A05
  dmi.board.name: 0D6H9T
  dmi.board.vendor: Dell Inc.
  dmi.board.version: A00
  dmi.chassis.type: 15
  dmi.chassis.vendor: Dell Inc.
  dmi.modalias: dmi:bvnDellInc.:bvrA05:bd05/28/2011:svnDellInc.:pnOptiPlex990:pvr01:rvnDellInc.:rn0D6H9T:rvrA00:cvnDellInc.:ct15:cvr:
  dmi.product.name: OptiPlex 990
  dmi.product.version: 01
  dmi.sys.vendor: Dell Inc.
  version.compiz: compiz 1:0.9.6+bzr20110929-0ubuntu5
  version.ia32-libs: ia32-libs N/A
  version.libdrm2: libdrm2 2.4.26-1ubuntu1
  version.libgl1-mesa-dri: libgl1-mesa-dri 7.11-0ubuntu3
  version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
  version.libgl1-mesa-glx: libgl1-mesa-glx 7.11-0ubuntu3
  version.xserver-xorg: xserver-xorg 1:7.6+7ubuntu7
  version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.6.0-1ubuntu13
  version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.99~git20110811.g93fc084-0ubuntu1
  version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.15.901-1ubuntu2
  version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20110411+8378443-1

** Package changed: compiz (Ubuntu) => unity (Ubuntu)

** Summary changed:

- Video tearing still occurs in compiz (less so) when "Sync To VBlank" is enabled.
+ Visible tearing occurs even when "Sync To VBlank" is enabled, but only when Unity is active.

** Tags added: regression-release

-- 
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/880707

Title:
  Visible tearing occurs even when "Sync To VBlank" is enabled, but only
  when Unity is active.

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


References