Sekiro under Proton crashes with thunks Sekiro when running under Proton crashes if thunks are enabled. For some reason it gets a nullptr dereference in vkCreateInstance because the pointer is null. With a hack I can get it to work: ```diff diff --git a/ThunkLibs/libvulkan/Host.cpp b/ThunkLibs/libvulkan/Host.cpp index 1cfaa4227..de5cf2ec9 100644 --- a/ThunkLibs/libvulkan/Host.cpp +++ b/ThunkLibs/libvulkan/Host.cpp @@ -77,6 +77,10 @@ static VkResult FEXFN_IMPL(vkCreateInstance)(const VkInstanceCreateInfo* a_0, co } } + if (LDR_PTR(vkCreateInstance) == nullptr) [[unlikely]] { + (void*&)LDR_PTR(vkCreateInstance) = (void*)dlsym_default(fexldr_ptr_libvulkan_so, "vkCreateInstance"); + } + VkInstance out; auto ret = LDR_PTR(vkCreateInstance)(vk_struct_base, nullptr, &out); if (ret == VK_SUCCESS) { ``` Weirdly, the other symbols loaded with `DoSetupWithInstance` are populated ``` (gdb) p/x fexldr_ptr_libvulkan_vkCreateInstance $1 = 0x0 (gdb) p/x fexldr_ptr_libvulkan_vkCreateDevice $2 = 0x7fffc6f9f990 (gdb) p/x fexldr_ptr_libvulkan_vkGetDeviceProcAddr $3 = 0x7fffc6f9e1a0 ``` This should be investigated, I'm not sure how many games are hitting this issue.