From: Egbert Eich Date: Mon May 16 21:22:31 2016 +0200 Subject: [PATCH]Disable HW Cursor for cirrus and mgag200 kernel modules. Patch-mainline: N/A Git-commit: 265e92915c8182369a50c89f9ca0d36b9baab8b6 References: boo#980124 Signed-off-by: Egbert Eich Signed-off-by: Egbert Eich --- hw/xfree86/drivers/modesetting/driver.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c index 8f60eae..a81efaf 100644 --- a/hw/xfree86/drivers/modesetting/driver.c +++ b/hw/xfree86/drivers/modesetting/driver.c @@ -858,6 +858,17 @@ PreInit(ScrnInfoPtr pScrn, int flags) if (xf86ReturnOptValBool(ms->drmmode.Options, OPTION_SW_CURSOR, FALSE)) { ms->drmmode.sw_cursor = TRUE; + } else { + /* hw cursor still considered broken on cirrus */ + drmVersionPtr drm_version = drmGetVersion(ms->fd); + if (drm_version) { + if (strncmp("cirrus", drm_version->name, + min(7,drm_version->name_len)) == 0 || + strncmp("mgag200", drm_version->name, + min(8,drm_version->name_len)) == 0) + ms->drmmode.sw_cursor = TRUE; + drmFreeVersion(drm_version); + } } ms->cursor_width = 64;