protonscr

Diablo 3 Crashes on Launch

dxvkclosed dxgi
doitsujin/dxvk#596 · opened 2018-08-25 by whompy · updated 2018-08-30 · 6 comments · github
Wwhompy 2018-08-25 github

Diablo III fails to load and throws a generic error when using DXVK:
"Diablo III was unable to initialize D3D. Click Ok to retry."

The game renders fine with standard wine.

Is there anything I can provide to help debug the issue?

Software information

Diablo III (Diablo III64.exe -launch).

System information

  • GPU: Vega M
  • Driver: AMD RADV VEGA M (LLVM 8.0.0, Driver: 18.2.99, Vulkan: 1.1.70)
  • Wine version: wine-staging 3.14, wine-pba-3.11
  • DXVK version: 0.70, 0.63

Log files

  • d3d11.log:
    info: D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
    info: D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
  • dxgi.log:
    info: Game: Diablo III64.exe
    info: DXVK: v0.70
    warn: OpenVR: Failed to locate module
    info: Enabled instance extensions:
    info: VK_KHR_get_physical_device_properties2
    info: VK_KHR_surface
    info: VK_KHR_win32_surface
    info: AMD RADV VEGA M (LLVM 8.0.0):
    info: Driver: 18.2.99
    info: Vulkan: 1.1.70
    info: Memory Heap[0]:
    info: Size: 3840 MiB
    info: Flags: 0x1
    info: Memory Type[0]: Property Flags = 0x1
    info: Memory Heap[1]:
    info: Size: 256 MiB
    info: Flags: 0x1
    info: Memory Type[2]: Property Flags = 0x7
    info: Memory Heap[2]:
    info: Size: 4096 MiB
    info: Flags: 0x0
    info: Memory Type[1]: Property Flags = 0x6
    info: Memory Type[3]: Property Flags = 0xe
    warn: DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
    info: Game: Diablo III64.exe
    info: DXVK: v0.70
    warn: OpenVR: Failed to locate module
    info: Enabled instance extensions:
    info: VK_KHR_get_physical_device_properties2
    info: VK_KHR_surface
    info: VK_KHR_win32_surface
    info: AMD RADV VEGA M (LLVM 8.0.0):
    info: Driver: 18.2.99
    info: Vulkan: 1.1.70
    info: Memory Heap[0]:
    info: Size: 3840 MiB
    info: Flags: 0x1
    info: Memory Type[0]: Property Flags = 0x1
    info: Memory Heap[1]:
    info: Size: 256 MiB
    info: Flags: 0x1
    info: Memory Type[2]: Property Flags = 0x7
    info: Memory Heap[2]:
    info: Size: 4096 MiB
    info: Flags: 0x0
    info: Memory Type[1]: Property Flags = 0x6
    info: Memory Type[3]: Property Flags = 0xe
    warn: DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
    info: Enabled device extensions:
    info: VK_EXT_shader_viewport_index_layer
    info: VK_EXT_vertex_attribute_divisor
    info: VK_KHR_dedicated_allocation
    info: VK_KHR_descriptor_update_template
    info: VK_KHR_get_memory_requirements2
    info: VK_KHR_image_format_list
    info: VK_KHR_maintenance1
    info: VK_KHR_maintenance2
    info: VK_KHR_sampler_mirror_clamp_to_edge
    info: VK_KHR_shader_draw_parameters
    info: VK_KHR_swapchain
    warn: DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
    warn: DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
    warn: DXGI: MakeWindowAssociation: Ignoring flags
    warn: DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
    err: DXGI: EnterFullscreenMode: Failed to change display mode
    warn: DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
    err: DXGI: EnterFullscreenMode: Failed to change display mode
    warn: DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
    err: DXGI: EnterFullscreenMode: Failed to change display mode
    warn: DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
    err: DXGI: EnterFullscreenMode: Failed to change display mode
Ddoitsujin maintainer 2018-08-25 github

Can you try to enforce windowed mode via a configuration file or something? For some reason it repeatedly fails to enter fullscreen mode, which is something that I've never seen before.

Wwhompy 2018-08-25 github

Good call! Windowed mode does work (with -launch -windowed command line arguments). If I get the game to run then switch to fullscreen mode, the same error pops up, and the game crashes.

Ddoitsujin maintainer 2018-08-26 github

Please re-run with latest master, which adds a log message for display mode changes, and upload a new dxgi.log.

Jjadbox 2018-08-29 github

Btw, where is the dxgi.log file located? I can't seem to find it under /var/logs.

Ddoitsujin maintainer 2018-08-29 github

Next to the game exe.

Wwhompy 2018-08-30 github

So it appears to work with latest master. I've added the dxgi.log for posterity:

info: Game: Diablo III64.exe
info: DXVK: v0.70-21-g715d257
warn: OpenVR: Failed to locate module
info: Enabled instance extensions:
info: VK_KHR_get_physical_device_properties2
info: VK_KHR_surface
info: VK_KHR_win32_surface
info: AMD RADV VEGA M (LLVM 8.0.0):
info: Driver: 18.2.99
info: Vulkan: 1.1.70
info: Memory Heap[0]:
info: Size: 3840 MiB
info: Flags: 0x1
info: Memory Type[0]: Property Flags = 0x1
info: Memory Heap[1]:
info: Size: 256 MiB
info: Flags: 0x1
info: Memory Type[2]: Property Flags = 0x7
info: Memory Heap[2]:
info: Size: 4096 MiB
info: Flags: 0x0
info: Memory Type[1]: Property Flags = 0x6
info: Memory Type[3]: Property Flags = 0xe
warn: DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info: Game: Diablo III64.exe
info: DXVK: v0.70-21-g715d257
warn: OpenVR: Failed to locate module
info: Enabled instance extensions:
info: VK_KHR_get_physical_device_properties2
info: VK_KHR_surface
info: VK_KHR_win32_surface
info: AMD RADV VEGA M (LLVM 8.0.0):
info: Driver: 18.2.99
info: Vulkan: 1.1.70
info: Memory Heap[0]:
info: Size: 3840 MiB
info: Flags: 0x1
info: Memory Type[0]: Property Flags = 0x1
info: Memory Heap[1]:
info: Size: 256 MiB
info: Flags: 0x1
info: Memory Type[2]: Property Flags = 0x7
info: Memory Heap[2]:
info: Size: 4096 MiB
info: Flags: 0x0
info: Memory Type[1]: Property Flags = 0x6
info: Memory Type[3]: Property Flags = 0xe
warn: DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info: Enabled device extensions:
info: VK_EXT_shader_viewport_index_layer
info: VK_EXT_vertex_attribute_divisor
info: VK_KHR_dedicated_allocation
info: VK_KHR_descriptor_update_template
info: VK_KHR_get_memory_requirements2
info: VK_KHR_image_format_list
info: VK_KHR_maintenance1
info: VK_KHR_maintenance2
info: VK_KHR_sampler_mirror_clamp_to_edge
info: VK_KHR_shader_draw_parameters
info: VK_KHR_swapchain
warn: DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
warn: DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
warn: DXGI: MakeWindowAssociation: Ignoring flags
warn: DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info: DXGI: Setting display mode: 1920x1080@120
warn: DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
info: DxgiVkPresenter: Recreating swap chain:
Format: VK_FORMAT_B8G8R8A8_UNORM
Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
Buffer size: 1920x1080
info: DXGI: Setting display mode: 1920x1080@60

Nothing extracted yet.