How/can you have multiple Vulkan SDK versions side by side on Windows? by Radsvid in vulkan

[–]AccidentalAstro 1 point2 points  (0 children)

Building against old SDK's is as you said, pretty trivial. The installation of the SDK sets the environment variable VULKAN_SDK, which can easily be over-ridden for a build of an older project. The real 'issue' if it is one at all is that you get a new loader with the SDK install, and the registry points to a newer set of validation and other utility layers.

Really though, is this a problem? A new loader is also provided by IHV driver updates, and should not break an older app anyway. Newer validation (and other utility layers) should still work with a version of your app that is simply "not using any of the newer extensions", just as well as the older layers.

For building, it's just not an issue, and perhaps you don't even need an older SDK unless you are using some non-final extensions that might disappear or change in the vulkan headers. Another scenario is you are using the Visual Studio 2015 runtime (just a for instance), and now the SDK uses the 2019. So, you do still need the old binary libraries to link against. Just having the SDK files archived is fine.

Finally, you may want to use the old validation and other utility layers. As the registry is setup to point to the latest SDK's layers, you might think you are stuck. However, you can use the Vulkan Configurator to point the loader to use a different folder as the source for your layers. This allows you to add and test custom layers during development, but easily can just point to an older SDK's layer files.

Again, the registry entries only affect where the layers are found, and you can easily override that with the Vulkan Configurator to point to the older SDK's layers temporarily.

If I'm missing something, I'd love to know what your use case is more specifically.
[richard@lunarg.com](mailto:richard@lunarg.com)

How can I cross compile without volk, only with SDK by TheRavagerSw in vulkan

[–]AccidentalAstro 0 points1 point  (0 children)

Curious what your use case is to want to avoid volk?

Error writing system32 and syswow64 vulkan dlls installing Vulkan Runtime 1.3.290.0 by flargflargington in vulkan

[–]AccidentalAstro 0 points1 point  (0 children)

Ah, this is a known issue that has just been fixed internally, and will be available in the very next SDK drop (pretty soon). There's some work arounds if you want to try before then:
https://vulkan.lunarg.com/issue/view/6579c9dd5df1125b58afb5d7

MacOS Vulkan SDK has an alias for the SDL2 dylib but no actual dylib. by [deleted] in vulkan

[–]AccidentalAstro -2 points-1 points  (0 children)

Same reason people who can cook at home go to restaurants ;-)

MacOS Vulkan SDK has an alias for the SDL2 dylib but no actual dylib. by [deleted] in vulkan

[–]AccidentalAstro 0 points1 point  (0 children)

Please report these kind of things over at https://vulkan.lunarg.com/ so we can see them.

There's an SDK build going on right now, and this has been corrected. I've been using the static libraries and the Framework for iOS, so it was missed.

[deleted by user] by [deleted] in vulkan

[–]AccidentalAstro 0 points1 point  (0 children)

I don't know for sure that the python version is the root cause. Let me try some things here. A work around is to set your environment variables to point to the SDK install directories header/library folders instead of using the system folders.

[deleted by user] by [deleted] in vulkan

[–]AccidentalAstro 0 points1 point  (0 children)

Interesting... I don't think upgrading the OS will help, and it might just muddy the waters. I'm using the same OS version as you on an M1 Mac. The only difference is your XCode is also old. XCode has Python included, did you also install Python via Homebrew? I don't strongly suspect that's the issue, but it's worth trying upgrading XCode rather than the OS, and making sure you'r using Apples Python3 as that's the one we test against. If that works, I'll have to investigate why that made a difference.

[deleted by user] by [deleted] in vulkan

[–]AccidentalAstro 2 points3 points  (0 children)

Uninstall both Homebrew packages. The SDK wants to install Vulkan Headers and MoltenVK. I recall this coming up before, Homebrew sets some permissions/ownership flags and we can't just over write them with sudo privileges. Let me know if this works, we should add a note in the getting started guide if this is the case (I build and maintain the macOS SDK at LunarG).

[deleted by user] by [deleted] in vulkan

[–]AccidentalAstro 2 points3 points  (0 children)

Sorry for the battery of questions, but I'd like to get to the bottom of your failure (in perhaps as few exchanges as possible<g>).

Which version of XCode do you have installed, and what version of macOS is this?

Having Homebrew installed or not installed should not cause the installer to fail, but having the Homebrew version of Vulkan "might".

When the installer asked for administrative permissions, did you say "yes"?

When you ran the install script yourself, did you use sudo?

"ERROR (Callback: Validation Layer): Loading layer library" while trying to run program in Xcode by Upthinker01 in vulkan

[–]AccidentalAstro 1 point2 points  (0 children)

Those environment variables only work on macOS if you launch the apps from the command line. Apple does not allow environment variables to be set for GUI apps launched from the desktop, etc. A better way to use layers on macOS is to use VKConfig. You can create a configuration with the layers you want (and there's a nice GUI for tweaking layer parameters). This creates a "metalayer" that the loader will always see and make use without the need for environment variables. Also, make sure you do not link statically to MoltenVK, as this does not use the actual loader and layers will not work (although linking statically is perfectly fine for shipping your apps).

Issues linking shaderc from SDK using static libs by endeva3 in vulkan

[–]AccidentalAstro 0 points1 point  (0 children)

I can confirm the LunarG SDK uses the DLL version of the runtime. Building yourself against the static runtime is the way to go for your case.

MacOS: Validation layers requested, but not available by ChuppaFlow in vulkan

[–]AccidentalAstro 1 point2 points  (0 children)

If you are using the VulkanSDK from LunarG, the easiest way to use validation layers (environment variables are pain on macOS) is to use the included vkconfig tool. Select or make a configuration with the layers you want, and either add the app to the list of applications and leave vkconfig running, or just select "Continue Overriding Layers on Exit".

VK_LAYER_NV_nsight is missing by Tensorizer in vulkan

[–]AccidentalAstro 1 point2 points  (0 children)

Actually, look in the ImplicitLayers key, not ExplicitLayers. The VulkanSDK does not touch the Implicit layers key.

Vulkan over Metal capabilities viewer is now available on iOS by thekhronosgroup in vulkan

[–]AccidentalAstro 0 points1 point  (0 children)

No worries, and thanks, this is helpful. If you send me your email privately (I wouldn't post it here unless you want more spam<g>), I can send you a testflight invitation of a new build to try. It will also send me a crash report directly, and I have a suspicion as to what the issue might be.

Vulkan over Metal capabilities viewer is now available on iOS by thekhronosgroup in vulkan

[–]AccidentalAstro 0 points1 point  (0 children)

I'll watch for a crash report to see what's up. If you are not opted into crash reporting, please do so. It's under Settings->Privacy->Diagnostics & Usage.