4

I'm considering setting up a virtual machine running Windows, with Ubuntu 10.10 as the host OS, for those cases where I have a Windows-only program.

I understand that using a VM will lose some performance, but are there other limitations to what the OS in a virtual machine can do compared to "running on bare metal"?

For example:

  • Can a VM play games, like Dragon Age Origins or Civilization V? (Possibly with poorer framerates and/or lower resolution, but does it play at all?)

  • Can a VM rip DVD/Blue-ray using AnyDVD or similar Windows program?

  • Can a VM handle new hardware that requires dedicated drivers, but the drivers are only available for the OS running inside the VM? (Ex. graphics card, digital camera, card reader for smart card authentication.)

Is it possible to say anything about "general limitations" of VMs, or is this wholly dependent on the specific VM?

2
  • Sounds like you've basically hit every limitation. Usually gfx and disk IO are the sticking points. Anything needing lots of either will be a problem. For a home quad core enviroment, anyhow.
    – Sirex
    Commented Jan 4, 2011 at 20:21
  • Yes, I'm primarily interested in VMs for home use. What about the card reader example? I understand that at least some VMs can access USB ports - does that mean that anything with USB will work? Commented Jan 4, 2011 at 20:34

4 Answers 4

4

Can a VM play games, like Dragon Age Origins or Civilization V? (Possibly with poorer framerates and/or lower resolution, but does it play at all?)

Yes, but usually without hardware-based acceleration, since it only sees a virtual graphics card. (Some games won't even start, others will work slowly.)

Can a VM rip DVD/Blue-ray using AnyDVD or similar Windows program?

DVD - probably yes. BluRay - reading should work, but I'm not sure about what kind of DRM it uses.

As for burning CDs, VirtualBox has a "SCSI passthrough" option, which lets the VM send "write data" and similar commands to the device.

Can a VM handle new hardware that requires dedicated drivers, but the drivers are only available for the OS running inside the VM? (Ex. graphics card, digital camera, card reader for smart card authentication.)

Virtual machines do not have access to hardware; and if they had, you would not be able to use the devices from the host OS - only from the guest.

Exception: VirtualBox - and possibly other virtual machine software - allows the VM to access USB devices that you choose.

4
  • 3
    Right now, VirtualBox, VMware, and Parallels can do D3D/OpenGL accel via special guest driver, but it's not "all the way there" yet, particularly for gaming. Ripping should work via passthrough modes, and cases where they didn't should be bugs, but developers may not be too keen on fixing bug reports that only affect software like DVDFab or AnyDVD.
    – afrazier
    Commented Jan 4, 2011 at 21:37
  • 2
    Another exception: KVM (from Fedora 13+) has support for PCI passthrough. Quoting from the documentation: "PCI passthrough allows guests to have exclusive access to PCI devices for a range of tasks. PCI passthrough allows PCI devices to appear and behave as if they were physically attached to the guest operating system.". If my memory serves me right, note that you can't use this with video cards yet. Commented Jan 4, 2011 at 22:27
  • 1
    Regarding PCI passthrough for video cards: "Assignment of graphics cards are not supported at the moment, but it seems like one person is currently working on writing patches for this in his spare time ( February, 2010 ).". Commented Jan 4, 2011 at 22:33
  • Great info, thanks. Also found a recent review comparing VMWare and VirtualBox, including "virtual USB" and benchmarking of graphics and disk performance. Commented Jan 4, 2011 at 23:19
1

The main problem you are going to run into is drivers. Especially graphic card drivers. Most of the VM solutions offer very downgraded graphic driver so you can't get as much performance out of it, than if you would get with dual boot option.

1

Another limitation I'd say is RAM. Remember you're running two OSs at the same time. I have a really old box running WinXP and 1GB of RAM. VirtualBox is unusable on it, not the Linux Guest, but WinXP gets unstable.

Not likely you'll care much, but getting true hardware clock ticks is hard, and takes some tricks. You're unlikely to run a program that really cares.

1
  • 1
    I don't believe I need true hardware clock ticks - what is it used for? Commented Jan 4, 2011 at 21:28
0

One limitation I have seen is hardware based random number generation. In Linux, this is done using a pool of randomness called entropy pool, which statistically maintains randomness in memory. Since it depends on hardware like keyboard, mouse and network activity to do this, this process can be very slow in virtual machines, since they are not connected with real hardware.

You must log in to answer this question.

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