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

David Mansfield spice at dm.cobite.com
Tue Jul 8 07:37:25 PDT 2014


On 07/08/2014 02:35 AM, Hans de Goede wrote:
> 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 ?

Which spec is being patched here?  I don't see that file in the git repo 
for xf86-video-qxl?

The parent commit to the above change is something I really would like 
to see make it's way into distributions ASAP (fixes repeatable xorg 
crash), but I didn't submit a patch for any spec file.

If an upstream release is not a possibility, can you point me to the 
spec you are patching?  Is it Fedora? RHEL?

-- 
Thanks,
David Mansfield
Cobite, INC.




More information about the Spice-devel mailing list