I'm using Ubuntu 12.04 on my notebook (ASUS K53SV, i7-2670QM, Intel HD 3000, GeForce 540M). In order to save energy i've installed "bumblebee", a solution for Nvidia Optimus Technology on Linux.

So far, so good.

Since then, the lifetime of my battery increased a lot.

But: If i try to open 32-Bit Apps like Wine and this Application uses OpenGL, it doesn't work. It just runs on my 540M, when I put "optirun" before the "wine" command. But, for simple OpenGL Applications i don't need the power of my dedicated GPU.

I've used the offical bumblebee instalation guide, therefore i've installed, the Packages like "virtualgl-libs:i386, libgl1-mesa-glx:i386, libc6:i386" of course.

So, what can i do to get my OpenGL accerleration on 32-Bit Applications working again?

Thank you very much for your help! - PhenomZ

BTW: My system sould by up to date. I'm always installing the recent updates. (I'm also using the Xorg-Edgers PPA)

    phenom@notebook:~/Downloads/Test$ wine test.exe
err:module:load_builtin_dll failed to load .so lib for builtin L"OPENGL32.dll": libGL.so.1: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
err:module:import_dll Loading library OPENGL32.dll (which is needed by L"Z:\\home\\phenom\\Downloads\\Test\\test.exe") failed (error c000007a).
err:module:LdrInitializeThunk Main exe initialization for L"Z:\\home\\phenom\\Downloads\\Test\\test.exe" failed, status c0000135
  • Please attach the output of update-alternatives --display i386-linux-gnu_gl_conf to your question – Lekensteyn Apr 25 '12 at 15:56
  • Okay, here it is: i386-linux-gnu_gl_conf - manueller Modus Link verweist zur Zeit auf /usr/lib/nvidia-current/alt_ld.so.conf /usr/lib/i386-linux-gnu/mesa/ld.so.conf - Priorität 500 Slave i386-linux-gnu_xorg_extra_modules: /usr/lib/i386-linux-gnu/xorg/x11-extra-modules /usr/lib/nvidia-current/alt_ld.so.conf - Priorität 9700 Gegenwärtig »beste« Version ist »/usr/lib/nvidia-current/alt_ld.so.conf«. – PhenomZ Apr 26 '12 at 16:42
  • Are you sure that you've installed libgl1-mesa-glx:i386? After doing so, try reinstalling Bumblebee. – Lekensteyn Apr 26 '12 at 20:12
  • Whoa, thank you very much! After I reinstalled bumblebee... now it works perfectly. – PhenomZ Apr 27 '12 at 14:00

I'll explain what happened. In Bumblebee version before 3.0-2~...ppa1, installing the bumblebee package also installs bumblebee-nvidia which on its turn installs nvidia-current.

The nvidia-current package installs both the 64-bit and 32-bit libraries on a 64-bit system. These OpenGL libraries conflict with the Mesa OpenGL library, package libgl1-mesa-glx. (read: breaks OpenGL capabilities on systems where the primary X server does not use the nvidia driver like an Optimus laptop)

The bumblebee-nvidia package tries to repair this by setting the default OpenGL library to the Mesa one for installed architectures. Initially, only libgl1-mesa-glx:amd64 is installed. So, unless libgl1-mesa-glx:i386 is installed before, OpenGL gets broken for 32-bit architectures.

The solution is to first install libgl1-mesa-glx:i386, and then install Bumblebee. virtualgl-libs:i386 can be installed at any time and will also be installed like bumblebee-nvidia in later versions. New installations will automatically pull in the drivers in the right order.

If you've already installed Bumblebee, simply install libgl1-mesa-glx:i386 and reinstall bumblebee-nvidia.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.