ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.9k stars 1.04k forks source link

Mirror's Edge (17410) #355

Open unlimitedbacon opened 6 years ago

unlimitedbacon commented 6 years ago

This game has been running great under Wine for many years. It runs well with Proton, too. Only issue is that it lags during some sequences when you have PhysX enabled. https://appdb.winehq.org/objectManager.php?sClass=version&iId=21159

Steam System Info

tingvarsson commented 6 years ago

Can confirm. SysInfo

Frans-Willem commented 6 years ago

Can confirm too Sys info

pprotonrep commented 6 years ago

I had some issues with the resolution during first start (https://github.com/ValveSoftware/Proton/issues/141) but otherwise it works very well.

ghost commented 6 years ago

Also fine on my Debian testing.

kforney commented 6 years ago

Can also confirm on Fedora 28. Only problems were PhysX and the resolution being too low on first start.

diegogangl commented 6 years ago

Can confirm on KDE Neon (Ubuntu 16.04). I also got low resolution/settings on the first run.

Specs:

kakra commented 6 years ago

Game experience is not very good for me with Proton. The games runs fine, yes, but movement is sluggish and it looks like FPS are very inconsistent. This doesn't happen with my own build of wine which includes some bits of Proton and Staging (in the branches): https://github.com/kakra/wine

So I guess it's either related to Proton being based on quite old Wine 3.7, or some of the Staging cherry-picks I'm using. In my own Wine build, I didn't include the full-screen hacks, yet, so this game is somewhat complicated to start (because the game minimizes on start and would freeze when you click it, you can get around this with alt+tab'ing to the game).

PhysX is turned off.

I see similar behavior in other games when comparing both implementations.

swick commented 6 years ago

Performance isn't good but it works. Much better experience with gallium nine.

OpenGL renderer string: AMD Radeon(TM) HD 8800 Series (PITCAIRN, DRM 3.26.0, 4.18.0, LLVM 6.0.1)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.1.6
edn9 commented 6 years ago

Work with lag for me even in the low, maybe because my hardware.

Arch Linux Kernel 4.18.3 Proton 3.7 bspwm 0.9.5 CPU Intel Core i3-2350m @ 4x 2.3GHz RAM 4gb GPU Intel(R) HD Graphics 3000

TomJansen commented 6 years ago

For me the cursor in the Steam Overlay does not show up, but that is the only thing. See #678

andrebadaia commented 6 years ago

Confirmed.

Distro: Linux Mint 19 Tara Processor: AMD Ryzen 7 1700 GPU: GTX 1070, Nvidia proprietary driver 396.54 RAM: 32GB Kernel (custom) - 4.17.14 (optimized for Ryzen) Resolution: 1920x1080 Proton 3.7-3

DoubyCz commented 6 years ago

Confirmed, works great incl. nvidia PhysX supoort SysInfo

kakra commented 6 years ago

@DoubyCz Please check the scene when first meeting her sister... Does it still work great when the glass shatters?

geraintwhite commented 6 years ago

I get a crash every time launching the game as soon as the first loading chapter finishes. It happens both with PhysX turned off and on.

https://gist.github.com/grit96/ff9f43bb8d42a4a86dd1bd9ac9b7d9f1

hswhite33 commented 6 years ago

Gave this a go because so many people had reported it working flawlessly, and I had a very different experience:

System Info

Proton 3.7-5 Beta

steam-17410.log

kakra commented 6 years ago

@hswhite33 Could you test this build: https://github.com/kakra/wine/releases/tag/wine-proton-3.7-unofficial (you need to be familiar with how to replace Proton with a custom build)

hswhite33 commented 6 years ago

@kakra I tried out your build - the performance is noticeably improved and the mouse capture issue seems to be fixed. All of the other issues I mentioned are still present though. Great work!

kakra commented 6 years ago

I'm having a similar issue: The game starts in minimized mode 99 out of 100 times. I need to hold alt key and press tab twice to focus the window into foreground as soon as sound starts. I usually do not leave the focus so I never noticed your other issue. Currently I know no way around it. I think both issues have a very similar root cause in wine.

kisak-valve commented 6 years ago

Mirror's Edge™

Issue transferred from https://github.com/ValveSoftware/Proton/issues/1336. @NTMan posted on 2018-09-08T21:01:46:

Whitelist Request

System Information

I confirm:

Issues

May be insufficient FPS for comfort playing in some scenes on high settings and 4K

