doitsujin / dxvk

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

World of Warcraft: Battle for Azeroth Black Screen #562

Closed Mushoz closed 6 years ago

Mushoz commented 6 years ago

I used to play World of Warcraft on the prepatch just fine through DXVK. However, since the launch of Battle for Azeroth I am facing a black screen. When I open WoW via Battle.net I am greeted with the login screen as expected, and immediately shows the "connecting" message as it automatically logs in. So far so good. When the character selection screen is supposed to open afterwards, instead of seeing anything, the screen is entirely black.

The World of Warcraft mouse is visible (The little hand), the GPU is rendering something (I can hear the fan spin up, so there seems to be GPU load) and I can actually login just fine, by clicking the spot where the "enter world" button is supposed to be and listening to the sound for feedback I clicked the actual button. I am then able to walk around (I can hear footsteps from my character, and can cast spells), however the black screen remains.

This issue does not happen when I play through Wine's DLLs, albeit with heavy graphical artifacting, see: https://bugs.winehq.org/show_bug.cgi?id=45478

Interestingly, I asked around and most people are able to play just fine with many different drivers/vendors/kernels/DXVK versions/wine versions combinations. But one guy (raist356) apparently has the same issue on his nVidia box: https://www.reddit.com/r/wine_gaming/comments/97825d/dxvk_world_of_warcraft_battle_for_azeroth/

I have tried a completely fresh wine prefix with fresh World of Warcraft installation, and the issue remains.

Software information

World of Warcraft: Battle for Azeroth Graphics settings set to the preset of "7".

System information

Log files

info:  D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0
info:  D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0
info:  Game: Wow.exe
info:  DXVK: v0.65
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 VEGA10 (LLVM 6.0.1):
info:    Driver: 18.1.5
info:    Vulkan: 1.1.70
info:    Memory Heap[0]: 
info:      Size: 7920 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: 8176 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
warn:  DXGI: CheckInterfaceSupport: No D3D10 support
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: CheckInterfaceSupport: No D3D10 support
warn:  DXGI: MakeWindowAssociation: Ignoring flags
info:  Game: Wow.exe
info:  DXVK: v0.65
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 VEGA10 (LLVM 6.0.1):
info:    Driver: 18.1.5
info:    Vulkan: 1.1.70
info:    Memory Heap[0]: 
info:      Size: 7920 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: 8176 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
warn:  DXGI: CheckInterfaceSupport: No D3D10 support
info:  Game: Wow.exe
info:  DXVK: v0.65
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 VEGA10 (LLVM 6.0.1):
info:    Driver: 18.1.5
info:    Vulkan: 1.1.70
info:    Memory Heap[0]: 
info:      Size: 7920 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: 8176 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
warn:  DXGI: CheckInterfaceSupport: No D3D10 support
info:  Game: Wow.exe
info:  DXVK: v0.65
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 VEGA10 (LLVM 6.0.1):
info:    Driver: 18.1.5
info:    Vulkan: 1.1.70
info:    Memory Heap[0]: 
info:      Size: 7920 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: 8176 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
warn:  DXGI: CheckInterfaceSupport: No D3D10 support
info:  DxgiVkPresenter: Recreating swap chain: 
  Format:       VK_FORMAT_B8G8R8A8_UNORM
  Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
  Buffer size:  2048x1152
info:  Game: Wow.exe
info:  DXVK: v0.65
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 VEGA10 (LLVM 6.0.1):
info:    Driver: 18.1.5
info:    Vulkan: 1.1.70
info:    Memory Heap[0]: 
info:      Size: 7920 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: 8176 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
Mushoz commented 6 years ago

This is really bizarre. I can repeatedly click the "play" button in battle.net to open multiple instances of the wow.exe process. Without fail, the first 4 will always show a black screen, while the 5th will render correctly. I can then login and play.

However, killing any of the other 4 wow.exe screens that show nothing but black, will instantly turn the working wow.exe black as well. Opening up yet another 5th wow.exe process will then render correctly, but the wow.exe process that's in-game will remain black.

I'm really stumped now.

Mushoz commented 6 years ago

A reinstall of Wine (+Wine prefix + WoW) finally fixed the issue for me. I have no idea what exactly was causing this strange interaction with dxvk, but I am glad it's fixed. Closing the issue for now. Should it return, I will reopen it.

Thaodan commented 6 years ago

Which wine version do you used ? I have the issue too on a 3.13 ish staging build and a dxvk build some day's a from git.

