views:

2736

answers:

18

VMWare, VirtualBox or Virtual PC. What are the advantages and or disadvantages of each for a programmer? What is the best for Linux Guest OS, which is the best for Windows Guest OS's?

+6  A: 

Personaly I like VMWare, it seems to have a better all around support for both guests and hosts, but I've been using it for a LONG time. VirtualPC seems to lack alot, although in microsoft's defense(wow I'm coming to microsoft's defense, this feels wierd....) VMWare has been working on the VM scene for a bit longer.

Unkwntech
+2  A: 

VMWare runs (hosts) on lots of different platforms. It can be expensive to get the full tool, but various iterations are pretty inexpensive / free, depending on how dirty you want to let your hands get.

Virtual PC hosts on windows-only, and it's support for linux can be spotty (hard to configure some distributions' Xwindows system to run, as it supports only 16-bit for display- this has affected Ubuntu for me, but others may have an answer there by now).

I haven't used virtualbox yet, but as it's open source, I'd start my evaluation with it- if it met my needs in terms of host platform and guest OS, I'd finish there, as it's free, and free is a great thing.

Tim Howland
A: 

VMWare is the big dog here, Windows Server 2008 with hypervisor stuff should be very good too. If you work in a Windows enviroment and don't need a ton of options Virtual Server 2005 or PC 2007 is a good free option.

Bob Dizzle
+20  A: 

I've used VirtualBox for a long time. 2.0.2 release a few days ago introduced VM extensions to take advantage of AMD/Intel virtualization features.

VMWare on Ubuntu and SUSE had "clock hyper-warp" when running a guest due to the clock interrupts vmware used.

VirtualBox is free, so is VMWare player and server. Virtual PC is only for Windows hosts.

In my personal tests about 6 months ago, I was able to install a fresh guest of WinXP in VirtualBox in about 20 minutes whereas it took VMWare Server about 40 minutes. Google it and you'll find countless comparisons on speed.

Features to look for: 1) Raw disk support (available for VB and VMWare) 2) Chipset virtualization (VB 2.0 and VMWare both support it) 3) Snapshots (ditto) 4) Import/export features 5) USB2.0 support 6) DVD/CD support (ability to mount ISOs as drive, etc)

Another VM product is Parallels which some folks at my job use on Macs. Supposedly works on Linux and Windows, too, but I've never gotten it to work on Linux.

Yet another -- QEMU, which I believe is VirtualBox core, or at least WAS?

Dustin
"introduced VM extensions to take advantage of AMD/Intel virtualization features." - No. Those are present since 1.4.0, but they are NEVER active by default. 2.0.2 has only bug fixes, see http://virtualbox.org/wiki/Changelog
TobiX
The speed of VirtualBox is amazing. Really, it's crazy. I haven't seen benchmarks, but it's always seemed noticably faster than VMWare, Parallels or Virtual PC.
seisyll
There's even a portable version of VirtualBox out there! Extract it, run the executable and create your VM. Amazing!
milan1612
Beware portable VirtualBox. The version I tried in May '09 caused serious system issues because of the way it loaded and unloaded the networking drivers. I don't want to FUD - just check out what people are saying about the latest versions before using.
Jerph
+1  A: 

I have bought VMware Fusion and Parallels for my mac and personally only use VMware Fusion exclusively now. The upgrade from version 1 to version 2 is even free for me (maybe all existing users). that the vm is transferable to VMware products on other platforms is definitely a plus. There are other products from VMware that are free of charge like the player and VMware server.

WaldWolf
+3  A: 

I would go with VMware personally. VirtualPC has no real support for a Linux guest. In most cases it will run Linux, but it doesn't provide any VM additions for a Linux guest. I've found VMware to do a solid job of running both Windows and Linux as guests. I personally use VMware 6 on a Linux host to run Windows guests, and it is working great.

I haven't used VirtualBox, but since you have to pay to get any of the good features, I figure might as well go with the product that is more mature and is easier to purchase. (I don't want to half to deal with a Sun sales rep to buy a single license.)

sbanwart
+15  A: 

I second the preference for VMWare Workstation. Their free player and free server versions are good, and probably the best in the free space, but if you are looking for BEST go with Workstation.

The new version of Workstation has a number of features targeted directly for the developer.

List of new features (it is in beta).

  • Enhanced advanced VM Record and Replay
  • Seamless integration of guest and host applications with Unity
  • Support for Smart Cards & Smart Card Readers
  • Link state propagation networking
  • Enhanced ACE authoring capabilities
  • Easy Install Option support for Linux
  • Improved 3D graphics Support

