xwayland: Disable the MIT-SCREEN-SAVER extension when rootless
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 <ofourdan@redhat.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 5c20e4b834
)
This commit is contained in:
parent
23c55ec329
commit
3059a2e62a
|
@ -1130,6 +1130,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], "-wm") == 0) {
|
||||
xwl_screen->wm_fd = atoi(argv[i + 1]);
|
||||
|
|
Loading…
Reference in New Issue