[Spice-devel] No hardware acceleration on win7

David Jaša djasa at redhat.com
Thu Oct 11 05:17:10 PDT 2012


Tom Wijmenga píše v Čt 11. 10. 2012 v 08:56 +0200:
> Hi there,
> 
>  
> 
> After installing Spice on Ubuntu Quantal Quetzal and setting up a Win7
> host with the QXL drivers (which are found correctly), things aren’t
> working as they should. The performance of the graphical layer isn’t
> optimal. There are three issues I found:
> 
>  
> 
> ·        When stressing the VM by playing a full hd movie, the CPU of
> the guest OS tops at 100% and the performance is reduced massively
> 
> ·        I get quite a few warnings on the Hypervisor saying: 
> 
> (/usr/bin/kvm-spice:3756): Spice-Warning **:
> red_parse_qxl.c:406:red_get_image: guest error: missing palette on
> bitmap format=2
> 
> ·        When adding the Audio driver to the command line to run the
> guest, video performance of the guest is completely gone when
> stressing it by playing  any kind of video. The audio is working
> correctly, but the video performance is drastically reduces. The
> command for this: kvm-spice … -device
> AC97,id=sound0,bus=pci.0,addr=0x5
> 
>  
> 
> The command I use to start the Windows 7 guest: kvm-spice -cpu host
> -name win-7 -enable-kvm -m 3000 -M pc-1.2 -net
> nic,macaddr=DE:AD:BE:EF:95:D0 -net tap,script=/etc/qemu-ifup -usb
> -drive file=/var/vmmachines/win-7.img 

Do I see correctly that you don't use virtio interface for the disk or
NIC? That could contribute to the sluggishness of your video experience,
because IDE (if you play from disk) or rtl8139/e1000 emulation (if you
play from network) can eat non-negligible amount of CPU cycles.

> -vga qxl -spice port=5901,disable-ticketing
> 
>  
> 
> I used Ubuntu 12.10 server (Beta 2) as hypervisor, the server is able
> to support hardware acceleration.

Spice doesn't support hardware acceleration so that won't help you. The
HD video on HD scren is actually probably most CPU-intensive thing you
can do with spice VMs because the flow is like this:
     1. you get the video stream or file from somewhere (which can take
        its share of CPU cycles as explained above)
     2. your VM has to decode the video
     3. your VM has to scale the video to screen size (only if video
        pixel doesn't match screen pixel 1:1 of course)
     4. spice-server takes video frames and encodes them to the mjpeg
        stream
     5. client decodes the stream and may scale it again

As you can see, there's quite some room for improvement but the work
involved is quite big (because most-straightforward way to defer video
scaling to the client - emulating video overlay such as xv - won't help
you for flash and html5 videos, you'd have to emulate OpenGL and/or
VDPAU) so don't expect this to change anytime soon.

David

>  To install all tools, I ran apt-get install qemu-kvm-spice
> 
> QEMU emulator version 1.2.0
> 
>  
> 
> I’m basically stuck with proving the capabilities of SPICE, which I
> know are amazing, but I can’t get it to work properly.
> 
>  
> 
> Kind regards, 
> 
> Tom 
> 
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel

-- 

David Jaša, RHCE

SPICE QE based in Brno
GPG Key:     22C33E24 
Fingerprint: 513A 060B D1B4 2A72 7F0D 0278 B125 CD00 22C3 3E24





More information about the Spice-devel mailing list