protonscr

Path of Exile (Steam) freezes on start

dxvkclosed
doitsujin/dxvk#446 · opened 2018-06-23 by kakra · updated 2018-07-25 · 7 comments · github
Kkakra 2018-06-23 github

Software information

Path of Exile (64-bit, DX11 mode)

System information

  • GPU: NVIDIA GTX 1050 Ti 4GB
  • Driver: 396.24.2
  • Wine version: 3.11
  • DXVK version: 0.60

Log files

After getting DXVK up and running with latest NVIDIA drivers and without graphical glitches in other games (Skyrim SE, Witcher 3), I tried Path of Exile in DX11 mode. Apparently, it just freezes right after creating its window when the intro video should play. I can hear it initializing the sound (there's a faint click when my sound system detects sound activity), and it displays an error message (with very tiny font). You can click the ok button there but it just stays frozen, the window has to be forced close. Path of Exile doesn't detect a crash in this case as it usually does and won't switch back to DX9 mode.

screenshot_20180623_223154

(sometimes one error box, sometimes two, not sure why fonts are so tiny, wine DPI is set to 144)

This one may be hard to reproduce because DX9 mode will run in 32-bit mode only, and DX11 mode will run in 64-bit mode only. Also, vanilla wine isn't able to get anywhere in DX11 mode (PoE crashes with multiple error messages, then closes).

I'm not sure if this freeze is due to DXVK missing some features/interface, or if it is a pure wine issue and should be fixed there. But maybe we can find a pointer into the right direction here.

Ddoitsujin maintainer 2018-06-23 github

People have been playing Path of Exile successfully with DXVK, not sure what's going on. It also doesn't help that I cannot read the error message in your screenshot at all.

Anyway, if the game works in Dx9 mode that should be good enough.

Kkakra 2018-06-23 github

While it works in DX9, it has memory problems: After a few minutes of playing, text characters vanish and the minimap vanishes, a few minutes later it crashes. When using lower resolution, it works for some longer time. With the latest updates to the game, this problem has become much worse. So I wanted to try the 64-bit version which is apparently DX11 only.

Here's what the error message says:

"Art/Videos/GGGBackgroundColour.png": In source code file: f:\buildslave\build\production\source\windows\visual\device\d3d11\TextureD3D11.cpp at line 170,
Processing file:
Error: -2147418113
Message:

The error code seems to mean E_UNEXPECTED. Not sure where it comes from: wine or dxvk.

The wine console log just before the crash reads:

0082:fixme:ole:CoInitializeSecurity ((nil),-1,(nil),(nil),0,3,(nil),0,(nil)) - stub!
0082:fixme:wbemprox:client_security_SetBlanket 0x7fdda6b5a0f0, 0xce350, 10, 0, (null), 3, 3, (nil), 0x00000000
0082:fixme:wbemprox:client_security_Release 0x7fdda6b5a0f0
0082:fixme:heap:RtlSetHeapInformation 0x30000 0 0x25fd80 4 stub
0082:fixme:ntdll:EtwEventRegister ({47a9201e-73b0-42ce-9821-7e134361bc6f}, 0x3f007450, 0x3f057518, 0x3f057510) stub.
0082:fixme:ntdll:EtwEventRegister ({58a9201e-73b0-42ce-9821-7e134361bc70}, 0x3f007450, 0x3f057550, 0x3f057548) stub.
0082:fixme:ntdll:EtwEventRegister ({3fa9201e-73b0-43fe-9821-7e145359bc6f}, 0x3f007450, 0x3f0574e0, 0x3f0574d8) stub.
0082:fixme:ntdll:EtwEventRegister ({1432afee-73b0-42ce-9821-7e134361b433}, 0x3f007450, 0x3f057588, 0x3f057580) stub.
0082:fixme:ntdll:EtwEventRegister ({4372afee-73b0-42ce-9821-7e134361b519}, 0x3f007450, 0x3f0575c0, 0x3f0575b8) stub.
0082:fixme:ntdll:EtwEventRegister ({47a9201e-73b0-42ce-9821-7e134361bc6f}, 0x18008b490, 0x18013d950, 0x18013d948) stub.
0082:fixme:ntdll:EtwEventRegister ({58a9201e-73b0-42ce-9821-7e134361bc70}, 0x18008b490, 0x18013d988, 0x18013d980) stub.
0082:fixme:ntdll:EtwEventRegister ({3fa9201e-73b0-43fe-9821-7e145359bc6f}, 0x18008b490, 0x18013d918, 0x18013d910) stub.
0082:fixme:ntdll:EtwEventRegister ({1432afee-73b0-42ce-9821-7e134361b433}, 0x18008b490, 0x18013d9c0, 0x18013d9b8) stub.
0082:fixme:ntdll:EtwEventRegister ({4372afee-73b0-42ce-9821-7e134361b519}, 0x18008b490, 0x18013d9f8, 0x18013d9f0) stub.
0082:fixme:imm:ImmGetOpenStatus (0x508f80): semi-stub
008a:fixme:ver:GetCurrentPackageId (0x4d1fdc0 (nil)): stub
008c:fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000003-0000-0000-c000-000000000046} (unknown)
008c:fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000003-0000-0000-c000-000000000046} (unknown)
008c:fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000019-0000-0000-c000-000000000046} (unknown)
008c:fixme:shell:CustomDestinationList_BeginList 0x4cf27a0 (0x1124fa48 {92ca9dcd-5622-4bba-a805-5e9f541bd8c9} 0x1124fa54): stub
0082:fixme:heap:RtlSetHeapInformation 0x59c0000 0 0x25deb0 4 stub
0082:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkCreateDebugReportCallbackEXT".
0082:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkDestroyDebugReportCallbackEXT".
0082:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkDebugReportMessageEXT".
0082:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkCreateDebugReportCallbackEXT".
0082:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkDestroyDebugReportCallbackEXT".
0082:fixme:vulkan:wine_vkGetInstanceProcAddr Unsupported device or instance function: "vkDebugReportMessageEXT".
0095:fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000003-0000-0000-c000-000000000046} (unknown)
0095:fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000003-0000-0000-c000-000000000046} (unknown)
0095:fixme:shell:CustomDestinationList_QueryInterface not implemented for {00000019-0000-0000-c000-000000000046} (unknown)
0095:fixme:shell:CustomDestinationList_BeginList 0x4d35a48 (0x1135fa48 {92ca9dcd-5622-4bba-a805-5e9f541bd8c9} 0x1135fa54): stub
0082:err:ole:apartment_getclassobject DllGetClassObject returned error 0x80040111 for dll L"C:\\windows\\system32\\windowscodecs.dll"
0082:err:ole:CoGetClassObject no class object {317d06e8-5f24-433d-bdf7-79ce68d8abc2} could be created for context 0x1
007d:fixme:ver:GetCurrentPackageId (0x1eefe24 (nil)): stub
007d:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
007d:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
007d:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
007d:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
007d:fixme:ntdll:EtwEventUnregister (deadbeef) stub.
0085:fixme:pulse:AudioRenderClient_GetBuffer 0x6290510 Not using pulse locked data: 0 2728/4096 0/4096
009b:fixme:ver:GetCurrentPackageId (0x13b3fdc0 (nil)): stub
009d:fixme:ver:GetCurrentPackageId (0x13e7fdc0 (nil)): stub
0088:fixme:wincodecs:FormatConverter_CanConvert Unsupported destination format {f5c7ad2d-6a8d-43dd-a7a8-a29935261ae9}
0085:fixme:pulse:AudioRenderClient_GetBuffer 0x62abc40 Not using pulse locked data: 0 2728/4096 0/4096
0082:fixme:thread:SetThreadIdealProcessor (0x2a4): stub
Ddruid23 2018-06-24 github

