doitsujin / dxvk

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

World of Warcraft has graphic glitches. #343

Closed Kerrung closed 6 years ago

Kerrung commented 6 years ago

77d0424 commit for the first time provided an opportunity to work World of Warcraft using DXVK! Thank you very much for your work! Sadly, it has graphic glitches if I do not use any anti-aliasing or is I use any anti-aliasing except MSAA. But if I use MSAA then it mostly disappears.

There is no such issues if I use WineD3D, but it's happening the other way round - there are no issues without anti-aliasing or with any anti-aliasing except for MSAA. If I use MSAA with WineD3D, this results in extremely severe graphics distortion (There are no corresponding screenshots here.).

screenshot from 2018-05-04 10-10-48 screenshot from 2018-05-04 10-09-37 screenshot from 2018-05-04 10-09-12 screenshot from 2018-05-03 19-03-55 screenshot from 2018-05-03 18-51-23 screenshot from 2018-05-03 18-51-14 screenshot from 2018-05-03 18-51-09

Software information

Blizzard's World of Warcraft, tried low, medium, high graphics settings.

System information

[>>Log and video files download link here<<]

Sadly, but after many different attempts I could not write apitrace, but I will definitely do it if you say that I did not. I used this command without using DXVK: $ wine64 start /unix '/home/user/.wine/drive_c/Program Files (x86)/World of Warcraft/apitrace-msvc/x64/bin/apitrace.exe' trace -a dxgi '~/.wine/drive_c/Program Files (x86)/World of Warcraft/Wow-64.exe' and then from apitrace.exe folder: $ wine apitrace.exe trace -a dxgi ' ~/.wine/drive_c/Program Files (x86)/World of Warcraft/Wow-64.exe'

After that I saw in the console the following message: screenshot from 2018-05-05 12-22-17

apitrace: unloaded from C:\Program Files (x86)\World of Warcraft\Wow-64.exe

but Wow-64.exe.trace file did not appear in the folder in fact.

doitsujin commented 6 years ago

But if I use MSAA then it mostly disappears.

Sounds very much like the remaining issue in #10, which I believe is a driver bug.

Kerrung commented 6 years ago

@doitsujin

Sounds very much like the remaining issue in #10, which I believe is a driver bug.

I should write a bug report to the developers of Mesa?

doitsujin commented 6 years ago

They are aware of it already (see here).

Kerrung commented 6 years ago

They are aware of it already (see here).

@doitsujin, thank you!

davvvve1 commented 6 years ago

I want Beta !

isugimpy commented 6 years ago

doitsujin suggested I pop over to this issue instead of the previous one to update my findings. I realize this is a radv thread and I'm on NVIDIA.

On both live and beta, on launch of the game I'll either get a black screen and nothing else, or graphics will start to load (may get the title screen, may not, but the HUD renders for a couple frames) and then freeze entirely. Nothing obvious at all in the logs with debug enabled. I have found that on beta (not on live, sadly), if I set DXVK_FAKE_DX10_SUPPORT=0 and attempt to launch the game, it indicates that my graphics hardware has changed and prompts me to reset to defaults, then fails to launch as expected. If I then set it back to 1, it prompts me again, and on clicking yes the game launches and runs perfectly. If I exit and start it again, it's back to the previous behavior with the black screen/freeze. If logs might be helpful, I could upload them, but I'm only using the standard logging with the debug level and saw no errors of any kind. One last thing that I just found between my original issue post and now is that it actually seems to work just fine if I launch the game directly instead of from Blizzard's launcher, but I haven't yet found a way to log into the beta servers from the beta client if launched directly from the executable instead of the launcher.

Edit: Found a way to launch directly from the executable: "-launcherlogin -d3d11 -uid wow_beta" directly on the executable, with the launcher running separately. Doing this, things work great. WINE: 3.7-pba dxvk: 0.50-1 from AUR NVIDIA drivers: 396.24

SveSop commented 6 years ago

Seems to be working pretty well for me with nVidia! Great job @doitsujin :)

@isugimpy I launch wow binary (wow-64.exe) directly from script, so i have none of those problems. I know wine in general have had some weirdness when launching wow from the battle.net launcher before, so it might be some strange behavior there perhaps? I also use the wine64 binary to launch wow, but afaik the battle.net launcher needs 32 bit to work. Tested with both wine-staging-3.7 w/pba patches, and wine-staging-git (794d30dca65843baee7e0cd5f054e1b1fbe96a95)

andy-d1969 commented 6 years ago

This works fine here with AMDGPU-PRO Vulkan driver on my Vega 56. Many games that have graphical glitches on RADV are working fine with the AMDGPU-PRO driver, which uses a different shader compiler. You can install it next to RADV and use it with the VK_ICD_FILENAMES environmental variable. So it's a good way to test if a glitch is caused by DXVK or driver / shader-compiler bugs.

List of games i testet, that work better with AMDGPU-PRO: World Of Warcraft Tekken 7 Sword Art Online - Fatal Bullet Hellblade: Senua's Sacrifice GTA 5 Nier: Automata ARK: Survival Evolved

But some games, like for example Witcher 3, are working better with RADV driver.

I used Radeon Software for Linux 18.20 for testing. I extracted only the following files:

/opt/amdgpu-pro/lib/i386-linux-gnu/amdvlk32.so /opt/amdgpu-pro/lib/x86_64-linux-gnu/amdvlk64.so /etc/vulkan/icd.d/amd_icd32.json /etc/vulkan/icd.d/amd_icd64.json

from the packages vulkan-amdgpu-pro_18.20-579836_i386.deb and vulkan-amdgpu-pro_18.20-579836_amd64.deb.

Then start your game with VK_ICD_FILENAMES=/etc/vulkan/icd.d/amd_icd64.json wine game.exe

aspiringnobody commented 6 years ago

As a workaround for interested parties (I don't anticipate upstream getting this fixed any time soon; doesn't seem to be a lot of interest on the bug page):

Enable MSAA (fixes most of the issues) Disable Multisample Alpha-Test in System/Advanced (fixes residual issues with foliage)

Also, you can launch live directly from battle.net if you go into Blizzard menu -> Settings -> Streaming and disable in game streaming.

hakzsam commented 6 years ago

Can someone try this patch with RADV https://patchwork.freedesktop.org/patch/224448/ ? It should fix the rendering issues.

aspiringnobody commented 6 years ago

Works fine with that patch. I think you can safely close this as fixed by upstream.

hakzsam commented 6 years ago

Fixed in master with https://cgit.freedesktop.org/mesa/mesa/commit/?id=73df16dcee79e2281c8d8a830dbbe6655359c82d

The patch should be available in mesa 18.0.5/18.1.1.