How to make Unity 3D work with Bumblebee using the Intel chipset
- by EboMike
I have a Sony VAIO S laptop with the dreaded Optimus and finally managed to get Bumblebee to work fully on Ubuntu 12.04 so that I can utilize both the hardware acceleration of the Intel chipset as well as the Nvidia one via optirun and/or bumble-app-settings.
However, the desktop effects don't work. But they should, I vaguely remember that they worked for a while before I had Bumblebee installed.
This is what I get with the support test:
:~$ /usr/lib/nux/unity_support_test -p
Xlib: extension "NV-GLX" missing on display ":0".
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
OpenGL version string: 1.4 (2.1 Mesa 8.0.2)
Not software rendered: yes
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: no
GL framebuffer object: yes
GL version is 1.4+: yes
Unity 3D supported: no
First of all, I kind of doubt that the chipset doesn't support VBOs (essentially a standard feature in GL).
Neither Xorg.0.log nor Xorg.8.log show any particular errors.
As for the Nvidia drivers: In order to get them to work, I had to install the 304.22 drivers (older ones wouldn't work). They clobbered libglx.so, so I reinstated the xserver-xorg-core libglx.so in its original place, moved Nvidia's libglx.so to an nvidia-specific folder and specified that folder in the bumblebee.config. That seems to work and shouldn't cause the problem I see here.
For fun, I tried to use the Nvidia chipset for Unity, but that didn't fly either:
~$ optirun /usr/lib/nux/unity_support_test -p
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 640M LE/PCIe/SSE2
OpenGL version string: 4.2.0 NVIDIA 304.22
Not software rendered: yes
Not blacklisted: yes
GLX fbconfig: yes
GLX texture from pixmap: no
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