Hello again, Martin:
I cannot reproduce this, either, so to debug this issue your help is 
really appreciated.

Well, xscreensaver in demo mode or real (fullscreen) saver mode does *not* 
draw hacks on "root window" as reported by "xwininfo -root", rather 
xscreensaver creates a "virtual window" (as written on utils/vroot.h) and draw
hacks on the vroot. This information can be seen when you launch xscreensaver
daemon with "-verbose option" like:

xscreensaver: 20:37:16: 0: visual 0x21 (TrueColor,   depth: 24, cmap: 256)
xscreensaver: 20:37:16: 0: saver window is 0x1e001ab. 
<===========================
xscreensaver: 20:37:16: 0: destroyed old saver window 0x1e000aa.
xscreensaver: 20:37:16: 0: spawning "cwaves -root" in pid 16294.

Can you try below?
* launch xscreensaver like below from a terminal:
  $ xscreensaver -verbose -log xscreensaver_output_log
* lock the screen by $ xscreensaver-command -lock
* switch to CUI with CTRL-ALT-F1 (for example: well GUI screen is now locked,
  however I guess you can switch to CUI)
* login to VT
* gain the window id by watching the log xscreensaver is currently writing to 
like
  $ cat xscreensaver_output_log | grep window
* Now really gain the window information like
----------------------------------------------------------
$ env DISPLAY=:0.0 xwininfo 0x1e001ad

xwininfo: Window id: 0x1e001ad "Dali Clock"

  Absolute upper-left X:  0
  Absolute upper-left Y:  0
  Relative upper-left X:  0
  Relative upper-left Y:  0
  Width: 1600
  Height: 900
  Depth: 24
  Visual: 0x21
....
....
-------------------------------------------------------------
* Then try debugging "xscreensaver-getimage <root id> <root id> with gdb,
  with setting break point on XPutImage and _XError, and getting backtrace
  when xscreensaver-getimage reaches XPutImage or _XError function like:

--------------------------------------------------------------
$ gdb /usr/bin/xscreensaver-getimage
GNU gdb (GDB) Fedora (7.5.0.20120926-25.fc18)
......
......
Reading symbols from /usr/bin/xscreensaver-getimage...Reading symbols from 
/usr/lib/debug/usr/bin/xscreensaver-getimage.debug...done.
done.
(gdb) set env DISPLAY=:0.0
(gdb) break XPutImage
Breakpoint 1 at 0x8049e20
(gdb) break _XError
(gdb) run 0x1e001ad 0x1e001ad
Starting program: /usr/bin/xscreensaver-getimage 0x1e001ad 0x1e001ad
....
....

----
Breakpoint 1, XPutImage (dpy=0x806b300, d=d@entry=31457709, 
gc=gc@entry=0x807f470, image=0x8079898, req_xoffset=0, 
    req_yoffset=req_yoffset@entry=0, x=x@entry=200, y=y@entry=0, 
req_width=req_width@entry=256, req_height=req_height@entry=64)
    at PutImage.c:954
954     {
(gdb) bt full
.....
.....
(gdb) n
(gdb) whatis image
type = XImage *
(gdb) p *image
$2 = {width = 256, height = 64, xoffset = 0, format = 2, data = 0xb7f06008 "", 
byte_order = 1, bitmap_unit = 32, 
  bitmap_bit_order = 1, bitmap_pad = 32, depth = 24, bytes_per_line = 1024, 
bits_per_pixel = 32, red_mask = 16711680, 
  green_mask = 65280, blue_mask = 255, obdata = 0x0, f = {create_image = 
0x41a52120 <XCreateImage>, destroy_image = 
    0x41a51510 <_XDestroyImage>, get_pixel = 0x41a52720 <_XGetPixel32>, 
put_pixel = 0x41a52630 <_XPutPixel32>, sub_image = 
    0x41a52320 <_XSubImage>, add_pixel = 0x41a515e0 <_XAddPixel>}}
(gdb) cont
....

<Perhaps you hit _XError>
(gdb) bt full
----------------------------------------------------------

To get backtrace with gdb, you must use xscreensaver and GLib, GdkPixbuf 
compiled with debug information.

Well, maybe even with the above information I cannot figure out where is the 
problem, however
anyway your help is appreciated.

Regards,
Mamoru TASAKA


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to