HansKristian-Work / vkd3d-proton

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

Titanic Project 401 (UE5) crashing #1451

Closed Hadrianneue closed 1 year ago

Hadrianneue commented 1 year ago

The post office is the only level that loads, every other level crashes with the following error message: image

Software information

Titanic Project 401 page

System information

Log files

0170:fixme:rs_desc_from_d3d12: Ignoring MultisampleEnable 0x1.
01dc:info:dxgi_vk_swap_chain_recreate_swapchain_in_present_task: Got 3 swapchain images.
01f8:fixme:d3d12_device_SetResidencyPriority: iface 0000000027740030, object_count 1, objects 000000003da1ebb8, priorities 000000003da1ebc0 stub!
01f4:fixme:d3d12_device_Evict: iface 0000000027740030, object_count 32, objects 000000005010e200 stub!
01f4:fixme:d3d12_device_EnqueueMakeResident: iface 0000000027740030, flags 0, num_objects 2, objects 000000008de5d3c0, fence_to_signal 0000000000d70ad0, fence_value_to_signal 1 stub!
0178:fixme:vk_samples_from_dxgi_sample_desc: Unhandled sample count 0.
0174:fixme:vk_samples_from_dxgi_sample_desc: Unhandled sample count 0.
Monitored process exited.
Initial process has exited (return code: 768)
Exit with return code 768
adolfintel commented 1 year ago

Same problem here with the current master

doitsujin commented 1 year ago

Can you please post a full Proton log? The snippet doesn't point to there being any issue on our end and "shader compilation" can either be d3dcompiler memes or some actual d3d12 problem.

mbriar commented 1 year ago

log.txt

Etaash-mathamsetty commented 1 year ago

could someone try using native d3dcompiler

adolfintel commented 1 year ago

Tried replacing wine's d3dcompiler_47.dll with the one from Windows 10 64 bit and launching the game with WINEDLLOVERRIDES="d3dcompiler_47=n,b". No effect

mbriar commented 1 year ago

It doesn't load any d3dcompiler dll.

Hadrianneue commented 1 year ago

seems to be working fine now, no errors, i have no idea why....

lucilanga commented 1 year ago

seems to be working fine now, no errors, i have no idea why....

how did you run it ?

Hadrianneue commented 1 year ago

seems to be working fine now, no errors, i have no idea why....

how did you run it ?

vkd3d-git and mesa git and wine-ge 8.7 with lutris, but i have no idea for how long this has been working, i just decided to re-test it now

adolfintel commented 1 year ago

I can confirm that this works now with the latest vkd3d and mesa-git. I'm not really an expert but if I had to guess, I'd say it's that commit that implemented ROV in mesa that fixed this and other games a few weeks ago.

Hadrianneue commented 1 year ago

I can confirm that this works now with the latest vkd3d and mesa-git. I'm not really an expert but if I had to guess, I'd say it's that commit that implemented ROV in mesa that fixed this and other games a few weeks ago.

which one exactly? i can try building mesa without and do a test.

adolfintel commented 1 year ago

@Hadrianneue This MR https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22250

Hadrianneue commented 1 year ago

@Hadrianneue This MR https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22250

i did a build by commenting out references to that extension on radv_physical_device.c, vulkaninfo shows interlock as false, i'm not a 100% sure its disabled but game still runs, tried amdvlk (doesn't support shader interlock currently) and it runs on latest vkd3d, even tried the older vkd3d 2.8 (git release) and game still runs...

maybe its something on RADV but idk

adolfintel commented 1 year ago

Do a git bisect on mesa: find a commit that doesn't work and start bisecting from there. If you can't find one prior to when the issue was reported, then it's vkd3d that fixed this issue and you should do the bisect on this project instead.

Hadrianneue commented 1 year ago

Do a git bisect on mesa: find a commit that doesn't work and start bisecting from there. If you can't find one prior to when the issue was reported, then it's vkd3d that fixed this issue and you should do the bisect on this project instead.

yeah im aware, but my setup with aur makes doing that a PITA...

adolfintel commented 1 year ago

Well, it's not ideal, but if you want to do it through your aur helper, you can just modify the pkgbuild file to build a specific commit. It's kinda stupid and very manual but if you don't want to build mesa manually it's better than nothing.

vkd3d on the other hand is super easy to build and bisect.

Hadrianneue commented 1 year ago

Well, it's not ideal, but if you want to do it through your aur helper, you can just modify the pkgbuild file to build a specific commit. It's kinda stupid and very manual but if you don't want to build mesa manually it's better than nothing.

vkd3d on the other hand is super easy to build and bisect.

i'll bisect it then later on today (tomorrow) after work, it shouldn't take too long.

fakhraldin commented 1 year ago

Hi, any news about this? I got the exact same error message after crashing. Only the level post office does work. My system setup is Fedora 38 with following specs.: GPU: RX 6600 8GB Driver: Mesa 23.1.3 Wine version: lutris-GE-Proton8-10 VKD3D-Proton version: 2.9 winelog-TitanicDemo401V2.txt

I get the same error message on another UE5 (v5.1) based Demo here.: https://github.com/HansKristian-Work/vkd3d-proton/issues/1599 and another issue based on UEv5.2 here.: https://github.com/HansKristian-Work/vkd3d-proton/issues/1598

Hadrianneue commented 1 year ago

found it, fixed on mesa: https://gitlab.freedesktop.org/mesa/mesa/-/commit/91505132423bcf8949034ef277b8bee4e1936855

@fakhraldin update to mesa-git if possible, it will likely fix your issue with UE 5.2 demo too.

fakhraldin commented 1 year ago

@Hadrianneue I installed latest mesa-git and the UE 5.1 Demo works now, as well as two other UE5.(1) based games. One of them started only with parameter -vulkan before. Now both run with -dx12. That hints to a vkd3d fix.

The UE5.2 Demo though starts sometimes now, but crashes after a couple of seconds. Thank you for your testing and feedback.

PS: maybe also related to mesa fixes or maybe due to vkd3d fixes, the UE4 game "stray" with parameter -dx12 works now too.