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 disabled in chromium: Couldn't open libvulkan.so.1 #150398

Closed
robert-elles opened this issue Dec 12, 2021 · 17 comments · Fixed by #216601
Closed

Vulkan disabled in chromium: Couldn't open libvulkan.so.1 #150398

robert-elles opened this issue Dec 12, 2021 · 17 comments · Fixed by #216601

Comments

@robert-elles
Copy link
Contributor

Describe the bug

Even when vulkan is installed and working, opening chromium and going to chrome://gpu shows vulkan is disabled. Also chromium logs the following warning:
Warning: Couldn't open libvulkan.so.1 Info: Couldn't load Vulkan at LoadVulkan (../../third_party/dawn/src/dawn_native/vulkan/BackendVk.cpp:135) at Initialize (../../third_party/dawn/src/dawn_native/vulkan/BackendVk.cpp:139)
Running vulkaninfo confirms that vulkan is installed properly and working.

Steps To Reproduce

  1. confirm vulkan is installed and working with running vulkaninfo
  2. open chromium and go to chrome://gpu check if vulkan is enabled or disabled.

Expected behavior

vulakn is enabled in chrome://gpu

Notify maintainers

@ncfavier
@tnias
@davidak

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

  • system: "x86_64-linux"
  • host os: Linux 5.10.81, NixOS, 21.11 (Porcupine)
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.3.16
  • channels(robert): ""
  • channels(root): "nixos-21.11.334139.1bd4bbd49be"
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

Maintainer information:

# a list of nixpkgs attributes affected by the problem
attribute: chromium
# a list of nixos modules affected by the problem
module:
@tnias
Copy link
Contributor

tnias commented Dec 12, 2021

Hey @robert-elles,

I think you meant to ping the chromium maintainers: @primeos @thefloweringash @squalus.

@robert-elles
Copy link
Contributor Author

@tnias yes thank you!

@primeos
Copy link
Member

primeos commented Dec 12, 2021

Not sure if this is actionable, AFAIK Chromium's Vulkan support is still pretty experimental (depending on the platform). Did it even ever work before? Also: X11 or Wayland, which flags are you using for Chromium, and could you provide the full output?

Couldn't open libvulkan.so.1 might be actionable but apparently it's only a warning so idk... You could use strace to figure out the complete path where Chromium expects libvulkan.so.1. Relevant parts from the source code:

But since Dawn (https://dawn.googlesource.com/dawn) is Google's WebGPU implementation this shouldn't even be relevant (yet).

Anyway, I'm afraid you're on your own here as I don't have enough time to give it a proper look.

(Potentially) also interesting/relevant:

PS: I also finally submitted #150417 but that should only be relevant when using SwiftShader.

@davidak
Copy link
Member

davidak commented Dec 12, 2021

This issue affects also google-chrome.

primeos added a commit to primeos/nixpkgs that referenced this issue Dec 16, 2021
This might be required for experimental Vulkan support, see:
NixOS#150398

Note: Google Chrome distributes it as well.
@primeos
Copy link
Member

primeos commented Dec 16, 2021

libvulkan.so.1 seems to be relevant as it's ANGLE's Vulkan wrapper rather than the real libvulkan from the system. I only had a quick look through the source-code but it seems like we should definitely install it (but other Linux distributions don't seem to do it yet). Anyway, @robert-elles could you re-test this once #151023 is built by Hydra (maybe I can also give it a go during the weekend)?

@davidak we already install libvulkan.so.1 for Google Chrome so it seems like there are some other issues as well. If you have time to debug/investigate that would be great (my older test system for Google Chrome lacks Vulkan support :o).

@robert-elles
Copy link
Contributor Author

@primeos great thanks for looking into it! will definitely try to test it over the weekend

@robert-elles
Copy link
Contributor Author

@primeos unfortunately it does not seem to fix the problem. I still get the same warning that libvulkan.so.1 could not be load

cleeyv pushed a commit to cleeyv/nixpkgs that referenced this issue Dec 27, 2021
This might be required for experimental Vulkan support, see:
NixOS#150398

Note: Google Chrome distributes it as well.
(cherry picked from commit 075338b)

Reason: fixes nixos/jibri bug since upgrade to chromium 96 on Nov 15:
https://hydra.nixos.org/job/nixos/trunk-combined/nixos.tests.jibri.x86_64-linux
@shazow
Copy link
Contributor

shazow commented Dec 28, 2021

Confirming this is also an issue on google-chrome-beta: (Excuse the unrelated dbus things)

$ google-chrome-beta
[342375:342463:1228/130139.925935:ERROR:object_proxy.cc(642)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[342375:342463:1228/130139.926512:ERROR:object_proxy.cc(642)] Failed to call method: org.freedesktop.UPower.GetDisplayDevice: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[342375:342463:1228/130139.927088:ERROR:object_proxy.cc(642)] Failed to call method: org.freedesktop.UPower.EnumerateDevices: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
Warning: Couldn't open libvulkan.so.1
Info: Couldn't load Vulkan
    at LoadVulkan (../../third_party/dawn/src/dawn_native/vulkan/BackendVk.cpp:135)
    at Initialize (../../third_party/dawn/src/dawn_native/vulkan/BackendVk.cpp:139)

[342375:342399:1228/130149.208808:ERROR:chrome_browser_main_extra_parts_metrics.cc(227)] START: ReportBluetoothAvailability(). If you don't see the END: message, this is crbug.com/1216328.
[342375:342399:1228/130149.208826:ERROR:chrome_browser_main_extra_parts_metrics.cc(230)] END: ReportBluetoothAvailability()
Fontconfig error: Cannot load default config file: No such file: (null)

I'm not experienced at debugging this kind of thing but happy to give it a shot if there are any hints for where to get started. :)

Edit: I did confirm that /nix/store/z4pvkf0jaz9hmi995dsiak0ayk8qw9n2-google-chrome-beta-97.0.4692.56/share/google/chrome-beta/libvulkan.so.1 exists and ldd paths seem valid.

@primeos
Copy link
Member

primeos commented Dec 28, 2021

I'm not experienced at debugging this kind of thing but happy to give it a shot if there are any hints for where to get started. :)

If you have time it would be nice if you or someone else could use strace (or similar tools) to figure out where Chrome/Chromium is looking for libvulkan.so.1. Something like strace -fe file google-chrome-beta ... (see man strace - e.g. -o filename can be useful as well). It's a bit advanced though. I'm hoping that I can also give it a go soon (currently working on a few other Chromium TODOs).

@shazow
Copy link
Contributor

shazow commented Dec 31, 2021

Below is the strace output if it's any help. Pretty sure just the first ~2 lines are relevant. The first line happens when the browser opens, second line onwards happens after opening chrome://gpu/ and the browser prints:

Warning: Couldn't open libvulkan.so.1
Info: Couldn't load Vulkan
    at LoadVulkan (../../third_party/dawn/src/dawn_native/vulkan/BackendVk.cpp:135)
    at Initialize (../../third_party/dawn/src/dawn_native/vulkan/BackendVk.cpp:139)
[545038:545063:1231/170948.705323:ERROR:chrome_browser_main_extra_parts_metrics.cc(236)] crbug.com/1216328: Checking default browser status ended.

(This is with stable, same thing happens with beta too).

strace-fe file --timestamps google-chrome-stable | grep libvulkan.so.1
79712:545076 17:09:32 openat(AT_FDCWD, "/nix/store/abmblk7xs49q0xhgkrp9izhab64jqri6-google-chrome-96.0.4664.110/share/google/chrome/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 37
555732:545076 17:09:44 openat(AT_FDCWD, "/nix/store/abmblk7xs49q0xhgkrp9izhab64jqri6-google-chrome-96.0.4664.110/share/google/chrome/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555750:545076 17:09:44 openat(AT_FDCWD, "/nix/store/ldibnigsg44q3wp6v8ikn8kq08lf675c-glib-2.70.1/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555765:545076 17:09:44 openat(AT_FDCWD, "/nix/store/dhzv393zvcipx2n45i9cvfnzyr1c4vdd-fontconfig-2.13.94-lib/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555779:545076 17:09:44 openat(AT_FDCWD, "/nix/store/i7gqvl7s485rn4n8bqa9askbjrvc8s65-freetype-2.11.0/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555795:545076 17:09:44 openat(AT_FDCWD, "/nix/store/bn7b7cidb9qgs8m8y83nf247j8j3xjsf-pango-1.48.10/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555811:545076 17:09:44 openat(AT_FDCWD, "/nix/store/q42c9s1cbyg5inf8ranys485akhaxh3v-cairo-1.16.0/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555828:545076 17:09:44 openat(AT_FDCWD, "/nix/store/w259jz35i221vil0jg2dpdw3zda55ai4-libX11-1.7.2/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555843:545076 17:09:44 openat(AT_FDCWD, "/nix/store/bapw025rv11icmn3s63zi41hmhl6zfqh-libXi-1.8/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555862:545076 17:09:44 openat(AT_FDCWD, "/nix/store/zbrzcprzpcby9107v8xkph2wks3mk93r-atk-2.36.0/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555880:545076 17:09:44 openat(AT_FDCWD, "/nix/store/8lv2629mzqi30mhad5xggxkyvv230gzk-gconf-3.2.6/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555896:545076 17:09:44 openat(AT_FDCWD, "/nix/store/pwl7ygmix3skcz8xqz4pcm620vpr8bd5-nss-3.73/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555910:545076 17:09:44 openat(AT_FDCWD, "/nix/store/5md0fgrd9jir7wdnxla46dfcb15vdsm2-nspr-4.32/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555924:545076 17:09:44 openat(AT_FDCWD, "/nix/store/ah84h5yr0gwyri8j8m5d7axpbvwxvdnc-libXcursor-1.2.0/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555931:545076 17:09:44 openat(AT_FDCWD, "/nix/store/cfv850gaqmzrs60fpxxkv088zcj74hi3-libXext-1.3.4/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555941:545076 17:09:44 openat(AT_FDCWD, "/nix/store/fgdh05bisfqs9llxvsg4c66ag9l78b58-libXfixes-6.0.0/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555947:545076 17:09:44 openat(AT_FDCWD, "/nix/store/8cnqnhl6f6gg7558x44nqgimsdixjshn-libXrender-0.9.10/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
555950:545076 17:09:44 openat(AT_FDCWD, "/nix/store/kxs3h7ffg2s061y9s8m00m5c6nbggg6f-libXScrnSaver-1.2.3/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
555952:545076 17:09:44 openat(AT_FDCWD, "/nix/store/lbignzjfjydc4zb1d6qal3sjq7km3pqf-libXcomposite-0.4.5/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
555954:545076 17:09:44 openat(AT_FDCWD, "/nix/store/6cy62r6hnzq5yqjj347p6dwv9pw21ixy-libxcb-1.14/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
555956:545076 17:09:44 openat(AT_FDCWD, "/nix/store/1pj4gnng9ibcbd3cy4002lnyjwv2sjv3-alsa-lib-1.2.5.1/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
555958:545076 17:09:44 openat(AT_FDCWD, "/nix/store/l9s8gcnh687p4cpkj0ic4ym180lpy9an-libXdamage-1.1.5/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
555960:545076 17:09:44 openat(AT_FDCWD, "/nix/store/shjhw9gp0k78abd8mpd6jlgvbk17k2zv-libXtst-1.2.3/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
555962:545076 17:09:44 openat(AT_FDCWD, "/nix/store/nfgwb2xk9jhidd4dh2l5j90kiyq17faa-libXrandr-1.5.2/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
555972:545076 17:09:44 openat(AT_FDCWD, "/nix/store/pb2i4d6q7fai3kiqrw9za8svisyrngh5-libxshmfence-1.3/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555976:545076 17:09:44 openat(AT_FDCWD, "/nix/store/cgg7sv3aa40mksfrm44rfifcgprgd25v-expat-2.4.1/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555987:545076 17:09:44 openat(AT_FDCWD, "/nix/store/zdmma38hz9jjks3dsm8qsmr006lnl0dp-cups-2.3.3op2-lib/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
555994:545076 17:09:44 openat(AT_FDCWD, "/nix/store/kar5138ikha2f91naig24flqssf6mfr2-dbus-1.12.20-lib/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
555997:545076 17:09:44 openat(AT_FDCWD, "/nix/store/6hwhq9szpm65zhcvhfw42gzdlyi7b2rz-gdk-pixbuf-2.42.6/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
556003:545076 17:09:44 openat(AT_FDCWD, "/nix/store/2nkjrh3za68vrw6kf8lxn6nq1dval05v-gcc-10.3.0-lib/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556005:545076 17:09:44 openat(AT_FDCWD, "/nix/store/aqwqh3drn9bf6qrs70wiyrxaawh1wcnz-systemd-249.5/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556009:545076 17:09:44 openat(AT_FDCWD, "/nix/store/iy5g2611yc6y6jzcmpm55bjbskhcydkm-libexif-0.6.23/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556011:545076 17:09:44 openat(AT_FDCWD, "/nix/store/g7y8adgr5fac89kzfx8ddm66253a3idn-pciutils-3.7.0/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556013:545076 17:09:44 openat(AT_FDCWD, "/nix/store/19x7vr6vqvqcq1fqpdlk01c2gzb5igdm-curl-7.79.1/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556015:545076 17:09:44 openat(AT_FDCWD, "/nix/store/2jd06jm9lfis3knm615wm3idw86wjr3i-util-linux-2.37.2-lib/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556017:545076 17:09:44 openat(AT_FDCWD, "/nix/store/qlxl487zbn873xqmp7gb3if3g250kdx7-flac-1.3.3/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556019:545076 17:09:44 openat(AT_FDCWD, "/nix/store/019a19l65k3qs88wr6fyznk7dj86a6vg-harfbuzz-3.0.0/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556021:545076 17:09:44 openat(AT_FDCWD, "/nix/store/jvbyjnjh4w8qg7izfq4x5d2wy9lv9461-icu4c-70.1/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556023:545076 17:09:44 openat(AT_FDCWD, "/nix/store/f76ccq4s20agzdz3m5fdmrs23r249fzr-libpng-apng-1.6.37/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556025:545076 17:09:44 openat(AT_FDCWD, "/nix/store/ani3r9bxx7il7zn54miylbxdn4lb2si5-libopus-1.3.1/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556027:545076 17:09:44 openat(AT_FDCWD, "/nix/store/ap050qq8w9xnpaijzhh4njhqarilam9c-snappy-1.1.9/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556029:545076 17:09:44 openat(AT_FDCWD, "/nix/store/86dp2ryfg8akpa9r3ylqd3fpdhqhzmxa-speech-dispatcher-0.10.2/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556031:545076 17:09:44 openat(AT_FDCWD, "/nix/store/ckqhvpa7mg8181pfhd4gb1k834npjm89-bzip2-1.0.6.0.2/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556033:545076 17:09:44 openat(AT_FDCWD, "/nix/store/90v7y17p3s4mqlx8hmd75y5acsq3x9pl-libcap-2.49-lib/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556035:545076 17:09:44 openat(AT_FDCWD, "/nix/store/qk4xw57jvy68ca2aikj1gzbpxg9rigi1-at-spi2-atk-2.38.0/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556037:545076 17:09:44 openat(AT_FDCWD, "/nix/store/b8s1yzzi7s1wpy5j5jqhhv5cw2vhdjxh-at-spi2-core-2.42.0/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556039:545076 17:09:44 openat(AT_FDCWD, "/nix/store/mypff9f5vvf41wrjz76dialpsj2k3wq6-libkrb5-1.18/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556041:545076 17:09:44 openat(AT_FDCWD, "/nix/store/4xgbyn6sv265gv86rmjgfypmlhh2rvj8-libdrm-2.4.108/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556043:545076 17:09:44 openat(AT_FDCWD, "/nix/store/csxbwm4sr4swzk7qidp0x3lhlsqg6vw6-mesa-21.2.6/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556045:545076 17:09:44 openat(AT_FDCWD, "/nix/store/wwcpra73jl6hgqxl908k1b0810pd6wv4-libxkbcommon-1.3.1/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556047:545076 17:09:44 openat(AT_FDCWD, "/nix/store/njzhva8b2idhdfzaqr09kq4wfdlddxki-pipewire-0.3.40-lib/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556049:545076 17:09:44 openat(AT_FDCWD, "/nix/store/7h5p0sd7acqvsw4jj4jygncmsq6sdcsq-wayland-1.19.0/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556051:545076 17:09:44 openat(AT_FDCWD, "/nix/store/a1b3p02cm1gsy16jwlgg00x9k3kp182r-libpulseaudio-14.2/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556053:545076 17:09:44 openat(AT_FDCWD, "/nix/store/pcs9vp9pcc2vqzvpjddqf7ifv951j323-libva-2.13.0/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556055:545076 17:09:44 openat(AT_FDCWD, "/nix/store/9a417mnzmkz7nbdq3kqpa5520qlggxga-vulkan-loader-1.2.189.1/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556057:545076 17:09:44 openat(AT_FDCWD, "/nix/store/5fpv8x3f6yzw0aqrslv3q126xx48lbn7-gtk+3-3.24.30/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556059:545076 17:09:44 openat(AT_FDCWD, "/nix/store/pwl7ygmix3skcz8xqz4pcm620vpr8bd5-nss-3.73/lib64/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556061:545076 17:09:44 openat(AT_FDCWD, "/nix/store/2nkjrh3za68vrw6kf8lxn6nq1dval05v-gcc-10.3.0-lib/lib64/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556063:545076 17:09:44 openat(AT_FDCWD, "/nix/store/xnqj2w9szfw5mfwylhlavgxkiv9rslmg-sane-config/lib/sane/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556065:545076 17:09:44 openat(AT_FDCWD, "/nix/store/ldibnigsg44q3wp6v8ikn8kq08lf675c-glib-2.70.1/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556067:545076 17:09:44 openat(AT_FDCWD, "/nix/store/bn7b7cidb9qgs8m8y83nf247j8j3xjsf-pango-1.48.10/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556069:545076 17:09:44 openat(AT_FDCWD, "/nix/store/q42c9s1cbyg5inf8ranys485akhaxh3v-cairo-1.16.0/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556071:545076 17:09:44 openat(AT_FDCWD, "/nix/store/w259jz35i221vil0jg2dpdw3zda55ai4-libX11-1.7.2/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556073:545076 17:09:44 openat(AT_FDCWD, "/nix/store/zbrzcprzpcby9107v8xkph2wks3mk93r-atk-2.36.0/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556075:545076 17:09:44 openat(AT_FDCWD, "/nix/store/pwl7ygmix3skcz8xqz4pcm620vpr8bd5-nss-3.73/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556077:545076 17:09:44 openat(AT_FDCWD, "/nix/store/5md0fgrd9jir7wdnxla46dfcb15vdsm2-nspr-4.32/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556080:545076 17:09:44 openat(AT_FDCWD, "/nix/store/cfv850gaqmzrs60fpxxkv088zcj74hi3-libXext-1.3.4/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556085:545076 17:09:44 openat(AT_FDCWD, "/nix/store/fgdh05bisfqs9llxvsg4c66ag9l78b58-libXfixes-6.0.0/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556088:545076 17:09:44 openat(AT_FDCWD, "/nix/store/lbignzjfjydc4zb1d6qal3sjq7km3pqf-libXcomposite-0.4.5/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
556095:545076 17:09:44 openat(AT_FDCWD, "/nix/store/6cy62r6hnzq5yqjj347p6dwv9pw21ixy-libxcb-1.14/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
556103:545076 17:09:44 openat(AT_FDCWD, "/nix/store/1pj4gnng9ibcbd3cy4002lnyjwv2sjv3-alsa-lib-1.2.5.1/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556107:545076 17:09:44 openat(AT_FDCWD, "/nix/store/l9s8gcnh687p4cpkj0ic4ym180lpy9an-libXdamage-1.1.5/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
556114:545076 17:09:44 openat(AT_FDCWD, "/nix/store/nfgwb2xk9jhidd4dh2l5j90kiyq17faa-libXrandr-1.5.2/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556116:545076 17:09:44 openat(AT_FDCWD, "/nix/store/cgg7sv3aa40mksfrm44rfifcgprgd25v-expat-2.4.1/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC) = 257
556120:545076 17:09:44 openat(AT_FDCWD, "/nix/store/zdmma38hz9jjks3dsm8qsmr006lnl0dp-cups-2.3.3op2-lib/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
556131:545076 17:09:44 openat(AT_FDCWD, "/nix/store/kar5138ikha2f91naig24flqssf6mfr2-dbus-1.12.20-lib/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
556149:545076 17:09:44 openat(AT_FDCWD, "/nix/store/2nkjrh3za68vrw6kf8lxn6nq1dval05v-gcc-10.3.0-lib/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
556169:545076 17:09:44 openat(AT_FDCWD, "/nix/store/qk4xw57jvy68ca2aikj1gzbpxg9rigi1-at-spi2-atk-2.38.0/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
556188:545076 17:09:44 openat(AT_FDCWD, "/nix/store/b8s1yzzi7s1wpy5j5jqhhv5cw2vhdjxh-at-spi2-core-2.42.0/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
556208:545076 17:09:44 openat(AT_FDCWD, "/nix/store/4xgbyn6sv265gv86rmjgfypmlhh2rvj8-libdrm-2.4.108/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
556228:545076 17:09:44 openat(AT_FDCWD, "/nix/store/csxbwm4sr4swzk7qidp0x3lhlsqg6vw6-mesa-21.2.6/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
556259:545076 17:09:44 openat(AT_FDCWD, "/nix/store/wwcpra73jl6hgqxl908k1b0810pd6wv4-libxkbcommon-1.3.1/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 
556282:545076 17:09:44 openat(AT_FDCWD, "/nix/store/563528481rvhc5kxwipjmg6rqrl95mdx-glibc-2.33-56/lib/libvulkan.so.1", O_RDONLY|O_CLOEXEC 

@psydvl
Copy link
Member

psydvl commented Feb 11, 2022

Temporary solution:
nix-shell -p vulkan-loader --run chromium
or
LD_LIBRARY_PATH=$(nix eval --raw nixpkgs.vulkan-loader)/lib:$LD_LIBRARY_PATH chromium

or, on flakes,
LD_LIBRARY_PATH=$(nix eval --raw nixpkgs#vulkan-loader)/lib:$LD_LIBRARY_PATH chromium

@PanAeon
Copy link
Contributor

PanAeon commented Apr 28, 2022

BTW, same problem with the flycast. Vulkan backend only worked with the LD_LIBRARY_PATH trick above

@nixos-discourse
Copy link

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

https://discourse.nixos.org/t/modify-chromium-command-provide-path-to-dynamic-library/19906/2

sengir added a commit to sengir/nixpkgs that referenced this issue Feb 16, 2023
libvulkan is dlopen'd but is missing from the linker search path.
We probably should be using the libvulkan (and libGLESv2) provided by
chromium, but using vulkan-loader's libvulkan.so.1 is a tried-and-true
workaround.

Fixes NixOS#150398.
@robert-elles
Copy link
Contributor Author

Unfortunately this is still broken for me

@lovesegfault
Copy link
Member

This is still broken

@lovesegfault
Copy link
Member

Oh, seems like part of the issue is Vulkan is not supported on wayland yet

@lovesegfault
Copy link
Member

It's an upstream issue at this point, due to there being no Vulkan support on Wayland/Ozone:

https://bugs.chromium.org/p/chromium/issues/detail?id=848385

https://bugs.chromium.org/p/chromium/issues/detail?id=1134001

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.

9 participants