Virtualization technology has fundamentally changed the computing landscape. We’d get in trouble if we claimed that it was a recent invention (early mainframes used it as a means of provisioning resources), but CPU innovations introduced about ten years ago mean that near-native performance can be achieved when virtualizing x86 code. Now that we can squeeze tens of (easily backed-up and restorable) machines into a single box, data center workloads can be made drastically more efficient. We can also simulate foreign architectures too, e.g. ARM, which is useful for developers working on embedded systems.
It’s a boon for casual desktop users too – trying out a new OS need no longer be a time-consuming exercise in frustration that jeopardizes your current setup. Even if you just want to test a new piece of software, it’s generally safer to do so in a disposable virtual machine rather than risking your current configuration. Support for in-kernel virtualization (through KVM) and the Qemu emulator mean that Linux users no longer need to rely on proprietary tools. Back in the old days, Sun’s (formerly Innotek’s, now Oracle’s) VirtualBox used to be the only real option. But times have changed so let’s see how the other virtualization apps measure up.
Ease of Install
VMware and Virtualbox both rely on kernel-specific modules being loaded in order to work their magic. VMware will need to compile these, which requires you to install a kernel headers package, and all the necessary compiler jazz. Further, it provides an init script to load said modules, but this will be of no use to Systemd users. If this is you, then you may wish to make your own unit file, rather than having to run this script as root (or see the same error messages) all the time. At the time of writing, 3.19 series kernels needed the VMware sources to be patched, but hopefully this is has been remedied by the time you read this. Most distros ship with Virtualbox packages, so if you’re using a stock kernel you won’t need to worry about anything here.
Virt-Manager needs the libvirtd service to be started on your system before it will work, though a user-friendly message informs you of this, and if you’re using a fully featured desktop environment then it will do this for you – all you’ll need to do is type in the root password.
Both VirtualBox and VMware Workstation are reasonably easy to get to grips with, so long as you don’t get distracted looking at every single option. In comparison, VMware Player doesn’t have too many of these, so you will be able to get your machine up and running in no time. However, you’ll want to install the guest add-ons if you want to make the most of any of them.
The Linux guest additions for VirtualBox are much easier to install (the CD will autorun) than the extra ‘tools’ for VMware, which seemed to require copying stuff off the imaginary CD, changing permissions and then running a script. What is this, 1999? Once you’ve done that though, you’ll be rewarded with better graphics and a number of extra features, which we’ll discuss later on.
‘Boxes’ is by far the most easy to use of our selection, if only because it exposes the bare minimum of Qemu / libvirt’s functionality. VMware Player is a joint second with VirtualBox and then their paid-for counterpart is hot on its heels (these are nominally harder by virtue of having more options). VirtManager isn’t really hard to use, but it does expose enough of the Qemu labyrinth that it may overwhelm novices. It also uses a rather convoluted mechanism for managing storage, especially if you want to store your virtual drive somewhere non-standard. In this case you first must add the required directory as a ‘storage pool’. Any weird modules it needs will be supplied by your distribution though, so it’s got that going for it.
Results are: Gnome Boxes first, VirtualBox and VMware Player second, Virt-Manager and VMware Workstation last.
Performance
Thanks to hardware extensions and paravirtualization techniques, it’s theoretically possible to run some tasks at very close to bare-metal speed.
Things being the way they are though, there is usually some kind of performance hit. In fact, pretty much every configuration where we tested a guest desktop resulted in some measure of sluggishness. But you get used to it, and you can deactivate any eye-candy, or use the appropriate fallback mode, if it really bothers you. For the record, we’re not taking 3D performance into account in this category – that would be unfair and it has its own category over the page. For everyday Terminal-based tasks though, you’d be hard pressed to notice any difference between the candidates. Our kernel compilation experiments suggested that VirtualBox lags measurably behind the competition. The Javascript SunSpider benchmark also agreed with this analysis, with both tasks being about 20% slower than the competition. Disk I/O (especially when your virtual disk is stored on an SSD) and network traffic were swift across the board. VMware clinches it in the end thanks to its support for newer Intel processors.
Results are: VMware’s first, Gnome Boxes and Virt-Manager second, VirtualBox last.
Features
All of our candidates are aimed at different usage scenarios, and so all have their unique selling points. Of course, there are some standard features that we have come to expect, such snapshotting, support for Intel VT-x and AMD-V processor extensions and flexible configuration of the virtual hardware. All of these are catered for by all of them, but some do so much more. It’s important to note that Gnome Boxes and Virt-manager, are just frontends for Qemu (via the libvirt abstraction layer). Qemu is at its heart a processor emulator that can provide virtualization through KVM, but is a whole world unto itself.
Gnome Boxes – 2 stars
When called from the command line, Qemu supports a huge number of options, most which of don’t feature in Gnome Boxes , which aims for (and achieves) a simple and clean look and feel. Through its friendly wizard interface it’s possible to set up a virtual machine in roughly three clicks – you just need to point it towards a suitable ISO. Boxes abstracts the difference between virtual and remote machines and you can connect to either through the VNC, SPICE (which allows audio to work over a network) or OVirt protocols. ‘Boxes’ doesn’t offer much control over networking your virtual machine, but at least provides all the NAT voodoo required so your virtual machine can talk to the outside world. The other candidates will happily set up NAT, network bridges or host-only networks, all of which may be useful given appropriate circumstances.
Virt-Manager – 4 stars
(aka Virtual Machine Manager) exposes much more (but not the entirety) of Qemu ’s functionality. In fact, it seems to have gone overboard with its list of supported x86 operating systems, particularly the Linux genus. That aside Virt-Manager makes it relatively straightforward to setup as complicated a machine as you would like - all manner of hardware can be added, including multiple network interfaces. Besides KVM VMs, Virt-Manager can leverage Qemu /libvirt’s support for Xen guests and LXC containers. It can also optionally poll guest resources and in so doing provide very nice graphs (such as those in the Performance section, which follows about 30 seconds of a Windows 10 startup). Virt-Manager also makes use of Qemu ’s recently added support for USB 3.0 pass-through.
Compatibility and snapshots
Sometimes you’ll want to move VMs between hypervisors. All the software here can import machines stored in the Open Virtual Applicance (OVA) format, which is just a tarball containing a VMDK (VMware) disk image and data about the virtual hardware. VirtualBox allows you to export in this format, but has its own Virtual Disk Image (VDI) format and can work with all kinds of others too.
The qemu-img command can be used to convert between all manners of formats. Of particular note is its preferred QCOW2 format, which allows for multiple snapshots to be stored internally using efficient Copy On Write (COW) trickery.
Boxes, VirtManager, VirtualBox and VMware Workstation all have snapshot support, allowing you to efficiently save various states of your VM as you mess with it. VMware Player only enables you to have one snapshot per machine, in addition to its current state. If you’re doing quite involved regression testing, this will be a deal-breaker. VirtualBox and VMware Workstation also allow you to ‘clone’ VMs, and this is an efficient way of snapshotting, since data is only written to a linked clone when its state differs from that of its parent.
VMware enables you to mount a guest’s VMDK image on the host, which can be useful as well, although the same thing can be achieved by converting to a raw disk image and using standard Linux tools and arithmetic to calculate partition offsets.
Results are: VMware Workstation, VirtualBox, and Virt-Manager first, Gnome Boxes second, VMware Player last.
VirtualBox – 4stars
The original desktop virtualization client, VirtualBox is probably still the go-to tool for many. The program has a clean layout which makes setting up a virtual machine straightforward, but it also manages to offer a host of useful options. As well as limiting the number of CPU cores a guest OS can access, VirtualBox enables you to specify a percentage execution cap for host CPU utilization.
VirtualBox also has support for video capture, so by night you can record Windows tutorials for your YouTube channel. It can import all manner of virtual disks. It only offers USB 2.0 host controller support though, and even then only if you install Oracle’s proprietary extension pack. The shared clipboard and drag and drop options (uni or bi-directional, as befits your whim) are pretty useful though. VirtualBox has handy indicators for disk and network I/O, as well as CPU usage.
VMwarePlayer – 3 stars
The free offering from VMware has come a long way since its inception back in 2008. Most notably, it’s no longer just a player and is more than capable of setting up a quality virtual machine for your amusement. As well as supporting a number of networking configurations (NAT, bridged, host only etc.), it offers some nice traffic shaping options, which is useful if you’re testing the latest version of, say, a DDoS client or seeing how much malware you can get onto a Windows XP virtual machine before it implodes. VMware also supports USB3.0 devices, and installing the guest tools will also enable shiny graphics, shared clipboards and shared directories. Player falls down slightly when it comes to snapshots (it only allows you to make a single one).
VMwareWorkstation – 5 stars
There is a non-free version of VMware Player (VMware Player Pro) available, but we reasoned that for this Roundup we may as well explore the more upmarket Workstation, instead. There are a plethora of extra developer options here, including the ability to group virtual machines into a sort of virtual phalanx, so that they can be simultaneously spurred into action with a single click. VMware Workstation also has support for the new instructions that are available on modern Intel processors, as well as enabling you to set up machines with up to 16 vCPUs and 64GB of RAM. But the Workstation program is largely geared towards integration with the rest of the (considerable) VMware suite, and hence will find most of its relevant use in enterprise environments.
Graphical acceleration
Any of our candidates would serve you admirably, if you just wanted to install a simple virtual machine and weren’t going to be doing anything graphically intensive. However, if you require 3D acceleration then you will have to go with VMware or VirtualBox. Once you’ve jumped through the hoops of getting the guest additions installed (including sidestepping VirtualBox’s double negative question that tries to make you avoid its experimental WDDM support, which is required if you want to use Windows 7’s Aero interface, for instance) then you can enjoy 3D acceleration in VirtualBox and the two VMware clients.
VirtualBox allows you to allocate up to 256MB of system RAM to the virtual graphics card, whereas VMware allows up to 2GB. Note that this doesn’t come from your real graphics card, so often you won’t see any benefit past 256MB. VirtualBox also provides 2D acceleration for Windows guests, which ought to speed up video rendering, display stretching and color correction, though it very much depends on the host configuration – on a fast machine this setting didn’t seem to make much difference. A Windows virtual machine is probably not going to run Battlefield 4 or Middle-earth: Shadow of Mordor (fortunate then that it’s being ported to Linux) with everything turned up to 11, but older or less demanding games will be fine, we wasted a good hour playing popular indie title Don’t Starve before we realized this Roundup was due. It was a much smoother experience on VMware than VirtualBox, but may be that was configuration related – we were using the latest proprietary NVidia driver on Arch Linux which may have favored one over the other.
Results are: VMware’s leads again, VirtualBox second, Boxes and Virt-Manager last.
Licensing and development
VirtualBox used to be subject to a Personal Use and Evaluation License. However, the guest additions and most of the codebase were released under the GPL v2 license at the end of 2010, following Sun’s acquisition by Oracle. However, the exception to this general open source release is the Oracle extension pack for providing a USB2.0 host controller, RDP support and PXE network booting, which remains proprietary. Technically, VirtualBox is subject to a dual-license, so that enterprise customers can pay for a license if the GPL scares them. In fact, some claim that Oracle is neglecting this one time de rigeur tool as all the releases over the past two years have been maintenance-only updates. If this were the case at least Oracle is doing its neglecting of products with the right kind of license.
VMware Player is only licensed for non-commercial use so you may need to part with some dinero to use it legally. A VMware Workstation licence will set you back about £180, which is only really worth it if you want to interoperate with the rest of the formidable VMware suite. VMware has been regularly updating its products, but (apart from 3D support) the open source offerings are hot on its heels. Gnome Boxes , VirtManager , Qemu and libvirtd all come under GPL or LGPL licenses and enjoy frequent updates. Qemu in particular has come on in leaps and bounds since development shifted to GitHub. Also, while we’re on the topic of licensing, we note that VMware has recently been slapped with a GPL violation lawsuit in Hamburg. Naughty.
Results are: Boxes and Virt-Manager first, VirtualBox and VMware Player second, VMware Workstation last.
The verdict
Virtualization is a tough ol’ Round up to judge. If you want to run 3D games, then you won’t even be looking at Gnome Boxes or Virt-Manager, and, unless you have better results with VirtualBox than us, you’ll probably find VMware is the hypervisor for you. But then again, this technology isn’t anywhere near mature enough to compare with DirectX11 running natively. You might even have better luck running games in Wine [Ed –or not] with some of the experimental performance patches. We don’t really like the VMware licenses, especially the one that makes you pay money after a 30-day trial, but the enterprise features of Workstation will be a boon for some. In particular, if you grab VMware’s vCenter Converter, then you can virtualize a machine with the click of a button, ideal if you want to test something new on your current setup.
We haven’t covered the wealth of command-line tools that are provided with all of our candidates, but they are there, along with more than ample documentation. You can use them in your scripts when you go on an all-out virtualization binge, summoning to action an army of virtual machines from the safety of the command line. Hacker types may also prefer to use Qemu directly, and people wanting a simple free and open source solution will be happy with Gnome Boxes.
But there can (except in the event of some sort of tie) be only one winner, and this time it goes to Virt-Manager – we couldn’t really let VMware win after all. Virt-Manager enables you to harness a huge amount of Qemu’s power without having to mess around with lengthy terminal incantations. Machines can be paused, reconfigured, moved around and cloned – all without fuss.
The only thing it lacks is support for graphics acceleration, and who knows, maybe one day this will come. VMware Player and Gnome Boxes tie for second place, as they both score highly for simplicity, and we like the Boxes icon which features a tesseract (or hypercube, or box in a box if you like). VirtualBox and VMware workstation take joint third place, the latter costs money and the former really should perform a little better than it does.
1st – Virt-Manager.
2nd – VMware Player.
3rd – Boxes.
4th – VirtualBox.
5th – VMware Workstation.