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 657869 - screensaver is generally broken
screensaver is generally broken
Status: RESOLVED FIXED
Product: mutter
Classification: Core
Component: general
3.1.x
Other Linux
: Normal normal
: ---
Assigned To: mutter-maint
mutter-maint
Depends on:
Blocks:
 
 
Reported: 2011-08-31 20:40 UTC by Bill Nottingham
Modified: 2011-09-23 13:42 UTC
See Also:
GNOME target: 3.2
GNOME version: 3.1/3.2


Attachments
Compositor: Fix cow shaping on multi montior setups (3.32 KB, patch)
2011-09-15 19:55 UTC, drago01
none Details | Review
Compositor: Fix cow shaping on multi montior setups (3.71 KB, patch)
2011-09-15 20:08 UTC, drago01
none Details | Review
compositor: Fix cow shaping on multi montior setups (3.71 KB, patch)
2011-09-16 06:18 UTC, drago01
reviewed Details | Review
compositor: Fix cow shaping on multi monitor setups (3.72 KB, patch)
2011-09-16 15:41 UTC, drago01
none Details | Review
compositor: Fix cow shaping on multi monitor setups (3.72 KB, patch)
2011-09-16 15:42 UTC, drago01
committed Details | Review

Description Bill Nottingham 2011-08-31 20:40:37 UTC
1. Often, the unlock screen is not drawn correctly, or at all. (It will be completely black except for the titlebar, for example.)
2. It does not lock correctly on resume from suspend - instead of starting locked, it will resume with the full desktop shown, and then lock.

gnome-screensaver-3.1.5-1.fc16.x86_64
Comment 1 André Klapper 2011-09-02 15:00:34 UTC
1. Which graphics hardware is this about?
Comment 2 Bill Nottingham 2011-09-02 15:58:42 UTC
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02)

'Arrandale', if you're into the marketing/chipset name.
Comment 3 Matthias Clasen 2011-09-04 18:22:52 UTC
Both of these issues should be fixed in 3.1.90, I hope.

Please reopen if I'm wrong
Comment 4 Bill Nottingham 2011-09-06 03:07:06 UTC
The first is not fixed, although it seems to now more consistently be a black screen with no visible unlock dialog.
Comment 5 Bill Nottingham 2011-09-07 17:12:26 UTC
The second also still occurs sometimes. (2/2 today.)
Comment 6 Adam Williamson 2011-09-12 21:31:48 UTC
I get something similar to this, 100% of the time.

I don't lock manually, but I often hit the ten minute 'fade to black' timeout - the screens go into power saving mode, and GNOME locks the screen. When I move the mouse, the screens wake up, and I see my desktop from before the idle timeout. However, it's clear that the lock screen is 'there', but invisible. The cursor will be stuck on one of the screens, and will change shape not in response to what I can see, but in response to the elements present on the lock screen that I can't see. I am not able to interact with the desktop at all. If I blindly type my user password and hit enter, I can unlock the screen: the display updates and now shows my desktop _at the current point in time_, the cursor moves around and interacts with the desktop, etc.

so the lock screen is present and functioning correctly, but is entirely invisible, and I see my 'old' desktop 'underneath' it.

this is on an NVIDIA GeForce 9600 GT, nouveau driver, in current F16.

