Virtualbox 2.1

Sun’s ubiquitous virtualisation application Virtualbox has been updated to version 2.1 and brings with it a number of new additions to warrant a major update, with two of the most interesting new features being 3D acceleration support and Networking changes that negate the need for bridging the host adapter to the guest.

If you’ve already setup previous versions via the Sun repository, then Virtualbox appears in Synaptic as a completely separate application to previous versions. Generally you uninstall the previous version (preserving your config files) and then install the new version, which automatically performs any upgrading that is required of your config files. Thankfully Synaptic can do the job in one hit, uninstalling selected software prior to installing new selections.

Installing VirtualBox 2.1 from Synaptic

Once installed, I was presented with the familiar Virtualbox interface. Nothing has changed here. What has changed is largely under the surface and one or two extra Settings options. For starters, under General->Basic, we have a new checkbox for enabling 3D acceleration. Theoretically this would allow you to play games and use other accelerated applications within a virtual session, as it would be passed through to your host’s 3D video card to process. At this stage, this feature is highly experimental and only supports OpenGL currently (no Direct3D), and only supports it under specific guest configurations. This will change in due course, but for now is a welcome addition to Virtualbox.

Setting up a Windows XP VM in VirtualBox 2.1

The second great change that I notice is the complete elimination for the need to use network bridges or TUN/TAP devices to give your Virtual Machine a true connection to your network. It’s now simply a case of telling your VM to use a Host adapter and then pick a Host adapter from the available list. Very cool.

Virtual Machine Network Configuration

Other features in this release:

  • Support for hardware virtualization (VT-x and AMD-V) on Mac OS X hosts
  • Support for 64-bit guests on 32-bit host operating systems (experimental)
  • Added support for Intel Nehalem virtualization enhancements (EPT and VPID)
  • Experimental LsiLogic and BusLogic SCSI controllers
  • Full VMDK/VHD support including snapshots
  • New NAT engine with significantly better performance, reliability and ICMP echo (ping) support

…and the usual array of bug fixes.

So how does it run?

After initial installation, I ran up my VM install of Windows XP MCE 2005 without changing any of the VM settings and shortly after boot commenced I was met with as Blue Screen of Death. Oh dear, however I wasn’t completely surprised either – Windows will complain over the smallest of changes.

Not fussed, I figured I’d just do a fresh installation of XP Professional with SP3. I decided to give the VM 2GB RAM, 128MB video memory, enabled the SATA controller, enabled 3D acceleration and give it a network card that went through the Host’s Eth0 adapter (no NAT).

During the graphical component of the installation process, I got this…

Oops…

Oh dear again…

So I shutdown the VM and started disabling options one at a time in a bid to see if it was one of the new features that was killing the installation process. I started with the obvious: 3D acceleration. I switched it off and began the install process again. Bang: BSOD again.

OK, so I reduced memory to 1GB and video RAM to 32MB, then restarted the installation process from scratch again. Bang: BSOD again!

Fine, I switched the network config back to a NAT-based setup and restarted the installation process yet again. I made absolutely sure that we were not installing over the top of the old install and that the drive was properly formatted instead of quick-formatted. Another BSOD. What’s the go here?

I decided to go hard-core. I disabled everything that wasn’t really necessary: SATA controller, network, audio and USB. This time, when I restarted installation, it successfully got through to the first stage of the graphical installer prompting for the regional and language options! I shutdown the VM.

I changed the VM settings again, re-enabling components one at a time until I got a failure. After some trial and error, I finally had the VM BSOD again when the SATA controller was enabled! Looks like there are some bugs that need to be sorted out there. I left that disabled and continued installing Windows without incident.

Installing the VirtualBox Additions Driver Package into Windows XP

Once the Virtualbox Guest Additions were installed, I immediately looked for something OpenGL related – the screensavers. The OpenGL screensavers such as the FlowerBox ran and rendered well, though there was a slight amount of choppyness to them, but nothing serious. At this stage I figured that the OpenGL works, so when they iron out the bugs, this may get smoother.

I decided to dare to test something a bit more complex, on the expectation that the VM would crash or lockup – an OpenGL GAME. Since the screensaver suggested that the translation was slow, I decided to go old school and install the original Quake on my XP VM, using ProQuake to render the GL version of it. This is where I got a virtual slap in the face…

Quake in OpenGL runs perfectly – fast and smooth! In whatever resolution I throw at it!

 

Quake in OpenGL in a Windows XP Virtual Machine
The game is smooth and playable, even when the window is scaled up to a larger size!

I discovered the same with just about every other OpenGL title I threw at it, including Serious Sam 2 and Doom 3 – all ran at fluid full speed, at whatever resolution. Great stuff, but I did discover one bug – only in Serious Sam 2, for some reason 10 minutes into gameplay, the video card would just stop – the monitor would switch off and the machine would lock. I could only get it back by resetting the physical host, and even then the video card still did not initialise again until I power cycled the PC. This wasn’t a one-off either. I managed to reproduce the bug three times in an hour. But this is a new feature, it’s off by default because it is experimental, and I have to say that it’s so far a resounding success. With time, the bugs will be ironed out and we will quite literally be one step closer to banishing the concept of dual-booting Windows on PC’s for games! I look forward to Sun’s implementation of DirectX translation.

Outside of all this, I also found that VM’s generally boot up a bit quicker (especially Win XP guests – hellishly quick) and that tiny things such as the icons at the bottom-right of each VM window provide slightly clearer information about what is currently being employed.

So 2.1 is indeed a big step up. Sun have made great strides with Virtualbox, and even better still it remains a free (as in beer) product! I can’t wait for the next release!

EDIT: If you’d like to see Serious Sam 2 and ProQuake in action in Virtualbox 2.1, I’ve knocked up a video and stuck it up on YouTube here.