I am currently testing DXVK on Windows due to claims of increased performance in DX9 titles and such... (which turned out to be true so I'm really happy about it) What I noticed is that I'm getting crashes from an RTSS DLL which would be understandable if RTSS was in fact running. Turns out, it is not running but it is getting hooked to the game's EXE/DXVK Wrapper no matter what... Proof: How is it possible that RTSS still gets hooked to the Vulkan API/Game/Whatever it is even while closed?? It makes me feel like it's hooking itself to the driver or some pseudo-parent process that is invisible to me. Note that DXVK gets hooked into the game once the process is executed.
Thanks for the tip! Found a solution on RenderDoc's guide to Vulkan layers. Linking it here in case someone Googles for something similar https://renderdoc.org/vulkan-layer-guide.html EDIT: Edit the JSON to add the "enable_environment" thingy so it doesn't automatically hook? I guess? Not sure how that works but it didn't break anything for me, the overlay now works as intended and I see no crashes. 32-Bit example Code: { "file_format_version" : "1.0.0", "layer" : { "name": "VK_LAYER_RTSS", "type": "GLOBAL", "library_path": ".\\RTSSVkLayer32.dll", "api_version": "1.1.73", "implementation_version": "1", "description": "RTSS overlay hook bootstrap", "functions": { "vkGetInstanceProcAddr": "RTSSVkLayer_GetInstanceProcAddr", "vkGetDeviceProcAddr": "RTSSVkLayer_GetDeviceProcAddr" }, "enable_environment": { "ENABLE_SAMPLE_LAYER": "1" }, "disable_environment": { "DISABLE_RTSS_LAYER": "1" } } }
Wrong. This way you completely disable the layer and full vulkan overlay functionality system wide. Correct solution would be defining DISABLE_RTSS_LAYER for a target incompatible process only.
I see, it's strange because the overlay works now. Not sure if I somehow fixed it some other way or what...
It doesn't work because you don’t see all usage scenarios at all, sorry. For example with killed layer it won’t be possible to start RTSS when Vulkan application is already active and get Vulkan overlay working in such case. There are multiple other dynamic Vulkan loading specific scenarios when overlay stop working without a layer too.