Tuesday, March 31, 2009

Linux Virtual Machine Roundup

With the inclusion of Ring-0 instructions on most recent processors, virtual machine speed has more or less equalized across the various players, with factors such as OS integration, 3d support, and cost becoming much more of a consideration. Linux users are in relatively good shape when it comes to virtualization software. The progress being made because of Apple’s switch to Intel processors has yielded benefits for all platforms, and the presence of Linux in the data center has made it a well supported platform for running Vmware, who derives the majority of the their business from enterprise customers. There are also fully open source solutions such as Bochs and Qemu, and open source commercial solutions such as Virtual Box that provide for a lot of choice. This article is going to break down those options.

Before going over the various software packages, I’d like to offer an obligatory plea to choose native Linux software over using a virtual machine to run Windows software. Without users it will never make sense for developers to offer Linux versions. http://laptoplogic.com/resources/top-50-linux-alternatives-to-popular-apps has a great list of Linux alternatives to popular software, and http://www.getdeb.net/ has a lot of great Linux software for Ubuntu and Debian users. If all else fails, try searching in the Synaptic Package Manager for something that does what you want. Considers yourselves pleaded with.

Option #1 – Vmware

Current version – 6.5
3d Support – Only with commercial display drivers
OS Integration – Very good
Cost: $200

VMware, being the biggest player in the virtualization market, is the obvious place to start. VMware Workstation 6.5 provides better 3d support, allowing for full DirectX 9 acceleration on Windows Xp guests, and allows for seamless integration between the guest and the host operating systems using its “Unity” feature. Despite its great features, VMware suffers from an extremely high price tag. The lower price VMware Fusion, the company’s main consumer product, is only available for OS X. It also is a relatively large install. Where some of the open source alternatives are less that 10MB, VMware comes in at around 350MB installed. Overall, VMware would be the best choice for anyone who had $200 to spend on virtual machine software. For everyone else, the open source alternatives should be a little more appealing.

Option #2 – Virtual Box

Current version – 2.1.4
3d support – Minimal
OS Integration – Good
Cost: Free, both in a totally open source version or a partially closed source but more capable version

Virtual Box has become the main choice of virtual machine software for the open source crowd. Though it lags slightly behind VMware in features, its development by Sun provides Linux users with an open source enterprise quality virtualization package. Unfortunately for those looking to avoid having to reboot to play games not supported by Wine, the 3d support in Virtual Box is pretty lacking, and the OS integration, while good, is nothing of the level provided by VMware.

Option #3 – Bochs

Current version – 2.3.7
3d integration – None
OS Integration – None
Cost: free, GPL

Bochs, while a great piece of software, is more or less unsuitable for use by a casual end user. With a feature set catering more to developers, Bochs offers accurate emulation of a variety of hardware, and is useful for things such as testing software on various hardware architectures. While Bochs amply provides in versatility, it lacks in speed, relying on traditional re-compilation for its emulation, rather than using native virtualization instructions or even faster JIT methods. Sticking to simple techniques has allowed them to offer stability and accuracy however, again making Bochs more optimal for a developer than an end user.

Option 4 - Qemu

Current version - 0.10.1
3d Integration – N/A
OS Integration – None
Cost: free, GPL

Prior to the recent popularity of Virtual Box, Qemu ruled the world of open source X86 hardware virtualization. Qemu has a variety of front ends that make managing its features easier, and is the only virtualization software to support KVM, or Kernel-based Virtual Machine, a virtual machine infrastructure built straight into the Linux kernel. Qemu has a good range a virtual hardware, much of which was borrowed for use in Virtual Box. Qemu unfortunately does not support hardware based virtualization instructions, but it still yields pretty good performance overall. Support for hardware virtualization is planned, but the time frame is uncertain.

Vmware clearly leads the pack in features. If money is no object, Vmware provides the best OS integration and 3d support to be had on the Linux desktop. Unfortunately, $200 is a little steep. Bochs and Qemu, though fully open source, are a little lacking in end user features. Also, the lack of support for Ring-0 instructions on Bochs and Qemu places the speed of their virtualization far behind Vmware or Virtual Box, even in the best scenarios. The difference may be harder to notice if you’re just using them to run Windows 95, but that difference in speed becomes much more obvious when more demanding applications or operating systems are used.

Virtual Box offers most of the same features as VMware, but is both open source and supports hardware virtualization. VMware is probably the only virtual machine software on which you’d be able to run any games, but for applications for which there is absolutely no Linux alternative, Virtual Box offers nearly identical performance at a much lower price.


Hoàng Đình Long said...

Thanks for your article! It helped me a lot.

Post a Comment