From 5c20e4b834145f590c68dbc98e33c7d3d710001a Mon Sep 17 00:00:00 2001 From: Olivier Fourdan Date: Wed, 3 Jun 2020 10:17:13 +0200 Subject: [PATCH] xwayland: Disable the MIT-SCREEN-SAVER extension when rootless MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Xwayland is just a Wayland client, no X11 screensaver should be expected to work reliably on Xwayland when running rootless because Xwayland cannot grab the input devices so it has no way to actually lock the screen managed by the Wayland compositor. Turn off the screensaver on Xwayland when running rootless by setting the screensaver timeout and interval and their default values to zero and disable the MIT-SCREEN-SAVER extension. Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1051 Signed-off-by: Olivier Fourdan Reviewed-by: Michel Dänzer Reviewed-by: Peter Hutterer --- hw/xwayland/xwayland-screen.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hw/xwayland/xwayland-screen.c b/hw/xwayland/xwayland-screen.c index d248a3901..92643c0ed 100644 --- a/hw/xwayland/xwayland-screen.c +++ b/hw/xwayland/xwayland-screen.c @@ -575,6 +575,19 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv) for (i = 1; i < argc; i++) { if (strcmp(argv[i], "-rootless") == 0) { xwl_screen->rootless = 1; + + /* Disable the XSS extension on Xwayland rootless. + * + * Xwayland is just a Wayland client, no X11 screensaver + * should be expected to work reliably on Xwayland rootless. + */ +#ifdef SCREENSAVER + noScreenSaverExtension = TRUE; +#endif + ScreenSaverTime = 0; + ScreenSaverInterval = 0; + defaultScreenSaverTime = 0; + defaultScreenSaverInterval = 0; } else if (strcmp(argv[i], "-shm") == 0) { xwl_screen->glamor = 0;