3D support: fixed crashes in FarCry, SecondLife, Call of Duty, Unreal Tournament, Eve Online
3D support: fixed graphics corruption in World of Warcraft
The VirtualBox Guest Additions contain experimental hardware 3D support for Windows, Linux and Solaris guests.[12]
With this feature, if an application inside your virtual machine uses 3D features through the OpenGL or Direct3D 8/9 programming interfaces, instead of emulating them in software (which would be slow), VirtualBox will attempt to use your host's 3D hardware. This works for all supported host platforms (Windows, Mac, Linux, Solaris), provided that your host operating system can make use of your accelerated 3D hardware in the first place.
The 3D acceleration currently has the following preconditions:
1.
It is only available for certain Windows, Linux and Solaris guests. In particular:
*
For Windows guests, support is restricted to 32-bit versions of XP and Vista. Both OpenGL and Direct3D 8/9 are supported (experimental).
*
OpenGL on Linux requires kernel 2.6.27 and higher as well as X.org server version 1.5 and higher. Ubuntu 8.10 and Fedora 10 have been tested and confirmed as working.
*
OpenGL on Solaris guests requires X.org server version 1.5 and higher.
2.
The Guest Additions must be installed.
For Direct 3D acceleration to work in a Windows Guest, VirtualBox needs to replace Windows system files in the virtual machine. As a result, the Guest Additions installation program offers Direct 3D acceleration as an option that must be explicitly enabled.
Technically, VirtualBox implements this by installing an additional hardware 3D driver inside your guest when the Guest Additions are installed. This driver acts as a hardware 3D driver and reports to the guest operating system that the (virtual) hardware is capable of 3D hardware acceleration. When an application in the guest then requests hardware acceleration through the OpenGL or Direct3D programming interfaces, these are sent to the host through a special communication tunnel implemented by VirtualBox, and then the host performs the requested 3D operation via the host's programming interfaces.