Closed kaelris closed 11 years ago
Your problem is that VirtualGL seems to load Mesa libGL instead of nVidia libGL. Do optirun glxinfo
and optirun glxinfo32
(from packages mesa-demos
and lib32-mesa-demos
) work and show NVIDIA in the renderer string? Did you update wine with that system update you mention?
Hi all! I'm experiencing similar problem with Virtualbox
$ LIBGL_DEBUG=verbose optirun VirtualBox -startvm Winzozz
Error opening file for reading: Permission denied
libGL: screen 0 does not appear to be DRI2 capable
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
libGL error: failed to load driver: swrast
When giving optirun glxinfo all seems to be ok.
$ optirun glxinfo | grep rend
direct rendering: Yes
OpenGL renderer string: GeForce GT 630M/PCIe/SSE2
GL_NV_conditional_render, GL_NV_copy_depth_to_color, GL_NV_copy_image,
GL_NV_parameter_buffer_object2, GL_NV_path_rendering,
GL_NVX_conditional_render, GL_NVX_gpu_memory_info,
GL_OES_depth_texture, GL_OES_element_index_uint, GL_OES_fbo_render_mipmap,
optirun glxinfo returns that, amongst other things:
direct rendering: Yes OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GT 650M/PCIe/SSE2 OpenGL version string: 4.2.0 NVIDIA 304.60 OpenGL shading language version string: 4.20 NVIDIA via Cg compiler
But more interesting, optirun glxinfo32:
name of display: :0.0 libGL error: failed to load driver: swrast libGL error: Try again with LIBGL_DEBUG=verbose for more details. Error: couldn't find RGB GLX visual or fbconfig libGL error: failed to load driver: i965 libGL error: Try again with LIBGL_DEBUG=verbose for more details. [VGL] ERROR: in glXGetConfig-- [VGL] 917: Could not obtain Pbuffer-capable RGB visual on the server
With LIBGL_DEBUG=verbose:
name of display: :0.0 libGL: screen 0 does not appear to be DRI2 capable libGL: OpenDriver: trying /usr/lib32/xorg/modules/dri/tls/swrast_dri.so libGL: OpenDriver: trying /usr/lib32/xorg/modules/dri/swrast_dri.so libGL error: failed to load driver: swrast Error: couldn't find RGB GLX visual or fbconfig libGL: OpenDriver: trying /usr/lib32/xorg/modules/dri/tls/i965_dri.so libGL: OpenDriver: trying /usr/lib32/xorg/modules/dri/i965_dri.so libGL error: dlopen /usr/lib32/xorg/modules/dri/i965_dri.so failed (/usr/lib32/xorg/modules/dri/i965_dri.so: cannot open shared object file: No such file or directory) libGL error: unable to load driver: i965_dri.so libGL error: driver pointer missing libGL error: failed to load driver: i965 libGL: OpenDriver: trying /usr/lib32/xorg/modules/dri/tls/swrast_dri.so libGL: OpenDriver: trying /usr/lib32/xorg/modules/dri/swrast_dri.so [VGL] ERROR: in glXGetConfig-- [VGL] 917: Could not obtain Pbuffer-capable RGB visual on the server
Does this mean I miss some lib32 library? And yes, wine was updated with the system update, but I tried to tell playonlinux to use older versions of wine and it didn't change anything.
@Kaelris, your lib32-virtualgl
seems to be broken. And 32-bit direct rendering libraries seem to be missing or broken as well.
This is weird:
libGL: screen 0 does not appear to be DRI2 capable
Intel is DRi2 capable. I suggest looking in your /var/log/Xorg.0.log file. For optirun
with virtualgl you need to use lib32-virtualgl
. If you check the steps on https://wiki.archlinux.org/index.php/Bumblebee, have you missed anything obvious?
Ok so I uninstalled virtualgl, lib32-virtualgl and bumblebee (since it has virtualgl as a dependency). When I tried to reinstall virtualgl from AUR, I got this:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: OPENGL_glu_LIBRARY (ADVANCED)
So I reinstalled glu and lib32-glu, and then virtualgl. It seems that glu at least was broken. After that I was able to reinstall everything, but I still have the same error with optirun glxinfo32, so I guess something else is broken. I also reinstalled libgl and lib32-libgl as a precaution, but it didn't help.
Related to DRI2, I found this in Xorg.0.log:
[ 19.134] (II) Loading sub module "dri2" [ 19.134] (II) LoadModule: "dri2" [ 19.134] (II) Module "dri2" already built-in [ 19.134] (==) Depth 24 pixmap format is 32 bpp [ 19.135] (II) intel(0): [DRI2] Setup complete [ 19.135] (II) intel(0): [DRI2] DRI driver: i965 [...] [ 19.140] (II) intel(0): direct rendering: DRI2 Enabled
The equivalent in Xorg.8.log:
[ 633.140] (II) Loading sub module "dri2" [ 633.140] (II) LoadModule: "dri2" [ 633.141] (II) Module "dri2" already built-in [ 633.141] (II) NVIDIA(0): [DRI2] Setup complete [ 633.141] (II) NVIDIA(0): [DRI2] VDPAU driver: nvidia
I installed bumblebee following the wiki page the first time. I rechecked it but didn't see anything missing.
I think something is amiss with your lib32-nvidia-utils-bumblebee
package. Show us pacman -Ql lib32-nvidia-utils-bumblebee
and upload /tmp/ld-debug.txt
from
LD_DEBUG=libs VGL_VERBOSE=1 optirun glxinfo32 |& tee /tmp/ld-debug.txt
to a pastebin (the file is very long).
pacman -Ql lib32-nvidia-utils-bumblebee:
lib32-nvidia-utils-bumblebee /usr/ lib32-nvidia-utils-bumblebee /usr/lib32/ lib32-nvidia-utils-bumblebee /usr/lib32/libOpenCL.so.1.0.0 lib32-nvidia-utils-bumblebee /usr/lib32/libXvMCNVIDIA.a lib32-nvidia-utils-bumblebee /usr/lib32/libXvMCNVIDIA.so.304.60 lib32-nvidia-utils-bumblebee /usr/lib32/libcuda.so.304.60 lib32-nvidia-utils-bumblebee /usr/lib32/libnvcuvid.so.304.60 lib32-nvidia-utils-bumblebee /usr/lib32/libnvidia-cfg.so.304.60 lib32-nvidia-utils-bumblebee /usr/lib32/libnvidia-compiler.so.304.60 lib32-nvidia-utils-bumblebee /usr/lib32/libnvidia-glcore.so.304.60 lib32-nvidia-utils-bumblebee /usr/lib32/libnvidia-ml.so.304.60 lib32-nvidia-utils-bumblebee /usr/lib32/libnvidia-tls.so.304.60 lib32-nvidia-utils-bumblebee /usr/lib32/nvidia-bumblebee/ lib32-nvidia-utils-bumblebee /usr/lib32/nvidia-bumblebee/libGL.so.304.60 lib32-nvidia-utils-bumblebee /usr/lib32/vdpau/ lib32-nvidia-utils-bumblebee /usr/lib32/vdpau/libvdpau_nvidia.so.304.60 lib32-nvidia-utils-bumblebee /usr/share/ lib32-nvidia-utils-bumblebee /usr/share/licenses/ lib32-nvidia-utils-bumblebee /usr/share/licenses/lib32-nvidia-utils-bumblebee
And ld-debug.txt: http://pastebin.com/1xJHMKfu
32-bit libGL.so.1
symlink is missing from lib32-nvidia-utils-bumblebee
, and that is causing the problem. Something went wrong went you installed that package, I guess.
I just recompiled and reinstalled it but still no libGL.so.1 in the pacman -Ql. The file exists in /usr/lib32 though. Is there a way I can add the symlink manually?
sudo ln -s libGL.so.304.60 /usr/lib32/nvidia-bumblebee/libGL.so.1
Better, edit the PKGBUILD and add the symlink for a permanent solution.
But the PKGBUILD is supposed to add that symlink.
grep libGL.so.1 https://aur.archlinux.org/packages/li/lib32-nvidia-utils-bumblebee/PKGBUILD
is empty. The non-32-bit package had issues too, but these have been resolved: https://aur.archlinux.org/packages/nvidia-utils-bumblebee/
I commented on the lib32 package.
After adding the symlink everything works perfectly. Thank you for the help!
@Lekensteyn, no, there's a for loop in the PKGBUILD that creates all symlinks. If you look at the pacman -Ql
output above, you'll see that none of the symlinks was created. Adding symlinks by hand is foolish and just workarounds a worse issue elsewhere, such as broken sed, or broken readelf, or broken something else. FWIW, lib32-nvidia-utils-bumblebee
builds fine for me with unpatched PKGBUILD.
Hi,
I use bumblebee to run Starcraft 2 in archlinux (x86_64) with playonlinux. It used to work fine, but yesterday I did a package update (to 3.6 kernel) and now when I try to run the game (or any other game using optirun) I get this:
And after that the game crashes.
I tried to downgrade pretty much every package related to xorg or libgl but it didn't help. I also tried to manually enable DRI2 in the xorg conf file, didn't work.
Strange thing is, when I run optirun nvidia-settings -c :8 the max resolution I can get is 1024x768, when my screen is supposed to be 1920x1080. I guess there is a problem with screen detection by the nvidia driver, the xorg log talks about an EDID problem too.
The GPU is:
Package versions:
I don't have a /etc/X11/xorg.conf (never had one). My /etc/bumblebee/xorg.conf.nvidia looks like this:
/var/log/Xorg.8.log :
Any idea? Thanks for the help.