When You Need 3D: VirtualBox
VirtualBox is another free virtual machine package. Developed by Sun Microsystems, VirtualBox is an open source project, and has all the bells and whistles you might expect. Unlike Windows Virtual PC, VirtualBox supports virtualized access to 3D hardware.
VirtualBox installs as a virtual machine tabula rasa: there’s no preconfigured OS, as there is with Windows XP Mode. If you want to run Windows XP, you’ll need a licensed copy of Windows XP, plus either a Windows XP CD or ISO file.
You can configure the VM to boot from the physical optical drive or an ISO file, allowing for normal Windows setup to proceed. You’ll have to go through the entire Windows Setup exercise with VirtualBox.
The familiar Windows XP setup screen.
When you first run Windows XP under VirtualBox, you need to worry about how the mouse and keyboard are captured by the virtual machine, and note the keys that allow you to free the mouse pointer from the constraints of the guest OS. As with Windows XP Mode, you don’t really want the appearance of running Windows XP inside a different OS, creating user interface confusion with users.
VirtualBox supports a feature called seamless mode. The idea is similar to Windows XP Mode’s integration with the host OS, but it’s executed a little differently. With seamless mode, the two operating systems, host and guest, coexist peacefully. You can even have coexisting taskbars sharing the same desktop.
The guest Windows XP task bar, running on top of the host Windows 7 task bar.
While VirtualBox works well enough with Windows 7, it’s not quite as seamless as the name implies. Occasionally, the two operating systems will get confused, as you can see here, where both the XP and Win7 desktops are kind of intermingled.
Wait, which desktop is my primary one?
When it works, you can simply run Windows XP apps from the XP taskbar. The window for the app runs, and it appears as if it’s running natively. You still know you’re running in a VM, but it’s more transparent than just running a Windows XP virtual machine in a window, with the application constrained to that window.
The problem with this approach is that the user is still aware, to some extent, that they’re running XP in a different kind of way. The presence of the second task bar and the occasional visual glitches, if nothing else, make users aware that they’re not running a plain vanilla application on the host OS.
Because of these issues, VirtualBox is a great solution for power users, but probably not a good fit for non-technical PC users in a standard office environment.
VirtualBox supports virtualized access to the GPU with both OpenGL and Direct3D, but the D3D access is still a work in progress (it’s even labeled beta, and you have to explicitly enable it in the VirtualBox configuration screen).
It works, mostly. We ran some older D3D games with full sound, game controls, and 3D acceleration. However, the screen would occasionally become corrupted. Best results were obtained running the app with the VM running in its own window. Running a D3D app in seamless mode was less successful. So unless you really need access to 3D acceleration, you might want to avoid this particular feature.