Also, kvm has some nice features that AFAIK virtual box does not have. For example you can have gnu/linux and windows guests use the balloon memory driver, that basically allocates and deallocates memory from the host system. Imagine having a guest vm where you can say "this vm should have 2GB ram, but it might burst up to 24GB if needed, and then go back to 2GB when the need is satisfied". Can't do that with VBox (AFAIK - and it works on windows too!)
Regarding sound, if you are virtualizing windows, imho you're better off connecting via rdp (avoid remmina, use rdesktop) and using local speakers as audio output.
It is possible, but when it works and works well, which is not always the case. In addition, one may have to lock the card for usage with the guest only, since drivers may not be compatible with intermittent (=on/off) vfio usage.
I've had mixed experiences, depending on the hardware. my current system is 100% stable, however, I don use the card on the host (it causes instability). My previous system worked badly, and it was essentially not usable.
Which implies a special-build system to play some odd Windows games ocassionally, akin to building an Hackintosh. For my use case it's a definitive overkill :D
> ...do pci-passthrough and let the guest system have nearly-full access to that graphic card with nearly full performances.
Again which requires a CPU and system which supports vT-d (in intel jargon), which is the only feature which my 3770K doesn't support :D
VirtualBox supports memory balooning. The interface is same with VirtIO's ballooning drivers AFAIK. The commands can be found in [0].
Since I want to virtualize Windows to play my simpler games only, rdp is not a very attractive choice. Using local speakers and sound virtualization is alright. I don't want crystal clear, high end sound. However, I'm not aware of the support level.
I've been using it in my KVM PCI passthrough VM for some months and it works well.
How is the state of KVM's support about 3D acceleration, sound, drag'n drop and like?