0

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
4
  • Please attach the output of update-alternatives --display i386-linux-gnu_gl_conf to your question
    – Lekensteyn
    Apr 25, 2012 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, 2012 at 16:42
  • Are you sure that you've installed libgl1-mesa-glx:i386? After doing so, try reinstalling Bumblebee.
    – Lekensteyn
    Apr 26, 2012 at 20:12
  • Whoa, thank you very much! After I reinstalled bumblebee... now it works perfectly.
    – PhenomZ
    Apr 27, 2012 at 14:00

1 Answer 1

4

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.

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .