Nixpkgs: Lutris fails to find Vulkan or OpenGL libraries

Created on 18 Sep 2019  路  11Comments  路  Source: NixOS/nixpkgs

Describe the bug
Lutris fails to find Vulkan and OpenGL libraries and generally does not work (for me)

To Reproduce
Steps to reproduce the behavior:

  1. nix run nixpkgs.lutris -c lutris
    Observe:
/usr/bin/ldconfig: Can't open cache file /nix/store/6yaj6n8l925xxfbcd65gzqx3dz7idrnn-glibc-2.27/etc/ld.so.cache
: No such file or directory
2019-09-18 19:14:57,708: Failed to get libraries from ldconfig: Command '['/usr/bin/ldconfig', '-p']' returned non-zero exit status 1.
2019-09-18 19:14:58,497: Running Lutris 0.5.3
2019-09-18 19:14:58,498: Using Intel Open Source Technology Center
2019-09-18 19:14:58,498: Running Mesa driver 18.3.4 on Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)  (0x1916)
2019-09-18 19:14:58,498: GPU: 8086:1916 17AA:504A using i915 drivers
2019-09-18 19:14:58,498: i386 libGL.so.1 missing (needed by opengl)
2019-09-18 19:14:58,499: x86_64 libGL.so.1 missing (needed by opengl)
2019-09-18 19:14:58,499: i386 libvulkan.so.1 missing (needed by vulkan)
2019-09-18 19:14:58,499: x86_64 libvulkan.so.1 missing (needed by vulkan)
2019-09-18 19:15:00,675: Vulkan is supported
2019-09-18 19:15:01,649: Updating DXVK version

Expected behavior
Smooth execution

Screenshots
2019-09-18-19:17:17-screenshot

Additional context
I'm on 19.03. Lutris and latest vulkan packages are added via overlay from nixos-unstable channel

Metadata

  • system: "x86_64-linux"
  • host os: Linux 4.14.143, NixOS, 19.03pre-git (Koi)
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.2.2
  • nixpkgs: /home/rvolosatovs/src/github.com/rvolosatovs/infrastructure/vendor/nixpkgs/nixos

cc @Chiiruno

bug

Most helpful comment

Checking in as I'm getting this error but it's not merely cosmetic for me; Lutris fails to run after choking on the missing vulkan libs. Running NixOS 20.03 with nvidia drivers. Here's my nix run output:

/usr/bin/ldconfig: Can't open cache file /nix/store/xg6ilb9g9zhi2zg1dpi4zcp288rhnvns-glibc-2.30/etc/ld.so.cache
: No such file or directory
2020-09-19 12:23:07,335: Failed to get libraries from ldconfig: Command '['/usr/bin/ldconfig', '-p']' returned non-zero exit status 1.
Traceback (most recent call last):
  File "/nix/store/1k3qgrkpakvdv8px8x68av0q5968w51g-lutris-original-0.5.3/bin/..lutris-wrapped-wrapped", line 33, in <module>
    sys.exit(app.run(sys.argv))
  File "/nix/store/96ff6g3d82pqcc4m34qzdbqv94njjlxn-python3.7-pygobject-3.34.0/lib/python3.7/site-packages/gi/overrides/Gio.py", line 44, in run
    return Gio.Application.run(self, *args, **kwargs)
  File "/nix/store/r94aa2gj4drkhfvkm2p4ab6cblb6kxlq-python3-3.7.6/lib/python3.7/contextlib.py", line 119, in __exit__
    next(self.gen)
  File "/nix/store/96ff6g3d82pqcc4m34qzdbqv94njjlxn-python3.7-pygobject-3.34.0/lib/python3.7/site-packages/gi/_ossighelper.py", line 251, in register_sigint_fallback
    signal.default_int_handler(signal.SIGINT, None)
KeyboardInterrupt

All 11 comments

