[PATCH xserver] xwayland: Pretend we support all transformations

Olivier Fourdan ofourdan at redhat.com
Mon Feb 6 11:05:35 UTC 2017


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

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

Pretend we support all rotations and transformations (as this may be set
via Wayland output protocol) so that the waylandsetup remains a valid
xrandr setup.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99663
Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
---
 hw/xwayland/xwayland-output.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/hw/xwayland/xwayland-output.c b/hw/xwayland/xwayland-output.c
index f3ce763..e923808 100644
--- a/hw/xwayland/xwayland-output.c
+++ b/hw/xwayland/xwayland-output.c
@@ -317,7 +317,20 @@ 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   | \
+                 RR_Rotate_90  | \
+                 RR_Rotate_180 | \
+                 RR_Rotate_270 | \
+                 RR_Reflect_X  | \
+                 RR_Reflect_Y;
+
+    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