Starting wow outside of the launcher works fine.

Am 15. August 2018 14:21:34 MESZ schrieb Jaap Buurman notifications@github.com:

Closed #562.

-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/doitsujin/dxvk/issues/562#event-1789900351

Mushoz commented 6 years ago

Reopening the issue, since it doesn't seem to be an isolated issue with my setup. As for your question, I am using Wine-staging 3.13.1.

doitsujin commented 6 years ago

If it works with a clean wine prefix, this is not a bug I can fix. DXVK doesn't modify any files or anything, so its behaviour is identical across multiple runs of the game.

Mushoz commented 6 years ago

I guess you're right. Although it is weird that without dxvk it was working fine. Also, a new wineprefix did not fix it for me. I had to reinstall the wine package as well for some reason. I'm leaving the decision whether to open/close this issue up to you.

Thaodan commented 6 years ago

@doitsujin thats the thing. I have a clean prefix and the occurs. my system: Name : mingw-w64-dxvk-git Version : 20180812.294bdf5-2 Name : mingw-w64-gcc Version : 8.2.0-1 uname: Linux odin 4.17.13-arch1-1-ARCH #1 SMP PREEMPT

doitsujin commented 6 years ago

@Thaodan which version of wine are you using and with what patches?

I don't have the game so I can't reproduce the issue, none of the logs so far have been helpful, and it seems to work for most people, so there must be something specific to your setup that makes it not work.

I also don't really understand what the issue is. Does the game hang? Does it run, but not render anything? Can someone maybe apitrace the game so that I have at least something to work with? Right now it's impossible for me to do anything and I'm still not convinced that this is my bug.

Thaodan commented 6 years ago

that one: https://github.com/Thaodan/thaopkgs/blob/master/wine-staging-git/PKGBUILD Its wine-staging + pba patches.

log: https://paste.kde.org/phqcreown

wow start script: https://paste.kde.org/psp8gqosd

doitsujin commented 6 years ago

@Thaodan By the way, does the DXVK HUD show up? If so, does it freeze at some point?

IngeniousDox commented 6 years ago

Can you try turning PBA off with PBA_DISABLE=1?

I know it shouldn't affect eachother, but I have seen wierd interactions before.

Kerrung commented 6 years ago

I don't have the game so I can't reproduce the issue @doitsujin World of Warcraft is a free-to-play game (but with subscription as option), so you can try it for free.

ghost commented 6 years ago

I have the same issue. However as mentionned by @Thaodan , launching the game outside the launcher ( Wow.exe ) makes it run perfectly. It's a nice workaround while the issue still exists.

doitsujin commented 6 years ago

Can someone please answer my question as to whether the DXVK HUD shows up in the game? Also, does disabling dxvk for the launcher exe fix the issue?

@Kerrung I tried, but I simply cannot get the setup to work even when using the Lutris installer.

It's a nice workaround while the issue still exists.

At this point I highly doubt that this can be fixed.

Kerrung commented 6 years ago

@doitsujin I just reinstalled the Battle.Net client from scratch. It's installed for me and WoW works fine with DXVK without any black screens, etc. I use Arch Linux, Radeon HD7850, Wine Staging git, DXVK git, Mesa git, LLVM 8 Thank you.

You should download this. Unfortunately, now because of yesterday's release of a new game content patch, the game servers are heavily overloaded so the installation can last a very long time.

doitsujin commented 6 years ago

You should download this.

Well, that's exactly the app that just doesn't work at all on my end, but this is not the right place to discuss my issue.

kudlatyamroth commented 6 years ago

I have same issue. When launch from battle.net app there is completly black screen, only cursor shows. exported DXVK_HUD=1, and nothing changed when launching from battle.net, hud does not show

but when launching from Wow.exe with DXVK_HUD=1 everything works fine, and hud shows

i don't know how to disable dxvk for launcher so i can't tell you if this would work

doitsujin commented 6 years ago

@kudlatyamroth Thanks. Can you test if creating a dxvk.conf next to the game exe with the following contents works:

dxgi.deferSurfaceCreation = True
varris1 commented 6 years ago

Can you try to disable streaming in the battle net app, then start WoW as usual?

kudlatyamroth commented 6 years ago

dxgi.deferSurfaceCreation = True nothing changed

and disabling streaming works fine :)

Mushoz commented 6 years ago

For the people using Wine(-staging) 3.13 or older, could you try using Wine-staging 3.13.1? Apparently it contains a few Battle.net related fixes.

FireBurn commented 6 years ago

I have this issue with Wine-staging 3.13.1 without pba, launching WoW.exe on its own works fine. I've not tested it with 0.70 yet

SveSop commented 6 years ago

I am using staging-3.13.1, and have (after BfA) issues with the Battle.net client.

Whenever there are patches, or other changes/updates, it usually just hangs with "checking for update" or other errors, amongst sometimes just a blank screen with no "PLAY" button or any menus.

Clearing out c:\users\Public\Application Data\Battle.net folder downloads a new "Agent.exe", and it usually works after that.

I also run wow.exe directly with only a 64-bit wine client, and this seems to block Agent.exe (as it is a 32-bit app i guess), and wow plays very well. Have had issues with launching wow from the PLAY button in the past, so i rather just do it with a script to avoid that battle.net client other than for patching :)

PS. nVidia GTX 970 w/396.24.10 driver.

kudlatyamroth commented 6 years ago

If you have black screen after clicking play button in launcher, go to launcher options and disable streaming

for me, after disabling streaming i can click play and everything works, no more black screen :)

7oxicshadow commented 6 years ago

I am unsure if this is related but I just tried to get crysis working with DX10 support on steam. When I first tried I had just a black screen and a mouse cursor but I could hear all of the game sounds in the same way as the OP.

I turns out that even though I had run the old script to remove the overrides before running the winetricks command I ended up with duplicate overrides specified for the DLL's.

I removed all of the duplicates so I just had the following:

d3d10 (native) d3d10_1 (native) d3d10core (native) d3d11 (native) d3dcompiler_43 (native, builtin) dxgi (native)

After fixing that the game worked as expected and all graphics rendered properly

FireBurn commented 6 years ago

Disabling steaming worked for me

On Fri, 17 Aug 2018, 23:57 7oxicshadow, notifications@github.com wrote:

I am unsure if this is related but I just tried to get crysis working with DX10 support on steam. When I first tried I had just a black screen and a mouse cursor but I could hear all of the game sounds in the same way as the OP.

I turns out that even though I had run the old script to remove the overrides before running the winetricks command I ended up with duplicate overrides specified for the DLL's.

I removed all of the duplicates so I just had the following:

d3d10 (native) d3d10_1 (native) d3d10core (native) d3d11 (native) d3dcompiler_43 (native, builtin) dxgi (native)

After fixing that the game worked as expected and all graphics rendered properly

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/doitsujin/dxvk/issues/562#issuecomment-414007744, or mute the thread https://github.com/notifications/unsubscribe-auth/AAFR88yBsBnGceWdnJPCjZ36Yiv1Za1Nks5uR0phgaJpZM4V9xv7 .

Palats commented 6 years ago

I have same symptom - when I launch Wow from Battle.net launcher, it gets a black screen [though it seems to be running fine, just nothing visible] - sometimes a few images are visible before blacking out, sometimes not. If I run Wow.exe directly, it usually works.

However, if I change the Battle.net setting "When I launch a game" to "Exit Battle.net completely" instead of "Keep the Battle.net window open", then it works fine - I can launch it from the launcher, and the display works. This is consistently reproducible.

I.e., it looks like the Battle.net runtime is vaguely interfering.

I've attached copies of d3d11.log and dxgi.log for both cases ("bad" being when I obtain a black screen, "good" when the display works). I don't know anything about dxvk logging, the only fishy thing I can see is that in the bad case, D3D11CoreCreateDevice happens twice, instance of once when it works:

info: D3D11CoreCreateDevice: Probing D3D_FEATURE_LEVEL_11_0 info: D3D11CoreCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_0

wow-logs.tar.gz

Maia-Everett commented 6 years ago

Had the same problem: WoW ran fine with DXVK if launched via Wow.exe, but not if launched via the Battle.net app. Disabling streaming in Battle.net app settings fixed the problem.

Maltahl commented 6 years ago

Had same problem after a battle.net problem.

But this turned out to be related to Steaming options inside Battle.net app

@doitsujin Since you never got your answer about if the HUD appeared. It does appear but the makes a blackscreen instantly, if you go windowed it will freeze the picture but the cursor will still animated.

doitsujin commented 6 years ago

Closing, since this is apparently fixed by disabling the Streaming option in Battle.net. Not ideal, but ¯\(ツ)