HansKristian-Work / vkd3d-proton

Fork of VKD3D. Development branches for Proton's Direct3D 12 implementation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Elden Ring crashes after patch 1.04

marelons1337 opened this issue · comments

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

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

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

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.

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.

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.

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

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

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?

I'll try to reproduce this.

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

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

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