[PATCH xserver v2] xwayland: Pretend we support viewport in vidmode

Olivier Fourdan ofourdan at redhat.com
Mon Mar 21 08:53:17 UTC 2016


Some games (namely openttd) will raise an XError and fail with a
BadValue if their request to XF86VidModeSetViewPort fails.

Support only the default zoom and viewport, fail for everything else.

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
---
 v2: Support only the default zoom and viewport.

 hw/xwayland/xwayland-vidmode.c | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/hw/xwayland/xwayland-vidmode.c b/hw/xwayland/xwayland-vidmode.c
index 6d70e39..0bcd114 100644
--- a/hw/xwayland/xwayland-vidmode.c
+++ b/hw/xwayland/xwayland-vidmode.c
@@ -208,15 +208,26 @@ xwlVidModeDeleteModeline(ScreenPtr pScreen, DisplayModePtr mode)
 static Bool
 xwlVidModeZoomViewport(ScreenPtr pScreen, int zoom)
 {
-    /* Unsupported for now */
-    return FALSE;
+    /* Support only no zoom */
+    return (zoom == 1);
 }
 
 static Bool
 xwlVidModeSetViewPort(ScreenPtr pScreen, int x, int y)
 {
-    /* Unsupported for now */
-    return FALSE;
+    RROutputPtr output;
+    RRCrtcPtr crtc;
+
+    output = RRFirstOutput(pScreen);
+    if (output == NULL)
+        return FALSE;
+
+    crtc = output->crtc;
+    if (crtc == NULL)
+        return FALSE;
+
+    /* Support only default viewport */
+    return (x == crtc->x && y == crtc->y);
 }
 
 static Bool
-- 
2.5.0



More information about the xorg-devel mailing list