Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vulkan broken with Nvidia on unstable #69264

Closed
nyanloutre opened this issue Sep 22, 2019 · 4 comments · Fixed by #69820
Closed

Vulkan broken with Nvidia on unstable #69264

nyanloutre opened this issue Sep 22, 2019 · 4 comments · Fixed by #69820

Comments

@nyanloutre
Copy link
Member

nyanloutre commented Sep 22, 2019

Describe the bug
Can't use Vulkan on the latest nixos-unstable channel.

To Reproduce
Steps to reproduce the behavior:

$ vulkaninfo 
ERROR: [Loader Message] Code 0 : libGLX_nvidia.so.0: cannot open shared object file: No such file or directory
Cannot create Vulkan instance.
This problem is often caused by a faulty installation of the Vulkan driver or attempting to use a GPU that does not support Vulkan.
/build/source/vulkaninfo/vulkaninfo.c:923: failed with VK_ERROR_INCOMPATIBLE_DRIVER

Expected behavior
working Vulkan

Additional context
Strangely it's working with steam-run vulkaninfo (and Proton games running in steam are working)

LD_LIBRARY_PATH=/run/opengl-driver/lib vulkaninfo is also working

strace without steam-run:

$ strace vulkaninfo 2>&1 | grep libGLX_nvidia.so.0
openat(AT_FDCWD, "/nix/store/6yaj6n8l925xxfbcd65gzqx3dz7idrnn-glibc-2.27/lib/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/6yaj6n8l925xxfbcd65gzqx3dz7idrnn-glibc-2.27/lib/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/6yaj6n8l925xxfbcd65gzqx3dz7idrnn-glibc-2.27/lib/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/6yaj6n8l925xxfbcd65gzqx3dz7idrnn-glibc-2.27/lib/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/6yaj6n8l925xxfbcd65gzqx3dz7idrnn-glibc-2.27/lib/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/nix/store/6yaj6n8l925xxfbcd65gzqx3dz7idrnn-glibc-2.27/lib/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
write(2, "ERROR: [Loader Message] Code 0 :"..., 111ERROR: [Loader Message] Code 0 : libGLX_nvidia.so.0: cannot open shared object file: No such file or directory

strace with steam-run:

$ steam-run strace vulkaninfo 2>&1 | grep libGLX_nvidia.so.0
openat(AT_FDCWD, "/lib32/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/lib64/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/steamrt/amd64/lib/x86_64-linux-gnu/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/steamrt/amd64/lib/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/steamrt/amd64/usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/steamrt/amd64/usr/lib/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/steamrt/i386/lib/i386-linux-gnu/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/steamrt/i386/lib/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/steamrt/i386/usr/lib/i386-linux-gnu/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/steamrt/i386/usr/lib/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/run/opengl-driver/lib/libGLX_nvidia.so.0", O_RDONLY|O_CLOEXEC) = 3

Metadata

  • system: "x86_64-linux"
  • host os: Linux 4.19.74, NixOS, 20.03.git.31dd686 (Markhor)
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.3
  • channels(root): "nixos-20.03pre193781.d484f2b7fc0"
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:

# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:
@nyanloutre
Copy link
Member Author

#69037 might be related

@eadwu
Copy link
Member

eadwu commented Sep 23, 2019

This just might be the regression from patchelf if that's in unstable, vulkaninfo works fine for me.

@ambrop72
Copy link
Contributor

I've submitted a fix in #69820.

@eadwu
Copy link
Member

eadwu commented Sep 28, 2019

Sorry about the comment, turns out I was just using a local nixpkgs where the issue was fixed already.

ambrop72 added a commit to ambrop72/nixpkgs that referenced this issue Sep 28, 2019
The original file contains just a library name, which does not work when LD_LIBRARY_PATH does not contain /run/opengl-driver/lib, as is the case in unstable NixOS.

Fixes NixOS#69264
abbradar pushed a commit that referenced this issue Oct 2, 2019
The original file contains just a library name, which does not work when LD_LIBRARY_PATH does not contain /run/opengl-driver/lib, as is the case in unstable NixOS.

Fixes #69264
abbradar pushed a commit that referenced this issue Oct 2, 2019
The original file contains just a library name, which does not work when LD_LIBRARY_PATH does not contain /run/opengl-driver/lib, as is the case in unstable NixOS.

Fixes #69264

(cherry picked from commit d156b2b)
dtzWill pushed a commit to dtzWill/nixpkgs that referenced this issue Oct 2, 2019
The original file contains just a library name, which does not work when LD_LIBRARY_PATH does not contain /run/opengl-driver/lib, as is the case in unstable NixOS.

Fixes NixOS#69264

(cherry picked from commit d156b2b)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants