Don’t sanitize the Vulkan/graphics parts: build your app with ASan but disable it for modules that load the Vulkan ICD (set(CMAKE_EXE_LINKER_FLAGS “… -Wl,-wrap=…”) is NOT enough; prefer per-target properties).
Exclude ASan for the executable that creates the VkInstance/Device; use ASan only for your libraries/tests.
Use LD_PRELOAD filtering: avoid preloading libasan when running the Vulkan app; run tests separately with ASan.
Try UBSan-only or -fsanitize=address,undefined but add ASAN_OPTIONS=allocator_may_return_null=1,detect_leaks=0.
Ensure you’re not mixing Mesa and NVIDIA ICDs; set VK_ICD_FILENAMES to the single ICD json for your driver.
If you must keep ASan: link static libasan and preload order after Vulkan loader sometimes helps, but is brittle.