GNOME Bugzilla – Bug 355279
Gnome-screensaver doesn't display screensaver
Last modified: 2006-12-28 14:16:06 UTC
I'm using Gnome 2.16 on Frugalware Linux, and I've selected a screensaver in the preferences. The preview and fullscreen previews display OK, but when the screensaver activates or I press Lock Screen, all I get is a blank screen. The screen still gets locked, just the screensaver doesn't show. The really interesting thing, however, is that if I kill the gnome-screensaver daemon and restart it, the screensaver then displays how it should. I'm reporting this as a bug because I can't find any problems on my machine that could cause this, and also it happens on one of the other Frugalware developers' computer on a fresh install. Any ideas? Thanks, Alex
Can you run it with debug logging: gnome-screensaver --no-daemon --debug and post the output here? Thanks.
It won't get anything useful. As I said, if I kill the daemon and restart it (be it with --no-daemon --debug, or without any args) it works fine.
If it does make any difference even if the output is of when gnome-screensaver is working how it should, it's here: http://frugalware.org/paste/71
If you reproduce it with debugging enabled then we can see if it is throttled. You can do this by modifying how your distro starts g-s. By default that is in gnome-settings-daemon. You can also try checking whether gnome-power-manager thinks the lid is closed or something. Try running g-p-m: gnome-power-manager --no-daemon --verbose
Sorry I should have mentioned that if you add --debug to where gnome-screensaver is started in g-s-d and it will log debug messages to a file in /tmp.
http://frugalware.org/~alex/gscreensaver.log That log contains 2 attempts to Lock the screen.
Excellent. But I don't seem to have read permission on that.
Uhhh.... Oops :) Fixed.
I confirm the bug. It can be reproduced winth Gnome 2.16, Gentoo. When I start gnome-screensaver it work well. But after several hours I found gnome-screensaver only showing black screen. After restarting daemon everiting is OK for some time. I attach the output of strace -p `pidof gnome-screensaver` which corresponds to the instant when I invoked gnome-screensaver-command -a (and saw black screen instead of screensaver). I use random mode and I have ported xscreensaver savers to be used with gnome-screensaver. It seems that time gnome-screensaver accessed /usr/libexec/gnome-screensaver/bsod, but it did not start it.
Created attachment 75055 [details] output from strace `pidof gnome-screensaver`
I have confirmed the same behavior on FreeBSD, and it does appear to be related to gnome-power-manager. If I restart gnome-power-manager once I start seeing the behavior, then g-s works as expected. Note: this is on a desktop machine, so g-p-m shouldn't think the lid is closed. I have started running g-p-m in debugging mode to see if I can find out why it is not behaving correctly. The problem seems to start after the first time g-p-m puts the display to sleep, so I should have some results soon.
Created attachment 75096 [details] g-p-m verbose output This is the g-p-m output after g-s goes idle and locks the screen. g-p-m enables DPMS one minute later, and puts the display to sleep. After this occurs, future requests to g-s to lock the screen result in a blank screen. Restarting g-p-m or g-s fixes the problem. It seems like g-s is not resetting state correctly.
Looks to me like g-p-m is adding 3 throttlers and only removing one. Richard?
Created attachment 76106 [details] [review] test patch You are indeed right - this is a g-p-m bug. Does appling this patch to 2-16 fix things?
(In reply to comment #11) > Note: this is on a desktop machine, so g-p-m shouldn't think the lid is closed. Yea, it shouldn't be able to throttle three times unless one of them is related to the lid. Can you attached the output of `lshal -m` during this process? We're looking for a stray/imaginary button press that might have activated the lid throttling.
I can confirm the the above patch does apply to 2.16, and so far, the problem has not reoccurred.
Thanks for testing that so fast Joe. Applied to 2-16: 2006-11-07 Richard Hughes <richard@hughsie.com> * src/gpm-manager.c: (update_dpms_throttle): When we add a DPMS state throttle, remove the last one if set. This fixes the bug where the screensaver would not show if DPMS had been allowed to activate. Fixes #355279. Please re-open this bug if this happens with the patch. Cheers for the debugging Jon - nice one. Richard.
Any chance of being applied to 2.17.x?
Done yesterday. Thanks.
Could someone please confirm or deny whether this bug affects g-p-m 2.14? AFAIR, gnome-screensaver stopped displaying its screen savers when I upgraded to GNOME 2.16, but I'm not 100% sure, and don't have any way to downgrade at the moment to test it out. I tried in VMware, but it appears that VMware does not emulate DPMS, so I can't get g-p-m to put the screen into standby.
I can confirm that it does not affect it, this bug was definitely introduced in 2.16, I've got an old box running 2.14 and the screensaver works there.
*** Bug 376172 has been marked as a duplicate of this bug. ***
Hmm, I hate to say it but I just noticed that this still occurs, even with the latest gnome-screensaver and g-p-m
Oh, I should also mention that it happens if I remove g-p-m, too.