Change:
patchelf --set-rpath "$(patchelf --print-rpath $lib):$drivers/lib" "$lib" fi done <ins> # add RPATH here so Zink can find libvulkan.so ${lib.optionalString haveZink '' patchelf --add-rpath ${vulkan-loader}/lib $drivers/lib/dri/zink_dri.so ''} </ins> ''; env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.isDarwin [ "-fno-common" ] ++ lib.optionals enableOpenCL [

Discussion:
As seen in Zink can be built as part of Mesa now. Right now, as far as I can tell, Zink is not built by default? If it is, then that's something else to note. Basically, don't appear in , even when I override mesa IE and then install it. Steps to reproduce the behavior: to add Zink to system recognizes the change and rebuilds Mesa from the ground up is not actually enabled. should appear and be usable to the system ! ! Please run and paste the result.
have no influence on . In past I've used (and variant), but I'm not sure if that's the best way (anymore).
Okay so I tried that, and while it did change the contents, it still doesn't work. Giving it and setting (and the same for 32 bit (32 bit mesa package with the same override)) Leaves me with only these: ! (It's missing at least zink and r600)
I'm not entirely sure Hardware covers this, because it's technically an OpenGL-on-Vulkan layer similar in idea to DXVK, even though it is part of Mesa.
Most of the actionable hardware-related issues for NixOS are about composing the high-level components.
Fair enough!
Add to mesa's + these args (add intel if you need that): Launch an app with and it will try to run with zink. ! Adding links to the vulkan libs to mesa is not the right fix. I'm not sure what needs fixed to get zink to use the right search path.
I copied what you used in your config, but I'm getting an error when it builds about not being able to find - Which so far as I can tell, should exist (base package has it) and I even tried explicitly adding it again in my .nix file, but I'm having no luck. Did you do something I've missed?
Does the version of mesa you're overriding in stable have it as an input yet? You probably need to add pkgs.glslang to nativeBuildInputs in your override.
So I've sorted that out but my issue is that, of all things, is failing to build with a zink enabled mesa. Edit: It would seem using the unstable version of libsecret may have solved this.
I recommend not using an overlay for mesa, there are way too many rebuilds.

Set specifically instead and you will only have to rebuild mesa.
When I tried that, GDM and Gnome decided to no longer function. :(
is now available for me, but doing results with
also happens here on intel
should fix this, please test if you can
Can't test PR because it's impossible for me to rebuild so many derivations but I tested with like it was suggested in and it's indeed working Would it be possible for someone to get your PR to rebuild together with mesa 23? Not sure how it exactly works but it seems to me that it'll take some time before your change is live
You can test it with something like this, basically you don't have to rebuild all of the packages that depend on mesa, just the system one. Also by just setting LDLIBRARYPATH stuff like EGL still didn't work, for example , but overriding mesa worked, IDK why.
Thanks, this works too! !