Did you happen to get any breadcrumb traces from those freezes?
I had one Xid 31 with a GTX 1660 Ti after about four minutes the first time, but when I tried again with breadcrumbs I wasn't able to reproduce it after more than an hour of trying, so it does seem very random. I used the same vkd3d build, though without the mesh shader disabling.
NVRM: Xid (PCI:0000:08:00): 31, pid=14317, name=gstglcontext, Ch 000000b9, intr 00000000. MMU Fault: ENGINE HOST0 HUBCLIENT_HOST faulted @ 0x0_97800000. Fault is of type FAULT_PDE ACCESS_TYPE_VIRT_READ
Oh, nevermind, I see they were part of the proton logs. I'll see if I can reproduce with breadcrumbs and with the extension disabled.
It was a fast one this time, and I got the same region in my trace:
0228:err:vkd3d_breadcrumb_tracer_report_command_list: ===== Potential crash region BEGIN (make sure RADV_DEBUG=syncshaders is used for maximum accuracy) =====
0228:err:vkd3d_breadcrumb_tracer_report_command_list: Command: resolve_query
0228:err:vkd3d_breadcrumb_tracer_report_command_list: ===== Potential crash region END =====
Full log: remnant2_nv_xid31_breadcrumbs.txt
@runar-work Just merged something which should make it easier to figure out what could go wrong here.
VKD3D_DESCRIPTOR_QA_LOG=/tmp/qa.txt VKD3D_CONFIG=breadcrumbs should now report more information.
E.g.:
1be73:info:d3d12_command_queue_submission_worker_main: === Executing command list 1 (context 2) on VkQueue 0x56339ad25b60, queue family 0 ===
1be73:err:vkd3d_breadcrumb_tracer_report_command_list: Tag: QueryResolve [Type, StartIndex, QueryCount, DstOffset, QueryHeapCookie, DstBuffer]
1be73:err:vkd3d_breadcrumb_tracer_report_command_list: Set arg: 0 (#0)
1be73:err:vkd3d_breadcrumb_tracer_report_command_list: Set arg: 0 (#0)
1be73:err:vkd3d_breadcrumb_tracer_report_command_list: Set arg: 1 (#1)
1be73:err:vkd3d_breadcrumb_tracer_report_command_list: Set arg: 0 (#0)
1be73:err:vkd3d_breadcrumb_tracer_report_command_list: Set arg: 9 (#9) <-- Cookie for heap
1be73:err:vkd3d_breadcrumb_tracer_report_command_list: Tag: BufferDesc [VkBuffer VA, SuballocatedOffset, Cookie, GlobalCookie, Size, Flags]
1be73:err:vkd3d_breadcrumb_tracer_report_command_list: Set arg: 18446603340537135104 (#ffff800101400000)
1be73:err:vkd3d_breadcrumb_tracer_report_command_list: Set arg: 0 (#0)
1be73:err:vkd3d_breadcrumb_tracer_report_command_list: Set arg: 10 (#a)
1be73:err:vkd3d_breadcrumb_tracer_report_command_list: Set arg: 11 (#b)
1be73:err:vkd3d_breadcrumb_tracer_report_command_list: Set arg: 8 (#8)
1be73:err:vkd3d_breadcrumb_tracer_report_command_list: Set arg: 8 (#8)
1be73:err:vkd3d_breadcrumb_tracer_report_command_list: Command: resolve_query
1be73:info:d3d12_command_queue_submission_worker_main: ============================
and in QA log.
VIEW CREATE #1 <- RESOURCE #0
VIEW CREATE #2 <- RESOURCE #0
COOKIE DESTROY #1
COOKIE DESTROY #2
VIEW CREATE #3 <- RESOURCE #0
VIEW CREATE #4 <- RESOURCE #0
REGISTER HEAP 5 || COUNT = 1 || RTV
RESOURCE CREATE #6 || Tex2D || Format = DXGI_FORMAT_R8G8B8A8_UNORM || Levels = 1 || Layers = 1 || Width = 32 || Height = 32 || RTV
RESOURCE CREATE #7 || Buffer || Size = 0x1000000 bytes
VIEW CREATE #8 <- RESOURCE #6
VIEW CREATE #8 <- RESOURCE #6
QUERY HEAP CREATE #9 || || OCCLUSION || Count = 1
RESOURCE CREATE [#10](/issue/HansKristian-Work/vkd3d-proton/10) || Buffer || Size = 0x8 bytes
RESOURCE CREATE [#11](/issue/HansKristian-Work/vkd3d-proton/11) || Buffer || Size = 0x1000000 bytes
RESOURCE CREATE [#12](/issue/HansKristian-Work/vkd3d-proton/12) || Buffer || Size = 0x100000 bytes
COOKIE DESTROY #9
COOKIE DESTROY [#10](/issue/HansKristian-Work/vkd3d-proton/10)
COOKIE DESTROY [#11](/issue/HansKristian-Work/vkd3d-proton/11)
DESTROY HEAP 5
COOKIE DESTROY #8
COOKIE DESTROY #6
COOKIE DESTROY #7
COOKIE DESTROY [#12](/issue/HansKristian-Work/vkd3d-proton/12)
COOKIE DESTROY #3
COOKIE DESTROY #4
A quick repro for once:
NVRM: Xid (PCI:0000:08:00): 31, pid=36996, name=gstglcontext, Ch 000000f9, intr 00000000. MMU Fault: ENGINE HOST0 HUBCLIENT_HOST faulted @ 0x0_3f800000. Fault is of type FAULT_PTE ACCESS_TYPE_VIRT_READ
Log files with the extra debug info:
remnant2_xid31_breadcrumbs_qa.txt
qa_xid31.txt
Should be fixed now on master.
Got another Xid 31 just now with https://github.com/HansKristian-Work/vkd3d-proton/commit/f7ee2a0aaaad0c22fa7132180db5b4c131d3af7e
NVRM: Xid (PCI:0000:08:00): 31, pid=5438, name=gstglcontext, Ch 00000101, intr 00000000. MMU Fault: ENGINE HOST0 HUBCLIENT_HOST faulted @ 0x0_74c00000. Fault is of type FAULT_PDE ACCESS_TYPE_VIRT_READ
Here's with the RTX 4070, built from https://github.com/HansKristian-Work/vkd3d-proton/commit/72c01d738b1f0d046133e8a53daa772423cfd6ca:
NVRM: Xid (PCI:0000:08:00): 31, pid=20728, name=gstglcontext, Ch 00000129, intr 00000000. MMU Fault: ENGINE HOST0 HUBCLIENT_ESC faulted @ 0x0_41400000. Fault is of type FAULT_PTE ACCESS_TYPE_VIRT_READ
proton experimentalx1 2023-08VKD3D_CONFIG=breadcrumbs`x1 2023-08VKD3D_DESCRIPTOR_QA_LOG=/tmp/qa.txtx1 2023-08RADV_DEBUG=syncshadersx1 2023-08VKD3D_DISABLE_EXTENSIONS=VK_EXT_mesh_shader`x1 2023-08
After some random amount of time playing Remnant II the game suddenly freezes with messages like:
… which then angers kwin and i915 to the point where my entire desktop session temporarily freezes (possibly due to VRR attempting to sync display's refresh rate to the game that just hung):
Software information
Remnant II, settings around High preset with DLSS Quality enabled, borderless fullscreen on KDE Wayland session and
VKD3D_DISABLE_EXTENSIONS=VK_EXT_mesh_shaderSystem information
Log files
steam-1282100_1.log
steam-1282100_2.log
EDIT: and one more for good measure: steam-1282100_3.log