protonscr

World of Warcraft Classic TBC DX12

vkd3dclosed
HansKristian-Work/vkd3d-proton#976 · opened 2022-01-26 by sfjuocekr · updated 2024-03-12 · 22 comments · github
Ssfjuocekr 2022-01-26 github

Since the last patch I have been suffering freezes in WoW when using DX12 mode:

[322271.126956] NVRM: GPU at PCI:0000:08:00: GPU-aa03a635-c459-0d82-a2bc-27deb755feeb
[322271.126960] NVRM: Xid (PCI:0000:08:00): 13, pid=168824, Graphics Exception on GPC 0: WIDTH CT Violation. Coordinates: (0x478, 0x15e)
[322271.126971] NVRM: Xid (PCI:0000:08:00): 13, pid=168824, Graphics Exception: ESR 0x500420=0x80000010 0x500434=0x15e0478 0x500438=0x5001100 0x50043c=0x0
[322271.126985] NVRM: Xid (PCI:0000:08:00): 13, pid=168824, Graphics Exception on GPC 1: WIDTH CT Violation. Coordinates: (0x4c0, 0x15e)
[322271.126994] NVRM: Xid (PCI:0000:08:00): 13, pid=168824, Graphics Exception: ESR 0x508420=0x80000010 0x508434=0x15e04c0 0x508438=0x5001100 0x50843c=0x0
[322271.127006] NVRM: Xid (PCI:0000:08:00): 13, pid=168824, Graphics Exception on GPC 2: WIDTH CT Violation. Coordinates: (0x475, 0x15e)
[322271.127015] NVRM: Xid (PCI:0000:08:00): 13, pid=168824, Graphics Exception: ESR 0x510420=0x80000010 0x510434=0x15e0475 0x510438=0x5001100 0x51043c=0x0
[322271.127087] NVRM: Xid (PCI:0000:08:00): 13, pid=184626, Graphics Exception: ChID 0066, Class 0000c797, Offset 00000000, Data 00000000

I have tried different versions of VKD3D, different nvidia drivers and finally just disabled DX12 for this title. So, I'm rather certain this is an issue with the game itself and not a change that was recently introduced.

