[Spice-devel] [xorg-x11-drv-qxl] add fix for invisible cursor after resize (#1116870)
Hans de Goede
hdegoede at redhat.com
Mon Jul 7 23:35:16 PDT 2014
Hi,
On 07/07/2014 06:34 PM, Marc-André Lureau wrote:
> 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
> +
> +
Hmm 14 patches and not a new upstream release for 9 months, maybe it is
time for a new upstream release ?
Regards,
Hans
More information about the Spice-devel
mailing list