Unredirect fullscreen windows should be the default for optimal performance
| Affects | Status | Importance | Assigned to | Milestone | |
|---|---|---|---|---|---|
| Compiz |
Fix Released
|
High
|
Daniel van Vugt | ||
| 0.9.8 |
Fix Released
|
High
|
Daniel van Vugt | ||
| Compiz Core |
Fix Released
|
High
|
Daniel van Vugt | ||
| compiz (Ubuntu) |
Fix Released
|
High
|
Daniel van Vugt | ||
| Precise |
Fix Released
|
Undecided
|
Timo Jyrinki | ||
| Quantal |
Fix Released
|
Undecided
|
Timo Jyrinki | ||
Bug Description
[Impact]
Lower than optimal fullscreen applications performance, especially games.
[Test Case]
Benchmark a game with for example phoronix-test-suite / pts/openarena-1.5.0 - the default settings after this bug fix should give equal performance to what previously required manually enabling the compiz unredirect fullscreen windows option.
[Regression Potential]
The feature has been tested for the last few months, and all known regressions have been fixed. The potential regressions lie in for example exiting a fullscreen application.
---
Fullscreen windows should be unredirected by default, since only then users will get optimal performance also when running full screen applications like games. Currently users need to learn about the compiz setting (CompizConfig Settings Manager (package compizconfig-
The tagged related compiz bugs:
https:/
https:/
The tagged driver bugs in Ubuntu preventing this bug to be fixed without side effects: https:/
Related branches
- Daniel van Vugt (community): Disapprove
- Ubuntu branches: Pending requested
-
Diff: 25 lines (+10/-0) 2 files modifiedapidebian/changelog (+7/-0)
debian/compiz-gnome.gsettings-override (+3/-0)
- Sam Spilsbury: Approve
- PS Jenkins bot (community): Approve (continuous-integration)
-
Diff: 12 lines (+1/-1) 1 file modifiedapiplugins/composite/composite.xml.in (+1/-1)
- Sam Spilsbury: Approve
-
Diff: 12 lines (+1/-1) 1 file modifiedapiplugins/composite/composite.xml.in (+1/-1)
- Sam Spilsbury: Approve
-
Diff: 12 lines (+1/-1) 1 file modifiedapiplugins/composite/composite.xml.in (+1/-1)
Status changed to 'Confirmed' because the bug affects multiple users.
I've just re-tested a fully updated quantal machine with intel and nouveau. Intel is still stable and the issues with nouveau are gone. That leaves only problems with fglrx (bug 1055380), which I /assume/ is probably still present in quantal.
Looking good for raring and quantal. More work is required before this can be done in precise though...
https:/
I'm almost disappointed. I didn't enable it for the quantal release because testing quantal a few weeks for release showed it had the same driver bugs as precise. Now it doesn't.
Fix committed into lp:compiz at revision 3463, scheduled for release in Compiz 0.9.9.0
As this change poses significant risk to the stability of precise, and I'm not convinced we have even found all the driver bugs it will trigger in precise, I don't think it should be on by default in any precise update.
After the requisite fixes to make unredirect work at all are backported, precise users probably should be asked to toggle the option manually if they want to try it. By CCSM or gsettings command.
Correction: Precise needs these fixes before anything else:
https:/
My notebook has Intel 945GM video powered by the i915 driver under Quantal. I'd be okay with enabling "Unredirect fullscreen windows" by default if there were some other way to force Totem to sync to the display's vblank interval for fullscreen video. I tested enabling "Unredirect fullscreen windows" in CompizConfig Settings Manager's Composite plugin, and this caused frequent horizontal tearing with Totem fullscreen video, although non-fullscreen video is fine (and VLC and Mplayer work fine both fullscreen and non-fullscreen). Also in the Composite plugin, "Detect Refresh Rate" is enabled and "Refresh Rate" is set to "60", so the presence of tearing suggests that those two settings don't affect Totem in fullscreen mode. Should I file a new bug?
Same here with intel ivybridge. If unredirect fullscreen windows is enabled you *will* get video tearing unless the application is smart enough to pageflip on its own, due to a limitation with the intel hardware/drivers.
With modern intel hardware (sandybridge+;With 945gm both legacy vsync or page-flipping should work to eliminate tearing), its not possible to get tear-free output unless you are using a page-flipping compositor (like compiz). If you bypass compiz you rely on the application to properly pageflip. I tested this compiz build on ivybridge and got tearing:
In totem fullscreen
In firefox with flash 11.2 fullscreen
In VLC with openGL output enabled
I didn't get tearing:
In google chrome with pepper flash 11.5, with pepper flash opengl rendering enabled in about:flags. Enabling this by default for intel users will create tearing issues for a lot of people.
I experince the same issues as bwat47 does.
Nvidia GTX 660 Ti on proprietary drivers 310.14.
The issue with tearing is bug 1051802. Please discuss it there. If you want, please link more projects like totem to bug 1051802.
Daniel: Sorry, but what would be the point of linking Totem to a bug that's marked Won't Fix?
I'm now convinced that "Unredirect fullscreen windows" should not be enabled by default because, as reported above, it causes a major regression in the functionality of Totem, Flash, and VLC/OpenGL on Intel and apparently the Nvidia proprietary driver. Totem, as Ubuntu's default player, should work out of the box for as many users as possible. Sacrificing a basic user experience simply to enhance out-of-the-box gaming performance is a very poor decision.
John,
"Won't Fix" only applies to Compiz. Not Totem. Bugs are multi-dimensional in Launchpad :)
Yes, we are discussing options to automatically disable unredirection for video players like totem.
This bug was fixed in the package compiz - 1:0.9.9~
---------------
compiz (1:0.9.
[ Michael Terry ]
* debian/control:
- Update Vcs-Bzr
* debian/
- 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-
with latest KDE 4.10 beta (LP: #1082152)
* kde4-window-
(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...
For precise (compiz 0.9.7), this is blocked pending the resolution of bug 1089246 and it being backported to 0.9.7.
Hello Timo, or anyone else affected,
Accepted compiz into quantal-proposed. The package will build now and be available at http://
Please help us by testing this new package. See https:/
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-
Further information regarding the verification process can be found at https:/
I've tested the update in 12.10 with NVIDIA drivers. Using "phoronix-
I'm not marking as verification-done yet, since this is hardware-oriented fix and such SRUs need "at least two positive, no negative testimonials."
Still working fine on Intel SandyBridge as well, similar to results at http://
removed: verification-needed
Hello Timo, or anyone else affected,
Accepted compiz into precise-proposed. The package will build now and be available at http://
Please help us by testing this new package. See https:/
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-
Further information regarding the verification process can be found at https:/
Seems to work on precise fine so far - 20% boost on radeon open source graphics, and a bump on fglrx as well. Intel and nouveau are currently blacklisted for redirection on precise (allowed on quantal's graphics stack) so on that it's not having an effect.
removed: verification-needed
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.
This bug was fixed in the package compiz - 1:0.9.8.6-0ubuntu1
---------------
compiz (1:0.9.
* 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-
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> 2012年12月04日 12:41:40 +0200
This bug was fixed in the package compiz - 1:0.9.7.12-0ubuntu1
---------------
compiz (1:0.9.
[ Łukasz 'sil2100' Zemczak ]
* debian/
debian/
- Removed, upstreamed
* debian/watch:
- Changed to the correct LP tarball path
* debian/
- 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+
- "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/
- Updated to apply.
* debian/
- Enable unredirect_
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/
- Update for the new blacklisting feature as well
* debian/
- Cherry-pick fix for the default string (LP: #1091103)
[ Michael Terry ]
* debian/
- 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> 2012年12月14日 10:41:24 +0200