Change:
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 Info: Couldn't load Vulkan at LoadVulkan () at Initialize () Running confirms that vulkan is installed properly and working. vulkan is installed and working with running chromium and go to chrome://gpu check if vulkan is enabled or disabled. vulakn is enabled in chrome://gpu Please run and paste the result. system: host os: multi-user?: sandbox: version: channels(robert): channels(root): nixpkgs: Maintainer information:
Hey I think you meant to ping the chromium maintainers:
yes thank you!
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? might be actionable but apparently it's only a warning so idk... You could use to figure out the complete path where Chromium expects . Relevant parts from the source code: ;l=43;drc= ;l=173;drc=;bpv=0;bpt=1 But since 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: ,RAMandSwap,ChromiumWillEatItAll PS: I also finally submitted but that should only be relevant when using SwiftShader.
This issue affects also google-chrome.
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, could you re-test this once is built by Hydra (maybe I can also give it a go during the weekend)? we already install 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).
great thanks for looking into it! will definitely try to test it over the weekend
unfortunately it does not seem to fix the problem. I still get the same warning that could not be load
Confirming this is also an issue on google-chrome-beta: (Excuse the unrelated dbus things) 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 exists and paths seem valid.
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 . Something like (see - e.g. 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).
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 and the browser prints: (This is with stable, same thing happens with beta too). <details<summary<codestrace-fe file --timestamps google-chrome-stable OCLOEXEC) = 37 : 17:09:44 openat(ATFDCWD, "/nix/store/abmblk7xs49q0xhgkrp9izhab64jqri6-google-chrome-", ORDONLYOCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/kxs3h7ffg2s061y9s8m00m5c6nbggg6f-libXScrnSaver-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/lbignzjfjydc4zb1d6qal3sjq7km3pqf-libXcomposite-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/6cy62r6hnzq5yqjj347p6dwv9pw21ixy-libxcb-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/1pj4gnng9ibcbd3cy4002lnyjwv2sjv3-alsa-lib-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/l9s8gcnh687p4cpkj0ic4ym180lpy9an-libXdamage-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/shjhw9gp0k78abd8mpd6jlgvbk17k2zv-libXtst-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/nfgwb2xk9jhidd4dh2l5j90kiyq17faa-libXrandr-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/pb2i4d6q7fai3kiqrw9za8svisyrngh5-libxshmfence-", ORDONLYOCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/6hwhq9szpm65zhcvhfw42gzdlyi7b2rz-gdk-pixbuf-", ORDONLYOCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/aqwqh3drn9bf6qrs70wiyrxaawh1wcnz-systemd-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/iy5g2611yc6y6jzcmpm55bjbskhcydkm-libexif-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/g7y8adgr5fac89kzfx8ddm66253a3idn-pciutils-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/19x7vr6vqvqcq1fqpdlk01c2gzb5igdm-curl-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/2jd06jm9lfis3knm615wm3idw86wjr3i-util-linux-2.37.2-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/qlxl487zbn873xqmp7gb3if3g250kdx7-flac-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/019a19l65k3qs88wr6fyznk7dj86a6vg-harfbuzz-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/jvbyjnjh4w8qg7izfq4x5d2wy9lv9461-icu4c-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/f76ccq4s20agzdz3m5fdmrs23r249fzr-libpng-apng-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/ani3r9bxx7il7zn54miylbxdn4lb2si5-libopus-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/ap050qq8w9xnpaijzhh4njhqarilam9c-snappy-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/86dp2ryfg8akpa9r3ylqd3fpdhqhzmxa-speech-dispatcher-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/ckqhvpa7mg8181pfhd4gb1k834npjm89-bzip2-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/90v7y17p3s4mqlx8hmd75y5acsq3x9pl-libcap-2.49-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/qk4xw57jvy68ca2aikj1gzbpxg9rigi1-at-spi2-atk-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/b8s1yzzi7s1wpy5j5jqhhv5cw2vhdjxh-at-spi2-core-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/mypff9f5vvf41wrjz76dialpsj2k3wq6-libkrb5-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/4xgbyn6sv265gv86rmjgfypmlhh2rvj8-libdrm-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/csxbwm4sr4swzk7qidp0x3lhlsqg6vw6-mesa-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/wwcpra73jl6hgqxl908k1b0810pd6wv4-libxkbcommon-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/njzhva8b2idhdfzaqr09kq4wfdlddxki-pipewire-0.3.40-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/7h5p0sd7acqvsw4jj4jygncmsq6sdcsq-wayland-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/a1b3p02cm1gsy16jwlgg00x9k3kp182r-libpulseaudio-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/pcs9vp9pcc2vqzvpjddqf7ifv951j323-libva-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/9a417mnzmkz7nbdq3kqpa5520qlggxga-vulkan-loader-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/5fpv8x3f6yzw0aqrslv3q126xx48lbn7-gtk+3-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/pwl7ygmix3skcz8xqz4pcm620vpr8bd5-nss-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/2nkjrh3za68vrw6kf8lxn6nq1dval05v-gcc-10.3.0-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/xnqj2w9szfw5mfwylhlavgxkiv9rslmg-sane-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/ldibnigsg44q3wp6v8ikn8kq08lf675c-glib-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/bn7b7cidb9qgs8m8y83nf247j8j3xjsf-pango-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/q42c9s1cbyg5inf8ranys485akhaxh3v-cairo-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/w259jz35i221vil0jg2dpdw3zda55ai4-libX11-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/zbrzcprzpcby9107v8xkph2wks3mk93r-atk-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/pwl7ygmix3skcz8xqz4pcm620vpr8bd5-nss-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/5md0fgrd9jir7wdnxla46dfcb15vdsm2-nspr-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/cfv850gaqmzrs60fpxxkv088zcj74hi3-libXext-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/fgdh05bisfqs9llxvsg4c66ag9l78b58-libXfixes-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/lbignzjfjydc4zb1d6qal3sjq7km3pqf-libXcomposite-", ORDONLYOCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/l9s8gcnh687p4cpkj0ic4ym180lpy9an-libXdamage-", ORDONLYOCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/cgg7sv3aa40mksfrm44rfifcgprgd25v-expat-", ORDONLY|OCLOEXEC) = 257 : 17:09:44 openat(ATFDCWD, "/nix/store/zdmma38hz9jjks3dsm8qsmr006lnl0dp-cups-2.3.3op2-", ORDONLYO_CLOEXEC <unfinished ...</pre</details
Temporary solution: or or, on flakes,
BTW, same problem with the . Vulkan backend only worked with the trick above
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
Unfortunately this is still broken for me
This is still broken
Oh, seems like part of the issue is Vulkan is not supported on wayland yet
It's an upstream issue at this point, due to there being no Vulkan support on Wayland/Ozone:

Discussion:
, libepoxy # postPatch: , glibc # gconv + locale <ins> # postFixup: , vulkan-loader </ins> # Package customization: , cupsSupport ? true, cups ? null

in lib.concatStringsSep "n" commands; postFixup = '' <del> # Make sure that libGLESv2 is found by dlopen (if using EGL). </del> <ins> # Make sure that libGLESv2 and libvulkan are found by dlopen. </ins> chromiumBinary="$libExecPath/$packageName" origRpath="$(patchelf --print-rpath "$chromiumBinary")" <del> patchelf --set-rpath "${libGL}/lib:$origRpath" "$chromiumBinary" </del> <ins> patchelf --set-rpath "${lib.makeLibraryPath [ libGL vulkan-loader ]}:$origRpath" "$chromiumBinary" </ins> ''; passthru = {