protonscr

[d3d9] TrackMania United Forever: crash after the first frame of a track is shown

dxvkclosed
doitsujin/dxvk#1377 · opened 2020-01-26 by AlexTMjugador · updated 2021-06-07 · 9 comments · github
AAlexTMjugador 2020-01-26 github

Again, this is a issue originally reported in #1363 by @ThisNameIsntTaken and me. We noticed this crash with the second DLL @Joshua-Ashton posted in the reference issued as a test fix for it, but it might not be the direct cause.

Hi there, I have a proper solution that I want to push to master.
Can you try this out to make sure everything is still working?
d3d9.zip

This seems to cause crashes for me on Stadium levels, right after the loading screen.
TmForever_d3d9.log
The first dll worked fine, but the game also worked fine for me on master. Performance was about 50% faster than native, as long as I didn't turn MSAA on.

I could only replicate the crash with the referenced DLL. The issue is gone for me on DXVK 1.5.2. @leucome gave some insight about it:

I've been able to get a crash.

It's a Visual C++ error while rendering the lightmap and or shadowmap. If the rendering succeed it wont crash again.

Every track I already played are working whatever the dll. I noticed by trying an other stadium track I had never tried before. And stadiums track really seem to trigger the crash the most it even crash DXVK 1.5.1. So maybe it's not related to change about FPS issue.

A temporary fix is to set light compute to NoShadows or lightmap quality to none in compatibility setting. This way there is no crash but it impact the graphic quality.

And other possible fix lunch the track with wineD3D at least one time.

However, turning down the shader quality to PC2 seems to be a workaround, according to @ThisNameIsntTaken:

Can confirm. It doesn't crash with Shader Quality set to PC2, I only get the crash when it's set to PC3 Low or High as of 6fa28bf.

He/she had success fixing the issue completely after updating Wine, too:

Okay, this is weird. I just updated my Wine-TkG version from 5.0.r0.g3ac1519f to 5.0.r4.g07ef9c93 and it's working fine now. I also tested on Windows and it still crashes there, just like on the older Wine version.

Software information

TrackMania United Forever. Very High preset with all the post process effects enabled.

System information

@ThisNameIsntTaken specs:

  • GPU: RX 580 4GB.
  • Driver: RADV ACO Git (crashes with ACO, LLVM and AMDVLK as well).
  • Wine version: Wine-TkG 5.0, Arch.
  • DXVK version: the one mentioned above, but it also happens as of 6fa28bf for @ThisNameIsntTaken.

My specs:

  • CPU: Intel Core i3-2100 @ 3209 MHz.
  • GPU: NVIDIA, MSI GeForce GTX 1650 Ventus XS.
  • Driver: Debian Bullseye NVIDIA propietary driver, 430.64 (package version 430.64-6).
  • Wine version: wine-4.21 (Debian 4.21-2).
  • DXVK version: 1.5.2.

Apitrace file(s)

Log files

  • d3d9.log: TmForever_d3d9.log, provided by @ThisNameIsntTaken.
  • d3d11.log: N/A.
  • dxgi.log: N/A.
Ddoitsujin maintainer 2020-01-26 github

The apitrace replays fine.

If this doesn't happen with 1.5.2 and a recent wine-tkg build, what exactly are we supposed to do? Sounds like the issue is already fixed and/or not our bug to begin with?

Do note that many games require native d3dx9 and d3dcompiler DLLs to function properly on wine with DXVK, even if they work without them on wined3d. We do not plan to work around wine's d3dx9 bugs.

Lleucome 2020-01-26 github

You are right switching to a wine 5 tkg resolved the issue with lightmap rendering.

Also I noticed that there was missing rendering pass before. The map were saved after one pass and there was multiple other pass to do for smaller object.

Qqwertychouskie 2020-02-11 github

Using Proton 5.0-1, TM Nations Forever crashes on the first frame for me unless I set Shader Quality to PC2 or Lightmap Quality to None. Additionally, with lightmaps off, the built-in benchmark only gets 10 FPS, compared to 30ish with PROTON_USE_WINED3D=1.

qwerty@qwerty-Inspiron-3520:~$ apt search mesa-vulkan
Sorting... Done
Full Text Search... Done
mesa-vulkan-drivers/eoan-updates,eoan-security 19.2.8-0ubuntu0~19.10.2 amd64 [upgradable from: 19.2.8-0ubuntu0~19.10.1]
  Mesa Vulkan graphics drivers

qwerty@qwerty-Inspiron-3520:~$ 

Additionally, the game's rendering looks significantly worse with DXVK, I'll post screenshots soon.

I know Ivy Bridge support is barely existent, but if there's anything I can do to help get things not crashing, and maybe even comparable to WineD3D, just let me know. :)

Ddoitsujin maintainer 2020-02-12 github

On Ivy Bridge you're better off using wined3d. We do not plan to support GPUs which don't have solid Vulkan support.

Qqwertychouskie 2020-07-15 github

Now on UHD 620 (upgrade, yay!), but right now can't get in to launch in current Proton at all, even the config screen won't launch (page fault is shown in Proton log).

Qqwertychouskie 2020-08-13 github

Fixed my general crashing issue (had to reinstall some system libs). If there's anything I can do to help with the crashing after the first frame, let me know. :)

Qqwertychouskie 2021-06-07 github

Seems to be working fine on my RTX 3060 mobile (Asus G14 2021) with latest Proton, this issue is most likely fixed.

AAlexTMjugador 2021-06-07 github

Now I can't reproduce this issue either. Updating packages fixed it at some point.

KK0bin maintainer 2021-06-07 github

I'll close this then. Reopen if the issue comes up again.

Proton versions

Launch options