"Unredirect Fullscreen Windows" can cause significant tearing on fullscreen windows (especially playing video)

Bug #1051802 reported by Daniel van Vugt on 2012-09-17
44
This bug affects 8 people
Affects Status Importance Assigned to Milestone
Compiz
Medium
Daniel van Vugt
0.9.8
Medium
Daniel van Vugt
Compiz Core
Medium
Daniel van Vugt
compiz (Ubuntu)
Medium
Daniel van Vugt
Precise
Undecided
Unassigned
Quantal
Undecided
Timo Jyrinki

Bug Description

[Impact]

Tearing on some drivers in some video applications.

[Test Case]

Use intel graphics and run http://www.youtube.com/watch?v=ZCPkOpMHB7g in full screen mode. No tearing should be spotted.

[Regression Potential]

None, restores current behavior for the specific applications as a driver/application workaround.

---

Using "Unredirect Fullscreen Windows" can cause significant tearing in the fullscreen window being unredirected.

This is an unavoidable consequence of "Unredirect Fullscreen Windows". Removing compiz from the equation and allowing windows to render directly to the screen means compiz has no control over the window and cannot prevent tearing any more.

Workaround (1):
CCSM > Composite > Unredirect Fullscreen Windows = OFF
-or-
Workaround (2):
Check the settings of the application running fullscreen. It should have an option called something like "sync to vblank" which you can enable. If not, use a different app.

Changed in compiz:
status: Triaged → Won't Fix
description: updated
Daniel van Vugt (vanvugt) wrote :

Note: This bug is set to Won't Fix because it is impossible to fix in Compiz. If you find this unacceptable then please use Workaround (1) above.

summary: - "Unredirect Fullscreen Windows" can cause significant tearing
+ "Unredirect Fullscreen Windows" can cause significant tearing on
+ fullscreen windows
description: updated

In progress, surprisingly. The plan is to disallow unredirection for video players at least. So you can have tear-free video playback but still full speed direct rendering in games. It should be configurable.

Changed in compiz:
status: Won't Fix → In Progress
assignee: nobody → Daniel van Vugt (vanvugt)
Changed in compiz (Ubuntu):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Daniel van Vugt (vanvugt)
Changed in compiz:
milestone: none → 0.9.9.0
summary: "Unredirect Fullscreen Windows" can cause significant tearing on
- fullscreen windows
+ fullscreen windows (especially playing video)
Changed in compiz:
status: In Progress → Fix Committed
Changed in compiz (Ubuntu):
status: In Progress → Fix Committed
Daniel van Vugt (vanvugt) wrote :

Fix committed into lp:compiz at revision 3498, scheduled for release in Compiz 0.9.9.0
Fix committed into lp:compiz/0.9.8 at revision 3425, scheduled for release in Compiz 0.9.8.8

Launchpad Janitor (janitor) wrote :
Download full text (5.6 KiB)

This bug was fixed in the package compiz - 1:0.9.9~daily12.12.05-0ubuntu1