PoE needs a patched version of wine to work with DX11, not a DXVK issue.

see: https://github.com/GloriousEggroll/ge-wine/blob/master/pathofexile.patch

If you aren't comfortable patching and compiling wine directly Lutris have an installer for PoE DX11 with DXVK

Kkakra 2018-06-24 github

This patch is included here, otherwise I get tons of errors about font refcounts, and then the game crashes instead of freezes.

Kkakra 2018-06-25 github

@druid23 Thanks for pointing me to Lutris. I've looked at what their PoE install script does, and it sets xaudio2_7 to native,builtin, and that did the trick. I'm now seeing around 30 fps at 4k, that's not too bad for a GTX 1050 Ti. In other words: The game starts now. The error message was very misleading.

Ssudopluto 2018-07-25 github

@kakra I am using the lutris installer and I am getting this same exact error. Are you sure the xaudio is the thing that fixed it?

Kkakra 2018-07-25 github

It works here with my patchsets: https://github.com/kakra/wine

I needed my wincodecs branch to make it work but the xaudio2_7 fix was also needed. You may want to look into the other branches, too.

PS: Not using lutris...

I think this may depend on the latest nvidia drivers... Use the dev beta: https://developer.nvidia.com/vulkan-driver 396.24.10

DLLs

Error codes