On Wed, Jun 15, 2011 at 09:35:57PM +0100, Damien Churchill wrote:
> On 15 June 2011 21:11, --[ UxBoD ]-- <ux...@splatnix.net> wrote:
> > ----- Original Message -----
> >> Hello, all.  We have recently jumped into SPICE with both hands and
> >> feet
> >> as we are intrigued with the possibilities.  But, we've hit a few
> >> rocks
> >> along the way!
> >>
> >> The immediate problems with our two test Windows installations
> >> (Windows7
> >> and Windows Server 2008 running as KVM guests in Fedora 15) using the
> >> QXL driver is that the pixel depth appears to be 4-bits, the only
> >> available resolutions are 640x480 and 800x600, and the mouse is
> >> unusably
> >> lagged.
> >>
> >> Here are the details.
> >>
> >> Spice client compiled from
> >> http://www.spice-space.org/download/releases/spice-0.8.1.tar.bz2 on
> >> Debian Squeeze.
> >>
> >> I believe the Windows QXL driver and vdagent were compiled from the
> >> same.  Phil, could you please confirm that.
> >>
> >> KVM is from Fedora 15 yum repositories.
> >>
> >> Our first attempt on Windows 7 yielded a screen with appropriate
> >> pixel
> >> depth and quite responsive video however the mouse was nearly
> >> unusable.
> >> We checked the video driver and it appeared to be using VGA rather
> >> than
> >> QXL despite:
> >>     'spicevmc'>
> >>       'virtio' name='com.redhat.spice.0'/>
> >>
> >>
> >>     'tablet' bus='usb'/>
> >>     'mouse' bus='ps2'/>
> >>     'spice' port='5800' tlsPort='5801' autoport='no'
> >>     listen='0.0.0.0'/>
> >>
> >>       'qxl' vram='65536' heads='1'/>
> >>       'pci' domain='0x0000' bus='0x00' slot='0x02'
> >>       function='0x0'/>
> >>
> >>
> >> This seemed to be due to the QXL driver being unsigned.  We next put
> >> up
> >> a Windows Server 2008 wondering if the mouse problem was a Windows 7
> >> issue.  We were able to test sign the driver.  Anticipating splendid
> >> success, we were deeply disappointed when we still had not only the
> >> mouse problem but now saw the pixel depth and resolution problem.
> >>
> >> We then test signed the QXL driver on Windows 7 and, lo and behold,
> >> the
> >> same pixel depth and resolution issues appeared now that we were
> >> indeed
> >> using the QXL driver.
> >>
> >> What did we do wrong? We would dearly love for this to work and we
> >> are
> >> sure it must be working for someone if it is being used in
> >> production.
> >> Thanks - John
> >>
> >
> > John,
> >
> > Alon (Redhat Dev) has a patch for QEMU which should hopefully fix the 4bpp 
> > issue but the binary and necessary libraries he sent me would not run 
> > successfully on our server. It was execute and then hang and eventually 
> > time out. Perhaps, as discussed, we could build from source though I wonder 
> > why that patch has not been fully committed yet?
> > --
> 
> Is the patch available to try anywhere? I'd like to give it a test and
> see what happens.

attached.

> _______________________________________________
> Spice-devel mailing list
> Spice-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
>From bb5dcb1b7eded3d358aab8bb75d6a7ab987cab31 Mon Sep 17 00:00:00 2001
From: Alon Levy <al...@redhat.com>
Date: Wed, 25 May 2011 16:40:44 +0300
Subject: [PATCH] vga: VBE: report maximum VGA_MEM_SIZE memory

When using -vga qxl the amount reported is minimally 32 MiB, making windows
guests come up in a 16 color mode. With this change they work correctly, coming
up with the full range of VBE supported modes.

This patch changes just the reported memory size by VBE
(VBE_DISPI_INDEX_VIDEO_MEMORY_64K) and not the actual vram_size like my
previous try.
---
 hw/vga.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/hw/vga.c b/hw/vga.c
index d5bc582..499042a 100644
--- a/hw/vga.c
+++ b/hw/vga.c
@@ -545,7 +545,11 @@ static uint32_t vbe_ioport_read_data(void *opaque, 
uint32_t addr)
             val = s->vbe_regs[s->vbe_index];
         }
     } else if (s->vbe_index == VBE_DISPI_INDEX_VIDEO_MEMORY_64K) {
-        val = s->vram_size / (64 * 1024);
+       /*
+        * windows xp guests don't like larger then VGA_RAM_SIZE (8 MiB),
+        * wrongly setting the display to 4 bit color depth.
+        */
+        val = MIN(VGA_RAM_SIZE, s->vram_size) / (64 * 1024);
     } else {
         val = 0;
     }
-- 
1.7.5.2

_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to