World Of Warcraft Battle for Azeroth - With the Legion defeated, now is the time to try to heal the wound left by Sargeras, but the Horde and Alliance race to gather resources, and conquer the other side, before they can discover the true secret of the aftermath of the wound in Silithus. Level cap to 120, 3 new races for each faction, new continents, battle grounds, and world PVP now. New pets, mounts and other achievements to be found.
Testing DX12 with vkd3d wrapper, in wine 4.0 rc-1. Battle.net app runs, able to install and run Twitch for addon updating, able to play all aspects of the game, including dungeons and raids. Created a custom script to launch WoW, since the Battle.net app has issues launching the game. It will update the game, which I have symlinked from my windows partition. Wine is self compiled, as per the how to notes on this site. Average of 50+ FPS in most areas, and patched swapchain.c to disable Vsync. Script to download and patch Wine has the command to fix the file. Not a workaround, as so much a bug fix, since mainline wow has vulkan frame locked at your monitor refresh rate.
What does not
What was not tested
Nothing. Everything works.
After patch 8.1 some people experience serious decrease in the FPS of the game. I have personally had to disable a mapping addon, that was not working with DX12 and wine. It dropped my FPS from 100+ on KulTiras to less than 20. I am looking for alternates to that addon.
|Operating system||Test date||Wine version||Installs?||Runs?||Used|
|Current||Fedora 29 x86_64||Dec 08 2018||4.0-rc1-staging||Yes||Yes||No||Platinum||Steve Ebey|
|Show||Antergos x86_64||Nov 30 -0001||3.17-staging||Yes||Yes||Yes||Gold||kh|
|Show||Fedora 28 x86_64||Sep 06 2018||3.15-staging||Yes||Yes||Yes||Gold||Josh R Raymond|
|Show||Arch Linux x86_64||Aug 04 2018||3.13-staging||Yes||Yes||Yes||Silver||Martin Weinelt|
|Show||antiX-17 "Heather Heyer" Core||Jul 22 2018||3.13-staging||Yes||Yes||No||Platinum||spaceman|
|Bug #||Description||Status||Resolution||Other apps affected|
|45349||Multiple applications and games crash due to missing support for 64-bit syscall thunks (StreetFighter V, World of Warcraft)||STAGED||View|
|46218||World of Warcraft A streaming error has occurred. (WOW51900322) - wine-staging||RESOLVED||WORKSFORME||View|
|46291||WoW needs d3d12_command_queue_GetPrivateData()||RESOLVED||FIXED||View|
|46410||Screen flickering in WoW||NEW||View|
|46416||World of Warcraft dx12/vkd3d crashes soon after login (RADV)||NEW||View|
I would recommend putting this in a directory of its own, such as wine-dirs or some other similar name, so that if needed, a simple rm -fr wine-dirs would eliminate everything, if you need to free up the space on your drive. These steps work on my Fedora 28 distro. I use the latest gcc from the Fedora repositries, and I have installed all the dependencies that wine needs. if you are running the fedora distro of wine, you can sudo dnf builddep wine to download the dependencies, then do sudo dnf remove wine, so that when you compile, you do not cross versions and have to troubleshoot. copy and paste the text shown here, to a script file, and run it. Go get some coffee, or watch tv, as dependent on your internet speed, the git repos may take time to download.
echo Cleanup and fresh download of repositories needed
rm -fr wine
rm -fr wine-staging
echo WineHQ Devel Source Git
git clone https://github.com/wine-mirror/wine.git
echo Unoffical Wine Staging Git
echo Working in $(pwd)
./patches/patchinstall.sh DESTDIR="../wine" --all
sed -i -e 's/MODE_FIFO/MODE_IMMEDIATE/' wine/dlls/dxgi/swapchain.c
cat wine/dlls/dxgi/swapchain.c | grep -i mode_IMMEDIATE
echo this is the end, if no errors were presented, then compile and enjoy
if you get problems with firewall, then most likely, you do not have gnu-tls installed. simply install that and rerun the script.
Build VKD3D Library
rm -fr vkd3d
git clone git://source.winehq.org/git/vkd3d.git
./configure --enable-demos --with-sysroot
sudo make install
Compiling for a WoW64 Shared Build per the Wine Wiki
These instructions assume all the build dependencies for 32 and 64 bit are properly installed. If not, you must take the time to get them. Explaining that here would be beyond the scope of this example. Shown here is the compile script I use after running the download and patch in the other How-to shown on this site. Make sure to change bdver2 to native so that it detects your processor properly. also change the make -j6 to a different number, as per the number of cores you have. This does speed up compiling.
echo Clean Start
rm -fr wine64-build
rm -fr wine32-build
echo Make Build Directories
../wine/configure CFLAGS='-march=bdver2 -mtune=bdver2 -O3 -fPIC -fomit-frame-pointer -pipe -DWINE_NO_TRACE_MSGS -DWINE_NO_DEBUG_MSGS' --enable-win64 --without-gtk3 --with-vkd3d --with-vulkan --with-x
PKG_CONFIG_PATH=/usr/lib/pkgconfig ../wine/configure CFLAGS='-march=bdver2 -mtune=bdver2 -O3 -fPIC -fomit-frame-pointer -pipe -DWINE_NO_TRACE_MSGS -DWINE_NO_DEBUG_MSGS' --with-wine64=../wine64-build --without-gtk3 --with-vkd3d --with-vulkan --with-x
If the compile is successful then the script shown below will uninstall any previous compiled version, and install the newest build.
sudo make uninstall
sudo make uninstall
sudo make install
sudo make install
Go set windows version to windows 10, so that the game will present the DX12 option, in the advanced settings, and then restart the game, and enjoy the WoW 8.0 Battle for Azeroth. You may also run Battle.net desktop app. Shown below is the script I use to run WoW. To run Twitch, wine has to be set to Windows 7, but WoW has to be set to windows 10, to allow DX12. The launch script takes care of that.
Game Launch Script
env VKD3D_DEBUG="none" WINEDEBUG=-all STAGING_SHARED_MEMORY=1 STAGING_WRITECOPY=1 wine64 '/home/steve/.wine/drive_c/Program Files (x86)/World of Warcraft/_retail_/Wow.exe' -d3d12 &>/dev/null
As a reminder - this error has been popping up since the 7.3 patch.
There is a github repo with a "clean" Windows-version Cache-file set
There's a forum thread here at WineHQ about the error:
and there are existing forum threads on both EU and US official WoW forums:
As far as we can tell - some (not all) characters generate
unusable/unstable files in the Cache folder when playing under Wine on
Linux that result in the error/disconnect. Some players have reported
being able to play normally after just adding the Windows-version Cache
files (without first clearing the folder) but since 8.0 that hasn't been
the case for me - the error and disconnects persist unless I delete ALL
existing files in my Cache prior to extracting the .zip contents into
the folder. Also, subsequent clearing of the Cache folder (because of
conflicts with other patches/addons etc) has required once again
reloading the Windows-version Cache files or the error and disconnects
resume. This is just a workaround - the bug is obviously not fixed, but
it does allow you to resume play without the disconnects. Until Blizzard
corrects the actual file-creation problem I'll try to pop in here more
frequently to update and respond.