[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