1
0

- Replace

N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch
  by
  N_Force-swcursor-for-KMS-drivers-without-hw-cursor-sup.patch:
  Only disable HW cursor for cirrus and mgag200. This should fix
  a regression introduced by using modesetting for Intel gen9+ 
  (boo#980124).

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=634
This commit is contained in:
Egbert Eich 2016-05-16 20:10:30 +00:00 committed by Git OBS Bridge
parent 72bdbcb628
commit 3e5005cdff
4 changed files with 47 additions and 21 deletions

View File

@ -0,0 +1,35 @@
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;

View File

@ -1,20 +0,0 @@
From b09233d2145363e9a5598818e7731b5fc06babfd Mon Sep 17 00:00:00 2001
From: Stefan Dirsch <sndirsch@suse.de>
Date: Mon, 16 Feb 2015 16:55:04 +0100
Subject: [PATCH] Force swcursor for KMS drivers without hw cursor support
hwcursor still considered broken on cirrus KMS (bnc#864141, bnc#866152)
--- xorg-server-1.18.0.orig/hw/xfree86/drivers/modesetting/driver.c 2015-11-10 14:24:35.978379000 +0100
+++ xorg-server-1.18.0/hw/xfree86/drivers/modesetting/driver.c 2015-11-10 14:58:55.846459000 +0100
@@ -855,9 +855,8 @@ PreInit(ScrnInfoPtr pScrn, int flags)
if (!xf86SetDefaultVisual(pScrn, -1))
return FALSE;
- if (xf86ReturnOptValBool(ms->drmmode.Options, OPTION_SW_CURSOR, FALSE)) {
- ms->drmmode.sw_cursor = TRUE;
- }
+ /* hw cursor still considered broken on cirrus */
+ ms->drmmode.sw_cursor = TRUE;
ms->cursor_width = 64;
ms->cursor_height = 64;

View File

@ -1,3 +1,14 @@
-------------------------------------------------------------------
Mon May 16 19:53:50 UTC 2016 - eich@suse.com
- Replace
N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch
by
N_Force-swcursor-for-KMS-drivers-without-hw-cursor-sup.patch:
Only disable HW cursor for cirrus and mgag200. This should fix
a regression introduced by using modesetting for Intel gen9+
(boo#980124).
-------------------------------------------------------------------
Sun May 8 22:11:49 UTC 2016 - eich@suse.com

View File

@ -190,7 +190,7 @@ Patch102: u_x86emu-include-order.patch
Patch104: u_xorg-server-xdmcp.patch
Patch112: u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch
Patch115: N_Force-swcursor-for-KMS-drivers-without-hw-cursor-sup.patch
Patch115: N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch
Patch117: xorg-x11-server-byte-order.patch