[nvidia] [0.9.8 r3110 regression] With bug fix 862430 unfocussed windows are displayed white

Bug #1002602 reported by Doug McMahon
84
This bug affects 13 people
Affects Status Importance Assigned to Milestone
Compiz
Fix Released
High
Sam Spilsbury
Compiz Core
Triaged
High
Unassigned
compiz (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

All unfocused windows are white with no content, going to a spread sometimes shows the windows with content, sometimes they're white, sometimes some white, some with content, same with expo
Seen on both 32 & 64 bit installs
32 bit install is using nvidia-current 290.10, 64 bit is on nvidia-current 295.40
Dell 1330m with 8400m GS

Related branches

Changed in compiz:
milestone: none → 0.9.8.0
importance: Undecided → High
Revision history for this message
Doug McMahon (mc3man) wrote :

Daniel - this is Not a suggested patch, just for possible info. Attached is what
I'd been using for 0.9.7.8 which took care of the flashing in cube/rotate & expo but for whatever reason didn't cause the white windows I see from your ppa
I stopped using because it did introduce the 1 px issue as also seen in the ppa packages

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Thanks Doug. I am tempted to make this a duplicate of bug 729979.

Although this bug feels like a regression caused by ppa:vanvugt/compiz-preproposed, it's likely just making bug 729979 more common.

Revision history for this message
Doug McMahon (mc3man) wrote :

I guess it sometimes just comes down to hardware - I never saw 729979 here in natty or since & taking a quick browse thru the recent dupes none of those either.

Though some commit past r3110 has clearly brought it on here & probably for others though I wouldn't doubt some, possibly many, would be fine with these ppa packages

Revision history for this message
Doug McMahon (mc3man) wrote :

Just to note -
While it was yet again an interesting time returning to nouveau with 3d support - it kept giving me
OpenGL renderer string: Gallium 0.4 on llvmpipe instead of Gallium 0.4 on NV86, once that was squared away it seems as I think you've noted the white windows only occur on the nvidia driver
So while this hardware is ok with 0.9.7.8 & nvidia drivers, 0.9.8 may not be so kind...

Revision history for this message
henk (henk1234) wrote :

I also experience this problem with compiz 0.9.7.8-0ubuntu1vvpreproposed1 and nvidia-current-updates 295.49-0ubuntu0.1
I don't have this problem on my other PC with the same compiz version and an Intel GPU.

Revision history for this message
quequotion (quequotion) wrote :

I'll throw in what I tried to say in my own bug report (duplicate) here:

This isn't happening just to windows that lose focus.
This can happen to any window that /changes/ focus.

On occasion windows will acquire focus and become blank.

Of particular annoyance are dialog boxes that appear blank.
This stops all interaction with the parent window.

This does sound very similar to bug 729979.
Unfortunately the comments on it are remain inconsistent.

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

White windows like this is a bug in the nvidia driver.

Unfortunately, I don't see any other solution than perhaps adding something to the workarounds plugin to force a full texture rebind on damage. That's inefficient, but might be necessary for some users.

Changed in compiz:
assignee: nobody → Sam Spilsbury (smspillaz)
Revision history for this message
Doug McMahon (mc3man) wrote :

That would be unfortunate but so be it.
From some nvidia driver users I guess it's too bad that this flashing fix didn't go thru on the 4/11 diff which fixed flashing with I gather some minor stuff about wobbly windows, ect.
That diff didn't cause any white windows. (though did show the 1 px deal

The 4/19 one merged obviously has added to nvidia woes, though nouveau is an option

Revision history for this message
Daniel Balog (danielbalog86) wrote :

Forcing a rebind sounds like a good idea actually.

Revision history for this message
Daniel Balog (danielbalog86) wrote :

Oh, I would like to point out that, even though all unfocussed windows seem to be white, for some reason firefox doesn't seem to be affected by this.

My Firefox does seem to work pretty well.

I do have some customization to it though:
* I removed its window borders (to save space)
* I used the "Hide Caption Titlebar Plus 2.6.0" addon to accomplish the removal of the window border.

Perhaps this bug only affects windows with actual window decorations?

Revision history for this message
Daniel Balog (danielbalog86) wrote :

UPDATE:

I confirm this problem only affects me when the window decoration plugin is on!!!

As a workaround: Turn off the window decoration plugin.

You can move around windows using hotkeys anyway.

Revision history for this message
Leo (leopoldo-pena) wrote :

I got this bug in 2 different machines with different Nvidia cards, both running 12.04. Really annoying, probably the one bug that has 'bugged' me more since I use ubuntu (dapper drake). Removing window decorator is not an option for my production machine.

As I am typing this my compiz just crashed for no reason...just by clicking unclicking the windows decorator option in CCSM.
Is it me or compiz is becoming a big unstable chimera hard to maintain for something like ubuntu?

let me know if i can provide logs or anything to help fix this.

thank you and keep up the good work!!

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

> UPDATE:

> I confirm this problem only affects me when the window decoration plugin is on!!!

Curious.

I suspect that the nvidia driver is invalidating textures whenever the parent window geometry changes, even if the client window didn't. Thanks for narrowing this down, I'll have a look into it.

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

Hi,

I can't test if this works properly, since the nvidia driver doesn't work on my system. My suspicion is that nvidia automatically invalidates any bound pixmaps to textures whenever their frame window changes (unlike the other drivers, which are more lazy). I did notice that we aren't sending a resizeNotify to plugins ( -> rebind) whenever the frame window geometry changes but the client doesn't necessarily change, so perhaps this is the cause? We weren't really doing it anyways, but the timing before was different.

Patch attached.

Revision history for this message
Doug McMahon (mc3man) wrote :

Daniel's source + the above patch - see no change on the hardware mentioned in description - only maxed windows always retain content in the window
Un maxed windows go one way or the other, most times unfocused are white

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

Okay...

This patch introduced two options - one to force rebinding on damage updates (slow) and one to force rebinding on all configure events (fast).

I'm not sure what the nvidia driver is doing that is causing the pixmaps to go away, but can you let me know if the bug does go away when you have either one of these or both enabled ?

Revision history for this message
Michal Hruby (mhr3) wrote :

I'm running lp:compiz r3217 with the patch from #16, and if rebind on configure events is on, the window flickers to white on each window move, if rebind on damage is on, then each damaged area is blanked to white (so after a while of mousing over controls in a window it's completely white).

