protonscr

D3D9 support in DXVK breaks Tomb Raider Underworld - massive stutters

dxvkclosed d3d932-bit
doitsujin/dxvk#3010 · opened 2022-10-25 by arxo · updated 2022-10-26 · 18 comments · github
1 matching comments, n / p to jump
Aarxo 2022-10-25 github

Ever since D3D9 support was added to DXVK I have experienced major issues with Tomb Raider Underworld.
Once a level is loaded I get massive stutters during gameplay and ingame cut-scenes, rendering it virtually unplayable.
On a Wineprefix without DXVK it works fine, and older DXVK versions without D3D9 support did not affect it negatively, either.

Screen mode: 1920x1200, 60 Hz (in case it matters)
Graphics options do not matter, it happens both with everything maxed out as well as everything turned off.

Software information

Tomb Raider Underworld (applies both to the original demo version as well as the full gog.com release)

System information

  • GPU: GeForce 1050ti
  • Driver: NVidia drivers 515.76
  • Wine version: 7.19
  • DXVK version: 1.10.3

Log file

BBlisto91 2022-10-25 github

Does the stutter go away once you've played a level once?
If yes then it's probably shader compilation stutter.

(You are using dxvk 1.10.3 btw not 1.7.3)

Edit: Also see https://github.com/doitsujin/dxvk/issues/2764

Aarxo 2022-10-25 github

Fixed the version typo.

And yes, that's exactly the same problem. Sad to see it won't be fixed. :(
Looks like I'll have to keep a non-DXVK prefix around, then...

KK0bin maintainer 2022-10-25 github

Try DXVK master. It should be fixed with that.

BBlisto91 2022-10-25 github

dxvk 2.0.0 will introduce a new way to deal with shaders that should allow them to compile in either main menu or during loading instead of only when they first appear ingame. Tho the exact effect depends on the how the game and engine handles it.

As K0bin said while i was writing, try this version here. https://github.com/doitsujin/dxvk/actions/runs/3317560552
You will need the 520 version drivers for it to work.

Aarxo 2022-10-25 github

Thanks, I'll have a look at the master build.

Aarxo 2022-10-26 github

I updated the NVidia drivers to the 520 series and gave the new DXVK build (v1.10.1-967-gcd21cd7f) a shot with the TR Underworld demo.
The stutters appear to be gone, but the game crashes halfway through the first cutscene with "LLVM ERROR: out of memory".
dxvkmaster.log
Then again, it is a pre-release build, so some problem are expected, I guess. ;)

Mmbriar 2022-10-26 github

Looks like it running out of memory/address space. On unpatched vanilla wine it's just 2GB, you should try either using a wine build that enables large address aware or patch the exe, see https://github.com/doitsujin/dxvk/issues/1607

LLeopard1907 2022-10-26 github

I was not able to observe described problem.

Screenshot_20221026_145446

Proton Experimental- NV GTX 1050 4 GB- 520 driver

Fwiw this is like after 5 minutes in game. At level loading screen shader compiling process has begun and lasted for 3 minutes or so. ( 4C/8T system)

BBlisto91 2022-10-26 github

@arxo Does the same crash issue occur with the full gog version?

Aarxo 2022-10-26 github

@Blisto91 The GOG release crashes during the intro level in Lara's mansion. Different error message, but also related to "out of memory". Game performance up to that point was fine, though.
gog_master.log

Aarxo 2022-10-26 github

@mbriar I'm not going to mess around with patching Wine, I'd like to stick with the official winehq builds. This sounds to me like something they should make configurable, to be honest...

LLeopard1907 2022-10-26 github

@arxo Try a Wine GE build at least to see if it improves anything.

https://github.com/GloriousEggroll/wine-ge-custom/releases/tag/GE-Proton7-32

It has patches from Proton so that is why "Proton" is in the name.

KK0bin maintainer 2022-10-26 github

Can you try running it with a config file that contains the following line:

dxvk.numCompilerThreads = 2

Aarxo 2022-10-26 github

@K0bin I cleared the game's existing dxvk cache and tried the config changes, which did improve things slightly.
I got through the mansion sequence now, but then the game froze with looping audio during the following cutscene on Lara's boat.
gog_hang.log

KK0bin maintainer 2022-10-26 github

I don't think there's any way around using a Wine version that forces LAA for the game. Either that or you disable graphics pipeline libraries, which will bring back the initial stuttering.

Nothing we can do here. It runs out of address space and DXVK itself is not even using a lot of memory.

Mmbriar 2022-10-26 github

You can also patch the game's .exe to be LAA aware if you don't want to use a different wine build, script to do that is in the link i posted earlier.

Aarxo 2022-10-26 github

@mbriar Looks like that script did the trick. Thanks a lot. :)

KK0bin maintainer 2022-10-26 github

Closing this because there's nothing for us to do here.

Proton versions

Upstream links