I don’t want to get everyones hopes up. But I think I may have actually found a workaround until blizz/AMD pull their fingers out and fix this. This is a semi guide so if you want to try this for yourself and post in this thread if it works then you are free to do so. This is a long one.
As I said in an earlier comment, I have been playing the game under linux recently where it was 100% stable and performant using vkd3d. This translates directx 12 calls to vulkan. I have had a lot of luck with it but of course that was on Linux so it was not helpful to people that cannot/will not run Linux.
Earlier I saw on a US WoW forum thread that someone was capping their GPU core clock to like 1700mhz with a 7900XTX. I tried it with my 7900XT and queued for LFR to test it. Crashed 30 seconds into the first boss we did (volcoross). So I thought I would just try one last thing before booting back into Linux.
There is a Github user called doitsujin that owns the repository for DXVK, googling DXVK should have it as the first result (DXVK is essentially vkd3d for DX11). Went to releases and downloaded “dxvk-2.3.tar.gz”. Then opened it in 7zip, inside that is another file called “dxvk-1.10.3.tar”, double click that and then extract the folder inside to my downloads folder. Open the extracted folder and open the x64 folder. Inside that is a bunch of .dll files. You are looking for “d3d11.dll” and “dxgi.dll”.
I would recommend exiting bnet completely in case it tries to autoupdate while you are doing this. Make a backup of your World of warcraft folder because if you screw it up you could break it (though a scan/repair in bnet should fix that regardless… back up anyway).
Drag both the .dll files I mentioned into C:\Program Files (x86)\World of Warcraft_retail_. If it says about replacing files that already exist just do it and if your WoW is located somewhere else or on another drive, just go there and find the “retail” folder.
Now open bnet again. Click the cog next to the play button and hit game settings, tick additional command line arguments and type “-d3d11” as you may already know from the DX12 bug that started happening in 10.2, this forces the game to only use DX11 (which we have modified to actually be vulkan). We do this command as the game might try and use DX12 instead.
Now boot the game. If you have MSI afterburner/Rivatuner installed you can use the overlay to confirm its vulkan and not DX11 (MSI afterburner settings, monitoring, then add “framerate” to OSD) but if not, when you load up it should be a stuttery mess (like unplayable). I believe this initial stuttering is it building a shader cache - this also happened on nearly all games on Linux before vkd3d was a thing and we were all using DXVK. It will be stuttery for about 5-10 minutes in my experience but after that it was smooth as balls. I recommend just standing at the top of valdrakken and queuing for all LFR wings, just playing through the bosses until it stops stuttering. This stuttering only happens after you first boot the game and does not happen on subsequent startups in my experience. Although DX11 usually runs like garbage on this game, translated to vulkan (again… in my experience) yields the same performance as DX12 natively
I have been playing like this a lot today and I have had no issues past the initial stutter. My symptoms were worse than a lot of people where I would crash multiple times in one boss or in one key. On mythic council I actually have a stream clip of me saying “lets just try DX12 and see what happens” and literally 4 seconds after I say that and change it, the driver crashes.
If your game updates this may break it. Confirm first that it actually has broken it (it should run like old dx11 again, so poorly). If it is broken just repeat the earlier process by dragging and dropping those .dll files into your retail folder. This should work on classic too but I have not tried it so your mileage may vary.
I am running on Windows 11, Intel i5 13600k, 7900xt running on the latest AMD drivers. Good luck all.
TLDR: try DXVK and use the d3d11 flag in bnet