Fedora: virt-manager with SPICE support coming in Fedora 15
I've been keeping up with the virtualization related developments in the upcoming Fedora 15... but even if I weren't... Fedora offers a fedora-virt-preview repository that makes it easy to ckeck out the new stuff on Fedora 14.
Adding SPICE support to virt-manager is one of the upcoming features in Fedora 15 and as of 2011-03-28 it appears to be 100% done. I decided to use the fedora-virt-preview repository to check it out on my Fedora 14 workstation.
If you aren't familiar with virt-manager, it is the default GUI-based management application for virtual machines on Fedora and Red Hat Enterprise Linux... as well as a few other distros. virt-manager uses libvirt so it can support a number of virtual machine types but it is primarily used for KVM and Xen. I use it with KVM and KVM is the only virtualization product that offers SPICE support currently.
Then I deleted the existing VNC-based Graphics device and added a SPICE server. There are a number of different SPICE related options... what port to run it on... whether only the local machine can access it or if it is accessible remotely... use a password or not. There is a setting for SSL port but I'm not sure if that is actually operational... as I have not figured out the SSL stuff yet.
In virt-manager's preferences they have added a toggle for the default graphic device, either VNC or SPICE. Of course you can always delete one and add the other if the default isn't what you wanted.
Not just VNC anymore
Not only have they added the ability to configure your KVM VM to use SPICE but they have also updated virt-manager so it can be used as a SPICE display client. Previously it could only display your VM if you were using VNC but now SPICE display is built-in. Client hotkey support in virt-manager is actually superior to the spicec client that is currently offered... since virt-manager offers a Send Key dropdown menu with entries like Ctrl+Alt+Backspace, Ctrl+Alt+Delete, and Ctrl+Alt+F1 through Cntr+Alt+F12. To the best of my knowledge the spicec client only offers Shift+F11 for full screen toogle and one other hotkey I'm having trouble remembering.
I've used both the spicec client and the new virt-manager to connect to local and remote SPICEy VMs. They perform the same so far as I can tell.
How well does SPICE work? All but one of my VMs are using the SPICE specific QXL video driver. The only Linux distro I've tried so far is Fedora 14. For Microsoft Windows OSes, I have one Windows XP Pro VM and one Windows 7 Pro VM. I had to manually install all of the virtio drivers as well as the QXL video driver in Windows whereas they were there and just worked in Linux. For some reason the Windows 7 VM won't let me change video drivers and says the stock VGA driver is the best driver for the device. Perhaps there is a trick around that but I haven't found it yet. Even with VGA rather than QXL, the Windows 7 VM is performing well with SPICE.
SPICE preforms quite nicely. Flash videos work fairly well but they can be little choppy sometimes. You can definitely feel the performance degrade as you increase the video resolution. Even at smaller resolutions, I don't recommend full-screen video. Sound works fairly well but it may occasionally stutter. Of all of the virtualization products I've tried over the years, KVM with SPICE works the best for multimedia. Of course I have a much more powerful machine these days than in the past so don't ask me for any benchmarks. SPICE seems relatively unchanged since I last took it for a spin (includes videos).
Sound recording actually worked for me inside of a Windows XP VM but I haven't tried it in any of the others yet. SPICE still currently lacks USB support and its performance I believe will be improved as it matures. How Qumranet was doing full-screen HD video with SPICE a couple of years ago is beyond me. Maybe they had licensed some third-party stuff to make that work and Red Hat had to let that go to release SPICE as open source. I don't know.... but as is... SPICE performs better than RDP and No Machine's NX.
I would definitely recommend KVM and SPICE to those with the required hardware to run it over Oracle's VirtualBox or any of the others... unless of course you need accelerated 3D. KVM / SPICE doesn't support accelerated 3D. I've heard a few other products do but I've not actually tried to use it so I don't know how well it works in practice. In any event, KVM / SPICE is definitely a good combination for distro hoppers now! :) Let it be known though, SPICE has not been optimized yet for WAN use but it works great over a LAN.
I've actually put this stuff to good use already for a Systems Administration class I'm teaching. I've created 17 virtual machines on one physical host (a relatively beefy HP Proliant DL380 with dual-quadcore CPUs and 32GBs of RAM) and have assigned them to students who can access via SPICE over the LAN.
I noticed that the View -> Resize to VM doesn't work for SPICE VMs yet so one has to manually resize the window to fit but that is a relatively minor gripe.
One thing I'd like to see added to virt-manager is tabs. It would be nice to have the manager window offer tabs for the individual VMs for both configuration and graphical connections. Currently everything is a separate window. If they do end up adding tabs to a future release, I hope they allow the ability to tear them off into individual windows and add them back again if desired... because sometimes it is handy to have a separate window(s).
I'm really looking forward to Fedora 15!