HansKristian-Work / vkd3d-proton

Fork of VKD3D. Development branches for Proton's Direct3D 12 implementation.
GNU Lesser General Public License v2.1
1.94k stars 202 forks source link

Elden Ring crashes after patch 1.04 #1076

Closed marelons1337 closed 2 years ago

marelons1337 commented 2 years ago

Hi, Elden Ring used to work somehow well(it sometimes crashed randomly on start) but since new patch it doesn't start at all. I've noticed this error in the console everytime it crashes, could that be an issue? Assertion failed: swapchain->vk_acquire_semaphores_signaled[swapchain->frame_id], file ../src-vkd3d-proton/libs/vkd3d/swapchain.c, line 1860

Oschowa commented 2 years ago

What if you use a release build with assertions disabled? The game still works fine here.

marelons1337 commented 2 years ago

Hey, thanks for quick answer, I'm not sure how to do that. I run the game with these settings

__NV_PRIME_RENDER_OFFLOAD=1  __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia DXVK_ASYNC=1 DXVK_STATE_CACHE=1 PROTON_ENABLE_NVAPI=1 PROTON_USE_SECCOMP=1 VKD3D_CONFIG=no_upload_hvv,single_queue gamemoderun %command%

Also

NVIDIA GeForce GTX 1660 Ti:
info:    Driver: 470.103.1
info:    Vulkan: 1.2.175
doitsujin commented 2 years ago

Where did you get your vkd3d-proton build from? It's obviously being built in debug mode when it shouldn't be.

That said, if this assertion ever triggers, something is going seriously wrong somewhere.

marelons1337 commented 2 years ago

I might have messed up a few packages here and there as I was basically installing most of them manually when tried to run Witcher 3 in Lutris. I only used proton for God of War and Elden Ring now and I don't remember getting it from anywhere, I think I just installed it with steam.

HansKristian-Work commented 2 years ago

Looked over the WSI code and I don't understand how that code path can be hit. __NV_PRIME_RENDER_OFFLOAD=1 is weird. Are you running on a laptop with PRIME here? 1660 Ti would suggest no.

Ryusennin commented 2 years ago

Maybe it's useful, I tested on Win10 (AMD Software 22.4.1) and got the same error. I'm using VC++ 2022 runtime.

ELDEN RING_2022 04 21-13 13

DXVK log: info: Game: eldenring.exe info: DXVK: v1.10.1 info: Found config file: dxvk.conf info: Effective configuration: info: d3d9.samplerAnisotropy = 16 info: d3d11.samplerAnisotropy = 16 info: d3d9.presentInterval = 0 info: dxgi.syncInterval = 0 info: Built-in extension providers: info: Win32 WSI info: OpenVR info: OpenXR info: OpenVR: could not open registry key, status 2 info: OpenVR: Failed to locate module info: Enabled instance extensions: info: VK_KHR_get_surface_capabilities2 info: VK_KHR_surface info: VK_KHR_win32_surface info: Radeon RX Vega: info: Driver: 2.0.220 info: Vulkan: 1.3.206 info: Memory Heap[0]: info: Size: 7920 MiB info: Flags: 0x3 info: Memory Type[0]: Property Flags = 0x1 info: Memory Type[4]: Property Flags = 0xc1 info: Memory Heap[1]: info: Size: 7898 MiB info: Flags: 0x0 info: Memory Type[1]: Property Flags = 0x6 info: Memory Type[3]: Property Flags = 0xe info: Memory Type[5]: Property Flags = 0xc6 info: Memory Type[7]: Property Flags = 0xce info: Memory Heap[2]: info: Size: 256 MiB info: Flags: 0x3 info: Memory Type[2]: Property Flags = 0x7 info: Memory Type[6]: Property Flags = 0xc7 warn: DXGI: MakeWindowAssociation: Ignoring flags

Saancreed commented 2 years ago

Looked over the WSI code and I don't understand how that code path can be hit. __NV_PRIME_RENDER_OFFLOAD=1 is weird. Are you running on a laptop with PRIME here? 1660 Ti would suggest no.

It can be a PRIME setup, yes. This is exactly how DXVK detects GTX 1660 Ti Mobile on my laptop:

