proton: Move mfplat MFDXGIDeviceManager hack appid list to proton script

This commit is contained in:
Andrew Eikum 2022-02-23 09:38:05 -06:00 committed by Arkadiusz Hiler
parent ccb2397f4c
commit c5b505393a
2 changed files with 16 additions and 0 deletions

View file

@ -239,6 +239,7 @@ the Wine prefix. Removing the option will revert to the previous behavior.
| `oldglstr` | `PROTON_OLD_GL_STRING` | Set some driver overrides to limit the length of the GL extension string, for old games that crash on very long extension strings. |
| `vkd3dfl12` | | Force the Direct3D 12 feature level to 12, regardless of driver support. |
| `vkd3dbindlesstb` | | Put `force_bindless_texel_buffer` into `VKD3D_CONFIG`. |
| `nomfdxgiman` | `WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER` | Enable hack to work around video issues in some games due to incomplete IMFDXGIDeviceManager support. |
| `hidenvgpu` | `PROTON_HIDE_NVIDIA_GPU` | Force Nvidia GPUs to always be reported as AMD GPUs. Some games require this if they depend on Windows-only Nvidia driver functionality. See also DXVK's nvapiHack config, which only affects reporting from Direct3D. |
| | `WINE_FULLSCREEN_INTEGER_SCALING` | Enable integer scaling mode, to give sharp pixels when upscaling. |
| `cmdlineappend:` | | Append the string after the colon as an argument to the game command. May be specified more than once. Escape commas and backslashes with a backslash. |

15
proton
View file

@ -932,6 +932,18 @@ def default_compat_config():
elif appid == "105800": #PixelJunk Eden
ret.add("noesync")
ret.add("nofsync")
elif appid in [
#affected by CW bug 19126
"305620", #The Long Dark
"585420", #Trailmakers
"684450", #Surviving the Aftermath
"1075200", #TOHU
"1331440", #FUSER
#affected by CW bug 19741
"1017900", #Age of Empires: Definitive Edition
]:
ret.add("nomfdxgiman")
return ret
class Session:
@ -1139,6 +1151,9 @@ class Session:
if "disablelibglesv2" in self.compat_config:
self.dlloverrides["libglesv2"] = "d"
if "nomfdxgiman" in self.compat_config:
self.env["WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER"] = "1"
if "PROTON_CRASH_REPORT_DIR" in self.env:
self.env["WINE_CRASH_REPORT_DIR"] = self.env["PROTON_CRASH_REPORT_DIR"]