[xorg-x11-drv-qxl] add fix for invisible cursor after resize (#1116870)

Marc-André Lureau elmarco at fedoraproject.org
Mon Jul 7 16:34:49 UTC 2014


commit 4a7b1661823eb94a7458941885e5edd4cb07ec32
Author: Marc-André Lureau <marcandre.lureau at gmail.com>
Date:   Mon Jul 7 18:28:27 2014 +0200

    add fix for invisible cursor after resize (#1116870)

 ...rm-restore-cursor-after-resolution-change.patch |   45 ++++++++++++++++++++
 xorg-x11-drv-qxl.spec                              |   11 ++++-
 2 files changed, 54 insertions(+), 2 deletions(-)
---
diff --git a/0014-drm-restore-cursor-after-resolution-change.patch b/0014-drm-restore-cursor-after-resolution-change.patch
new file mode 100644
index 0000000..8f2eb06
--- /dev/null
+++ b/0014-drm-restore-cursor-after-resolution-change.patch
@@ -0,0 +1,45 @@
+From fe39d1621efec234864ad32690d9eeb10aa7444e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau at gmail.com>
+Date: Wed, 2 Jul 2014 12:13:33 +0200
+Subject: [PATCH xf86-qxl] drm: restore cursor after resolution change
+
+The Spice server & qemu reset the cursor state when
+changing resolution. Although X does restore the
+cursor on framebuffer changes, it doesn't for crtc
+config. Restoring the cursor here is the simplest
+way to solve the "invisible cursor" after resolution
+change bug with DRM driver.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1030531
+---
+ src/qxl_drmmode.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/qxl_drmmode.c b/src/qxl_drmmode.c
+index af4b22d..f9eca5f 100644
+--- a/src/qxl_drmmode.c
++++ b/src/qxl_drmmode.c
+@@ -47,6 +47,9 @@
+ 
+ #include "qxl.h"
+ #include "qxl_surface.h"
++
++static void drmmode_show_cursor (xf86CrtcPtr crtc);
++
+ static void
+ drmmode_ConvertFromKMode(ScrnInfoPtr	scrn,
+ 		     drmModeModeInfo *kmode,
+@@ -248,6 +251,10 @@ done:
+ 		crtc->active = TRUE;
+ #endif
+ 
++        CursorPtr cursor = xf86_config->cursor;
++        if (cursor)
++            drmmode_show_cursor(crtc);
++
+ 	return ret;
+ }
+ 
+-- 
+1.9.3
+
diff --git a/xorg-x11-drv-qxl.spec b/xorg-x11-drv-qxl.spec
index 21f4960..4e8868a 100644
--- a/xorg-x11-drv-qxl.spec
+++ b/xorg-x11-drv-qxl.spec
@@ -22,7 +22,7 @@ Name:      xorg-x11-drv-qxl
 
 Version:   0.1.1
 
-Release:   11%{?gver}%{?dist}
+Release:   12%{?gver}%{?dist}
 URL:       http://www.x.org
 Source0:   http://xorg.freedesktop.org/releases/individual/driver/%{tarball}-%{version}.tar.bz2
 
@@ -47,6 +47,9 @@ Patch11:           0001-Add-support-for-XSERVER_PLATFORM_BUS.patch
 Patch12:           0002-Fix-qxl_driver_func-to-adhere-to-the-API.patch
 Patch13:           0003-Add-support-for-server-managed-fds.patch
 
+Patch14: 0014-drm-restore-cursor-after-resolution-change.patch
+
+
 # Support for old revision 1 qxl device (which won't go upstream)
 # These aren't currently being applied, because they're not compatible with
 # xserver 1.15.  They could be if someone wanted, but it's been 2.5 years,
@@ -75,7 +78,7 @@ BuildRequires: libudev-devel
 Requires: Xorg %(xserver-sdk-abi-requires ansic)
 Requires: Xorg %(xserver-sdk-abi-requires videodrv)
 
-%description 
+%description
 X.Org X11 qxl video driver.
 
 %if %{with_xspice}
@@ -105,6 +108,7 @@ XSpice is both an X and a Spice server.
 %patch11 -p1
 %patch12 -p1
 %patch13 -p1
+%patch14 -p1
 
 %build
 autoreconf -f -i
@@ -150,6 +154,9 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/X11/spiceqxl.xorg.conf
 
 
 %changelog
+* Mon Jul  7 2014 Marc-André Lureau <marcandre.lureau at redhat.com> 0.1.1-12
+- add fix for invisible cursor after resize (#1116870)
+
 * Mon Jun 16 2014 Hans de Goede <hdegoede at redhat.com> - 0.1.1-11
 - xserver 1.15.99.903 ABI rebuild
 


More information about the scm-commits mailing list