screenshot from 2018-09-09 01-55-27

kakra commented 6 years ago

@hswhite33 Would you like to retry this build which is Proton 3.7 rebased to Wine 3.12 plus some more performance patches: https://github.com/kakra/wine/releases/tag/wine-proton_3.7-3.12-unofficial

hswhite33 commented 6 years ago

Hi @kakra , the same issues are still present with this build. Performance is about the same as with your previous build (averaging around 55-60fps)

hypothermic commented 6 years ago

Can confirm. Worked out of the box for me. Sys info

kakra commented 6 years ago

@hswhite33 I probably cannot fix the remaining problems because I don't know enough about the inner workings of wine, or how the full-screen hack works. But I think I'm seeing the same issues:

  1. Loosing focus hides the window and freezes the game (sound may continue to play). Restoring from this state may end up in a tiny, icon-sized window in the top left corner, maybe even with screen activity still going on. The rest of the screen stays black/frozen.
  2. Game starts minimized and out of focus (no window has focus), Alt+Tab can fix this but only when you Alt+Tab directly to the game, otherwise results in 1.

Is this it?

I think, mouse capture was fixed already. And I cannot see any issues with the cutscenes here as long as you do not unfocus the game window.

Many games suffer from 1 so it's a more general problem. Very few games show issue 2 behavior, one other is Dishonored (at least in earlier Wine versions, usually it works now). I suspect this has to do with splash logo windows shown by some games on the desktop during startup, and then wine doesn't catch the switch to fullscren later correctly, i.e. Mirror's Edge shows such a loading screen before going fullscreen.

hswhite33 commented 6 years ago

@kakra Yes that summarizes my experiences. The mouse capture issue was fixed in your build; I haven't tried the 3.7-6 beta build to see if it's fixed there.

I've actually configured my window manager to force all wine windows to start in fullscreen on the correct monitor because in a couple of other games having them start as floating/tiling windows and then manually moving them was causing your issue 1. too.

BlitzKraft commented 5 years ago

@kakra: Is there a workaround for the icon sized game window? I am facing this issue exactly as described by hswhite33. However, their fix doesn't work for me. Losing focus still makes the game icon sized.

I understand a fix might take some time. Looking for some clue to skip having restart a game just because it lost focus.

kakra commented 5 years ago

I think this is up to the experts from Valve because I don't understand the code yet behind the full-screen hacks. Maybe just try not to loose focus from the game and it should work (I completed the story that way, so it's possible, it crashed just once). This problem also occurs with vanilla wine here.

kakra commented 5 years ago

@BlitzKraft @hswhite33 Here's a new build by me which should fix the issues: https://github.com/kakra/wine/releases/tag/wine-proton_3.7-3.16-unofficial-1

ghost commented 5 years ago

@kisak-valve

Whitelist Request

System Information

I confirm:

Issues

hswhite33 commented 5 years ago

Confirming that of the issues I listed here, the only one that is fixed with Proton 3.16-5Beta is the mouse capture. This game is not whitelist-ready.

System info

kakra commented 5 years ago

@hswhite33 Do all those issues still occur in my version of wine-proton? https://github.com/kakra/wine-proton

If some are fixed, we could try to isolate the patches that solve the problems and suggest those to Valve for inclusion into official Proton.

I know at least one patch in my tree that fixes an issue regarding window management.

Arucard1983 commented 5 years ago

A much better solution to gain better framerate: Install dgVoodoo2 WIP, which also translates DirectX 9 to 11, where in turn DXVK takes the rest (Vulkan). Then override ddraw, d3d9, d3d8 on winecfg to complete the configuration. (It may need to open the Registry Editor to fix "ddrawex" to "ddraw" on DllOverrides.) Use dgvoodoo2cpl.exe to complete the configuration.

The video are not mine, but shows that the game will be more fluid, as the game engine had finally a multithreading graphic pipeline (delivered by dgvoodoo2 + DXVK ).

https://www.youtube.com/watch?v=GgGMCTLr1Iw

jonlap commented 4 years ago

Briefly tested this before uninstalling, with proton 5.0-2, mesa 19.3.3 and rx480. While technically everything works and I get steady 60fps, gameplay does not feel as fluid as I remember it being when I played this game on PS3. It's more or less playable though but obviously there's some performance issues left. No logs for now, sorry, but I'll retest it properly later.

soredake commented 4 years ago