The record and replay is just an amazing tool for developers, especially if you can get your testers on board using it too. Imagine being able to reproduce a program state an infinite number of times. Here are some video overviews of it:

So in I think VMWare is the best overall, for Linux and Windows. Don't run it on Vista though. Run it under a server OS or Linux for best results. That is true of all VM tools I imagine.

Jim McKeeth
I'm a VirtualBox fan, but one of the things I miss most about VMWare (used it on OSX) is the multi-monitor support. Currently VB can only do it in limited circumstances.
Jerph
+3  A: 

VMware is the leader of the pack here. And with VMware making ESXi available for free it definitely gets my vote.

With regards to Guest OS, I generally use CentOS as a Linux guest OS and XP as a Windows guest OS. A word of caution, avoid using Vista as a Windows guest OS. I have had terrible experience trying to run Vista as guest OS in VMware Server.

Jahangir
Second that on Vista. It was absolutely terrible.
epochwolf
A: 

Virtualbox works fine for me. VMWare Player used to crash badly (maybe it was corrupted image file?) taking whole system with it.

Also in VirtualBox sound works better. Seamless integration is also very nice. All for free.

phjr
A: 

Our medium sized team uses VMWare Workstation heavily for Windows OS testing. One caveat is that you need enough memory, or your machine will crawl. Love the snapshot feature.

It can be a real help for our development team since some of our QA team is remote. They can send VM images, or video recordings for those times when we can't make heads or tails of their reproduction steps. (Although size of the files can be an issue.)

+2  A: 

I used to use VMware Workstation. It was worth the money over Microsoft's Virtual PC (which is free) for its multiple snapshot feature, which saves time and disk space - and is also nicely integrated into the UI.

Now I'm running Server 2008 on my dev machine I use Hyper-V. It feels faster than VMware Workstation, is free, and has an identical multiple snapshot feature. It also runs VMs in the background, so you don't need to be logged in for them to be active. VMware Workstation has a 'background' feature now, too, but I believe you need to be logged in for it to work - it simply removes taskbar items.

Hyper-V seems to run Linux at full speed due to it being hypervisor-based - you don't need to install special drivers to get I/O up to speed. It doesn't do mouse cursor integration though - yet. I hear SuSE's Linux will be supported in future.

Rik Hemsley
+1 for Hyper-V. It's incredibly fast.
fatcat1111
A: 

Virtualbox for me too

horatio
A: 

Which is the best VM program for a programmer?

In what sense? If you mean for a desktop tool to load your own test/debug environments up in, then you might as well use VirtualBox as it's free, self-contained and does the job. If you want an "enterprise" tool that allows for simple deployment of several different servers, then VMWare now has a growing set of ready-made "appliances" available. If you're looking to program with virtual machines rather than just on them - i.e. you're writing an application that utilises a cloud of computing power of some kind - then forget all that cissy stuff and use Xen with something like Enomalism, Puppet or Eucalyptus.

David Hicks
A: 

I usually use VMware, but I've been playing around with VirtualBox recently; they're both fine solutions.

conmulligan
A: 

We're in the middle of transitioning to VMware from Virtual PC. My biggest grievance with VPC is the video card emulation. Because the virtual video is a S3 Trio you can't run a resolution higher than 1600x1200, which doesn't fill my 24" screen. There's also no support for spanning multiple monitor. But I think that's the case with VMware too?

I've worked around the resolution limitation by using Virtal Server instead of Virtual PC and then RDPing to the VM to get fullscreen.

I do like the VPC and Virtual Server is free though and I like differencing disks.

rob_g
A: 

VirtualBox at the moment misses branch snapshots, a feature that VMWare Workstation has and it's very important. I noticed also that with VirtualBox it's a disaster to open on Linux a virtual machine create on Windows, and viceversa. At the moment, if you can afford the license, go for VMWare: if not, go for VirtualBox and wait for new features :) (branch snapshots should be in development for a future version).

Patrizio Rullo
+3  A: 

KVM (Kernel Based Virtual Machine)...

This question is sorely outdated so, let me emphasize. As of the Linux 2.6.0 Kernel hypervisor support is included in the kernel itself. This provides a lot more opportunities for increased performance as well as optimization.

This supports:

For more information follow this link.

Evan Plaice
A: 

VPC2007 on WinVista works fine for me. I have DOS 6.22 as the guest OS on it, running a legacy version app written with INFORMIX-SQL 2.10.06E. The installed VMadditions.iso provides me everything I need, including printing to USB and Parallel printers, sharing folders on WinVista host OS, NAT, etc. (see video-demo of app at: www.frankcomputer.com)

Frank Computer