@abbradar is the one who fixed up this package properly and got it merged, so pinging him/her.
Anyway, from what I can see lutris is calling /usr/bin/ldconfig directly, and that is likely the core of the problem.
Perhaps we need to patch the source for now and submit an upstream PR?
I vaguely remember having a similar problem before with this program and hard coded path calls.

Unless it's not that. I'll test it a bit.

I see exact same error e.g. here in the original PR: https://github.com/NixOS/nixpkgs/pull/61742#issuecomment-493950315

Also see same error in build.

adding package /nix/store/najvrr9mppdrgjh529l79w8px36wn58z-gcc-8.3.0-lib
adding package /nix/store/a2r7djbavfcyvx33hk85d8921qlyq44r-nss-3.46
adding package /nix/store/212wi3g5in2p5p3lgpi6zbh9lyd332j2-nspr-4.21
adding package /nix/store/ynmrvr48grbwcr9nhv80indfndzwyg4r-libxcb-1.13.1
adding package /nix/store/6v1c4xrvhrif6nxbxqxk7i4vxxx10xg1-steam-runtime-2016-08-13
building '/nix/store/maryvbmp01ki70ng3adyvr98bsw57186-steam-usr-target.drv'...
/nix/store/hljwhpqjhpy5327zfmzjjh8xyly3hiy2-glibc-2.27-bin/bin/ldconfig: Can't open cache file /nix/store/6yaj6n8l925xxfbcd65gzqx3dz7idrnn-glibc-2.27/etc/ld.so.cache
: No such file or directory
2019-09-18 17:40:27,815: Failed to get libraries from ldconfig: Command '['/nix/store/hljwhpqjhpy5327zfmzjjh8xyly3hiy2-glibc-2.27-bin/bin/ldconfig', '-p']' returned non-zero exit status 1.
2019-09-18 17:40:27,815: No GPU available on this system!
collision between `/nix/store/m6w2sl077racj2swq7f0ndw3p2ilr0r5-glibc-multi-2.27/lib/locale/locale-archive' and `/nix/store/6nhgxkdwhfksiv7hrzh8iqbsa10nay54-glibc-locales-2.27/lib/locale/locale-archive'
collision between `/nix/store/najvrr9mppdrgjh529l79w8px36wn58z-gcc-8.3.0-lib/lib/libgcc_s.so.1' and `/nix/store/m6w2sl077racj2swq7f0ndw3p2ilr0r5-glibc-multi-2.27/lib/libgcc_s.so.1'
collision between `/nix/store/najvrr9mppdrgjh529l79w8px36wn58z-gcc-8.3.0-lib/lib/libgcc_s.so' and `/nix/store/m6w2sl077racj2swq7f0ndw3p2ilr0r5-glibc-multi-2.27/lib/libgcc_s.so'
collision between `/nix/store/najvrr9mppdrgjh529l79w8px36wn58z-gcc-8.3.0-lib/lib64/libgcc_s.so.1' and `/nix/store/m6w2sl077racj2swq7f0ndw3p2ilr0r5-glibc-multi-2.27/lib64/libgcc_s.so.1'
collision between `/nix/store/najvrr9mppdrgjh529l79w8px36wn58z-gcc-8.3.0-lib/lib64/libgcc_s.so' and `/nix/store/m6w2sl077racj2swq7f0ndw3p2ilr0r5-glibc-multi-2.27/lib64/libgcc_s.so'
/build/source/lutris/util/display.py:7: PyGIWarning: Gdk was imported without specifying a version first. Use gi.require_version('Gdk', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import Gdk, GnomeDesktop, GLib
/build/source/lutris/util/display.py:7: PyGIWarning: GnomeDesktop was imported without specifying a version first. Use gi.require_version('GnomeDesktop', '3.0') before import to ensure that the right version gets loaded.

/nix/store/hljwhpqjhpy5327zfmzjjh8xyly3hiy2-glibc-2.27-bin/bin/ldconfig: Can't open cache file /nix/store/6yaj6n8l925xxfbcd65gzqx3dz7idrnn-glibc-2.27/etc/ld.so.cache : No such file or directory

I see an immediate problem right here; The hashes for the two glibc are different, so this may be a collision issue.

However, when running ls /nix/store/*glibc*/etc, none of them have ld.so.cache, so this makes me wonder if that's not supposed to be in the nix store.
Couldn't find anything relevant in /run/current-system either.

I can reproduce the bug too if that is useful.

Output of nix run nixpkgs.lutris -c lutris

2019-10-06 14:41:54,247: Running Lutris 0.5.3
2019-10-06 14:41:54,247: Using X.Org
2019-10-06 14:41:54,247: Running Mesa driver 18.3.4 on AMD Radeon(TM) HD 8800 Series (PITCAIRN, DRM 3.32.0, 5.2.17, LLVM 7.0.1) (0x6810)
2019-10-06 14:41:54,247: GPU: 1002:6810 174B:E271 using amdgpu drivers
2019-10-06 14:41:54,248: GPU: 8086:0412 1043:8534 using i915 drivers
2019-10-06 14:41:54,248: i386 libGL.so.1 missing (needed by opengl)
2019-10-06 14:41:54,248: x86_64 libGL.so.1 missing (needed by opengl)
2019-10-06 14:41:54,248: i386 libvulkan.so.1 missing (needed by vulkan)
2019-10-06 14:41:54,248: x86_64 libvulkan.so.1 missing (needed by vulkan)

Metadata

  • system: "x86_64-linux"
  • host os: Linux 5.2.17, NixOS, 19.03 (Koi)
  • multi-user?: no
  • sandbox: no
  • version: nix-env (Nix) 2.2.2

That error message is just a cosmetic problem. Lutris tries to find the system's Vulcan drivers (and can't). The game runners it uses to start games -- like WINE --, however, do find those drivers and work okay in my experience.

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/lutris-cannot-find-vulkan/6911/2