Game works completely fine with proton 5.0-2.

aufkrawall commented 4 years ago

I've tested this with wine-staging, but should work similarly for Proton.

To fix GPU PhysX performance, install a more recent PhysX version via winetricks/protontricks and copy and replace the dlls from

drive_c/Program Files (x86)/NVIDIA Corporation/PhysX/Common to /drive_c/Program Files (x86)/Steam/steamapps/common/mirrors edge/Binaries" and "/drive_c/Program Files (x86)/Steam/steamapps/common/mirrors edge/Binaries/PhysXLocal.

This way, I'm having no more frame rate drops with shattered glass and GTX 1070.

Bitwolfies commented 1 year ago

I've tested this with wine-staging, but should work similarly for Proton.

To fix GPU PhysX performance, install a more recent PhysX version via winetricks/protontricks and copy and replace the dlls from

drive_c/Program Files (x86)/NVIDIA Corporation/PhysX/Common to /drive_c/Program Files (x86)/Steam/steamapps/common/mirrors edge/Binaries" and "/drive_c/Program Files (x86)/Steam/steamapps/common/mirrors edge/Binaries/PhysXLocal.

This way, I'm having no more frame rate drops with shattered glass and GTX 1070.

How exactly did you get this to work? I installed physx with protontricks into the prefix, then tried deleting all the folders in game, which crashes on launch, I then replaced all the files in game with the ones from the protontricks download, crash. I even tried moving the nvcuda.dll from staging since valves is still stubbed, and it still crashed.

DXVK_ENABLE_NVAPI=1 and PROTON_HIDE_NVIDAGPU=0 are toggled.

Edit: removing the files and ONLY having the included physx runtime installed allows the game to work with the files deleted, albeit at the same awful fps. I guess some sorta regression happened.

This issue also somehow copies itself to my clipboard, is that a steam feature?

General protection fault!

History: Address = 0x7b011297 (filename not found) [in C:\windows\system32\kernelbase.dll] Address = 0x18ade3c (filename not found) [in Z:\home\bitwolf.local\share\Steam\steamapps\common\mirrors edge\Binaries\MirrorsEdge.exe] Address = 0x145b6ae (filename not found) [in Z:\home\bitwolf.local\share\Steam\steamapps\common\mirrors edge\Binaries\MirrorsEdge.exe] Address = 0x401378 (filename not found) [in Z:\home\bitwolf.local\share\Steam\steamapps\common\mirrors edge\Binaries\MirrorsEdge.exe] Address = 0x40170c (filename not found) [in Z:\home\bitwolf.local\share\Steam\steamapps\common\mirrors edge\Binaries\MirrorsEdge.exe] Address = 0x13113ae (filename not found) [in Z:\home\bitwolf.local\share\Steam\steamapps\common\mirrors edge\Binaries\MirrorsEdge.exe] Address = 0x7b62ebd0 (filename not found) [in C:\windows\system32\kernel32.dll] Address = 0x7bc5dc77 (filename not found) [in C:\windows\system32\ntdll.dll] RtlCreateUserThread() Address = 0x7bc5e420 (filename not found) [in C:\windows\system32\ntdll.dll]

Tobe95 commented 1 year ago

There's something very strange going on with performance on the Jackknife level. The first time you enter the sewer passage, FPS and frametime will be much better than on subsequent visits.

This seems to be related to the shadercache, so I'm not sure if the issue is with Proton, DXVK or rather Mesa though...

If you delete/rename the ME shadercache folder in $HOME/.steam/steam/steamapps/shadercache/17410, performance will be fine:

20230708215302_1

But if you return to the main menu and reload the Checkpoint again, performance is significantly worse from then on without any obvious reasons:

20230708215330_1

I suppose there's a problem with shader compilation or how they are being loaded once compiled, restarting the game does not fix the issue. This has been the case with Proton 7.0/8.0/Experimental (I haven't tested older versions).

Steam OS 3.4.8 (Steam Deck) Proton Experimental 8.0-20230705b

Not sure if the log is of any use to be honest...

steam-17410.log

ahydronous commented 9 months ago

Game doesn't detect Xbox controller running on NixOS 23.05, with xone driver on Xbox Wireless dongle.

Proton Experimental, 8.0-4 and 7.0-6 all do not enable the controller.

Controller works fine in other games.

Aside from that (and the PhysX framedrops), the game works swimmingly.