From 44e1c97ca6fe992bbb6ef9ecb0b82a113adfa57e Mon Sep 17 00:00:00 2001 From: Olivier Fourdan Date: Mon, 21 Mar 2016 09:53:17 +0100 Subject: [PATCH] xwayland: Pretend we support viewport in vidmode 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 Reviewed-by: Hans de Goede --- 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 6d70e39e6..0bcd11401 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