After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 613936 - Screen flickers to black when clicking on the calendar
Screen flickers to black when clicking on the calendar
Status: RESOLVED OBSOLETE
Product: gnome-shell
Classification: Core
Component: general
2.29.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
: 609953 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-03-25 17:49 UTC by Marco Sangiorgi
Modified: 2012-03-01 16:25 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
[NOT FOR REVIEW] Workaround for flicker bug (2.34 KB, patch)
2010-03-26 18:53 UTC, drago01
needs-work Details | Review
'Fix' weird black flash (3.25 KB, patch)
2010-03-26 19:53 UTC, drago01
needs-work Details | Review
Workaround for nvidia flashing / performance issue (950 bytes, patch)
2010-03-28 13:23 UTC, drago01
rejected Details | Review

Description Marco Sangiorgi 2010-03-25 17:49:07 UTC
Hi, I'm testing the new gnome-shell and I'm using the Ubuntu packages from a PPA that follows git master.

I'm experiencing some annoying visual glitches that happen especially when I click on the calendar on the top bar.
This also happens all the times when the gnome-shell notification area appears, and sometimes also when I click on the Activities button in the top left corner.

I'm on a Sony Vaio laptop with a GeForce 6200 go video card, using NVIDIA proprietary drivers 195.36 on an up-to-date Ubuntu Lucid installation.
Comment 1 drago01 2010-03-26 11:57:58 UTC
This seems to be caused by commit 5060081db5fb0a5848dd04d7723ed3f5d02c1668
Comment 2 drago01 2010-03-26 18:53:01 UTC
Created attachment 157205 [details] [review]
[NOT FOR REVIEW] Workaround for flicker bug

Can you please try this patch?

It does seem to fix it for me (I don't know why though; but having you confirm it would be helpful in tracking down the root cause).
Comment 3 drago01 2010-03-26 19:53:38 UTC
Created attachment 157211 [details] [review]
'Fix' weird black flash

Tween coordinates directly seems to have an odd side effect that
can cause "black flashes" and even a huge performance degration
on nvidia hardware when going to the overview (as we tween the
message tray there).
Comment 4 drago01 2010-03-26 19:54:22 UTC
Comment on attachment 157211 [details] [review]
'Fix' weird black flash

NOTE: I still don't know _why_ this happens.

This version fixes a calender regression the previews patch introduced.
Comment 5 drago01 2010-03-26 20:22:18 UTC
(In reply to comment #1)
> This seems to be caused by commit 5060081db5fb0a5848dd04d7723ed3f5d02c1668

Seems like I was wrong on this one, it might have made it easier to trigger but it didn't cause it,
Comment 6 brandonjsnider 2010-03-26 20:24:05 UTC
This patch solves all problems for me using Nvidia 8800GT card. The tearing issue that happened during the transition effect to overview, and the 'blink' effect that happened when a notification appeared. The calendar problem never appeared on my system.

FYI I'm using the latest Gnome-Shell snapshot from Ricotz PPA. Also Clutter 1.2 etc.
Comment 7 drago01 2010-03-26 22:41:25 UTC
OK, after some testing and debugging we found out that:

*) The calls to XFixesSetWindowShapeRegion() in do_set_stage_input_region() (mutter/src/compositor/compositior.c) are causing this when being called from during the animation.

*) It only affects the messageTray and the clock because they are children of Main.chrome and therefor cause do_set_stage_input_region to be called on allocate (which happens when setting y (queues a relayout) but not when setting anchor_y (only queues a redraw) that is why the above patch helps).
(The overview issue is related to the fact that we show the messageTray there)

*) The xserver change proposed by Owen:

----------
diff --git a/xfixes/region.c b/xfixes/region.c
index 966eda0..11656d3 100644
--- a/xfixes/region.c
+++ b/xfixes/region.c
@@ -670,6 +670,7 @@ SProcXFixesSetGCClipRegion (ClientPtr client)
 }
 
 typedef	RegionPtr (*CreateDftPtr)(WindowPtr pWin);
+void miSetShape(WindowPtr pWin);
 
 int
 ProcXFixesSetWindowShapeRegion (ClientPtr client)
@@ -745,7 +746,10 @@ ProcXFixesSetWindowShapeRegion (ClientPtr client)
     if (*pDestRegion)
 	REGION_DESTROY(pScreen, *pDestRegion);
     *pDestRegion = pRegion;
-    (*pScreen->SetShape) (pWin);
+    if (stuff->destKind == ShapeInput)
+        miSetShape(pWin);
+    else
+        (*pScreen->SetShape) (pWin);
     SendShapeNotify (pWin, stuff->destKind);
     return (client->noClientException);
 }
-- 
1.6.6.1
--------------

did not fix the issue for me.
Comment 8 drago01 2010-03-28 13:23:07 UTC
Created attachment 157326 [details] [review]
Workaround for nvidia flashing / performance issue

Replacing the previous patch with a simpler one, but note that I still haven't tracked down the root cause yet, so marking this as rejected (not intended to be merged).
Comment 9 Marco Sangiorgi 2010-03-30 13:27:28 UTC
With last patch, everything works fine for me.