Sadly, I now miss the fancy DXR shadows :(

To trigger the crash, I just join AV and it freezes nine out of ten times right when you join. Just running about usually works, but the game then has these massive stutters for example in and around cities.

Ssfjuocekr 2022-02-25 github

When I try this using the Vulkan Beta driver, I get the following:

03ec:info:vkd3d_config_flags_init_once: VKD3D_CONFIG='dxr11'.
03ec:info:vkd3d_get_vk_version: vkd3d-proton - applicationVersion: 2.5.0.
03ec:info:vkd3d_instance_init: vkd3d-proton - build: c29d005ef4eddf3.
03ec:warn:vkd3d_remove_extension: Removing VK_NVX_binary_import extension from the array.
03ec:warn:vkd3d_remove_extension: Removing VK_NVX_image_view_handle extension from the array.
03ec:warn:vkd3d_create_vk_device: Disabled extensions that can cause Vulkan device creation to fail, retrying.
03ec:err:vkd3d_create_vk_device: Failed to create Vulkan device, vr -3.
03ec:fixme:hresult_from_vk_result: Unhandled VkResult -3.

DXVK works no problem.

Ssfjuocekr 2022-02-25 github

I have found this to be true for other DX12 titles as well, for example if I play SotTR in DX12 mode I can play it for quite some time until it freezes.

Ssfjuocekr 2022-02-26 github

vkd3d.txt

This is the vkd3d log when the WIDTH CT violation happens.

edit: ramblings of a fool.

Ssfjuocekr 2022-03-10 github

I have found the specific issue that causes it, at first I assumed it was "random" based on graphics load. But I have since then ran WoW in a testing environment, changing one setting at a time... now it seems that the marks you can put on targets seems to be the root of the problem but only if MSAA is enabled. I only assumed it was random because I was testing in a battleground, where sometimes marks are not used at all... I now also understand why the lift in SSC seemed to cause it... as it went up, the game tried to show the markings on the first trash pack. TLDR, there is a reason for everything.

I have basically tested everything, drivers from 4xx to 5xx up to the latest and greatest vulkan beta driver some guy from nvidia had me install to test. Sadly, this only fixed Xid 32 happening with vulkan if flipping is enabled. Xid 13 seems to happen only with DX12 games where MSAA is enabled, I can get SotTR to freeze with Xid 13 as well when you transition from the first temple and go down the water slide.

I just restored my machine back to what it was two weeks ago to see if MSAA causes the freeze and it did.

Here is a video showing the problem in World of Warcraft: https://youtu.be/3jbpPFlx53A

Ssfjuocekr 2022-03-30 github

https://youtu.be/FPCDyq5ua4M

It seems to only happen when a render scale below 100% is used if MSAA is enabled and a mark is set to show.

Ssfjuocekr 2022-07-16 github

vkd3d.log

[ 1427.231142] NVRM: GPU at PCI:0000:08:00: GPU-aa03a635-c459-0d82-a2bc-27deb755feeb
[ 1427.231147] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception on GPC 0: WIDTH CT Violation. Coordinates: (0x3f0, 0xa3)
[ 1427.231159] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception: ESR 0x500420=0x80000010 0x500434=0xa303f0 0x500438=0x4001100 0x50043c=0x0
[ 1427.231175] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception on GPC 1: WIDTH CT Violation. Coordinates: (0x3f8, 0xa3)
[ 1427.231186] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception: ESR 0x508420=0x80000010 0x508434=0xa303f8 0x508438=0x4001100 0x50843c=0x0
[ 1427.231203] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception on GPC 2: WIDTH CT Violation. Coordinates: (0x3ef, 0xa3)
[ 1427.231217] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception: ESR 0x510420=0x80000010 0x510434=0xa303ef 0x510438=0x4001100 0x51043c=0x0
[ 1427.231413] NVRM: Xid (PCI:0000:08:00): 13, pid=183695, name=WoWClassic.exe, Graphics Exception: ChID 005b, Class 0000c797, Offset 00000000, Data 00000000

Added a log.

This is only reproducible with vkd3d, dxvk seems to work as intended.

Could this be traced back to MultisampleEnable being ignored?

Sshadywack 2022-09-03 github

Experienced crashing in Retail as well, but reporting the issue here. Steps to reproduce, change render scale to anything below 100%, queue for a dungeon. During dungeon the game will at some point crash.

Seems independent of any dxr functionality as I tested with dxr11 on and off (with ray traced shadows on and disabled obviously).

Running under DX12 without changing the render scale ingame and keeping it 100% does not crash. Issue is specific to the scaling.

Ssfjuocekr 2022-09-15 github

Experienced crashing in Retail as well, but reporting the issue here. Steps to reproduce, change render scale to anything below 100%, queue for a dungeon. During dungeon the game will at some point crash.

Seems independent of any dxr functionality as I tested with dxr11 on and off (with ray traced shadows on and disabled obviously).

Running under DX12 without changing the render scale ingame and keeping it 100% does not crash. Issue is specific to the scaling.

The crash is most likely because someone put up a mark, you can test this yourself by just marking any NPC nearby with scaling set to anything but 100% and MSAA enabled.

Sshadywack 2022-09-15 github

That doesn't seem to be it. MSAA set to Color 2x/ Depth 2x, scaling set to 83%, and marks don't cause the same crash.

Ssfjuocekr 2022-10-16 github
Fixed a bug where Marvel's Spider-Man Remastered would sometimes crash with Xid 13 errors on Turing and later.

I will test if this also applies to WoW!

Ssfjuocekr 2022-10-16 github

Nope, still happens with WoW raid marks with resolution scaling and MSAA enabled!

[ 2021.570566] NVRM: GPU at PCI:0000:08:00: GPU-54e8e643-074f-a010-9bd3-353eb9bd55fe
[ 2021.570572] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception on GPC 0: WIDTH CT Violation. Coordinates: (0x3e0, 0x212)
[ 2021.570589] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception: ESR 0x500420=0x80000010 0x500434=0x21203e0 0x500438=0x4001100 0x50043c=0x0
[ 2021.570610] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception on GPC 1: WIDTH CT Violation. Coordinates: (0x3e8, 0x212)
[ 2021.570625] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception: ESR 0x508420=0x80000010 0x508434=0x21203e8 0x508438=0x4001100 0x50843c=0x0
[ 2021.570649] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception on GPC 2: WIDTH CT Violation. Coordinates: (0x3f0, 0x213)
[ 2021.570666] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception: ESR 0x510420=0x80000010 0x510434=0x21303f0 0x510438=0x4001100 0x51043c=0x0
[ 2021.570688] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception on GPC 3: WIDTH CT Violation. Coordinates: (0x3f8, 0x217)
[ 2021.570706] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception: ESR 0x518420=0x80000010 0x518434=0x21703f8 0x518438=0x4001100 0x51843c=0x0
[ 2021.570731] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception on GPC 4: WIDTH CT Violation. Coordinates: (0x3d6, 0x217)
[ 2021.570751] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception: ESR 0x520420=0x80000010 0x520434=0x21703d6 0x520438=0x4001100 0x52043c=0x0
[ 2021.570777] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception on GPC 5: WIDTH CT Violation. Coordinates: (0x3dd, 0x213)
[ 2021.570801] NVRM: Xid (PCI:0000:08:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception: ESR 0x528420=0x80000010 0x528434=0x21303dd 0x528438=0x4001100 0x52843c=0x0
[ 2021.571314] NVRM: Xid (PCI:0000:08:00): 13, pid=345286, name=WoWClassic.exe, Graphics Exception: ChID 0063, Class 0000c797, Offset 00000000, Data 00000000
Mmbriar 2022-10-16 github

The Spider-Man fix was a per application workaround that's not enabled by default for other games. You can try to enable it with VKD3D_COFIG=force_initial_transition.

BBlisto91 2023-02-21 github

@sfjuocekr Hello hello 👋. Are you still experiencing this issue? And if so did the config mbriar mentioned help?

Ssfjuocekr 2023-02-23 github

Yes issue is still there with force_initial_transition!

It is really easy to reproduce as well, I have been in contact with someone at nvidia about it as well and they reproduced it as well... sadly I have never heard from him again :(

BBlisto91 2024-01-29 github

@sfjuocekr Have there been any update on this from Nvidias side since? 👀
Or does it work now with latest drivers and vkd3d-proton

Iiliekturtles 2024-01-29 github

I have also been freezing. The freeze only happened in battle grounds and seemed to be caused by honor kills. NVidia-dkms 545.29.06-1 drivers. Changing WoW Classic to use DX11 resolved the issue for me. VK3D_CONFIG had no effect.

Exception log for reference.

Jan 24 13:18:40 kernel: NVRM: Xid (PCI:0000:2b:00): 13, pid=1152240, name=WoWClassic.exe, Graphics Exception: ChID 00ae, Class 0000c797, Offset 00000000, Data 00000000
Jan 24 13:18:40 kernel: NVRM: Xid (PCI:0000:2b:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception: ESR 0x520420=0x80000010 0x520434=0x1490210 0x520438=0x4001100 0x52043c=0x0
Jan 24 13:18:40 kernel: NVRM: Xid (PCI:0000:2b:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception on GPC 4: WIDTH CT Violation. Coordinates: (0x210, 0x149)
Jan 24 13:18:40 kernel: NVRM: Xid (PCI:0000:2b:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception: ESR 0x518420=0x80000010 0x518434=0x149020e 0x518438=0x4001100 0x51843c=0x0
Jan 24 13:18:40 kernel: NVRM: Xid (PCI:0000:2b:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception on GPC 3: WIDTH CT Violation. Coordinates: (0x20e, 0x149)
Jan 24 13:18:40 kernel: NVRM: Xid (PCI:0000:2b:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception: ESR 0x510420=0x80000010 0x510434=0x14b0223 0x510438=0x4001100 0x51043c=0x0
Jan 24 13:18:40 kernel: NVRM: Xid (PCI:0000:2b:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception on GPC 2: WIDTH CT Violation. Coordinates: (0x223, 0x14b)
Jan 24 13:18:40 kernel: NVRM: Xid (PCI:0000:2b:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception: ESR 0x508420=0x80000010 0x508434=0x14e0218 0x508438=0x4001100 0x50843c=0x0
Jan 24 13:18:40 kernel: NVRM: Xid (PCI:0000:2b:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception on GPC 1: WIDTH CT Violation. Coordinates: (0x218, 0x14e)
Jan 24 13:18:40 kernel: NVRM: Xid (PCI:0000:2b:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception: ESR 0x500420=0x80000010 0x500434=0x1500220 0x500438=0x4001100 0x50043c=0x0
Jan 24 13:18:40 kernel: NVRM: Xid (PCI:0000:2b:00): 13, pid='<unknown>', name=<unknown>, Graphics Exception on GPC 0: WIDTH CT Violation. Coordinates: (0x220, 0x150)
BBlisto91 2024-01-30 github

@iliekturtles Thank you i can see that this is likely https://github.com/HansKristian-Work/vkd3d-proton/issues/1839
Rereading this issue as a whole i hadn't realized it might also be related or the same. For the issue linked above i had tried to test the Honor kill thing a bit on AMD but haven't hit it so far, though i don't remember having tried messing with render resolution so will try that also. Though if that doesn't hit anything we will switch to focus on testing with Nvidia.

This is regular Classic right and not only Season of Discovery?

HHansKristian-Work maintainer 2024-01-30 github

Using a debug-enabled build from Proton Experimental (bleeding-edge-debug), does it reproduce with VKD3D_CONFIG=breadcrumbs on NV?

Iiliekturtles 2024-01-30 github

@Blisto91 #1839 seems exactly to be my case. My searching lead me to this issue because of the kernel logs. I've only tested in SoD. Since regular classic uses the same client I would expect it there too.

@HansKristian-Work A few weeks ago I could reproduce using Proton 8, proton-experimental, and proton-ge. I've been using proton-ge since then and haven't gone back to test proton-experimental again.

HHansKristian-Work maintainer 2024-01-30 github

test proton-experimental again

It should be possible to just drop bleeding-edge-debug's d3d12core.dll next to game for purposes of testing though.

BBlisto91 2024-02-13 github

Attaching gfxreconstruct Vulkan capture that reproduces the original described hang.

Captured using a RTX 4080 with 550.40.07 drivers via Proton Bleeding Edge (vkd3d-proton https://github.com/HansKristian-Work/vkd3d-proton/commit/85a0367c2f70260a8296ac00d53fb528db9d6583) using gfxreconstruct 1.0.2
https://drive.proton.me/urls/5NY4APG40W#dP4R5q7yLX2O

HHansKristian-Work maintainer 2024-03-12 github

Finally resolved.

Proton versions

Launch options

Upstream links

DLLs

Error codes