What's about that broken icons? Any ideas how to fix it?

Checking in as I'm getting this error but it's not merely cosmetic for me; Lutris fails to run after choking on the missing vulkan libs. Running NixOS 20.03 with nvidia drivers. Here's my nix run output:

/usr/bin/ldconfig: Can't open cache file /nix/store/xg6ilb9g9zhi2zg1dpi4zcp288rhnvns-glibc-2.30/etc/ld.so.cache
: No such file or directory
2020-09-19 12:23:07,335: Failed to get libraries from ldconfig: Command '['/usr/bin/ldconfig', '-p']' returned non-zero exit status 1.
Traceback (most recent call last):
  File "/nix/store/1k3qgrkpakvdv8px8x68av0q5968w51g-lutris-original-0.5.3/bin/..lutris-wrapped-wrapped", line 33, in <module>
    sys.exit(app.run(sys.argv))
  File "/nix/store/96ff6g3d82pqcc4m34qzdbqv94njjlxn-python3.7-pygobject-3.34.0/lib/python3.7/site-packages/gi/overrides/Gio.py", line 44, in run
    return Gio.Application.run(self, *args, **kwargs)
  File "/nix/store/r94aa2gj4drkhfvkm2p4ab6cblb6kxlq-python3-3.7.6/lib/python3.7/contextlib.py", line 119, in __exit__
    next(self.gen)
  File "/nix/store/96ff6g3d82pqcc4m34qzdbqv94njjlxn-python3.7-pygobject-3.34.0/lib/python3.7/site-packages/gi/_ossighelper.py", line 251, in register_sigint_fallback
    signal.default_int_handler(signal.SIGINT, None)
KeyboardInterrupt
Was this page helpful?
0 / 5 - 0 ratings

Related issues

lverns picture lverns  路  3Comments

tomberek picture tomberek  路  3Comments

vaibhavsagar picture vaibhavsagar  路  3Comments

ayyess picture ayyess  路  3Comments

langston-barrett picture langston-barrett  路  3Comments