01:00.0 VGA compatible controller [0300]: nVidia Corporation G94 [GeForce 9600 GT] [10de:0622] (rev a1)
Comment 7 Cosimo Cecchi 2011-09-13 14:09:53 UTC
(In reply to comment #6)
> I get something similar to this, 100% of the time.
> 
> I don't lock manually, but I often hit the ten minute 'fade to black' timeout -
> the screens go into power saving mode, and GNOME locks the screen. When I move
> the mouse, the screens wake up, and I see my desktop from before the idle
> timeout. However, it's clear that the lock screen is 'there', but invisible.
> The cursor will be stuck on one of the screens, and will change shape not in
> response to what I can see, but in response to the elements present on the lock
> screen that I can't see. I am not able to interact with the desktop at all. If
> I blindly type my user password and hit enter, I can unlock the screen: the
> display updates and now shows my desktop _at the current point in time_, the
> cursor moves around and interacts with the desktop, etc.

Confirming the same thing happening on an updated Fedora 16 and Intel Ironlake.
Comment 8 Adam Williamson 2011-09-13 15:35:58 UTC
ajax, any idea what this might be? it looks like it's something X-y, but I'm not sure what. Nothing leaps out at me immediately from any logs.
Comment 9 Ray Strode [halfline] 2011-09-13 15:57:38 UTC
are you guys all running a newer than 3.0 kernel?
Comment 10 Cosimo Cecchi 2011-09-13 16:00:53 UTC
(In reply to comment #9)
> are you guys all running a newer than 3.0 kernel?

Yeah...

[cosimoc@x201: ~]$ uname -a
Linux x201 3.1.0-0.rc5.git0.0.fc16.x86_64 #1 SMP Fri Sep 9 14:33:44 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
Comment 11 Adam Williamson 2011-09-13 16:25:58 UTC
right now, yes, though I'm almost sure I was using a 3.0 kernel some of the time I saw this: I've been using one recently due to the very sluggish performance of 3.1 with debugging options enabled. But I'm about to boot back to 3.0.1-5.fc16 to double check.
Comment 12 Adam Williamson 2011-09-13 16:40:15 UTC
booting 3.0.1-5.fc16 and manually locking the screen (I didn't bother waiting for the timeout) reproduces the bug.
Comment 13 Adam Williamson 2011-09-14 20:42:48 UTC
so here's some more data on this:

* enabling the screen recorder mode with ctrl-alt-shift-r works around the bug: as long as there's a screen recording going on, the lock screen works properly. I see a black background with a panel on both screens, and a lock dialog on the right hand screen.

* disabling one monitor works around the bug: I see a black background with a panel on the active screen, and a lock dialog.

* rotation makes no difference: single-screen rotated works, dual-screen not rotated does not work.

so, the conditions to encounter this bug seem to be at least 'dual screen, screen recorder not running'.
Comment 14 Adam Williamson 2011-09-14 20:44:21 UTC
to be more precise, in the 'working' case with the screen recorder, when I lock the screen I see black background with a panel on both displays, no unlock dialog; when I move the mouse, the right-hand screen suddenly gets a background, and the unlock dialog appears on it. The left-hand screen continues to be black with a panel.
Comment 15 Adam Williamson 2011-09-14 20:49:29 UTC
and to be precise about the failure case: when I hit ctrl-alt-l I see the 'fade to black' animation. when it completes, I see the current desktop on both displays (disregard the incorrect description above in which I said what I saw was a stale, pre-lock desktop). the desktop updates normally, but I cannot interact with it in any way. When I move the mouse, I don't see any change (though what should be happening when I move the mouse is the unlock dialog appearing). the mouse pointer does not change with regards to what's on the desktop; it seems like it briefly changes to a I when it goes over where the unlock password entry box should be, but only once, on following passes it doesn't.

when I type my password and hit enter, the unlock operation occurs and I can use the desktop normally. I see absolutely no feedback of any kind when typing the password.
Comment 16 Colin Walters 2011-09-15 18:08:54 UTC
Bill - are you using dual monitors too?

Cosimo - are you seeing this too?  And are you using dual monitors?

For both of you - can you confirm Adam's comment #13 ?
Comment 17 Bill Nottingham 2011-09-15 18:13:17 UTC
Not dual monitors here - just laptop LCD (Not in a position to test right now re: comment #13, will try later.)
Comment 18 Cosimo Cecchi 2011-09-15 18:59:34 UTC
(In reply to comment #16)

> Cosimo - are you seeing this too?  And are you using dual monitors?
> 
> For both of you - can you confirm Adam's comment #13 ?

Yes, I am seeing this.
I confirm the same symptoms Adam mentioned, i.e.
- using the recorder at the same time makes the bug go away
- disabling the external monitor makes the bug go away, and re-enabling it makes the bug appear again
Comment 19 drago01 2011-09-15 19:55:44 UTC
Created attachment 196669 [details] [review]
Compositor: Fix cow shaping on multi montior setups

XFixesCreateRegionFromWindow does not take the window's position into account,
which results into setting the a wrong shape for windows not located on the
leftmost monitor.

Fix that by creating the region from the window's MetaRectangle.
Comment 20 drago01 2011-09-15 20:08:27 UTC
Created attachment 196671 [details] [review]
Compositor: Fix cow shaping on multi montior setups

XFixesCreateRegionFromWindow does not take the window's position into account,
which results into setting the a wrong shape for windows not located on the
leftmost monitor.

Fix that by creating the region from the window's MetaRectangle.
Comment 21 Cosimo Cecchi 2011-09-15 20:16:25 UTC
-> mutter

Looks like this might be a bug in mutter after all.
Comment 22 Adam Williamson 2011-09-15 21:00:42 UTC
it seems like the bug Cosimo and I are seeing is not the same as Bill's after all, so we have hijacked Bill's report - sorry, Bill. :(

devs, would it be better to split off my and Cosimo's issue from this report, or split off Bill's? His was first, but we've used the report mostly to discuss my and Cosimo's issue.

Will test drago's patch.
Comment 23 Ray Strode [halfline] 2011-09-15 21:44:58 UTC
fwiw, Bill's issue ended up being a kernel driver bug when frame buffer compression is enabled, so we can just keep this bug for your issue.
Comment 24 Adam Williamson 2011-09-15 22:00:17 UTC
fix works good here on a first test, thanks!
Comment 25 drago01 2011-09-16 06:18:09 UTC
Created attachment 196689 [details] [review]
compositor: Fix cow shaping on multi montior setups

XFixesCreateRegionFromWindow does not take the window's position into account,
which results into setting the a wrong shape for windows not located on the
leftmost monitor.

Fix that by creating the region from the window's MetaRectangle.

---

Whitespace fix.
Comment 26 Rui Matos 2011-09-16 15:26:17 UTC
Review of attachment 196689 [details] [review]:

Typos in the summary and commit message: s/montior/monitor/, s/the a wrong/a wrong/

Code looks good.

::: src/compositor/compositor.c
@@ +618,2 @@
       int width, height;
+      MetaRectangle *rect = meta_window_get_rect (metaWindow);

Will this only be called for unframed windows? In that case it's OK, otherwise meta_window_get_outer_rect() would be needed here.
Comment 27 drago01 2011-09-16 15:40:16 UTC
(In reply to comment #26)
> Review of attachment 196689 [details] [review]:
> 
> Typos in the summary and commit message: s/montior/monitor/, s/the a wrong/a
> wrong/

Oops.

> Code looks good.
> 
> ::: src/compositor/compositor.c
> @@ +618,2 @@
>        int width, height;
> +      MetaRectangle *rect = meta_window_get_rect (metaWindow);
> 
> Will this only be called for unframed windows? In that case it's OK, otherwise
> meta_window_get_outer_rect() would be needed here.

Yeah they only override redirect windows for now, but this function should be generic so will fix that.
Comment 28 drago01 2011-09-16 15:41:48 UTC
Created attachment 196742 [details] [review]
compositor: Fix cow shaping on multi monitor setups

XFixesCreateRegionFromWindow does not take the window's position into account,
which results into setting the a wrong shape for windows not located on the
leftmost monitor.

Fix that by creating the region from the window's MetaRectangle.

---

Fixed typo and switched to use get_outer_rect()
Comment 29 drago01 2011-09-16 15:42:31 UTC
Created attachment 196743 [details] [review]
compositor: Fix cow shaping on multi monitor setups

XFixesCreateRegionFromWindow does not take the window's position into account,
which results into setting a wrong shape for windows not located on the
leftmost monitor.

Fix that by creating the region from the window's MetaRectangle.

---

Really fix the typos this time.
Comment 30 Matthias Clasen 2011-09-16 15:58:39 UTC
Quick irc review:


<mclasen> fmuellner: hey, is bug 657869 on your radar ?
<bebot> Bug http://bugzilla.gnome.org/show_bug.cgi?id=657869 normal, Normal, ---, mutter-maint, NEW, screensaver is generally broken
<fmuellner> mclasen: not really
<mclasen> it has a mutter patch
<fmuellner> mclasen: looks reasonable at a quick glance
Comment 31 Owen Taylor 2011-09-16 17:00:02 UTC
Review of attachment 196743 [details] [review]:

Looks good to me
Comment 32 drago01 2011-09-16 17:02:27 UTC
Attachment 196743 [details] pushed as 6923973 - compositor: Fix cow shaping on multi monitor setups
Comment 33 Ray Strode [halfline] 2011-09-20 01:34:28 UTC
*** Bug 659497 has been marked as a duplicate of this bug. ***
Comment 34 Stephan Haller 2011-09-22 04:50:10 UTC
Is it really just a problem of mutter? I updated to latest 3.1.92 and my problems as describe in bug 659497 (similar to comment #6) still exist.
Comment 35 Stephan Haller 2011-09-22 08:47:31 UTC
Ok, mutter seems Ok to me. I've installed mutter 3.1.92 but reverted gnome-screensaver back to version 3.0.0. Now screensaver is working as expected again.
Comment 36 Ray Strode [halfline] 2011-09-22 19:29:23 UTC
Stephan, after you upgraded mutter, did you log out? You shouldn't need to touch gnome-screensaver, since it hasn't really changed that much since 3.0.0
Comment 37 Stephan Haller 2011-09-23 10:14:11 UTC
To be honest I did not on the first computer I had this problem. I just restarted mutter with "mutter --replace" and gnome-shell with ALT-F2+"r". Then I started gnome-screensaver (latest version) but nothing changed. Killing gnome-screensaver, reinstalling old version 3.0.0 and restarting it helped.

On the second computer I had to reboot but I have reverted already gnome-screensaver to 3.0.0 because of the known problem. On the other side: Yes, I "logged" out ;) I just reinstalled gnome-screensaver 3.1.91, restarted gnome-screensaver and had this problem again. Reverting back to gnome-screensaver 3.0.0 and everything is fine. So sth. was changed that makes gnome-screensaver (in the latest version) a blocker for me.
Comment 38 Ray Strode [halfline] 2011-09-23 13:42:39 UTC
okay let's undupe your bug report and work on your issue there.