protonscr

Mass Effect Andromeda: Corruption in SSR

dxvkclosed
doitsujin/dxvk#885 · opened 2019-01-25 by Lastique · updated 2019-06-15 · 12 comments · github
LLastique 2019-01-25 github

In Mass Effect Andromeda, screen space reflections (SSR) seem corrupted, with flickering horizontal stripes.

me_andromeda

This problem can be seen on any reflective surfaces in the game.

Software information

Mass Effect Andromeda 1.10. I reproduced this on the default (Auto) and Ultra in-game presets, but it seems the corruption is present on any settings, at least I haven't found a config that doesn't show the corruption. On some (lower quality) presets the stripes may be wider.

System information

  • GPU: RTX 2080 Ti
  • Driver: 415.27
  • Wine version: 4.0
  • DXVK version: 0.95, also reproduced with 0.94. I think the problem was not present in 0.72, but I can't verify it right now.

Apitrace file(s)

I couldn't save an apitrace as the game would freeze before getting into the main menu. When DXVK is enabled, the game would not load from the save, hanging in the loading screen.

Log files

Ddoitsujin maintainer 2019-01-25 github

Works fine here unless I'm blind:
bildschirmfoto-548

Will throw this at my Nvidia card tomorrow and see what it does.

Please also test whether you can reproduce the problem with 0.72.

LLastique 2019-01-25 github

I have tested multiple DXVK versions and the last version that did not have the problem was 0.92. With 0.93 the SSR corruption appears. Unfortunately, though, the game hangs on exit with 0.92 and older versions, but that is a separate (less of a) problem, which was, apparently, solved.

LLastique 2019-01-25 github

I'm attaching my game config. You can ungzip and place it into your $WINEPREFIX/drive_c/users/$USER/My Documents/BioWare/Mass Effect Andromeda/Save.
ProfOpts_profile.gz

Ddoitsujin maintainer 2019-01-25 github

I cannot test this on my GTX 670 system right now because Origin refuses to log in for some reason. Are you able to compile DXVK on your system? If so, please bisect it.

LLastique 2019-01-25 github

Umm, no I've never compiled Wine stuff, so it'll be rather difficult for me.

LLastique 2019-01-25 github

I managed to setup the build environment and bisect. The first problematic commit is 5d49644cdc071866c5556997a35bd946d7724457.

Ddoitsujin maintainer 2019-01-25 github

Thank you. This is strange since that commit only reports your GPU as an AMD card to the game, but the game works fine on actual AMD cards.

I guess the correct solution is to disable that vendor ID hack then, Frostbite Engine should not need it anyway. With DXVK 0.95 (not the older versions), you can do that manually by setting dxgi.nvapiHack = False in dxvk.conf as described in the Wiki.

LLastique 2019-01-25 github

Thanks. I can confirm that dxgi.nvapiHack = False fixes the corruption with 0.95, although now the game freezes on exit. I can terminate it with Ctrl+C in the console it is running in. Would you like a separate bug for it?

As for the corruption, I suspect the game may be using a different shader or something depending on the GPU vendor.

Ddoitsujin maintainer 2019-01-25 github

Yes, but why would that one shader work on AMD but not Nvidia GPUs?

I'll investigate the hang on exit, but those issues tend to be next to impossible to debug properly and I'm really not sure why changing the reported vendor would trigger that of all things. Do you have nvapi64 set to disabled for your wine prefix?

LLastique 2019-01-25 github

Do you have nvapi64 set to disabled for your wine prefix?

Yes, both nvapi and nvapi64.

Ddoitsujin maintainer 2019-01-26 github

The corruption issue is fixed as of af92bc9d9bac40be3d9014ead85d7295b023308d.

LLastique 2019-01-27 github

Thanks!

Launch options