protonscr

dxvk 1.2.3 fails to CreateSwapChain()

dxvkclosed
doitsujin/dxvk#1109 · opened 2019-06-30 by niko1point0 · updated 2019-07-01 · 11 comments · github
5 matching comments, n / p to jump
Nniko1point0 2019-06-30 github

I am using Windows 10, Intel i7-7700hq, 8gb DDR4 RAM, GTX 1050.

I tried to use DXVK 1.2.3 d3d11.dll with Unigine Heaven Benchmark 4.0 (which is free for anyone to download), and I get the error message:

Direct3D11 error: 0x80004002
CreateSwapChain() failed

KK0bin maintainer 2019-06-30 github

When stuff fails there, it's usually caused by a setup issue. Keep in mind that Windows is unsupported and may not work in some cases.

Can you post the DXVK logs that the issue template explicit asks for?

Mmisyltoad 2019-06-30 github

Your issue is you are not using both the d3d11.dll and dxgi.dlls together. This is necessary to make it work -- else it fails on the swapchain creation as that calls through to the real Windows' DXGI which doesn't interface nicely with DXVK.

To fix the issue, copy dxgi.dll into the executable/working dir. folder.

Ddoitsujin maintainer 2019-06-30 github

What Josh said, and if that still doesn't work - well, it does work fine on Linux and that's really all I care about. Not all games or applications that work with DXVK on Linux also work on Windows, mostly due to DLL loading mechanisms.

Nniko1point0 2019-06-30 github

Copying DXGI.dll did not fix the bug. I tested Crash Bandicoot N Sane Trilogy without DXGI.dll and that worked fine

KK0bin maintainer 2019-06-30 github

I tested Crash Bandicoot N Sane Trilogy without DXGI.dll and that worked fine

Probably because it didn't even pick up DXVK and just used Windows D3D11.

Nniko1point0 2019-06-30 github

It definitely picked up DXVK, in Crash Bandicoot. I saw DXVK's UI which shows the Vulkan version, and the frame rate

Ddoitsujin maintainer 2019-06-30 github

It is impossible for DXVK to work on top of Windows' DXGI implementation.

Nniko1point0 2019-07-01 github

Weird, maybe I did copy DXGI.dll for Crash bandicoot, even though I don't remember doing so.

Regardless, DXVK doesn't work for Unigine Heaven Benchmark, even with DXGI.dll, it fails to create swapchain

Ddoitsujin maintainer 2019-07-01 github

Heaven fails to create a swap chain because it loads dxgi.dll from your Windows install, but d3d11.dll from DXVK. This can happen even if you copied the file to the right location due to DLL load order shenanigans.

Nonsense like this is exactly why I don't support Windows, it's not uncommon at all to run into issues like this and trying to figure out what exactly is going on is just a massive waste of time. Heaven works fine on Linux with all relevant graphics drivers and that's really all I care about.

Mmisyltoad 2019-07-01 github

You did put it in the same folder you placed the d3d11.dll, right?

Nniko1point0 2019-07-01 github

Yes

DLLs

Error codes