[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