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