Mirror's Edge Catalyst crashes with DXVK on Nvidia (Wine only)
The game starts fine on Windows with Nvidia (DXVK spoofs Nvidia by default for this game due to #1062 ). Though the game shows lots of stutter when moving. Perhaps it expects some native Nvidia D3D11 driver magic when it recognizes an Nvidia GPU?
In Wine, it throws this error instead:

With dxgi.nvapiHack = True, the game window opens, but starts to hang shortly after.
Software information
Latest game version via Origin (disable Origin overlay, cloud sync and probably force WineD3D for origin.exe, originclientservice.exe and qtwebengineprocess.exe). The game ran fine with the same Wine version and prefix with a Radeon + RADV.
System information
- GPU: RTX 3060
- Driver: 470.42.01
- Wine version: wine-staging-tkg 6.8 (protonified, no fullscreen hack)
- DXVK version: latest git-master and 1.9
Log files
nvapihack = false MirrorsEdgeCatalyst_d3d11.log MirrorsEdgeCatalyst_dxgi.log
nvapihack = true MirrorsEdgeCatalyst_d3d11.log MirrorsEdgeCatalyst_dxgi.log
Known issue with Frostbite games on some systems, but can't reproduce locally. Really need an apitrace for this and more info on your system (a full list of desktop resolutions + refresh rates available).
It indeed works with WineD3D dxgi.dll (which by default spoofs a GTX 470, at least in Proton). Would an apitrace captured on Windows do the trick?
2560x1440 85Hz is the only offered resolution. I wonder if it would actually work with fullscreen hack (if it doesn't introduce other issues, which it likely does :( ), as it always spoofs a 60Hz mode to be available due to some applications having trouble without it. Gonna try out borderless.
Edit: Works in borderless.
I suspect this is actually an issue of upstream Wine X11 not always spoofing 60Hz like fullscreen hack does, so we might just close this?
I guess the question is why it works with wine's dxgi, it's not like it has access to more display modes than ours.
Can you build DXVK after running meson configure -Denable_tests=true, run dxgi_factory.exe with both DXGI implementations, and post the output?
Yeah, can do that. I think the reason why it works with Wine DXGI might be that it spoofs some weird 50.xxHz resolution.
I suppose both shouldn't look like this when xrandr lists only one mode?
DXVK DXGI:
Adapter 0:
NVIDIA GeForce RTX 3060
Vendor: 4098
Device: 26591
Dedicated RAM: 12884901888
Shared RAM: 25132895232
Output 0:
\\.\DISPLAY1
Coordinates: 0,0:2560x1440
640x480 @ 62
800x600 @ 61
1024x768 @ 60
1280x720 @ 59
1280x800 @ 58
1280x1024 @ 57
1366x768 @ 56
1440x900 @ 55
1600x1200 @ 54
1680x1050 @ 53
1920x1080 @ 52
1920x1200 @ 51
2560x1440 @ 50
Wine DXGI:
Adapter 0:
NVIDIA GeForce GTX 470
Vendor: 4318
Device: 1741
Dedicated RAM: 12884901888
Shared RAM: 16755263488
Output 0:
\\.\DISPLAY1
Coordinates: 0,0:2560x1440
640x480 @ 62
800x600 @ 61
1024x768 @ 60
1280x720 @ 59
1280x800 @ 58
1280x1024 @ 57
1366x768 @ 56
1440x900 @ 55
1600x1200 @ 54
1680x1050 @ 53
1920x1080 @ 52
1920x1200 @ 51
2560x1440 @ 50
xrandr:
DP-2 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 640mm x 360mm 2560x1440 85.00*+
Well, we get the information from wine and wine gets the information from xrandr, so, uh, not really sure what's going on there. Especially the reported refresh rates are interesting, to say the least.
Anyway, tagging as game bug since the game apparently makes too many assumptions about available display modes.
@aufkrawall Friendly ping. Are you still having issues with latest wine, dxvk and drivers? :slightly_smiling_face:
I think we can close this, fullscreen mode of the game works with Proton (just tested it) and that should suffice.