[Spice-devel] [PATCH linux vdagent] Don't abort if XRRSetCrtcConfig fails
Alon Levy
alevy at redhat.com
Mon Dec 23 05:39:21 PST 2013
On 12/19/2013 09:32 PM, Jonathon Jongsma wrote:
> No, the cause is not identified yet. Still debugging that. This patch just makes the vdagent more robust in the meantime.
>
using nomodeset fixes the problem for me (F19 guest from iso, upstream
with the qemu patch below to reproduce the problem without nomodeset),
so this is a kernel/X driver issue, still investigating.
diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index e4f172e..2ab45f1 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -972,6 +972,10 @@ static void
interface_set_client_capabilities(QXLInstance *sin,
qxl_send_events(qxl, QXL_INTERRUPT_CLIENT);
}
+#define DEBUG_AGENT_CLIENT_MONITORS_CONFIG
+
+#ifndef DEBUG_AGENT_CLIENT_MONITORS_CONFIG
+
static uint32_t qxl_crc32(const uint8_t *p, unsigned len)
{
/*
@@ -1045,6 +1049,7 @@ static int
interface_client_monitors_config(QXLInstance *sin,
qxl_send_events(qxl, QXL_INTERRUPT_CLIENT_MONITORS_CONFIG);
return 1;
}
+#endif // DEBUG_AGENT_CLIENT_MONITORS_CONFIG
static const QXLInterface qxl_interface = {
.base.type = SPICE_INTERFACE_QXL,
@@ -1068,7 +1073,11 @@ static const QXLInterface qxl_interface = {
.async_complete = interface_async_complete,
.update_area_complete = interface_update_area_complete,
.set_client_capabilities = interface_set_client_capabilities,
+#ifdef DEBUG_AGENT_CLIENT_MONITORS_CONFIG
+ .client_monitors_config = NULL,
+#else
.client_monitors_config = interface_client_monitors_config,
+#endif
};
static void qxl_enter_vga_mode(PCIQXLDevice *d)
>
>
> ----- Original Message -----
>> From: "Marc-André Lureau" <mlureau at redhat.com>
>> To: "Jonathon Jongsma" <jjongsma at redhat.com>
>> Cc: spice-devel at freedesktop.org
>> Sent: Thursday, December 19, 2013 1:25:18 PM
>> Subject: Re: [Spice-devel] [PATCH linux vdagent] Don't abort if XRRSetCrtcConfig fails
>>
>>
>>
>> ----- Original Message -----
>>> In certain configurations (Fedora 20 or RHEL7 guests on a RHEL6 host), this
>>> call
>>> fails, which cause the vdagent to abort. This patch prevents the crash,
>>> though
>>> arbitrary resizing is obviously still non-functional in this situation.
>>
>> Is the cause identified? I guess it would make sense to log a debug message
>> with some hints how to fix it.
>>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
>
More information about the Spice-devel
mailing list