as a freelance developer I recently found myself severely bound by the memory limit of 32-bit operating systems, and I need to upgrade to a 64-bit system in order to continue working effectively. (To explain: I have to use multiple virtual machines on a daily basis. Right now I have to turn them on/off frequently as I test solutions, and still my main OS is very slow and swapping heavily.)
I planned to migrate from Windows to GNU/Linux for a very long time, and I'd like to use this opportunity to make the switch now. I will still need to keep Windows around (for games, and as a general fall-back scenario), and since I do not want to dual-boot, I would rather like to run it as a virtualized client OS.
What I would like to achieve:
- Primary OS - GNU/Linux (64b)
- daily work, web browsing, etc
- several virtualized client OS' via VirtualBox (for testing applications)
- Secondary OS - Windows XP (32b) or Windows 7 (64b)
- legacy applications (until I find suitable GNU/Linux alternatives)
- DRM-ed stuff which works problematically under GNU/Linux (e.g. Blu-ray)
- games which don't have a native Linux client
- my hardware supports Intel VT to assist the virtualization effort
- I'm not against a bare metal hypervisor (Xen?) nor against using the primary OS as the host (KVM?), as long as it's possible to make it work (sort of) reliably
- the secondary OS (Windows) must be able to fully use the graphics/audio hardware (3D video games, i.e. OpenGL/OpenAL, DirectX, etc)
I was already looking into several solutions myself, but I did not manage to find reasonable results (mostly on the bit about games). As I don't have any practical experience with this, I would like to kindly ask you guys for your help before I start the migration effort (and hit a road block).
Which solution would you recommend please? (Is the above possible at all?)
Thank you for your help,