z0rc / debumblebee

DEPRECATED. Don't use it anymore — Optimus graphics support for Debian through VirtualGL
http://suwako.nomanga.net/
GNU General Public License v3.0
26 stars 2 forks source link

/usr/local/lib/debumblebee/libglx.so: cannot open shared object file: No such file or directory #50

Closed chl501 closed 12 years ago

chl501 commented 12 years ago

In /var/log/Xorg.8.log shows

144.611 Failed to load /usr/local/lib/debumblebee/libglx.so: /usr/local/lib/debumblebee/libglx.so: cannot open shared object file: No such file or directory 144.611 LoadModule: Module glx does not have a glxModuleData data object. 144.611 UnloadModule: "glx" 144.611 Unloading glx 144.611 Failed to load module "glx" (invalid module, 0)

when starting up optirun glxinfo

Env: Debian wheezy, kernel 3.1.0-1-686-pae

How to fix this problem?

Thanks

z0rc commented 12 years ago

This is strange. How did you install debumblebee? Default installer won't produce this. Also provide the output of ls -l /usr/local/lib/debumblebee/libglx.so.

chl501 commented 12 years ago

ls -l /usr/local/lib/debumblebee/libglx.so shows

lrwxrwxrwx 1 root staff 25 Dec 16 17:39 /usr/local/lib/debumblebee/libglx.so -> /usr/lib/nvidia/libglx.so

But under /usr/lib/nvidia does not have libglx.so

The way to install debumblebee is

  1. git clone https://github.com/z0rc/debumblebee.git
  2. sudo ./install.sh

glxinfo | grep rend shows

direct rendering: Yes OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile x86/MMX/SSE2 GL_EXT_vertex_array_bgra, GL_NV_conditional_render,

z0rc commented 12 years ago

You have something really broken on packages level, definitely missing some key packages. Run dpkg-query -l | grep ii | grep nvidia and provide the output.

chl501 commented 12 years ago

Command `dpkg-query -l | grep ii | grep nvidia' gives the following output.

ii nvidia-installer-cleanup 20111111+1 Cleanup after driver installation with the nvidia-installer ii nvidia-kernel-common 20111111+1 NVIDIA binary kernel module support files ii nvidia-kernel-dkms 290.10-1 NVIDIA binary kernel module DKMS source ii nvidia-support 20111111+1 NVIDIA binary graphics driver support files ii nvidia-vdpau-driver 290.10-1 NVIDIA vdpau driver

z0rc commented 12 years ago

You are missing tone of needed packages. For example, where is libgl1-nvidia-glx, which should be also installed? Are you using weird apt policies, like not installing recommended packages?

Here is complete list of needed packages: glx-alternative-nvidia, libgl1-nvidia-alternatives, libgl1-nvidia-alternatives-ia32, libgl1-nvidia-glx, libgl1-nvidia-glx-ia32, libglx-nvidia-alternatives, nvidia-alternative, nvidia-glx, nvidia-installer-cleanup, nvidia-kernel-common, nvidia-kernel-dkms, nvidia-settings, nvidia-support, nvidia-vdpau-driver, xserver-xorg-video-nvidia. But don't mindlessly install them, as as this case you'll just break your system.

chl501 commented 12 years ago

The setting is all default (1st installing debian iso. 2nd upgrading to wheezy. 3rd download/ install debumblebee, etc.)

Before 2nd and 3rd steps, I've followed http://wiki.debian.org/NvidiaGraphicsDrivers#Installation-1 to install nvidia. Maybe this is the reason the installation was not completed (Because I was not aware that the system has the card auto-switch feature)?

Should I reinstall nvidia driver? What is the right way to do that?

Thank you for kindly help.

z0rc commented 12 years ago

Yes, that's the cause. Uninstall debumblebee, purge all nvidia packages (if there are left any) and run debumblebee installation, it will install nvidia packages automatically.

chl501 commented 12 years ago

Uninstall debumblebee (sudo ./uninstall.sh); purge nvdia (aptitude purge ~nnvidia); then reinstall debumblebee (sudo ./install.sh) works ok.

ls -alh /usr/local/lib/debumblebee/libglx.so shows it links to /usr/lib/nvidia/current/libglx.so.290.10. And libglx.so.290.10 exists (-rw-r--r-- 1 root root 4.9M Nov 17 11:52 /usr/lib/nvidia/current/libglx.so.290.10).

However, `sudo optirun glxgears -info' still throws error where Xorg.8.log says

(EE) NVIDIA(0): No display devices found for this X screen. ... (EE) Screen(s) found, but none have a usable configuration.

Given the command `dpkg-query -l | grep ii | grep nvidia' returns the following installed pkgs.

ii glx-alternative-nvidia 0.2.0 allows the selection of NVIDIA as GLX provider ii libgl1-nvidia-alternatives 290.10-1 transition libGL.so* diversions to glx-alternative-nvidia ii libgl1-nvidia-glx 290.10-1 NVIDIA binary OpenGL libraries ii libglx-nvidia-alternatives 290.10-1 transition libgl.so diversions to glx-alternative-nvidia ii nvidia-alternative 290.10-1 allows the selection of NVIDIA as GLX provider ii nvidia-glx 290.10-1 NVIDIA metapackage ii nvidia-installer-cleanup 20111111+1 Cleanup after driver installation with the nvidia-installer ii nvidia-kernel-common 20111111+1 NVIDIA binary kernel module support files ii nvidia-kernel-dkms 290.10-1 NVIDIA binary kernel module DKMS source ii nvidia-support 20111111+1 NVIDIA binary graphics driver support files ii nvidia-vdpau-driver 290.10-1 NVIDIA vdpau driver ii xserver-xorg-video-nvidia 290.10-1 NVIDIA binary Xorg driver

Any additional procedure needs to performed? Or any step is missing?

Thank you for patiently help answer my questions.

z0rc commented 12 years ago

Have you restarted after uninstalling debumblebee and after installing? Also put the whole Xorg.8.log on some pastebin and provide the link.

chl501 commented 12 years ago

Yes. After reinstalling drivers, os is restarted. The output of log is at http://pastebin.com/ptATawwQ

In addition, I notice that the log is written to xorg.8.log instead xorg.0.log. The config (used to log to xorg.8.log) uses /etc/X11/xorg.conf.nvidia whereas that (used to log to xorg.0.log) uses /usr/share/X11/xorg.conf.d. The config file (xorg.conf.nvidia) can be seen at http://pastebin.com/hnyhBZYv

z0rc commented 12 years ago

Put Option "ConnectedMonitor" "DFP-0" into Device section in xorg.conf.nvidia, this should help. Also I'd like to know output of dmidecode --string system-product-name, this is needed so further installations on this laptop model won't be affected by this issue.

chl501 commented 12 years ago

The output of command `dmidecode --string system-product-name' is 4171A17

After adding ConnectedMonitor string to nvidia's Device section, `optirun glxgears -info' works without a problem.

Thanks for help solve this problem!