From 3e5005cdffbbbcf2b7280b8100e342c02d41c6e1163263973b9066e2e11cb7fb Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Mon, 16 May 2016 20:10:30 +0000 Subject: [PATCH] - 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 --- ...or-cirrus-and-mgag200-kernel-modules.patch | 35 +++++++++++++++++++ ...or-KMS-drivers-without-hw-cursor-sup.patch | 20 ----------- xorg-x11-server.changes | 11 ++++++ xorg-x11-server.spec | 2 +- 4 files changed, 47 insertions(+), 21 deletions(-) create mode 100644 N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch delete mode 100644 N_Force-swcursor-for-KMS-drivers-without-hw-cursor-sup.patch diff --git a/N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch b/N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch new file mode 100644 index 0000000..d3626c9 --- /dev/null +++ b/N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch @@ -0,0 +1,35 @@ +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; diff --git a/N_Force-swcursor-for-KMS-drivers-without-hw-cursor-sup.patch b/N_Force-swcursor-for-KMS-drivers-without-hw-cursor-sup.patch deleted file mode 100644 index 376418c..0000000 --- a/N_Force-swcursor-for-KMS-drivers-without-hw-cursor-sup.patch +++ /dev/null @@ -1,20 +0,0 @@ -From b09233d2145363e9a5598818e7731b5fc06babfd Mon Sep 17 00:00:00 2001 -From: Stefan Dirsch -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; diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index 8e5795a..b1898c5 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -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 diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index bbe9b72..dff004f 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -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