protonscr

DXVK Causing Overwatch To Hang

dxvkclosed wontfix
doitsujin/dxvk#1780 · opened 2020-09-26 by devopsec · updated 2020-10-07 · 12 comments · github
Ddevopsec 2020-09-26 github

I've been troubleshooting an issue with Overwatch hanging for a couple weeks now and I've narrowed it down to an DXVK issue.
I originally posted all my logs and system info over on the lutris wine github page, please reference that for system info / initial logs: original issue

I also posted to the overwatch forums my logic for coming up with this hypothesis: why is it DVXK?

I found that this issue was present in the version I originally used (1.7L-84bb768) and the latest release (1.7.1L-743f309).
Unfortunately I couldn't get the game to run at all when compiling the master branch (got a SEGFAULT almost immediately), but I was able to launch the game and see the same issue using the latest build from the nightly pipeline which you can find here: that latest build that actually built

I also attached my DXVK logs for Version 1.7.1L-743f309, it seems to be some issue with the d3d11 portion of the code base.
Overwatch_dxgi.log
Overwatch_d3d11-partial.log

The weird thing i've noticed is that the issue doesn't occur immediately.. I can typically use Orisa's Halt! ability a few times and run around for a bit until the issue occurs (maybe pointing to a cache corruption?).

Ddoitsujin maintainer 2020-09-26 github

There's unfortunately not much we can do about Overwatch since the game is completely impossible to debug.

Could also be a driver issue fwiw, but I can only suggest to use wined3d for this game instead.

Vvarris1 2020-09-26 github

https://streamable.com/jqvwj7 cannot reproduce with DXVK master and just plain wine-tkg. I am not using Lutris myself.

EErikHacklin 2020-09-26 github

Same here. Works as expected with latest master.

Ddevopsec 2020-09-28 github

I am getting a SEGFAULT whenever I compile latest master and run using that.
I see there is a fresh build in nightly pipeline that passed, I'll give that a shot and report back

Ddevopsec 2020-09-28 github

Was able to run the game with the latest build from the nightly pipeline but i'm seeing the same issue.
I didn't have much luck building wine-tkg on my ubuntu machine before but i'll try again and see what results I can get.
@varris1 and @Yjnar can you reply with your external-config.cfg for your wine-tkg builds?
I'll try to reproduce with the same patchset your using.

EErikHacklin 2020-09-28 github

I simply compiled DXVK and inserted the x32 & x64 dll's into the Lutris DXVK runtime directory in "~/.local/share/Lutris/runtime/dxvk/". You can create a new folder there and just type the name into the DXVK version field in Lutris settings. I tested it with Lutris wine build 5.7-10.

Ddevopsec 2020-09-28 github

I've been testing with lutris wine 5.7-10 and getting the same issue, I was wondering if a wine-tkg build might solve some issues.
I tried several kernel versions as well as re-installing my NVIDIA driver.. no stability issues with other GUI apps.

Vvarris1 2020-09-29 github

can you reply with your external-config.cfg for your wine-tkg builds?

_ffxivlauncher_fix="true"
_nvidia_hate="true"
_usvfs_fix="true"

_proton_mf_hacks="true"
_proton_fs_hack="true"
_FS_bypass_compositor="true"

_staging_version="v5.5"
_use_vkd3dlib="false"
Ddoitsujin maintainer 2020-09-29 github

@Yjnar what's your GPU and driver version?

EErikHacklin 2020-09-29 github

@Yjnar what's your GPU and driver version?

Nvidia GTX 1080 Ti with Nvidia driver version 455.23.04

Ddevopsec 2020-09-30 github

update on my findings:

Tried updating vulkan and wine and kernels but didn't see any results there.
Next tried tweaking my X configs and kernel params for the nvidia driver to see if it related to a specific feature in the driver and I think I stumbled upon something.
Found the following error in the logs when the GPU hangs:

Sep 30 14:00:56 devbox kernel: NVRM: Xid (PCI:0000:01:00): 31, pid=96229, Ch 0000003a, intr 10000000. MMU Fault: ENGINE GRAPHICS GPCCLIENT_T1_3 faulted @ 0x0_00000000. Fault is of type FAULT_PDE ACCESS_TYPE_READ

Found a thread related to this on NVIDIA's forum: https://forums.developer.nvidia.com/t/will-the-fault-pde-access-type-read-bug-in-the-nvidia-driver-ever-be-fixed/79362
Seems this is an NVIDIA driver issue and they have been "looking into it" for the past 2 years!

For reference I attached my xorg.conf as well.
I'll continue testing this and narrow down the feature causing the issue so we atleast have a workaround for anyone else who runs into this in the future.
xorg.conf

Related: https://github.com/doitsujin/dxvk/issues/1027

Ddevopsec 2020-10-04 github

resolution:

I finally found that this issue was cause by a bug in the NVIDIA driver (450.66).
Upgrading to the latest beta driver (455.22.04) seemed to fix this issue for me.

Although now I am seeing a degradation in performance, maybe their implementation of the bug fix is just inefficient?
I am going to try with custom wine and see if my FPS will stabilize (it seems to drop when the issue would occur previously).

Upstream links