Seamless Virtualization (or, the new “Coherence Mode”)
For a while now, despite the fact that I’m not a fan of Mac OS X, there’s been one thing I’ve been envious of. Parallels Desktop… or more specifically, its Coherence Mode. Parallels is a virtualization server that allows you to run one OS in another. That alone isn’t very special. There’s tons of programs that can do that in linux, like VMWare, VirtualBox, KVM and of course QEMU. The special thing that the Mac OS X version of Parallels has is coherence mode. This mode allows you to not show the entire Windows desktop. You can view individual windows as just windows, so it is as if they are running natively under Mac OS X. This is an excellent feature that makes virtualization even easier and quicker (less processing of unused desktop space and windows). Parallels has said for a while that they’ll update their linux version to add coherence mode, but it doesn’t seem like they will do so anytime soon.
Fortunately, that no longer matters. With a little trickery of QEMU, the kvm paravirtualization drivers in the latest linux kernel (2.6.20 as of this writing), and a little program called rdesktop, linux can do the same. The Ubuntu Wiki details setting up Windows XP in QEMU (for the creation of the virtual machine) and then setting up rdesktop (for the creation of our very own “coherence mode”). It must be noted that these walkthroughs on the Ubuntu Wiki are designed for Ubuntu 7.04 only, because it is the first version to include kernel 2.6.20 and its paravirtualization support.
I can’t say yet how well it works, but I plan to set this up once my projects are over next week and I’m “studying” for exams. I’ll report back on how it went.