doitsujin / dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine
zlib License
12.98k stars 832 forks source link

Call of Duty: Modern Warfare Remastered crash on campaign mission "Aftermath" #2735

Open kernle32dll opened 2 years ago

kernle32dll commented 2 years ago

I try to play Call of Duty: Modern Warfare Remastered on Steam, using GE-Proton7-26. As per the ProtonDB listing, my run command is DXVK_ASYNC=1 %command%. Altho testing revealed that removing the DXVK_ASYNC flag does not solve the issue.

So the game runs fine for the most part. However, the game instantly crashes (= black screen, when DXVK hud is enabled it freezes) when loading the campaign mission "Aftermath". If I load the previous mission, and play "into" the buggy mission, I sometimes get into gameplay. But after taking some steps, the game crashes all the same.

Just FYI, I was able to run the game via Steam on an improvised Windows 10 VM on my machine, and the game booted up right away (altho with < 1 FPS, cause I suck at VMs).

Software information

System information

Apitrace file(s)

Couldn't get it to create one... will come back to this if required.

Log files

The gist of it is this, occuring right as the game crashes:

err:   DxvkSubmissionQueue: Failed to sync fence: VK_ERROR_DEVICE_LOST
err:   DxvkDevice: waitForIdle: Operation failed

Also, per VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation PROTON_LOG=1 I was gather some additional error, which is thrown twice in between the VK_ERROR_DEVICE_LOST errors:

VUID-vkResetDescriptorPool-descriptorPool-00313(ERROR / SPEC): msgNum: -1611285309 - Validation Error: [ VUID-vkResetDescriptorPool-descriptorPool-00313 ] Object 0: handle = 0x14c4440000002637, type = VK_OBJECT_TYPE_DESCRIPTOR_POOL; | MessageID = 0x9ff5bcc3 | It is invalid to call vkResetDescriptorPool() with descriptor sets in use by a command buffer. The Vulkan spec states: All uses of descriptorPool (via any allocated descriptor sets) must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkResetDescriptorPool-descriptorPool-00313)
    Objects: 1
        [0] 0x14c4440000002637, type: 22, name: NULL
doitsujin commented 2 years ago

This is a GPU hang, which we can't really debug especially if there are no validation errors and if it works on more debuggable drivers (read: RADV). The error you posted is caused by the crash, rather than the cause of the crash.

You can try if it works with the current master branch.

kernle32dll commented 2 years ago

Damn.

Well, I am building a proton build with dxvk master right now. I will come back with results, but I don't have high hopes. I do recall that some GE build I previously tested was based on dxvk master. No harm in checking tho.

As for debugging - I think I have an AMD R9 390X laying around here..... somewhere. I might whip up a system for debugging some time, but this will definitely take a while (don't have a spare motherboard at hand).

One note - I did try out Wine3D for comparison, and the mission did at least load right away (as right away as 30min load time are without async). But performance was < 1 FPS, so I didn't bother checking further if if crashes down the line.

kernle32dll commented 2 years ago

No dice.

GE7-26 adjusted to dxvk master: Did not build, I think some patch applied wrongly... Not sure its even dxvk related. I will just wait for GE to cut a new release with dxvk patches rebased to master.

Proton Experimental adjusted to dxvk master: Did build, but the same black screen while trying to load the mission in question. When trying to load the previous mission, game + Linux DE crashed after loading for about 30minutes (Long load time is expected without async support)

gabriele2000 commented 1 year ago

Uh, guys... you might check #3227 and #3073 since it's the same damn problem and any apitrace seems useless? On Modern Warfare 1 Remastered the problem is gone after a year of DXVK commits and it's replaced by a super-cool terrain-disappearing bug, fixed by enabling pre-calculated spot-shadows and sun-shadows, which are taxing as hell thanks for the super-optimization used for this crappy games.

gabriele2000 commented 1 year ago

This is a GPU hang, which we can't really debug especially if there are no validation errors and if it works on more debuggable drivers (read: RADV). The error you posted is caused by the crash, rather than the cause of the crash.

You can try if it works with the current master branch.

How could I obtain the cause of the crash? Keep in mind that in the first Modern Warfare now the crash is replaced by that bug that you can see in 3073 and now the crash is in 3227, more recent game but eventually same engine/stuff... without DXVK you can observe the same behaviour, either it crashes or there are those glitches with disappearing stuff.

Timothy95p commented 1 year ago

This game is really great and plays very well. I bought this game at a good price on this site. I recommend it to anyone looking for a good price.

rakshith-ravi commented 1 year ago

Hey @kernle32dll. Was there ever a fix that was found for this? I'm stuck at this right now and am unable to proceed with the level because of this bug

Blisto91 commented 1 year ago

No there is no fix out.

This game is really great and plays very well. I bought this game at a good price on this site. I recommend it to anyone looking for a good price.

  1. That is not this game.
  2. Don't randomly post links to your favorite cd key site. It has nothing to do with the issue.
rakshith-ravi commented 1 year ago

I'm unable to load the level at all, and am unable to move past this one. Anything you recommend I can try?

Blisto91 commented 1 year ago

If it's related to the blackout issue try to turn either CACHE SUN SHADOW MAPS on or shadows off. If either of those doesn't work then i don't know and you'll probably have to play without dxvk.

rakshith-ravi commented 1 year ago

Oh hey that worked! Thanks for the suggestion @Blisto91. Much appreciated! I can finally move past that level now.

For others finding this - I turned off shadows completely and was able to load the level without any issues