[PATCH xserver v2] xwayland: Support RR_Rotate_0 in rrGetInfo()

Olivier Fourdan ofourdan at redhat.com
Mon Feb 6 12:18:06 UTC 2017


If the Wayland compositor sets a rotation on the output, Xwayland
translates the transformation as an xrandr rotation for the given
output.

However, if the rotation is not supported, this is not a valid setup
and xrandr will fail.

Make sure we support the default rotation (RR_Rotate_0) and use it in
the current config for rrGetInfo() so that the configuration remains a
valid xrandr setup.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99663
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
---
 v2: We don't need to support all rotatons and reflections, just one
     (RR_Rotate_0) and use it in the current config for rrGetInfo()

 hw/xwayland/xwayland-output.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c
index f3ce763..51d5820 100644
--- a/hw/xwayland/xwayland-output.c
+++ b/hw/xwayland/xwayland-output.c
@@ -317,7 +317,15 @@ xwl_output_remove(struct xwl_output *xwl_output)
 static Bool
 xwl_randr_get_info(ScreenPtr pScreen, Rotation * rotations)
 {
-    *rotations = 0;
+    RRScreenSizePtr pSize;
+
+    *rotations = RR_Rotate_0;
+
+    pSize = RRRegisterSize(pScreen, pScreen->width,
+                                    pScreen->height,
+                                    pScreen->mmWidth,
+                                    pScreen->mmHeight);
+    RRSetCurrentConfig(pScreen, RR_Rotate_0, 0, pSize);
 
     return TRUE;
 }
-- 
2.9.3



More information about the xorg-devel mailing list