protonscr

D3D9: Call of Duty: Modern Warfare 2 / Excessive Shader Compilation

dxvkopen appid 2009d3d9
doitsujin/dxvk#4594 · opened 2025-01-08 by awsms · updated 2025-01-18 · 5 comments · github · game page · search this game
Aawsms 2025-01-08 github

The game takes around 20 seconds to boot into the main menu (whether it's the initial boot, or going back to the main menu after leaving a session). It also takes between 20s and a whole minute to join a server.
I can see in my terminal hundreds of Compiling shader FS_XXXXXXX whenever this freeze happens.

Software information

I'm playing Call of Duty: Mw2 using the iw4x client (https://github.com/iw4x/iw4x-client). My issue happens on both wine & proton. It does NOT happen if I use wined3d instead of dxvk.

System information

  • GPU: RTX 4070 Laptop
  • Driver: 565.77
  • Wine version: GE-Proton-9.22
  • DXVK version: 2.5.2

Apitrace file(s)

  • I don't think it's relevant as this does not happen with WineD3D, and the docs suggests to disable DXVK. Please let me know otherwise, I'll make one.

Log files

Proton logs:
steam-default.log

KK0bin maintainer 2025-01-08 github

Could you please make an apitrace? Just download the apitrace binaries, grab the 32bit d3d9.dll wrapper file and drop that right next to the exe file of the game.

Aawsms 2025-01-08 github

Could you please make an apitrace? Just download the apitrace binaries, grab the 32bit d3d9.dll wrapper file and drop that right next to the exe file of the game.

Hi K0bin, the iw4x.trace file is already over 400MB and the game still hasn't loaded to the main menu!

KK0bin maintainer 2025-01-08 github

It's normal for those files to get quite large depending on the game. However, 400MB before the main menu in a D3D9 game is a bit odd.

Aawsms 2025-01-08 github

It's normal for those files to get quite large depending on the game. However, 400MB before the main menu in a D3D9 game is a bit odd.

Mh definitely weird then, I've already reached a 1.2GB file, and still not booted into the main menu.
Here is the proton logs until now: steam-default_apitrace.log

edit: finally done! The file is now 1.7GB.
Note that the output of apitrace repack was warning: unexpected end of file while reading trace, while I simply exited the game normally from the main menu.

Trace: https://mega.nz/file/TGpFSCxK#3L6jXgAdlVUaXhk3UMv9tWGXctgHlNiEKQcKMAFqz5w
Proton log: steam-default_apitrace_done.log

Aawsms 2025-01-18 github

Can you let me know if you need another apitrace?

Proton versions

DLLs