Sophie

Sophie

distrib > Mageia > 6 > armv7hl > media > core-updates-src > by-pkgid > 17f152671daddb92f40e2f84734415d4 > files > 22

x11-server-1.19.4-1.mga6.src.rpm

From: Egbert Eich <eich@suse.de>
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 <eich@suse.com>

Signed-off-by: Egbert Eich <eich@suse.de>
---
 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;