Thanks!
Comment 10 drago01 2010-03-31 11:43:21 UTC
*** Bug 609953 has been marked as a duplicate of this bug. ***
Comment 11 Ralf Hölzemer 2010-04-11 18:48:41 UTC
I have the same problem with my NVIDIA Quadro FX 2500M and i can confirm that the workaround in #8 fixed the issue.
Comment 12 Júlio Dutra 2010-04-19 12:51:22 UTC
I too have the same problem with my NVIDIA GeForce 8400M GS and i can confirm that
the workaround in #8 fixed the issue.
Comment 13 Fabio Alessandrelli 2010-05-04 19:31:55 UTC
> Created an attachment (id=157326) [details] [review]
> Workaround for nvidia flashing / performance issue
> 
> Replacing the previous patch with a simpler one, but note that I still haven't
> tracked down the root cause yet, so marking this as rejected (not intended to
> be merged).

Thank you very much.
I have an Nvidia G105M and I can confirm this workaround solved the flickering. It seems also to have improved performance but can't say that for sure.
Comment 14 Raphael Freudiger 2010-05-19 07:56:07 UTC
I don't know if it is really related to this, but I'm experience something similar with a ATI Mobility Radeon 2600HD with proprietary driver. Screen is flickering during every animation (clock, overview and messagetray). The proposed workaround reduce it but does not solve it.
Comment 15 Jonathan Strander 2010-06-19 16:46:01 UTC
(In reply to comment #8)
> Created an attachment (id=157326) [details] [review]
> Workaround for nvidia flashing / performance issue
> 
> Replacing the previous patch with a simpler one, but note that I still haven't
> tracked down the root cause yet, so marking this as rejected (not intended to
> be merged).

Didn't see this earlier. Applying this change massively improved performance on my NVIDIA 9300 IGP, but it didn't completely eliminate flickering. It did cause a reduction. The increase in overall speed though is quite dramatic.
Comment 16 drago01 2010-06-19 16:51:17 UTC
(In reply to comment #15)
> (In reply to comment #8)
> > Created an attachment (id=157326) [details] [review] [details] [review]
> > Workaround for nvidia flashing / performance issue
> > 
> > Replacing the previous patch with a simpler one, but note that I still haven't
> > tracked down the root cause yet, so marking this as rejected (not intended to
> > be merged).
> 
> Didn't see this earlier. Applying this change massively improved performance on
> my NVIDIA 9300 IGP, but it didn't completely eliminate flickering. It did cause
> a reduction. The increase in overall speed though is quite dramatic.

Yeah the issue has been tracked down, the fix is here: http://cgit.freedesktop.org/xorg/xserver/commit/?id=643cb6e87c10ab554c03ada81930001a8ebcc909

Which is part of xserver-1.9 RC1, but note that you can't use it yet as the server breaks the ABI and NVIDIA still has to release a driver that works with the new ABI.
Comment 17 Jonathan Strander 2010-06-19 17:12:36 UTC
I had though(In reply to comment #16)
> (In reply to comment #15)
> > (In reply to comment #8)
> > > Created an attachment (id=157326) [details] [review] [details] [review] [details] [review]
> > > Workaround for nvidia flashing / performance issue
> > > 
> > > Replacing the previous patch with a simpler one, but note that I still haven't
> > > tracked down the root cause yet, so marking this as rejected (not intended to
> > > be merged).
> > 
> > Didn't see this earlier. Applying this change massively improved performance on
> > my NVIDIA 9300 IGP, but it didn't completely eliminate flickering. It did cause
> > a reduction. The increase in overall speed though is quite dramatic.
> 
> Yeah the issue has been tracked down, the fix is here:
> http://cgit.freedesktop.org/xorg/xserver/commit/?id=643cb6e87c10ab554c03ada81930001a8ebcc909
> 
> Which is part of xserver-1.9 RC1, but note that you can't use it yet as the
> server breaks the ABI and NVIDIA still has to release a driver that works with
> the new ABI.

I had thought the latest unstable driver (256 series) had 1.9 support.
Comment 18 blix 2010-08-26 03:58:22 UTC
I also get this during alt-tab, magic-corner animation, alt-f2 etc.  I am also using the ATI proprietary drivers.  I just built using jhbuild today on lucid, but it has been happening for at least a week.
Comment 19 Giovanni Campagna 2012-03-01 16:25:43 UTC
This bug was reported against 2.29, which is no longer a supported version.
If this bug can be reproduced on a more modern version (at least 3.0), with newer graphic drivers, please reopen. Very useful would be testing with current development versions.

Thanks for taking the time to report this bug.
However, you are using a version that is too old and not supported anymore. GNOME developers are no longer working on that version, so unfortunately there will not be any bug fixes for the version that you use.

By upgrading to a newer version of GNOME you could receive bug fixes and new functionality. You may need to upgrade your Linux distribution to obtain a newer version of GNOME.
Please feel free to reopen this bug if the problem still occurs with a newer version of GNOME.