Example here ``` info: Game: dxvk-native-d3d11-example info: DXVK: v1.9.2 info: Built-in extension providers: info: SDL2 WSI info: Enabled instance extensions: info: VK_KHR_get_surface_capabilities2 info: VK_KHR_surface info: VK_KHR_xlib_surface info: NVIDIA GeForce GTX 1660 Ti: info: Driver: 510.54.0 info: Vulkan: 1.3.194 info: Memory Heap[0]: info: Size: 6144 MiB info: Flags: 0x1 info: Memory Type[7]: Property Flags = 0x1 info: Memory Heap[1]: info: Size: 23453 MiB info: Flags: 0x0 info: Memory Type[0]: Property Flags = 0x0 info: Memory Type[1]: Property Flags = 0x0 info: Memory Type[2]: Property Flags = 0x0 info: Memory Type[3]: Property Flags = 0x0 info: Memory Type[4]: Property Flags = 0x0 info: Memory Type[5]: Property Flags = 0x0 info: Memory Type[6]: Property Flags = 0x0 info: Memory Type[8]: Property Flags = 0x6 info: Memory Type[9]: Property Flags = 0xe info: Memory Heap[2]: info: Size: 246 MiB info: Flags: 0x1 info: Memory Type[10]: Property Flags = 0x7 info: AMD RADV RAVEN: info: Driver: 22.0.1 info: Vulkan: 1.3.204 info: Memory Heap[0]: info: Size: 5632 MiB info: Flags: 0x0 info: Memory Type[1]: Property Flags = 0x6 info: Memory Type[3]: Property Flags = 0xe info: Memory Type[5]: Property Flags = 0xc6 info: Memory Type[7]: Property Flags = 0xce info: Memory Heap[1]: info: Size: 11264 MiB info: Flags: 0x1 info: Memory Type[0]: Property Flags = 0x1 info: Memory Type[2]: Property Flags = 0x7 info: Memory Type[4]: Property Flags = 0xc1 info: Memory Type[6]: Property Flags = 0xc7 info: D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_1 info: D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_1 info: Device properties: info: Device name: : NVIDIA GeForce GTX 1660 Ti info: Driver version : 510.54.0 info: Enabled device extensions: info: VK_EXT_4444_formats info: VK_EXT_conservative_rasterization info: VK_EXT_custom_border_color info: VK_EXT_depth_clip_enable info: VK_EXT_extended_dynamic_state info: VK_EXT_host_query_reset info: VK_EXT_robustness2 info: VK_EXT_shader_demote_to_helper_invocation info: VK_EXT_shader_viewport_index_layer info: VK_EXT_transform_feedback info: VK_EXT_vertex_attribute_divisor info: VK_KHR_buffer_device_address info: VK_KHR_create_renderpass2 info: VK_KHR_depth_stencil_resolve info: VK_KHR_draw_indirect_count info: VK_KHR_driver_properties info: VK_KHR_image_format_list info: VK_KHR_sampler_mirror_clamp_to_edge info: VK_KHR_shader_float_controls info: VK_KHR_swapchain info: VK_NVX_binary_import info: VK_NVX_image_view_handle info: Device features: info: robustBufferAccess : 1 info: fullDrawIndexUint32 : 1 info: imageCubeArray : 1 info: independentBlend : 1 info: geometryShader : 1 info: tessellationShader : 1 info: sampleRateShading : 1 info: dualSrcBlend : 1 info: logicOp : 1 info: multiDrawIndirect : 1 info: drawIndirectFirstInstance : 1 info: depthClamp : 1 info: depthBiasClamp : 1 info: fillModeNonSolid : 1 info: depthBounds : 1 info: multiViewport : 1 info: samplerAnisotropy : 1 info: textureCompressionBC : 1 info: occlusionQueryPrecise : 1 info: pipelineStatisticsQuery : 1 info: vertexPipelineStoresAndAtomics : 1 info: fragmentStoresAndAtomics : 1 info: shaderImageGatherExtended : 1 info: shaderStorageImageExtendedFormats : 0 info: shaderStorageImageReadWithoutFormat : 1 info: shaderStorageImageWriteWithoutFormat : 1 info: shaderClipDistance : 1 info: shaderCullDistance : 1 info: shaderFloat64 : 1 info: shaderInt64 : 1 info: variableMultisampleRate : 1 info: VK_EXT_4444_formats info: formatA4R4G4B4 : 1 info: formatA4B4G4R4 : 1 info: VK_EXT_custom_border_color info: customBorderColors : 1 info: customBorderColorWithoutFormat : 1 info: VK_EXT_depth_clip_enable info: depthClipEnable : 1 info: VK_EXT_extended_dynamic_state info: extendedDynamicState : 1 info: VK_EXT_host_query_reset info: hostQueryReset : 1 info: VK_EXT_memory_priority info: memoryPriority : 0 info: VK_EXT_robustness2 info: robustBufferAccess2 : 1 info: robustImageAccess2 : 1 info: nullDescriptor : 1 info: VK_EXT_shader_demote_to_helper_invocation info: shaderDemoteToHelperInvocation : 1 info: VK_EXT_transform_feedback info: transformFeedback : 1 info: geometryStreams : 1 info: VK_EXT_vertex_attribute_divisor info: vertexAttributeInstanceRateDivisor : 1 info: vertexAttributeInstanceRateZeroDivisor : 1 info: VK_KHR_buffer_device_address info: bufferDeviceAddress : 1 info: Queue families: info: Graphics : 0 info: Transfer : 1 warn: DXVK: No state cache file found warn: DXVK: Creating new state cache file info: DXVK: Using 5 compiler threads info: Presenter: Actual swap chain properties: info: Format: VK_FORMAT_B8G8R8A8_UNORM info: Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR info: Buffer size: 1024x600 info: Image count: 4 info: Exclusive FS: 2 warn: DXGI: MakeWindowAssociation: Ignoring flags info: Presenter: Actual swap chain properties: info: Format: VK_FORMAT_B8G8R8A8_UNORM info: Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR info: Buffer size: 1024x600 info: Image count: 4 info: Exclusive FS: 2 ```
marelons1337 commented 2 years ago

I've tried almost all combinations of launch settings I could find and this one used to work correctly. I had some crashes on startup every once in a while but other than that it was fine. Now if I'm understanding correctly steam proton got it's own build of vkd3d-proton. Can I just build it from the source according to installation guide here and if yes where should that be?

HansKristian-Work commented 2 years ago

I'll try to reproduce this.

marelons1337 commented 2 years ago

From browsing logs a little bit deeper I think that it's some sort of problem with Vulkan but I am unsure. Perhaps a log of an event where game starts and crashes would help? In logs it's line ~34218 steam-1245620.log

HansKristian-Work commented 2 years ago

I cannot reproduce this on NVIDIA 470.62.26 on desktop at least.

HansKristian-Work commented 2 years ago

This should be fixed on master now after the latest wsi-robustness merges.