---------------
compiz (1:0.9.9~daily12.12.05-0ubuntu1) raring; urgency=low

  [ Michael Terry ]
  * debian/control:
    - Update Vcs-Bzr
  * debian/patches/100_expo_layout.patch:
    - Fix to apply
  * Automatic snapshot from revision 3451 (bootstrap)
    - Fix crash from writing to static memory (LP: #1065814)
    - Fix maximized windows changing workspaces (LP: #1071791)
    - Respect Zoom Factor setting (LP: #1066187)
    - Respect Show Window Title setting (LP: #1009999)
    - Restore text background transparency (LP: #1042132)
    - Restore screenshot selection rectangle transparency (LP: #1047788)
    - Restore top and bottom cube transparency (LP: #1048272)
    - Fix scaleaddon window highlighting being solid (LP #1068503)
    - Make resize hint overlay disappear when changing edges (LP: #839602)
    - Preserve grid IDs during drag (LP: #1067812, LP: #1048855)
    - Save current display before doing snap preview (LP: #1068173)
    - Ignore inactive keybindings (LP: #1053280)
    - Handle <primary> in keyboard shortcuts (LP: #936840)
    - Make sure showdesktop plugin is loaded after unityshell (LP: #1067534)
    - Fix grid build failure (LP: #1067577)
    - Fix Jenkins test failures (LP: #1058577)
    - Don't allow duplicate static symbols when linking (LP: #1067964)
    - Make external templates C++0x compatible (LP: #1067598)
    - Make sure to initialize class members (LP: #1033877)
    - Don't duplicate templates in plugins (LP: #1066793, LP: #1066803,
      LP: #1066804, LP: #1066805, LP: #1066799, LP: #1066796,
      LP: #1066795, LP: #1066798, LP: #1067218, LP: #1067219)
    - Don't needlessly set gsettings keys (LP: #1064791)
    - Remove unused code (LP: #1037142, LP: #1067234)
    - Fix syntax highlighting for trunk xml files (LP: #1066823)
    - Fix documentation for building with python2 (LP: #1070211)

  [ Stephen M. Webb ]
  * Windows open below panel and launcher, grid does not work at all,
    window animations missing, and general plugin chaos if built on
    raring (cmake >= 2.8.10) (LP: #1085581)

  [ Iven Hsu ]
  * KDE Appmenu doesn't work with compiz decorators (LP: #1082265)
  * compiz 0.9.8.6 fails to build from source in KDE4-window-decorator
    with latest KDE 4.10 beta (LP: #1082152)
  * kde4-window-decorator crashes when starting up with oxygen theme
    (LP: #1050776)

  [ sampo555 ]
  * Grid: Window management - resize preview does not show when moving a
    window from the semi-maximised state to the maximised state in a
    single action (LP: #1071689)

  [ Timo Jyrinki ]
  * HTML5 video in Firefox continues to tear (LP: #1086337)

  [ MC Return ]
  * Workspacenames Plug-in: Wishlist: Default Appearance values not
    ideal (LP: #1075600)
  * Resizeinfo Plug-in: No possibility to change the color and
    transparency of the rounded background outline (LP: #1070297)
  * Resizeinfo Plug-in: Gradient color 2 and 3 settings are ignored and
    no background gradient is rendered (LP: #1070233)
  * Expo animations "Fade + Zoom" & "Vortex" result in a black screen
    (LP: #875311)
  * Workspacenames Plug-in: Wishlist: No default values...

Read more...

Changed in compiz (Ubuntu):
status: Fix Committed → Fix Released
description: updated
Changed in compiz-core:
status: New → Triaged
milestone: none → 0.9.7.12
Changed in compiz-core:
assignee: nobody → Daniel van Vugt (vanvugt)
Daniel van Vugt (vanvugt) wrote :

Fix committed to lp:compiz-core/0.9.7 at revision 3128, scheduled for release in Compiz Core 0.9.7.12

Changed in compiz-core:
importance: Undecided → Medium
status: Triaged → Fix Committed
Changed in compiz (Ubuntu Quantal):
status: New → In Progress
assignee: nobody → Timo Jyrinki (timo-jyrinki)
Changed in compiz-core:
status: Fix Committed → Fix Released

Hello Daniel, or anyone else affected,

Accepted compiz into quantal-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/compiz/1:0.9.8.6-0ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in compiz (Ubuntu Quantal):
status: In Progress → Fix Committed
tags: added: verification-needed
Timo Jyrinki (timo-jyrinki) wrote :

Updated from quantal-proposed on Intel sandybridge graphics, went to the youtube clip via guest account -> no tearing.

description: updated
tags: added: verification-done
removed: verification-needed
Adam Conrad (adconrad) wrote :

Hello Daniel, or anyone else affected,

Accepted compiz into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/compiz/1:0.9.7.12-0ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in compiz (Ubuntu Precise):
status: New → Fix Committed
tags: removed: verification-done
tags: added: verification-needed
Timo Jyrinki (timo-jyrinki) wrote :

Also fixed on precise.

tags: added: verification-done
removed: verification-needed
description: updated

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package compiz - 1:0.9.8.6-0ubuntu1

---------------
compiz (1:0.9.8.6-0ubuntu1) quantal-proposed; urgency=low

  * New upstream release.
    - Enable Unredirect Fullscreen Windows by default. It seems to be
      stable enough with all the major graphics drivers now, as at Ubuntu
      12.10 (with updates). (LP: #1063690)
    - Grid: Reset the currently handled window in the GridWindow
      destructor only if the destroyed window was the handled one.
      (LP: #1048855) (LP: #1067812)
    - Grid: Set GridWindow->lastTarget to GridMaximize only if the
      window was fully maximized. (LP: #1071689)
  * Cherry-pick related fixes from upstream:
    - Fixed: unredirected fullscreen windows sliding offscreen were
      staying unredirected (always visible), because compiz thought
      they were fullscreen on a different monitor. Add extra smarts
      to tell the difference between fullscreen and offscreen.
      (LP: #1084401)
    - Add an option to specify which windows are allowed to be unredirected
      when they are fullscreen. Default: Allow unredirection on all window
      types except common video players: Totem, MPlayer, Vlc or Plugin-
      container (Flash or other nested browser windows). (LP: #1051802)
    - Add Firefox to the unredirect exceptions. (LP: #1086337)
 -- Timo Jyrinki <email address hidden> Tue, 04 Dec 2012 12:41:40 +0200

Changed in compiz (Ubuntu Quantal):
status: Fix Committed → Fix Released
Dusan Obradovic (duobradovic) wrote :

Tearing on Google Chrome when using default PPAPI flash player: /opt/google/chrome/PepperFlash/libpepflashplayer.so
There is no tearing when using NPAPI flash player: /usr/lib/flashplugin-installer/libflashplayer.so

NVIDIA proprietary driver.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package compiz - 1:0.9.7.12-0ubuntu1

---------------
compiz (1:0.9.7.12-0ubuntu1) precise-proposed; urgency=low

  [ Łukasz 'sil2100' Zemczak ]
  * debian/patches/revert_fix_994841.patch,
    debian/patches/revert_fix_933776_955035.patch
    - Removed, upstreamed
  * debian/watch:
    - Changed to the correct LP tarball path
  * debian/patches/compiz-package-gles2.patch:
    - Updated GLES patches to properly apply to the new compiz version

  [ Timo Jyrinki ]
  * New upstream release.
    - Compiz won't start if "unredirect fullscreen windows" is enabled
      (LP: #980663)
    - "Unredirect Fullscreen Windows" stay on top (unredirected) even
      when they're not on top any more (or the output is transformed)
      (LP: #1041047)
    - Unredirect Fullscreen Windows sometimes fails to unredirect fullscreen
      windows at all (LP: #1041066)
    - "Unredirect Fullscreen Windows" stay on top (unredirected) even when
      an RGBA window is stacked above it (LP: #1046661)
    - scale mode is not visible if a fullscreen window is unredirected
      (LP: #1047168)
    - Unredirecting a fullscreen window on a secondary monitor causes that
      monitor to flicker (LP: #1050749)
    - "Unredirect Fullscreen Windows" makes multi-monitor rendering much
      slower (LP: #1051885)
    - [regression] Maximized window gets unredirected when it's not
      fullscreen (LP: #1053902)
    - Unredirected fullscreen windows freeze and stay on top when wall
      sliding (Ctrl+Alt+Left/Right) (LP: #1084401)
    - "Unredirect Fullscreen Windows" can cause significant tearing on
      fullscreen windows (especially playing video) on some drivers
      (LP: #1051802)
    - HTML5 video in Firefox continues to tear (LP: #1086337)
    - Add support for blacklisting some drivers from using unredirected
      fullscreen windows. By default intel and nouveau on Mesa 8.0
      are blacklisted, configurable via ccsm. Users can upgrade to
      Mesa 9.0 around 12.04.2 time. (LP: #1089246)
    - Unredirect fullscreen windows should be the default for optimal
      performance (LP: #1063690)
  * debian/patches/workaround_broken_drivers.patch:
    - Updated to apply.
  * debian/patches/force_unredirect_enabling.patch:
    - Enable unredirect_fullscreen_windows unconditionally. Because of
      gconf hurdles we can't easily migrate existing users into the
      new default otherwise. Unredirection can be easily disabled with
      the new unredirect_match option, by blanking it completely,
      including removing the '(any)' part.
  * debian/patches/compiz-package-gles2.patch:
    - Update for the new blacklisting feature as well
  * debian/patches/blacklist_no_xml_double_escaping.patch:
    - Cherry-pick fix for the default string (LP: #1091103)

  [ Michael Terry ]
  * debian/patches/blacklist_no_xml_double_escaping.patch:
    - Update to also blacklist Mesa 9.0, which precise users may have from
      the x-updates PPA. 9.0 seems to have similar problems as 8.0 on
      Intel hardware.
 -- Timo Jyrinki <email address hidden> Fri, 14 Dec 2012 10:41:24 +0200

Changed in compiz (Ubuntu Precise):
status: Fix Committed → Fix Released
Changed in compiz:
status: Fix Committed → Fix Released
Stephen M. Webb (bregma) wrote :

marking as closed (0.9.8 series is obsolete)

Alex (axfelix) wrote :

FYI, this was either broken again or remains unfixed on newest nvidia: https://bugs.launchpad.net/ubuntu/+source/compiz/+bug/1307144

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Related blueprints