Ubuntu 12.10 no longer includes Unity 2D, which was implemented for platforms that can't provide 3D acceleration. Instead, Ubuntu 12.10 has Unity run under LLVM, making code intended for the GPU run on the CPU. It is much slower than using the GPU.
To check if your Ubuntu 12.10 guest is using 3D acceleration, run this command:
$ /usr/lib/nux/unity_support_test -p
Not software rendered: no
Not blacklisted: yes
GLX fbconfig: yes
GLX texture from pixmap: yes
GL npot or rect textures: yes
GL vertex program: yes
GL fragment program: yes
GL vertex buffer object: yes
GL framebuffer object: yes
GL version is 1.4+: yes
Unity 3D supported: no
As you can see, "Not software rendered" and "Unity 3D supported" both return "no" in this example, which means Unity is using slow LLVMpipe.
How to enable 3D acceleration (VirtualBox 4.2.x only)
These instructions are intended for VirtualBox 4.2.4 or 4.2.6, installed from VirtualBox's website, not from Ubuntu's repo. Future versions of VirtualBox may fix this problem automatically, or may need a different workaround.
- Install VirtualBox Oracle VM VirtualBox Extension Pack.
- Create a VirtualBox instance and install Ubuntu 12.10 on it.
Install some required packages for the guest additions:
sudo apt-get install linux-headers-$(uname -r) build-essential
Install the guest additions by clicking Devices, Install Guest Additions and running this command from the CD-ROM's directory:
vboxvideo driver to the instance by running:
sudo bash -c 'echo vboxvideo >> /etc/modules'
- Shutdown the VirtualBox instance.
- Open the settings of the Virtualbox instance, navigate to "Display", and tick "Enable 3D acceleration".
Boot your Ubuntu 12.10 guest, and check that 3D acceleration is working by running:
If windows seem to disppear, install CompizConfig Settings Manager and disable Framebuffer Object (FBO) in the OpenGL section:
Install the CompizConfig Settings Manager:
sudo apt-get install compizconfig-settings-manager
Run the CompizConfig Settings Manager:
- Select the OpenGL section and then untick the Framebuffer Object option. If this fixes the issue it should be immediately visible. No reboot is required.