protonscr

API trace DXVK files question

dxvkclosed question
doitsujin/dxvk#4038 · opened 2024-05-28 by Tiagoquix · updated 2024-05-30 · 5 comments · github
TTiagoquix 2024-05-28 github

Hi there.

Following https://github.com/doitsujin/dxvk/wiki/Using-Apitrace#on-linux, I don't know how to proceed from here:

Before the next step, make sure you disable or get rid of DXVK files first, as it's preferred that you use WineD3D to make an apitrace.

I'm using Proton-GE. How do I get rid of DXVK files without corrupting my game Proton prefix?
Also, the game I'm trying to make an API trace for only supports DX11 (Watch Dogs 1). Would it work with WineD3D/VKD3D?


Additional issue:

I noticed the following:

Once you've successfully created an apitrace, you can delete the apitrace dll files from the game folder and set the dll overrides back to n,b.

How would I set the DLL overrides back to native, then built-in if I already did it in the previous step?

Open winecfg and add a native,builtin override for d3d9, d3d11 and dxgi.dll. Here's a GIF that showcases the process:


Thanks in advance for your attention.

KK0bin maintainer 2024-05-28 github

Before the next step, make sure you disable or get rid of DXVK files first, as it's preferred that you use WineD3D to make an apitrace.

That's not that important. That line is partially a leftover from a time when DXVK was far less complete.

Also, the game I'm trying to make an API trace for only supports DX11 (Watch Dogs 1). Would it work with WineD3D/VKD3D?

Yes, WineD3D D3D11 is pretty good these days.

How would I set the DLL overrides back to native, then built-in if I already did it in the previous step?

You're right, that advice is a bit odd. n,b is usually what you want.

TTiagoquix 2024-05-28 github

That's not that important. That line is partially a leftover from a time when DXVK was far less complete.

Using PROTON_USE_WINED3D=1 would suffice? Or it's better to get API traces with DXVK in the current days?

Mmbriar 2024-05-29 github

PROTON_USE_WINED3D=1 doesn't work because it will set the dlls to just build-in and not load apitrace. With proton the way it is described in the wiki also doesn't really work at all because the proton launch script will override what you do in winecfg.

With proton, to trace with dxvk you can just dump the apitrace dlls next the the exe and do nothing else and it works. To trace with wined3d you set WINEDLLOVERRIDES=dxgi,d3d11=n,b %command% as launch option.

IMO the wiki could use an overhaul because the way it describes doesn't work with proton, which is probably what most people use nowadays. Also tracing d3d11 with dxvk usually just works better and faster compared to wined3d in my experience.

BBlisto91 2024-05-29 github

To trace with wined3d in proton you have to set both PROTON_USE_WINED3D=1 and WINEDLLOVERRIDES=dxgi,d3d11=n,b. So PROTON_USE_WINED3D=1 WINEDLLOVERRIDES=dxgi,d3d11=n,b %command% for the full launch options.

TTiagoquix 2024-05-30 github

Thank you for the clarifications. Closing as solved.