Desktop virtualization: Linux inside Windows or Windows inside Linux?
Linux guest in Windows host or Windows guest in Linux host? The eternal question…
As a heavy user of several desktop and server-run personal applications which have to be run all the time on at least these two kinds of systems I never quite come to a definite conclusion which is better.
For example, I really like the responsiveness of Photoshop run natively on the Windows host, but I often find myself switched to a Linux guest for days straight with only occasional peeks back into Windows.
Some time ago the dilemma didn’t exist – I needed one particular host feature which was available on Windows only – hibernation. I used to power-off the workstation at the end of each day and resumed all my apps in the morning exactly as I left them. And Linux just wouldn’t allow me such a luxury.
As my workstation became more involved, I run it 24×7, so no more need in daily hibernation. (Although, I’ve heard Linux has advanced in this area lately.)
Another thing holding me back with the “Windows as host” configuration was DVB PCI card which I thought cannot be virtualized or otherwise “passthrough’ed” to a Windows guest.
Today I’ve discovered that the Linux KVM project has got some sort of “PCI Device Assignment” feature.
So the question once again pops open.
Yours is a relatively common dilemma. The stock answer is, “It depends upon what you want to do.” Of course, this is unsatisfactory, because our needs vary. That said, I am finding that more and more software is being developed for Windows and it seems that less and less is being developed for linux (or Mac OS X). For applications that benefit from Windows graphics and a real graphics card, it is best to run them natively on Windows. Often, linux software requires relatively modest graphics and would run well in virtualization. With that in mind, it could be better to use a Windows host and linux guest.
I agree, I often work in image, video and audio editing programs in which good UI feedback is key. So I naturally use Windows as host for this.
Still, sometimes those pieces of software give me stability troubles.
E.g. lately my photo editing software blanks out the entire desktop screen for the whole time of processing batches of RAW photos, effectively blocking my workstation for a good hour. I’d appreciate having that process isolated in a VM. I even thought I could tolerate it taking another hour to complete the batch due to virtualization overhead.
Another option, which I use, is employing Mac OS X as the host and having linux and/or Windows as guests. Because Photoshop is also available for OS X, this could be a viable solution, particularly with a Mac Pro and an advanced graphics card.
BTW, I use VirtualBox for virtualization. In my testing, it worked better than VM Ware Fusion or Parallels; moreover, it is free.