Lock Screen blanks screen instead of showing screensaver (on external monitor)

Bug #71030 reported by Vikas BN
30
This bug affects 4 people
Affects Status Importance Assigned to Milestone
gnome-screensaver (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

Binary package hint: gnome-screensaver

Hi,

    When I choose either "Lock Screen" or the "Activate Screensaver" options,
   the screen blanks and remains that way. It doesn't show the screensaver.

   Also note, when i choose "fullscreen preview" to select a screensaver, it works
   perfectly well.

   Also, this happens when I connect an external monitor and works fine on my
  laptop screen.

   Details:
     Ubuntu edgy (upgraded from Dapper)
     Dell Latitude D610
       Laptop screen resolution - 1024x768
       External Monitor (Dell 1905FP) - 1280x1024
       Video card - ATI mobility M22 (ATI Open Source drivers with DRI enabled)

 -vikAs

Revision history for this message
Bryce Harrington (bryce) wrote :

Confirmed on Feisty running gnome-screensaver 2.17.4 with two nvidia cards and three monitors running Xinerama. This is when using the nvidia binary driver. (I did not have this problem with the "nv" driver.)

When gnome-screensaver is activated (either through inactivity or via ctrl-alt-l), the primary monitor fades out for a second, and then blanks. At this point, gnome-screensaver has crashed with the following error message:

gnome-screensaver-Message: Found best visual for GL: 0x21
The program 'gnome-screensaver' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadColor (invalid Colormap parameter)'.
  (Details: serial 246 error_code 12 request_code 1 minor_code 0)

I can attempt to get a backtrace if someone can point me to the -dbgsym package for this version of gnome-screensaver.

Revision history for this message
Bryce Harrington (bryce) wrote :

A few other observations, gnome-screensaver only blanks the primary monitor - the other two monitors are not blanked and continue to function normally.

Even though the primary monitor is blanked, I can still see the mouse cursor when it moves across that monitor.

I don't know if it is related, but I am also unable to run gnome-screensaver-preferences. A window flashes on the screen, but then the program exits with the following error message:

e# gnome-screensaver-preferences

(gnome-screensaver:7708): GnomeUI-WARNING **: While connecting to session manager:
Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed.
gnome-screensaver-Message: Found best visual for GL: 0x21
The program 'gnome-screensaver' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadColor (invalid Colormap parameter)'.
  (Details: serial 232 error_code 12 request_code 1 minor_code 0)

Note that the error text is the same as in the gnome-screensaver error, but the serial number is different.

Revision history for this message
Bryce Harrington (bryce) wrote :

Here's a workaround:

I restarted X, then killed gnome-screensaver. At this point I could start gnome-screensaver-preferences, and so switched from 'Random' screensaver to 'Blank Screen'. From this point, ctrl-alt-l started the screensaver, and it worked on all three monitors, and went to the unlock dialog properly on activity. Looking through the various screensaver options, it appears a handful of the screensavers work (apparently the non-3D ones?)

I did see the following error messages when the screensaver activated, but haven't seen any other misbehavior otherwise:

(/usr/lib/gnome-screensaver/gnome-screensaver-gl-helper:9778): Gdk-CRITICAL **: gdk_x11_visual_get_xvisual: assertion `visual != NULL' failed

(/usr/lib/gnome-screensaver/gnome-screensaver-gl-helper:9779): Gdk-CRITICAL **: gdk_x11_visual_get_xvisual: assertion `visual != NULL' failed

(/usr/lib/gnome-screensaver/gnome-screensaver-gl-helper:9780): Gdk-CRITICAL **: gdk_x11_visual_get_xvisual: assertion `visual != NULL' failed

A few thoughts on fixes for this bug...

1. Add a new Random2D screensaver theme which activates only the non-3D
screensavers.
2. Or add a mechanism to detect if the user's X config can actually run the
3D screensavers and only enable them if the prerequisites are met.
3. Since gnome-screensaver-preferences was crashing, I couldn't turn off
the screensaver that was causing the problem. Perhaps include a checkbox
for being able to see previews of the screensaver, that's off initially by default
or something.

Revision history for this message
Oliver Grawert (ogra) wrote :

1 and 2 are covered in bug 33753 and in gnome bug 359592 and requires some upstream and freedesktop.org effort to get it right as you can see in the gnome bug.
3 wouldnt occur if 1 and 2 were fixed ...

Revision history for this message
Bryce Harrington (bryce) wrote :

Would be High importance, but the 'kill gnome-screensaver' workaround is a reliable way to prevent the issue.

Changed in gnome-screensaver:
importance: Undecided → Medium
status: Unconfirmed → Confirmed
Revision history for this message
sinfree (sinfree) wrote :

I have this problem with the new release of Ubuntu (7.04) and killing the gnome_screensaver process does not work for me. I can switch to a single monitor xorg file and the screensaver works fine, otherwise I see the problems in this thread, and I can find no workaround :(.

Revision history for this message
sinfree (sinfree) wrote :

To add some more detail. I can change the two devices in my xorg file from 'nvidia' to 'nv' and the problem goes away (with everything else in the xorg exactly the same). Obviously this is not an acceptable solution as I lose 3D hardware acceleration.

Revision history for this message
Martin Magnusson (martin-blecket) wrote :

I'm having the same problem, using one nVidia card with two monitors (laptop monitor + external LCD screen connected through d-sub contact), running Ubuntu 7.10.

It has always worked before, but today, the laptop screen goes black after gnome-screensaver starts, and stays black. I can only see the mouse cursor. The other monitor works fine.

Running gnome-screensaver-preferences gives me:

The program 'gnome-screensaver-preferences' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
  (Details: serial 343 error_code 8 request_code 78 minor_code 0)

It is the same after I do "killall gnome-screensaver". Running glxinfo gives:

name of display: :0.0
X Error of failed request: BadMatch (invalid parameter attributes)
  Major opcode of failed request: 78 (X_CreateColormap)
  Serial number of failed request: 13
  Current serial number in output stream: 15

As far as I know, I haven't changed anything since yesterday, when it worked, except for installing gdesklets.

Revision history for this message
ubik (janekindred) wrote :

The fix provided by Bryce Harrington at https://bugs.launchpad.net/ubuntu/+source/gnome-screensaver/+bug/71030/comments/3 does not work on 8.04. I can killall gnome-screensaver but I still can't launch gnome-screensaver-preferences. I get the same:

The error was 'BadColor (invalid Colormap parameter)'.
  (Details: serial 254 error_code 12 request_code 1 minor_code 0)

I have the same symptoms as he, and an additional one: in nvidia-settings, when I click on OpenGL/GLX Information, nvidia-settings crashes with this error:

The error was 'BadMatch (invalid parameter attributes)'.
  (Details: serial 303 error_code 8 request_code 78 minor_code 0)

Locking assertion failure. Backtrace:
#0 /usr/lib/libxcb-xlib.so.0 [0xb749b767]
#1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x2e) [0xb749b81e]
#2 /usr/lib/libX11.so.6 [0xb78ca518]
#3 /usr/lib/libX11.so.6(XESetCloseDisplay+0x31) [0xb78ad8d1]
#4 /usr/lib/libGL.so.1 [0xb72754d5]
#5 /lib/tls/i686/cmov/libc.so.6(exit+0xd4) [0xb775c084]
#6 /usr/lib/libgdk-x11-2.0.so.0 [0xb7bb4637]
#7 /usr/lib/libX11.so.6(_XError+0xfe) [0xb78c373e]
#8 /usr/lib/libX11.so.6 [0xb78cae5c]
#9 /usr/lib/libX11.so.6(_XReply+0x15a) [0xb78cb21a]
#10 /usr/lib/libX11.so.6(XQueryExtension+0xaa) [0xb78b906a]
#11 /usr/lib/libX11.so.6(XInitExtension+0x3b) [0xb78add4b]
#12 /usr/lib/libXext.so.6(XextAddDisplay+0x53) [0xb7889443]
#13 /usr/lib/libGL.so.1 [0xb7295474]

I have 3 nvidia cards, 3 monitors.

Revision history for this message
ubik (janekindred) wrote :

This bug should have a high priority, not medium one - AFAIK there's no workaround!

Revision history for this message
samborambo (sam-samborambo) wrote :

I'm having the same problem with opening any opengl application. My setup is two nvidia cards with 3 monitors in xinerama using the nvidia binary drivers.

sam@rambo:~$ glxgears
X Error of failed request: BadMatch (invalid parameter attributes)
  Major opcode of failed request: 78 (X_CreateColormap)
  Serial number of failed request: 12
  Current serial number in output stream: 18
Locking assertion failure. Backtrace:
#0 /usr/lib/libxcb-xlib.so.0 [0xb73b2767]
#1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x2e) [0xb73b281e]
#2 /usr/lib/libX11.so.6 [0xb7cb3518]
#3 /usr/lib/libX11.so.6(XESetCloseDisplay+0x31) [0xb7c968d1]
#4 /usr/lib/libGL.so.1 [0xb7ee64d5]
#5 /lib/tls/i686/cmov/libc.so.6(exit+0xd4) [0xb7d89084]
#6 /usr/lib/libX11.so.6 [0xb7cac63e]
#7 /usr/lib/libX11.so.6(_XError+0xfe) [0xb7cac73e]
#8 /usr/lib/libX11.so.6 [0xb7cb3e5c]
#9 /usr/lib/libX11.so.6(_XReply+0x15a) [0xb7cb421a]
#10 /usr/lib/libX11.so.6(XQueryExtension+0xaa) [0xb7ca206a]
#11 /usr/lib/libX11.so.6(XInitExtension+0x3b) [0xb7c96d4b]
#12 /usr/lib/libXext.so.6(XextAddDisplay+0x53) [0xb73c4443]
#13 /usr/lib/libGL.so.1 [0xb7f06474]

Revision history for this message
timmy (timmy-cc) wrote :

I have a similar problem. Running a quad-head with two nvidia cards using xinerama.
timmy@timmy-desktop:~$ gnome-screensaver --version
Xlib: extension "RANDR" missing on display ":0.0".
gnome-screensaver 2.24.0

The screensaver works normally but sometimes it will crash and blank my main display black and I can't use it after that. The windows are still there but there is a black box over everything I suppose.

I found a work around for my case: run nvidia-settings

It refreshed the main screen and I could see it again without having to restart X.

Revision history for this message
DenisP (denisp) wrote :

Hi, I have noticed following behavior regarding gnome-screensaver and gnome-power-manager on my laptop.
If I switch from internal display to external one and then close the lid of the laptop then screensaver only shows blank screen instead of selected theme. If I open the lid while screensaver is still on then the selected screensaver theme is activated and stays on after I close the lid. If I stop the screensaver by moving mouse and let it start again while lid is closed only blank screen is activated. Also Gnome-Power-manager doesn't switch off external display after the idle time set in the parameters, the external display stays always on if I close the lid of the laptop or/and I switch off internal display. There must be some logic in gnome-screensaver and gnome-power-manager that looks if laptop internal screen is off or if the lid is closed and then it does not activate screensaver or DPMS features because they are not needed. Problem is that if one uses external display with internal laptop display swithced off or lid closed screensaver should be activated and DPMS should still work for external display. I think gnome-screenasver and gnome-power-manager code should be changed to become aware of the display that is being used and if the external display is used they should ignore on/off status of internal display or lid position.
I have noticed that if I switch the internal display to external display while my laptop lid is closed and after external display is activated then I kill gnome-screensaver and start it again then screensaver is working properly on external display despite the fact that laptop lid is closed. I have tried same procedure with gnome-power-manager but it doesn't help with it.

I use ubuntu 9.10 on Samsung Q35 laptop.

Revision history for this message
cleric (logicalcombine) wrote :

hey SkullBurner,

I'm having the exact same problem! I have Ubuntu 10.04 64-bit on an Alienware m15x laptop with Nvidia GeForce 8800M GTX and in nvidia-settings I have my laptop display disabled and use only my external. When I have my laptop "lid" closed I only get a blank screen for my screensaver where when the laptop lid is open I get the screensaver. Same thing with "put the display to sleep" function; it works when laptop lid is open, but once it's closed my external will just stay on a blank screen forever, I have to shut off the screen when I go away for a while.

I've posted this problem on the ubuntu forums and haven't heard back. It's a really annoying problem. I think it might have something to do with the fact that I'm using nvidia settings to configure the displays. Maybe gnome can't detect the nvidia settings I've made and it just sees the my laptop screen is disabled and thinks I don't have an external???

Could you post what kind of graphics card you have, what you use to configure the displays.

Revision history for this message
Michael Cook (michaelcook-mjc) wrote :

I have a similar issue where sometimes when I come back to my W510 thinkpad laptop (nouveau drivers, U10.10) I see a black screen with a mouse icon. There is no screen-saver lockout screen. System is functional but cannot use screen. This happens about once a week and is very annoying. Let me know if there is any log I can capture. I noticed Xorg is at 100% CPU when this happens.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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