protonscr

3DCenter Filter Tester aborts with error

dxvkclosed wine bug
doitsujin/dxvk#879 · opened 2019-01-22 by aufkrawall · updated 2021-11-06 · 13 comments · github
Aaufkrawall 2019-01-22 github

When trying to start the program, it aborts with "CreateSwapChainFailed E_FAIL".
Happens with both radv and Windows proprietary driver. I already did "winetricks d3dx11_43" and "d3dcompiler_43", since it's a D3D10 application (it's also 32 bit).

Unfortunately, creating an apitrace doesn't work as the program refuses to start at all when the DLLs are present in its folder.

Get the program from here:
https://www.3dcenter.org/dateien/dateien/3DCenterFilterTesterSetup 1.1.exe

Log files:
Filter Tester_d3d11.log
Filter Tester_dxgi.log

mesa 19-git
llvm 8-git
RX 580
Windows 10 / Linux 5rc
wine-tkg-git
dxvk 0.95 / 0.95.r17.g4d4bd182

Ddoitsujin maintainer 2019-01-22 github

The interesting bit is actually in the wine logs this time:

0212:fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!
err:   Failed to create surface

There's already a wine bug report here.

Aaufkrawall 2019-01-22 github

Thanks. Would there be DXVK functionality required to be build on top of Wine's child window support, or why does it fail with the same error on Windows (at least the program aborts the same way, somehow logs on Windows stay blank)?

Ddoitsujin maintainer 2019-01-22 github

This app doesn't work with DXVK on Windows because it picks up one DLL from the system and the other one from DXVK, which basically causes everything to blow up spectacularly under the hood.

Aaufkrawall 2019-01-22 github

That sounds.. well, spectacular. Thanks for the explanation. :)

Aaufkrawall 2019-03-17 github

There is a patch for Wine implementing child window support now, it can be activated in wine-tkg with _woff_fix="true".
This (and winetricks d3dx10_43) makes the Filter Tester finally run on Linux with wined3d10.

However, it still fails to successfully start with DXVK:

X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 12 (X_ConfigureWindow)
Resource id in failed request: 0x6e0003d
Serial number of failed request: 102
Current serial number in output stream: 102

Filter Tester_d3d11.log
Filter Tester_dxgi.log

Ddoitsujin maintainer 2019-03-17 github

DXVK does not directly interact with X.

Aaufkrawall 2019-03-18 github

Unfortunately, that was the only terminal output, apart from what's already in the d3d11/dxgi logs.

Aaufkrawall 2019-04-01 github

My bad, Roderick Colenbrander explains why it doesn't work with Vulkan here:
https://bugs.winehq.org/show_bug.cgi?id=45277#c13

Aaufkrawall 2020-04-10 github

Update: It works with DXVK 1.6 on Windows now. So we finally can review texture filtering with Vulkan, at least on Windows. :)

Aandyholst 2021-11-05 github

@aufkrawall so you only got DXVK 1.6 to work in Windows that is "'fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!" is fixed. Did you try some more with a specific Wine version?

Aandyholst 2021-11-06 github

Seems like Vulkan child window patch https://github.com/Frogging-Family/wine-tkg-git/commit/d215bb734dd41274105703378043fe4130abfed7 applied for Wine v6.20 and above works. Going to test it as discussed over at https://github.com/Frogging-Family/wine-tkg-git/issues/358

Aaufkrawall 2021-11-06 github

Yes, it has been working since the first Proton Experimental build including the new patch and wine-tkg/lutris builds later on.

Aandyholst 2021-11-06 github

Agreed, I tested it and it works. So now it's a matter of who and when someone will apply the patch to Wine source/staging upstream.

Proton versions

Upstream links