* Re: VNC framebuffer block artefacts on qemu-kvm-0.12.1.1
2010-01-06 13:51 ` Marcelo Tosatti
@ 2010-01-06 15:36 ` Mark Cave-Ayland
2010-01-06 17:58 ` Anthony Liguori
2010-01-06 19:06 ` Anthony Liguori
2 siblings, 0 replies; 7+ messages in thread
From: Mark Cave-Ayland @ 2010-01-06 15:36 UTC (permalink / raw)
To: Marcelo Tosatti; +Cc: Anthony Liguori, Yaniv Kaul, kvm
Marcelo Tosatti wrote:
> Mark,
>
> Can you confirm that reverting commit
> 02c2b87fff97e77a1f6033fb09f53afa267c0c1e fixes the problem? (patch
> attached).
>
> Anthony: its reproducible with upstream/tcg.
Hi Marcelo,
Yes, this solves the problem for me - thanks a lot!
FWIW there is still another race condition in the VNC code somewhere.
Due to the bad weather in the UK today, I'm working remotely over an SSH
tunnel which seems to exacerbate the problem. What I see is that when
scrolling large windows in WinXP quickly, my VNC client disconnects from
the VGA framebuffer with messages like this:
CConn: Throughput 1131 kbit/s - changing to full colour
CConn: Using pixel format depth 24 (32bpp) little-endian rgb888
Rect too big: 7088x27 at 4123,40960 exceeds 800x600
main: Rect too big
CConn: Throughput 1093 kbit/s - changing to full colour
CConn: Using pixel format depth 24 (32bpp) little-endian rgb888
Rect too big: 30224x50704 at 50448,13840 exceeds 720x400
main: Rect too big
While I can always reconnect and continue where I left off, it can still
be quite annoying sometimes.
ATB,
Mark.
--
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
http://www.siriusit.co.uk
t: +44 870 608 0063
Sirius Labs: http://www.siriusit.co.uk/labs
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: VNC framebuffer block artefacts on qemu-kvm-0.12.1.1
2010-01-06 13:51 ` Marcelo Tosatti
2010-01-06 15:36 ` Mark Cave-Ayland
@ 2010-01-06 17:58 ` Anthony Liguori
2010-01-06 18:12 ` Marcelo Tosatti
2010-01-06 19:06 ` Anthony Liguori
2 siblings, 1 reply; 7+ messages in thread
From: Anthony Liguori @ 2010-01-06 17:58 UTC (permalink / raw)
To: Marcelo Tosatti; +Cc: Mark Cave-Ayland, Anthony Liguori, Yaniv Kaul, kvm
On 01/06/2010 07:51 AM, Marcelo Tosatti wrote:
> On Tue, Jan 05, 2010 at 04:11:26PM +0000, Mark Cave-Ayland wrote:
>
>> Hi all,
>>
>> Having just upgraded from kvm-85 to qemu-kvm-0.12.1.1 on one of our
>> servers, I've noticed that I am seeing block artefacts when connecting
>> using VNC to the graphical VGA console of a WinXP guest.
>>
>> Looking at the VNC output, what I am seeing is that instead of updating
>> some parts of the screen which require a redraw, they are just being
>> replaced by light grey blocks of around 16x16 pixels. Generally, but not
>> always, several of these blocks appear in a row. Moving the mouse over
>> the relevant sections of the screen causes them to be redrawn correctly.
>>
>> I've tried this using both the cirrus and vga drivers, switching between
>> 16/24/32 bit colour and also different resolutions and unfortunately the
>> effect still remains :( Is there anything else I can do to help try and
>> debug this? Again this is on an x86_64 Debian Lenny host with a 2.6.32.2
>> kernel on Intel.
>>
> Mark,
>
> Can you confirm that reverting commit
> 02c2b87fff97e77a1f6033fb09f53afa267c0c1e fixes the problem? (patch
> attached).
>
> Anthony: its reproducible with upstream/tcg.
Which vnc client is this?
Regards,
Anthony Liguori
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: VNC framebuffer block artefacts on qemu-kvm-0.12.1.1
2010-01-06 17:58 ` Anthony Liguori
@ 2010-01-06 18:12 ` Marcelo Tosatti
0 siblings, 0 replies; 7+ messages in thread
From: Marcelo Tosatti @ 2010-01-06 18:12 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Mark Cave-Ayland, Anthony Liguori, Yaniv Kaul, kvm
On Wed, Jan 06, 2010 at 11:58:14AM -0600, Anthony Liguori wrote:
> On 01/06/2010 07:51 AM, Marcelo Tosatti wrote:
>> On Tue, Jan 05, 2010 at 04:11:26PM +0000, Mark Cave-Ayland wrote:
>>
>>> Hi all,
>>>
>>> Having just upgraded from kvm-85 to qemu-kvm-0.12.1.1 on one of our
>>> servers, I've noticed that I am seeing block artefacts when connecting
>>> using VNC to the graphical VGA console of a WinXP guest.
>>>
>>> Looking at the VNC output, what I am seeing is that instead of updating
>>> some parts of the screen which require a redraw, they are just being
>>> replaced by light grey blocks of around 16x16 pixels. Generally, but not
>>> always, several of these blocks appear in a row. Moving the mouse over
>>> the relevant sections of the screen causes them to be redrawn correctly.
>>>
>>> I've tried this using both the cirrus and vga drivers, switching between
>>> 16/24/32 bit colour and also different resolutions and unfortunately the
>>> effect still remains :( Is there anything else I can do to help try and
>>> debug this? Again this is on an x86_64 Debian Lenny host with a 2.6.32.2
>>> kernel on Intel.
>>>
>> Mark,
>>
>> Can you confirm that reverting commit
>> 02c2b87fff97e77a1f6033fb09f53afa267c0c1e fixes the problem? (patch
>> attached).
>>
>> Anthony: its reproducible with upstream/tcg.
>
> Which vnc client is this?
vncviewer and vinagre.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: VNC framebuffer block artefacts on qemu-kvm-0.12.1.1
2010-01-06 13:51 ` Marcelo Tosatti
2010-01-06 15:36 ` Mark Cave-Ayland
2010-01-06 17:58 ` Anthony Liguori
@ 2010-01-06 19:06 ` Anthony Liguori
2010-01-06 22:21 ` Mark Cave-Ayland
2 siblings, 1 reply; 7+ messages in thread
From: Anthony Liguori @ 2010-01-06 19:06 UTC (permalink / raw)
To: Marcelo Tosatti; +Cc: Mark Cave-Ayland, Anthony Liguori, Yaniv Kaul, kvm
On 01/06/2010 07:51 AM, Marcelo Tosatti wrote:
> On Tue, Jan 05, 2010 at 04:11:26PM +0000, Mark Cave-Ayland wrote:
>
>> Hi all,
>>
>> Having just upgraded from kvm-85 to qemu-kvm-0.12.1.1 on one of our
>> servers, I've noticed that I am seeing block artefacts when connecting
>> using VNC to the graphical VGA console of a WinXP guest.
>>
>> Looking at the VNC output, what I am seeing is that instead of updating
>> some parts of the screen which require a redraw, they are just being
>> replaced by light grey blocks of around 16x16 pixels. Generally, but not
>> always, several of these blocks appear in a row. Moving the mouse over
>> the relevant sections of the screen causes them to be redrawn correctly.
>>
>> I've tried this using both the cirrus and vga drivers, switching between
>> 16/24/32 bit colour and also different resolutions and unfortunately the
>> effect still remains :( Is there anything else I can do to help try and
>> debug this? Again this is on an x86_64 Debian Lenny host with a 2.6.32.2
>> kernel on Intel.
>>
> Mark,
>
> Can you confirm that reverting commit
> 02c2b87fff97e77a1f6033fb09f53afa267c0c1e fixes the problem? (patch
> attached).
>
> Anthony: its reproducible with upstream/tcg.
What about just adding back this bit:
@@ -165,6 +165,8 @@ static void CONCAT(send_hextile_tile_, NAME)(VncState *vs,
irow += ds_get_linesize(vs->ds) / sizeof(pixel_t);
}
+ /* A SubrectsColoured subtile invalidates the foreground color */
+ *has_fg = 0;
if (n_data> (w * h * sizeof(pixel_t))) {
n_colors = 4;
flags = 0x01;
I think I can rationalize why that would be needed.
Regards,
Anthony Liguori
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: VNC framebuffer block artefacts on qemu-kvm-0.12.1.1
2010-01-06 19:06 ` Anthony Liguori
@ 2010-01-06 22:21 ` Mark Cave-Ayland
0 siblings, 0 replies; 7+ messages in thread
From: Mark Cave-Ayland @ 2010-01-06 22:21 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Marcelo Tosatti, Anthony Liguori, Yaniv Kaul, kvm
Anthony Liguori wrote:
> What about just adding back this bit:
>
> @@ -165,6 +165,8 @@ static void CONCAT(send_hextile_tile_,
> NAME)(VncState *vs,
> irow += ds_get_linesize(vs->ds) / sizeof(pixel_t);
> }
>
> + /* A SubrectsColoured subtile invalidates the foreground color */
> + *has_fg = 0;
> if (n_data> (w * h * sizeof(pixel_t))) {
> n_colors = 4;
> flags = 0x01;
>
> I think I can rationalize why that would be needed.
Hi Anthony,
I've done a rebuild with just the above part of the patch applied, and I
can confirm that indeed it resolves the problem on my WinXP guest here.
Many thanks,
Mark.
--
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
http://www.siriusit.co.uk
t: +44 870 608 0063
Sirius Labs: http://www.siriusit.co.uk/labs
^ permalink raw reply [flat|nested] 7+ messages in thread