8

Hello,
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

Notes:

  • 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,
M.

2
  • Why don't you want to dual boot? I can think of only advantages in your situation.
    – frabjous
    Sep 27, 2010 at 23:56
  • 1
    Mostly because I wanted to avoid loss of context while rebooting into the other OS (i.e. there may be a few apps for which I won't find a good GNU/Linux alternative). But I'm starting to see that this might be my only solution (other than to get a new machine).
    – MicE
    Sep 28, 2010 at 0:12

3 Answers 3

4

This is not what you want to hear, but getting a cheap second machine and a KVM switch will save you a lot of headache. There's still some things you cannot do with the current state of virtualization under Linux, as you have seen.

3
  • 1
    If the second machine's monitor is right by his main, I would use synergy+ (code.google.com/p/synergy-plus) and forget the KVM. Sep 27, 2010 at 22:58
  • 1
    Synergy+ might not mix well with full-screen games though, or with DirectInput. Sep 27, 2010 at 23:05
  • As Ignacio said, I'm not happy to hear that ... but I expected this to be the case. You saved me a lot of time wasted on experimenting, I have a much better view on the next steps now - thanks for the feedback guys! Thanks for the tip on Synergy+ as well - I knew similar solutions, but not this one. I may give it a try if I go with the 2-machine option (at least for work, I agree that it might be problematic for games).
    – MicE
    Oct 1, 2010 at 13:40
2

The only way I know that allows you to run hardware accelerated 3D graphics on virtualised Windows is by using VMware Workstation, with Windows as the host OS. Even with that, I would be doubtful that you would have much success with games.

I would think that what you want to do is pretty much impossible with current technology, and you will have to consider having two separate machines, as already suggested.

Or, you could make Windows the host, with Linux as the virtualised guest. I could imagine that working out pretty well for you.

1
  • Thanks for the feedback Jason. Similarly as VMware, VirtualBox contains support for OpenGL/D3D acceleration and even on non-Windows hosts ... but it's still very experimental. I was hoping that the bare-metal hypervisors were more ahead with this, it seems that they are not. Regarding using Windows as a host - yes, that's an option that I'm considering, but I'm leaning more towards a Linux host as that one can be 64b (I'd have to purchase Win7 while upgrading to 64b).
    – MicE
    Oct 1, 2010 at 13:53
1

As of today 2015, you can use VGA and PCI passthrough functions of VMs, so the guest OS can directly access your dedicated video card (you have to have 2 - one for Linux, one for Windows). This only works if you CPU and motherboard Virtualized I/O.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .