I recently managed to get 3D acceleration working with Virtualbox 3.0.x running a Windows guest.
I can’t lay claim to figuring this out myself, all credit goes to the guide at Dedoimedo.com, “DirectX in VirtualBox 3.0.0 – Pure joy is here”.
In a nutshell:
- Install a Windows guest under Virtualbox, as you normally would.
- Shutdown the virtual machine, and under Settings – Display, click the checkbox to turn on 3D acceleration. I also pushed the slider up to 128 Mb of video memory.
- Reboot the Windows guest into Safe Mode, by pressing F8 during bootup.
- Install the Virtualbox Guest Additions while in Safe Mode. Ensure you select the optional component “Direct3D Support” during the installation.
- Reboot the Windows guest. You should now have 3D acceleration for programs that use DirectX …
The “Safe Mode” trick was the key part I was missing when I first tried – the Guest Additions installer seems to give no indication that the Direct3d component will silently fail if it is not installed under “Safe Mode”.
One extra issue I experienced, in my case when running Unity3D, was that the mouse was ultra-sensitive, to the point of being unusable, when used in a window displaying 3D graphics. In VMware, this can be fixed by setting Preferences – Input – Optimized Mouse for Games – Always. Presently, I do not know how to fix this issue in Virtualbox.
My suspicion with the mouse being ultra-sensitive in Unity3D is that it’s getting absolute mouse coordinates?
I had that issue while using Unity3D and synergy (share a mouse and keyboard across different machines).
My windows box was the client, hence getting absolute mouse co-ordinates. In synergy, you can change the mouse to use relative mouse co-ordinates by locking the mouse to a client, hence solving the ultra-sensitive mouse problem.
Maybe try disable mouse integration? I would try, but my Direct3D fails in VirtualBox