Ugh. Try adding XSynchronize (s->dpy, True); to xscreensaver_window_realize around line 4958, just after s->dpy = gdk_x11_get_default_xdisplay();
It's possible that that won't be early enough to catch it... If not, maybe this in xscreensaver_window_init -- XSynchronize (gdk_x11_get_default_xdisplay(), True); Wayland isn't involved here, is it? xscreensaver-settings should have printed warnings if so. -- Jamie Zawinski • jwz.org • dnalounge.com