xserver: Branch 'master'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jan 12 14:38:20 UTC 2023


 hw/xwayland/xwayland-output.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 0abb5770750e54566d3ce14a3be9dbf15bb578ba
Author: Joshua Ashton <joshua at froggi.es>
Date:   Thu Dec 29 08:05:19 2022 +0000

    xwayland: Don't expose XRandR emulated modes for leaseable displays
    
    Leasable displays do not have any actual associated Wayland output and
    are not available to regular X11 clients and left entirely to the
    application who requests the lease.
    
    As these are not actually managed by the Wayland compositor and left
    entirely to the "lessee" application, the viewporter protocol required
    for the XRandR emulation is not usable on such devices.
    
    We should therefore not advertise the XRandR emulated modes for those
    leasable displays.
    
    This also solves a problem with implementations of glXGetMscRateOML()
    which is used notably by Chromium/Electron. Applications using this
    which will begin lagging/stuttering exponentially over
    time, trying to look up a non-existent mode with 0x0 as returned by
    XF86VidModeGetModeLine() with XRandR emulation for such devices.
    
    See-also: https://github.com/labwc/labwc/issues/553
    Signed-off-by: Joshua Ashton <joshua at froggi.es>

diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c
index 9109145ab..7a9352f58 100644
--- a/hw/xwayland/xwayland-output.c
+++ b/hw/xwayland/xwayland-output.c
@@ -224,8 +224,8 @@ xwl_output_get_emulated_mode_for_client(struct xwl_output *xwl_output,
     if (!xwl_output)
         return NULL;
 
-    /* We don't do XRandr emulation when rootful */
-    if (!xwl_output->xwl_screen->rootless)
+    /* We don't do XRandr emulation when rootful or a fake lease display */
+    if (!xwl_output->xwl_screen->rootless || !xwl_output->output)
         return NULL;
 
     for (i = 0; i < XWL_CLIENT_MAX_EMULATED_MODES; i++) {


More information about the xorg-commit mailing list