protonscr

dxvk (2.1 vs 1.10.3) regressed with wine-dxgi for D3D11: dxgi:dxgi_factory_CreateSwapChainForHwnd This is not the device we're looking for

dxvkclosed
doitsujin/dxvk#3319 · opened 2023-03-28 by frantisekz · updated 2023-05-16 · 8 comments · github
1 matching comments, n / p to jump
Ffrantisekz 2023-03-28 github

dxvk < 2.0 used to work just fine while using wine's original dxgi implementation. When testing rebase to dxvk 2.1 for Fedora shipping, I've noticed dxvk exits before starting rendering when using wine's dxgi. d3d9 titles continue to work without any issues with wine's dxgi and dxvk. d3d11 titles all fail with D3D11: dxgi:dxgi_factory_CreateSwapChainForHwnd This is not the device we're looking for .

Software information

Any d3d11 title, d3d9 works just fine. Tested Unigine Superposition, War Thunder for crashing. Verified d3d9 with Battlefield 2.

System information

  • GPU: Intel Gen9 iGPU
  • Driver: Mesa 23.0.1
  • Wine version: 8.4 Staging
  • DXVK version: 2.1

Apitrace file(s)

Crashed before rendering start with:

info:  DXVK: Read 13 valid state cache entries
info:  DXVK: Graphics pipeline libraries not supported
warn:  D3D11DXGIDevice::QueryInterface: Unknown interface query
warn:  53cb4ff0-c25a-4164-a891-0e83db0a7aac
warn:  D3D11DXGIDevice::QueryInterface: Unknown interface query
warn:  0ec870a6-5d7e-4c22-8cfc-5baae07616ed
0138:err:dxgi:dxgi_factory_CreateSwapChainForHwnd This is not the device we're looking for.
QWindowsEGLStaticContext::createWindowSurface: Could not create the EGL window surface: 0x3003
wine: Unhandled page fault on read access to 0000000000000008 at address 0000000180068320 (thread 0138), starting debugger...

For instructions on how to use apitrace, see: https://github.com/doitsujin/dxvk/wiki/Using-Apitrace

Log files

superposition.log

Mmisyltoad 2023-03-28 github
Ddoitsujin maintainer 2023-03-29 github

In fairness, we did not mention this in the release notes since this kind of setup hasn't been very useful for a long time, but yeah, this is expected. Same goes for current vkd3d-proton btw.

Ffrantisekz 2023-03-30 github

In fairness, we did not mention this in the release notes since this kind of setup hasn't been very useful for a long time, but yeah, this is expected. Same goes for current vkd3d-proton btw.

Yeah, I could've read through the commit log, would have probably taken the same amount of time this issue creation took :)

We've been (or rather, still are on 1.10.x) using this setup in Fedora (where dxvk is used by default for d3d11, but can't be the default on d3d9 (due to missing Vulkan childwindow support in wine)). I gave bit of testing to dxvk(2.1)-dxgi and winde3d-d3d9, and it seems to work just fine. vkd3d-proton still isn't used by default/packaged in Fedora.

BBlisto91 2023-03-30 github

The largest majority of d3d9 games doesn't use dxgi for anything since it was something that was introduced along with DirectX 10. So for d3d9 games it should in general be a non issue.
Something like GTA IV was updated later to ping dxgi for some info, but similar examples are rare and far between. And it also usually isn't fatal when the dxgi part fails in those instances. 🙂

Aamurzeau 2023-05-16 github

Does this means that using a single wine prefix for both:

  • directx 9/10/11 games using DXVK
  • directx 12 games using vkd3d

is not supported anymore ?

I get this error too with wine-staging 8.7 and DXVK 2.2.

Mmbriar 2023-05-16 github

Using vkd3d-proton for d3d12 games does still work with DXVK, in fact, vkd3d-proton requires DXVK to be installed. Upstream vkd3d doesn't run any games anyways.

Aamurzeau 2023-05-16 github

Ok, I was using the upstream vkd3d as it was working with WoW.
Doing a simple winetricks vkd3d is sufficient to install vkd3d-proton and have both directx 12 and <= 11 available again.
Thanks for your reply :)

BBlisto91 2023-05-16 github

Doesn't help that everyone and every software uses the term vkd3d to mean vkd3d-proton. Really adds to the confusion as they don't share alot of code anymore besides shader stuff afaik hehe.
(tbf the name vkd3d-proton is partly to blame imo)

Nothing extracted yet.