With both of the options off, only newly opened windows appear white (because they're auto-maximized?) plus every other minimize + restore causes the window to go blank (so normal window minimize + restore -> blank window, minimize + restore -> normal window, minimize + restore -> blank window...).

Revision history for this message
Doug McMahon (mc3man) wrote :

Everything Michal said, there is more, (negative), but no sense trying to describe any further. If you wish a video that could be done
By far the worse here is the force rebinding on damage updates, everything is affected by the cursor & whether one is mousing over, clicking, click & holding or grabbing

Did any of the reviewers of 3110 actually try this with nvidia drivers before approving??

The last r in the bug fix branch for this that worked correctly with nvidia driver in 12.04 was compiz-core.work_923683 » Revision 3008

Michal Hruby (mhr3)
Changed in compiz:
status: New → Confirmed
summary: - [0.9.8 r3110 regression]: unfocused windows are displayed white
+ [nvidia] [regression] With bug fix 862430 unfocused windows are
+ displayed white
Revision history for this message
Sam Spilsbury (smspillaz) wrote : Re: [nvidia] [regression] With bug fix 862430 unfocused windows are displayed white

Doug - the developers dont have all hardware - I have an nvidia card but the driver is totally broken for me (crashes on startup within the driver)

I can try to completely wipe and reinstall today and look into it.

These fixes are necessary to enable normal resize mode in Q on every other driver.

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

I guess it goes without saying - do any of you get failure to bind errors?

Revision history for this message
quequotion (quequotion) wrote :

I ran into bug 786191 as a result of disabling the Window Decoration plugin.

I found a workaround for that which will help for this one as well.

It isn't necessary to disable the entire plugin.

Set "Decoration Windows" to "none"

Leave other settings as they are.

This way, the window menu (alt+right click or space) will be available.

As a bonus, windows will also have shadows for borders.

Revision history for this message
quequotion (quequotion) wrote :

>>Sam

compiz (expo) - Warn: failed to bind image to texture

Every time.

I tried to use expo a moment ago.. I had to Alt+SysRq+R,E,I,S,U,B

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Sam, precise users and users of my PPA will still get lots of those warnings because the decor sync fix (bug 929989) is not in either.

And sadly that fix also looks too large and risky to be an SRU candidate right now.

Revision history for this message
A M R (antonio-mrdp) wrote :

Just changed "Decoration Windows" to "none" as said quequotion and everything seems to work OK on my nvidia card.

To enjoy the compiz cube I'd be able to change everything else, even distribution. Even OS.

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

So the good news is that I was finally able to get a nvidia driver setup that works and I can reproduce this. Doug - currently I'm not seeing the difference between 3008 and 3009 (although the texture binding code was modified there). I'll keep looking to see what might have caused the driver to get upset.

Having said that, this is definitely a "different" behaviour in the driver (won't say its definitely a bug yet at this point) .. inconvenient because it doesn't set the gl error bit on glxBindTexImage failure ...

Changed in compiz:
status: Confirmed → In Progress
Revision history for this message
Doug McMahon (mc3man) wrote :

Coincidently I just tried r3009 here also, all is fine in with nvidia in this regard (the 'white' windows'
I don't recollect when I first saw the white windows but I believe shortly after (maybe around 3016?

I'd mentioned 3008 previously (& was using here), because that was the time when the review's were approved & it seemed good to go as far as the intent to fix 'flashing' in expo/cube/rotate in 0.9.7.X in 12.04
https://code.launchpad.net/~smspillaz/compiz-core/compiz-core.work_923683/+merge/101483/comments/219182

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

So this patch fixes it for me. I'm just recompiling against master now to check it still works there. Also need to check the other drivers

Revision history for this message
Doug McMahon (mc3man) wrote :

Trying next.patch on the pre-pro ppa source works pretty good on a 12.04 install with mentioned hardware (have current proposed unity packages installed

cube/rotate, expo all fine
When going to spread do lose window decoration, other than that all seems good, probably should do a new install to d. check that

The 1px spillover does remain though as mentioned the older place.so is a tmp workaround here till fixed.

From a currently unsupported view if I return spread from all Ws's, (former super+w), works very well, previously there was a small jitter if going to another ws, now very smooth

Revision history for this message
Doug McMahon (mc3man) wrote :

And one very minor little thing - during rotate if a file is located at the top of the desktop it will show briefly in the panel, or if no file some minor artifacting
Virtually unnoticeable with panel opacity set to either 0.0000 or depending on Background image around 0.7400 or higher (unity panel opacity has issues anyway & previous to this

The Background "London Eye From Underneath" will show this quite clearly, most other Bg's are as affected

Revision history for this message
Doug McMahon (mc3man) wrote :

meant - most other Bg's aren't as affected

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

Thanks for testing.

The other problems you mentioned are unrelated. The background behind panel issue will be fixed once we merge in support for compiz-damage-regions in BackgroundEffectHelper in unity.

I will look into the spillover ASAP.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Fix committed into lp:compiz at revision 3223

Changed in compiz:
status: In Progress → Fix Committed
Changed in compiz-core:
status: New → Triaged
importance: Undecided → High
milestone: none → 0.9.7.10
summary: - [nvidia] [regression] With bug fix 862430 unfocused windows are
+ [nvidia] [regression] With bug fix 862430 unfocussed windows are
displayed white
Revision history for this message
FuzzyQ (atomicfuzzyq) wrote : Re: [nvidia] [regression] With bug fix 862430 unfocussed windows are displayed white

Alright, I'm sorry, but I seem way too dense to create a binary from the patched source by myself (patching already took me a good hour of research, but this cmake madness is driving me nuts). And working without window titles isn't a laughing matter either. So would someone please be so kind as to upload the already patched version to the ppa? Very very please? :)

Revision history for this message
quequotion (quequotion) wrote :

I'll hold back the champagne until the SRU goes through,
but how about a round of shots for no more window flicker on rotate cube?

>>FuzzyQ
hopefully someone is getting around to this.
it's only been a few hours and more tests are probably necessary.
possibly we have to wait until the SRU is processed and approved.

That said, I'd give my left eye for an official compiz-daily PPA.

Revision history for this message
FuzzyQ (atomicfuzzyq) wrote :

>> quequotion
Nicely said! I'm with you both on the celebration about no more flickering and the wish for a daily PPA as well.
Thanks for your answer. I'll try my best to be patient.

Revision history for this message
Daniel Balog (danielbalog86) wrote :

I would love to see this in a PPA as well. Am not too confident in building the source myself.

Thanks for the effort btw! Much appreciated.

Revision history for this message
quequotion (quequotion) wrote :

hmm...

Still getting white-out windows in a few cases:

1. Restore from minimize = white every time.

2. Occasionally menus appear white.

3. Log in to Compiz+Wall desktop = white desktop...?

Revision history for this message
FuzzyQ (atomicfuzzyq) wrote :

Yes, me too :(

Plus, I still can't enable window decoration without *every* window blanking out when unfocused. I have to use keyboard shortcuts to move or resize windows. And those windows look very ugly without title bar.

I have to repeat my request: PLEASE upload a fix with all current patches applied!

And as always: your work is very much appreciated, thank you!

Revision history for this message
Joshua (jgh.emc) wrote :

I installed compiz packages from 1:0.9.7.8-0ubuntu1vvpreproposed1 and get the white windows problem. I disabled window decorations, which seems to fix the white windows problem (but then I had no min/max/close buttons or title bars). Also, the expo still causes something weird to happen (image of blank desktop with orange border is displayed for 20-30 seconds before I can interact again).

Revision history for this message
Kevin Allard (qq3dh7wn-5eh0n-mm0v6n6x) wrote :

I installed the the new updates that are available today from the Compiz proposed PPA and the problems are fixed! Beautiful! It was a pain not having window decorations.

Revision history for this message
Kevin Allard (qq3dh7wn-5eh0n-mm0v6n6x) wrote :

Oh, I forgot to say, THANKS TEAM UBUNTU TEAM!

Revision history for this message
Serrano Pereira (serrano-pereira) wrote :

No more white windows here either thanks to vanvugt's PPA. Thanks!

Revision history for this message
FuzzyQ (atomicfuzzyq) wrote :

You guys are geniuses and saints! Thank you so much!

Revision history for this message
rrp (rob-0tlbog0jg) wrote :

Thanks - the latest updates have resolved this issue for me too.

Activating "unfold cube" causes some major rendering problems and freezing the computer, although this issue was present pre-updates too.

Revision history for this message
Tiko (babltiga) wrote :

It works !!! Great job guys ! Thank you

Revision history for this message
Daniel Balog (danielbalog86) wrote :

Works good on my Nvidia 285GTX.

Thanks guys!

Revision history for this message
Smeagol (gollum12345678) wrote :

I'm happy to hear that the updated patch fix this problem!
But I have a question, the patch on this PPA doesn't includes the fix of Bug #933776 (Scale plugin Window Picker for All Windows) right? Will have to wait until the official patch to get both fix together?

Thanks!

Revision history for this message
Derek_ (derek-name) wrote :

The 2012-06-07 update in the PPA has fixed this bug for me, with a NVIDIA GeForce 6200. Thanks.

Revision history for this message
Derek_ (derek-name) wrote :

Actually, there is a remaining aspect of this bug, at least for me. It is with cube unfold.

The cube unfold shows all white windows on white desktops. The window decorations (frames) show correctly on all the unfolded desktops, and the skydome image shows correctly. Also, when leaving the unfold, some of the window images, including the desktop background, are corrupted. When a window with a corrupted image is activated, it is usually corrected. I had to switch the background image to get it refreshed.

And if I switch desktops during the unfold, it can sometimes cause all sorts of trouble: The window decorations disappear. I lose the ability to change focus to another window. The keyboard shortcuts for launching a gnome-terminal and Alt-F2 to run a command do not work. If the window I'm stranded on is a terminal, I can use `compiz --replace` to restore everything, but otherwise I have to use Ctrl-Alt-Del to just log out.

Revision history for this message
A M R (antonio-mrdp) wrote :

Derek, same problem as you with unfold cube (Control-Alt-UpArrow). The desktop freezes, and I've been able to unfreeze it by typing Control-Alt-F1 switching to console and Control-Alt-F7 switching back to X/Gnome.

Antonio

tags: added: compiz-r3110-regression
summary: - [nvidia] [regression] With bug fix 862430 unfocussed windows are
- displayed white
+ [nvidia] [0.9.8 r3110 regression] With bug fix 862430 unfocussed windows
+ are displayed white
Revision history for this message
Joshua (jgh.emc) wrote :

I installed the latest PPA in xubuntu on ThinkPad T420s (nvidia), and am very pleased that it seems to be working.

Many thanks.

I did notice that if I enable mipmaps in the expo, the desktop images are all white in the expo.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "Force resize notify on frame updates" of this bug report has been identified as being a patch. The ubuntu-reviewers team has been subscribed to the bug report so that they can review the patch. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-reviewers team please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (7.6 KiB)

This bug was fixed in the package compiz - 1:0.9.8+bzr3249-0ubuntu1

---------------
compiz (1:0.9.8+bzr3249-0ubuntu1) quantal-proposed; urgency=low

  * New upstream snapshot.
    - Fall back to a refresh rate that is more likely to look correct; 60Hz.
      (LP: #1009338)
    - Benchmark plugin should consume its key binding, and not pass the key to
      the underlying window. (LP: #1009320)
    - Avoid needless STL operations leading to expensive heap operations.
      (LP: #1006335)
    - Fix a typo that was causing (LP: #1002606)
      (widthIncBorders/heightIncBorders)
    - Check if the window is decorated before trying to change its event window
      states (which won't exist if not decorated) (LP: #1007754)
    - Use the XDamage extension more efficiently (the way it was designed to be
      used). This dramatically reduces CPU usage, reduces wakeups, and
      increases frame rates. It also solves at least one observed performance
      bug (LP: #1007299) and probably several more.
    - Avoid constructing and destructing lots of strings on every single event,
      which was wasting lots of CPU (LP: #1005569)
    - md LINGUAS doesn't exist, it's mnk (Mandinka in ISO 639-3)
    - Move grid plugin to google test and don't depend on the plugin for the
      test (LP: #1005009)
    - Don't read plugin.Initialized and test the value. (LP: #1004848)
    - libcompizconfig's install () commands were still using the old includedir
      and libdir variables rather than their libcompizconfig_* variants.
      (LP: #1005176)
    - Execute the cmake files separately to ensure that DESTDIR is respected.
      (LP: #1005177)
    - Don't set_target_properties on a target that might not exist
      (LP: #1005008)
    - Don't allow windows which we weren't even tracking as decoratable to
      become decorated if they try and change their hints. (LP: #963794)
    - Change the mouse pointer while dragging windows in expo. Just like the
      ubuntu branches do. (LP: #987647)
    - Fix uninitialized memory use (LP: #1004338)
    - Fix uninitialized variable (LP: #1004335)
    - Delay unbinding of pixmaps until then next rebind (LP: #729979)
      (LP: #1002602)
    - Don't drop plugins from the list to try and load before you've even tried
      to load them. Doing so makes missing plugins silently ignored instead of
      an error message (LP: #1002715). It also means valid plugins in more
      unusual, but real locations in LD_LIBRARY_PATH will never get loaded
      (LP: #1002721).
    - If running test cases under a real X server, we don't care if Xvfb is
      missing (LP: #994841)
    - Don't assume pkg_check_modules always sets _PREFIX (LP: #993608)
    - Don't clear selections in ~PrivateScreen because it causes a race between
      the existing and the new compiz instances, breaking --replace and
      non-replace behaviour. (LP: #988684) (LP: #989545)
    - Always paint with infiniteRegion as the clip region if the window is
      transformed and always use the supplied region if painting with offset or
      on transformed screen. (LP: #987639)
    - Add synchronization primitives to the decoration protocol so that there
      isn't a r...

Read more...

Changed in compiz (Ubuntu):
status: New → Fix Released
Revision history for this message
cement_head (andorjkiss) wrote :

Will this compiz iteration be backported to Precise?

Revision history for this message
Sam Spilsbury (smspillaz) wrote :

When we have time to fix the other white window bugs due to mipmap support already being broken. No ETA because we're very tied up with other things at the moment.

Changed in compiz:
status: Fix Committed → Fix Released
Changed in compiz-core:
milestone: 0.9.7.10 → 0.9.7.12
Changed in compiz-core:
milestone: 0.9.7.12 → 0.9.7.14
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.