protonscr

Final Fantasy XVI Demo - Crash at the courtyard gate area

vkd3dclosed
HansKristian-Work/vkd3d-proton#2106 · opened 2024-09-01 by jkrhu · updated 2024-09-04 · 7 comments · github
Jjkrhu 2024-09-01 github

Game hang when reaching the courtyard gate area of the Demo. Can reproduce it every time. The game creates a quick save at this location. First time playing, I was able to go through it, but it happened when initiating a dialogue. I assume the gate acts as a loading area, so it might be direct storage related. I've also seen streaming related hitches when playing, but it's just a guess.

FF16 Crash Location

Software information

Final Fantasy XVI, High settings, DLSS3 Quality

System information

  • GPU: RTX 3060 12GB
  • Driver: 560.35.03
  • Wine version: experimental-9.0-20240808 (same issue on bleeding-edge)
  • VKD3D-Proton version: 2.13.0, 6f4f9d052b0eca5

Log files

FF16 PROTON LOG.txt
FF16 VKD3D LOG.txt

Sshelterx 2024-09-01 github

Hmmm, try latest git vkd3d-proton version. There were fixes some for FF XVI recently.
Download it here

Jjkrhu 2024-09-02 github

Hmmm, try latest git vkd3d-proton version. There were fixes some for FF XVI recently. Download it here

I've tested it on latest bleeding-edge Proton and the issue still persists. Haven't tested it on my Deck, might give it a try today.

Jjams3223 2024-09-02 github

Hmmm, try latest git vkd3d-proton version. There were fixes some for FF XVI recently. Download it here

I've tested it on latest bleeding-edge Proton and the issue still persists. Haven't tested it on my Deck, might give it a try today.

Can you reproduce it on Windows? If so, it might be an issue with the game itself.

Jjkrhu 2024-09-03 github

Tested on Steam Deck OLED running the stable channel. Works fine on both Proton Experimental and Bleeding Edge. Stuttery, like the desktop, but no crashes. Looks like NV specific issue.

ff16

HHansKristian-Work maintainer 2024-09-03 github

I'm convinced this is an NV driver bug.

Breadcrumbs point to

5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:   Command: set_shader_hash
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:     hash: 66213ff2688d7f69, stage: 20
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Set arg: 0 (#0)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Set arg: 1973089536 (#759af500)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:   Command: root_desc
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Set arg: 1 (#1)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Set arg: 62923 (#f5cb)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:   Command: root_table
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Cookie: 45674 (#b26a)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Set arg: 4294967295 (#ffffffff)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Set arg: 8 (#8)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Set arg: 192 (#c0)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:      Tag: Resource Transition
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Cookie: 43673 (#aa99)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Set arg: 4294967295 (#ffffffff)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Set arg: 192 (#c0)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Set arg: 8 (#8)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:      Tag: Resource Transition
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Cookie: 3772 (#ebc)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Set arg: 4294967295 (#ffffffff)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Set arg: 1024 ([#400](/issue/HansKristian-Work/vkd3d-proton/400))
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Set arg: 8 (#8)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:      Tag: Resource Transition
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:   Command: barrier
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:   Command: top_marker
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:     marker: 1397
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:   Command: bottom_marker
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:     marker: 1397
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  ===== Potential crash region BEGIN (make sure RADV_DEBUG=syncshaders is used for maximum accuracy) =====
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Set arg: 4864 ([#1300](/issue/HansKristian-Work/vkd3d-proton/1300))
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Set arg: 1 (#1)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:  Set arg: 1 (#1)
5938.485:0128:0204:err:vkd3d-proton:vkd3d_breadcrumb_tracer_report_command_list:   Command: dispatch

Here's the save file for reference (it's literally a .png, probably steganography or something ...).
auto

It just fails randomly with an unactionable Xid 109 and there are no hits from descriptor QA checks, and works fine on AMD. The shader also contains semi-complicated subgroup code, which has been a cause of many GPU hangs on NV in the past.

Eesullivan-nvidia 2024-09-03 github

I suspect the root cause here is a known issue that is already fixed in the 550.40.71 release of the Vulkan developer beta driver. If anyone wants to test this you can download the driver here: https://developer.nvidia.com/vulkan-driver

HHansKristian-Work maintainer 2024-09-04 github

@runar-work couldn't reproduce the issue on the beta, so seems like that was it all along. Hopefully that fix will make it into normal release drivers in time for game shipping.

Proton versions

Launch options