ValveSoftware / Proton

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

Far Cry 5 (552520) #2356

Open alex9k1 opened 5 years ago

alex9k1 commented 5 years ago

Compatibility Report

System Information

I confirm:

Log (> 10MB): https://decloud.owncube.com/s/eYYuWr6U4LDg4sf Log (after manually downloading Proton): https://decloud.owncube.com/s/KumetbBYZN603zf

Symptoms

Uplay doesn't launch. In my system monitor I can see, that it's trying to launch Far Cry 5. The process then quits and a process called UplayCrashReporter is created and quits shortly after. During the whole time, the UI of Uplay doesn't show up. According to Steam the game is running the whole time and won't quit, until I kill the processes. EDIT: After download Proton 3.16 Beta through Steam/Library/Tools Uplay is now working, but Far Cry 5 still isn't working.

Uplay works with vanilla wine. It also works with this variant of Proton: https://github.com/kakra/wine-proton . However, Far Cry 5 still won't launch. I get a popup from Uplay that Far Cry 5 is being launched, but nothing happens.

Reproduction

Download and start the game.

nsivov commented 5 years ago

Hello.

@alex9k1, please make sure you had 3.16-7 update actually delivered, that was an issue when it failed to download for some users. To do so you can install "Proton 3.16 Beta" from Tools section, and verify files integrity just in case.

I just tested it, and for Far Cry 5 Uplay itself does work for me, it updates on first launch, is able to log in, and associate your Steam purchase with Uplay account (it presents a list of items, and does not ask for serial key like some games do). Game itself does not start however.

alex9k1 commented 5 years ago

@nsivov Steam says, it's 3.16-7. Is there another way to actually verify? Anyway, this isn't really my concern, as the unoffical proton I've linked works fine for me concerning Uplay. The game itself not starting is the actual bummer.

nsivov commented 5 years ago

Yes, there was a number of issues open for this problem, like https://github.com/ValveSoftware/steam-for-linux/issues/6093#issuecomment-465794186, where Steam reports 3.16-7 but actual update was not downloaded. Basically it should be enough to go to Library -> Tools and install Proton 3.16 Beta from there manually.

alex9k1 commented 5 years ago

@nsivov You're right, Uplay is launching now, but the game itself still doesn't. It behaves like you described. I've appended a new log.

ghost commented 5 years ago

Hi @alex9k1

Can you try to disable uplay's overlay?

alex9k1 commented 5 years ago

@Alexander88207 I tried, but it didn't seem to have any effect.

Kzimir commented 5 years ago

FarCry 5 has the same DRM than AC:Origins so does not work with Wine (VMProtect + Denuvo). Atm, only FarCry : New Dawn and AC : Odyssey work fine with Wine + DXVK because they have only Denuvo DRM.

Mattia98 commented 5 years ago

Some people report that they got the game to start. Can anyone share how to do that? For me Uplay also starts and works but it doesn't launch the game.

Related link: https://bugs.winehq.org/show_bug.cgi?id=45732

telans commented 5 years ago

Steering works with dinput8.dll & dinput.dll from Windows 7 (system32 & SysWow64) set at native,builtin

UPDATED: Now I just get: AL lib: (EE) ReleaseThreadCtx: Context 0x7fb82c027410 current for thread being destroyed, possible leak! So I'm not sure what's going on with this. Fresh prefix/overrides too, keeps crashing my game when loading in the world.

Sebastiangperez commented 5 years ago

@telans Steering works replacing both dlls , i just update the dxvk to 1.0.2 and the game hagns maybe 10 minutes after playing , im using latests Nvidia drivers.

telans commented 5 years ago

I'll try dxvk 1.0 and see if it still crashes

Sebastiangperez commented 5 years ago

I'll try dxvk 1.0 and see if it still crashes

I tested using 1.0.3 and do not crashes , played for at least 1 hour. Did you have the issue with 1.0.2 when the floor disappear and things were flying around?

joeg1484 commented 5 years ago

@Sebastiangperez Where do you put the files, in the windows32 and winwow64 dirs in ../steamapps/compatdata/gameid/pfx/drive_c/windows/{system32,syswow64}/, or in ../steamapps/common/Proton 4.2/dist/share/default_pfx/drive_c/windows/{system32,syswow64}/ dirs?

Thanks!

telans commented 5 years ago

@Sebastiangperez I still crashed, but I think it was a prefix issue unrelated as it happened almost instantly.

@joeg1484 Within the game prefix, setting (native) gets them from the prefix and (builtin) from the system (default install?) I believe. Please let me know if it worked for you

Sebastiangperez commented 5 years ago

@Sebastiangperez Where do you put the files, in the windows32 and winwow64 dirs in ../steamapps/compatdata/gameid/pfx/drive_c/windows/{system32,syswow64}/, or in ../steamapps/common/Proton 4.2/dist/share/default_pfx/drive_c/windows/{system32,syswow64}/ dirs?

Thanks!

I use Wine Stand alone and not with Proton , i will not mess with Proton files that came with Steam. But maybe you can try copy in the game prefix on those directories. For me, the game still crashes after i played maybe 30 minutes, it was during the mission with the Truck, can be related to dxvk or the dlls inputs because i was using the truck.

Sebastiangperez commented 5 years ago

@Sebastiangperez I still crashed, but I think it was a prefix issue unrelated as it happened almost instantly.

My crash is during the game , suddenly stopped and closes the windows.

ChrisLauinger77 commented 5 years ago

Some people report that they got the game to start. Can anyone share how to do that? For me Uplay also starts and works but it doesn't launch the game.

Related link: https://bugs.winehq.org/show_bug.cgi?id=45732

I also wonder how it works for some ... Are the people who running the game use Proton and start it from steam ui ? Can somebody explain please how we can get it running ?

NTMan commented 5 years ago

With Proton 4.2-6 Uplay start, but the game crashes immediately.

steam-552520.log

$ inxi -bM
System:    Host: localhost.localdomain Kernel: 5.1.0-1.fc31.x86_64 x86_64 bits: 64 Desktop: Gnome 3.33.2 
           Distro: Fedora release 31 (Rawhide) 
Machine:   Type: Desktop Mobo: ASUSTeK model: ROG STRIX X470-I GAMING v: Rev 1.xx serial: <root required> 
           UEFI: American Megatrends v: 2304 date: 05/03/2019 
CPU:       8-Core: AMD Ryzen 7 2700X type: MT MCP speed: 2195 MHz min/max: 2200/3700 MHz 
Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Vega 20 [Radeon VII] driver: amdgpu v: kernel 
           Display: wayland server: Fedora Project X.org 1.20.5 driver: amdgpu resolution: 3840x2160~60Hz 
           OpenGL: renderer: AMD Radeon VII (VEGA20 DRM 3.30.0 5.1.0-1.fc31.x86_64 LLVM 8.0.0) v: 4.5 Mesa 19.1.0-rc4 
Network:   Device-1: Intel I211 Gigabit Network driver: igb 
           Device-2: Realtek RTL8822BE 802.11a/b/g/n/ac WiFi adapter driver: r8822be 
Drives:    Local Storage: total: 11.57 TiB used: 8.55 TiB (73.9%) 
Info:      Processes: 536 Uptime: 3d 21h 18m Memory: 31.37 GiB used: 14.75 GiB (47.0%) Shell: bash inxi: 3.0.34 
kmaterka commented 5 years ago

WORKAROUNDS (updated)

  1. Disable Easy Anti-Cheat and use DXVK Game uses Easy Anti-Cheat which is currently not supported under Wine. Follow the instructions: https://pcgamingwiki.com/wiki/Far_Cry_5#Disable_Easy_Anti-Cheat Game installation directory (\<path-to-game>) is in .../steam/steamapps/common/FarCry5/.

  2. Disable overlay and change Uplay to work in offline mode and If the game crashes while connecting online then you need to run it in offline mode. Run it once, let it crash and in Uplay change setting to offline mode: How do I launch the Uplay PC client in Offline Mode? Unfortunately you won't be able to play online, so no co-op and multiplayer.

  3. Steering issue - use native 64bit dinput8 from Windows 7. Windows 10 version is not working. For some reason protontricks broke my wineprefix, so better do not use it. Put it in "bin" in the installation directory. Set dinput8 to native, you can do that by using Launch Options: WINEDLLOVERRIDES="dinput8=n" %command% You can also change this in winecfg.

  4. Stutters On the first run game stutters. Run benchmark from setting to compile most of the shaders. On second run you will get much better frame rates.

  5. If game does not start it may be cause by incompatible shaders cache. Steam downloads pre-compiled shaders to speed up startup, try deleting the cache directory: .../steamapps/shadercache/552520

NTMan commented 5 years ago
  1. Disable Easy Anti-Cheat and use DXVK Game uses Easy Anti-Cheat which is currently not supported under Wine. Follow the instructions: https://pcgamingwiki.com/wiki/Far_Cry_5#Disable_Easy_Anti-Cheat Game installation directory is somewhere in ./steamapps/compatdata/552520/pfx/drive_c/Program Files.../bin.

This workaround is not suitable for me because I want play campaign with my friend online.

MadByteDE commented 5 years ago

Workaround does not work for me, Uplay works fine but the game does not launch. .NET Framework also can't be installed correctly & it tries to install again on every start up. (Proton 4.2-9)

telans commented 5 years ago

Workaround does not work for me, Uplay works fine but the game does not launch. .NET Framework also can't be installed correctly & it tries to install again on every start up.

Have you disabled the Uplay overlay from within the client before launching the game?

MadByteDE commented 5 years ago

Workaround does not work for me, Uplay works fine but the game does not launch. .NET Framework also can't be installed correctly & it tries to install again on every start up.

Have you disabled the Uplay overlay from within the client before launching the game?

Yes.

C0rn3j commented 5 years ago

Also can't get the game to launch here.

  1. cleaned prefix - using Proton 4.2-9
  2. protontricks 552520 uplay
  3. disabled overlay, enabled offline mode
  4. replaced EAC DLL. Hexedited the other DLL.
  5. image

ChrisLauinger77 commented 5 years ago

I had this as well. Started then 1 time in online mode let it crash. Then closed everything and turned offline mode again on. Worked again

C0rn3j commented 5 years ago

@ChrisLauinger77 That did the trick. The game needs to be launched once in online mode to work!

EDIT: White screen only in-game though or extremely washed out bright/dark colors... 1080 Ti with 430.26 driver Benchmark works but is incredibly dark image image

telans commented 5 years ago

That looks like a DXVK error, try deleting your shadercache.

C0rn3j commented 5 years ago

@telans Thank you so much! That did the trick.

C0rn3j commented 5 years ago

WORKAROUNDS but fixed up

I assume you're using Proton on a 64-bit OS.

You won't be able to play online.

1) Game uses Easy Anti-Cheat which is currently not supported under Wine. Disable it by using a custom EAC DLL and patching another one. Game installation directory (\<path-to-game>) is in .../steam/steamapps/common/FarCry5/.

2) Next up install uplay via protontricks protontricks 552520 uplay - when Uplay launches, disable Uplay overlay in settings. Quit Uplay.

3) Start the game via Steam. It should load into the main menu and crash. It needs to be launched once this way for offline mode to work. Go to Network settings in Uplay and tick offline mode checkbox. Quit Uplay.

4) Steering vehicles in this game is broken. You need to use 64-bit dinput8.dll from Windows 7 system32 folder. It is 195KB (not 145KB, that's the 32-bit version) and sha256 sum is 567f08044e2c31375a31cd66016cb8f9e3226f3640c9ab82f9f4fe79fc09fc6a You need to copy this dll into .../steamapps/compatdata/552520/pfx/drive_c/windows/system32/ and then override it via winecfg WINEPREFIX=/your/path/to/steamapps/compatdata/552520/pfx winecfg - set it as native,builtin, which is the default override setting.

5) Launching the game via Steam should now successfully launch it in offline mode.

EDIT: And now I get why the original post was edited by Valve staff, they don't like people linking to potentially malicious binaries, so don't try posting dinput8.dll in here.

LemiSt24 commented 5 years ago

@ChrisLauinger77 That did the trick. The game needs to be launched once in online mode to work!

EDIT: White screen only in-game though or extremely washed out bright/dark colors... 1080 Ti with 430.26 driver Benchmark works but is incredibly dark image image

Getting the same problem, https://github.com/ValveSoftware/Proton/issues/2356#issuecomment-507068972 didn't help (deleted ~/.nv/* and steamapps/shadercache/552520)

Any suggestions?

telans commented 5 years ago

Steam might have redownloded the cache which might be disaplaying wrong on your system, so maybe if you delete it again and turn it off in steam?

Is there a DXVK cache file in the binary directory? You could also try a different DXVK version

LemiSt24 commented 5 years ago

Steam might have redownloded the cache which might be disaplaying wrong on your system, so maybe if you delete it again and turn it off in steam?

Is there a DXVK cache file in the binary directory? You could also try a different DXVK version

In the end I could fix it by replacing the DXVK dlls after launching the game (during reinstallation of .NET35), because proton replaces them with its own versions at every launch. Have to do this every time though, thinking about compiling an older version of proton for this now.

C0rn3j commented 5 years ago

As a note removing the shader cache folder and launching the game was enough for me on 4.2-9.

echozio commented 5 years ago

I've tried getting it to run on Debian Sid with proprietary Nvidia drivers (430.26) but uplay simply takes me to the news page when launching the game from Steam, and attempting to launch the game through Uplay does nothing (Uplay doesn't say I'm in-game, doesn't start FarCry5.exe). Renaming EACLaunch.exe.bak back to EACLaunch.exe does make the game executable run, but it never shows a window and simply sits there consuming about 250 MB of memory and spikes to 100% cpu usage on one core about every 5 seconds. Edit: It actually seems to restart every few seconds, as I now see that the PID changes over time.

I tried patching FC_m64.dll as well as only adding EasyAntiCheat_x64.dll while retaining FC_m64.dll as per some later edits in the thread that contains "EAC bypass" from pcgamingwiki, but also to no avail. I also replaced and added the override for dinput8.dll right away, but I doubt this would prevent the game from starting.

I made two attempts in total, since I had to launch the game in order for Steam to create the compatdata directories. The first time I allowed Steam to install Uplay, and the end result was as described. The second time I cleared out Proton's wineprefix completely, and installed Uplay with protontricks before launching the game through Steam, but the result was the same.

I've not tried replacing DXVK or deleting any caches, as I've not gotten far enough to even encounter any graphical issues.

I also have the issue with .NET framework where it wants to reinstall every time, but I've had this with other games that work fine.

kmaterka commented 5 years ago

@echoz28 You should try deleting shader cache - steam is downlaoding pre-compiled shaders to speed up startup, seems this is broken in latest version. It is located in steamapps/shadercache/552520

echozio commented 5 years ago

@kmaterka Unfortunately it changed nothing. With EACLaunch.exe there it goes into a loop like described earlier, and without there's never even a sign of the game launching.

kivoli commented 5 years ago

Thanks to @kmaterka’s “guide” and @C0rn3j’s details I got the Uplay version to run, too.

It does not even crash in the main menu when in online mode although I was too cautious to try and play with it. In-game I have noticed two probably related issues though: Using the binoculars ("z"; not weapon’s zoom though) and cut scenes (like after liberating an outpost) have abysmal frame rates (~5 fps) while getting 30-45 fps during normal game play (Vega 56 @1920x1200 60Hz, details on Ultra and 1,5 Downsampling; the card is clearly bottleneck’d by my outdated 4771). Similarly affected but not exactly as bad is the interactive map. This test was done with mitigations=off since I noticed bad frame times with mitigations in FC4 already. Maybe a better processor will soon “fix” this issue for me.

Another thing sadly not working is the Cloud sync of the save game(s).

ghost commented 5 years ago

I got the Uplay version to run by installing Uplay through Lutris and then disabling EAC. I accidentally played it in online mode for a while, which worked and as far as I can tell hasn't gotten me in trouble but I turned it off as soon as I realized it was doing that. I would hope that as long as I'm not actually cheating I wouldn't get banned for playing on Linux but I really don't trust Ubisoft.

All that being said, I've noticed a bit of a regression. On my machine the trees and ground don't render correctly on Proton 4.11. The issue also affects Far Cry 4 and is absent from Proton 4.2 and the version of wine that is used for Lutris's Uplay installer, which is ge-protonified-4.9.

the-black-wolf commented 4 years ago

All that being said, I've noticed a bit of a regression. On my machine the trees and ground don't render correctly on Proton 4.11. The issue also affects Far Cry 4 and is absent from Proton 4.2 and the version of wine that is used for Lutris's Uplay installer, which is ge-protonified-4.9.

I can confirm this too. Its generally unplayable on 4.11, but it starts without any of the requirements mentioned by @C0rn3j. Switching back to 4.2 does not work, cannot find Uplay afterwards.

NTMan commented 4 years ago

For now with the latest Proton, the game work and allows play in the campaign by single player. But we want to pass the game campaign in co-op with the friend. But at the moment it's not working. Every time when I try to invite friends after the message Please wait - connecting to Far Cry(R) servers

Screenshot from 2019-12-17 00-42-31

And after a while showed the message ERROR The Far Cry (R) 5 service is not available. Please try again later. For more information, contact http://support.ubisoft.com. Error: Redhorn-80000B

Screenshot from 2019-12-17 00-42-37

Can anyone look at this? This looks like the problem in the "Halo: The Master Chief Collection" when the game could not connect to Microsoft XBOX account without @Guy1524 patch.

steam-552520.zip

macktab commented 4 years ago

Can confirm, also tested it with dnat to all ports, which we have found to be related to far cry 5:

/ip firewall nat
add action=netmap chain=dstnat dst-port=9000 in-interface=ether1 protocol=udp to-addresses=192.168.88.2 to-ports=9000
add action=netmap chain=dstnat dst-port=9103 in-interface=ether1 protocol=udp to-addresses=192.168.88.2 to-ports=9103
add action=netmap chain=dstnat dst-port=11110 in-interface=ether1 protocol=udp to-addresses=192.168.88.2 to-ports=11110
add action=netmap chain=dstnat dst-port=11115 in-interface=ether1 protocol=udp to-addresses=192.168.88.2 to-ports=11115
add action=netmap chain=dstnat dst-port=12000 in-interface=ether1 protocol=udp to-addresses=192.168.88.2 to-ports=12000
add action=netmap chain=dstnat dst-port=13000 in-interface=ether1 protocol=tcp to-addresses=192.168.88.2 to-ports=13000
add action=netmap chain=dstnat dst-port=13005 in-interface=ether1 protocol=tcp to-addresses=192.168.88.2 to-ports=13005
add action=netmap chain=dstnat dst-port=13200 in-interface=ether1 protocol=tcp to-addresses=192.168.88.2 to-ports=13200
add action=netmap chain=dstnat dst-port=14000 in-interface=ether1 protocol=tcp to-addresses=192.168.88.2 to-ports=14000
add action=netmap chain=dstnat dst-port=14001 in-interface=ether1 protocol=tcp to-addresses=192.168.88.2 to-ports=14001
add action=netmap chain=dstnat dst-port=14008 in-interface=ether1 protocol=tcp to-addresses=192.168.88.2 to-ports=14008
add action=netmap chain=dstnat dst-port=443 in-interface=ether1 protocol=tcp to-addresses=192.168.88.2 to-ports=443
add action=netmap chain=dstnat dst-port=6005-6190 in-interface=ether1 protocol=tcp to-addresses=192.168.88.2 to-ports=6005-6190
telans commented 4 years ago

Vehicle steering may be fixed with https://github.com/wine-staging/wine-staging/commit/1e3eb08c69ec70b2e7efb68c8d79e201f284089e, but I haven't had time to test it yet.

gutobyte commented 4 years ago

Installing framework NET... and after this, running(green), and the game not start. It's necessary install uplay? my steam won't install uplay for me? Sorry i'm newbie.

ghost commented 4 years ago

I can confirm this too. Its generally unplayable on 4.11, but it starts without any of the requirements mentioned by @C0rn3j. Switching back to 4.2 does not work, cannot find Uplay afterwards.

That's because downgrading Proton causes Steam to wipe the prefix and create a new one (upgrading doesn't). There is a way to prevent this but it's probably best not to. Steam should reinstall Uplay for you, but I don't own the game on Steam so I can't test it. Reinstalling the game and manually deleting the compatdata folder for Far Cry 5 might help if, for whatever reason, Ubisoft made it so that the game's launcher is responsible for installing Uplay instead of letting Steam do it.

aarobc commented 4 years ago

Proton 5.0-6 fixes steering. The only regression is now you can't strafe right on foot.

kisak-valve commented 4 years ago

Hello @aarobc, what's the most recent Proton version that you know wasn't affected by the regression? Also, please add PROTON_LOG=1 %command% to the game's launch options, reproduce the regression, and drag and drop the generated $HOME/steam-$APPID.log into the comment box.

aarobc commented 4 years ago

steam-552520.log After some more investigation, I've found the problem occurs when switching the keyboard layout when in-game.

If the game is started with qwerty, srafe right works correctly. However, if you start the game with dvorak then switch to qwerty, strafe right wont work. (on foot).

Test sequence for the log file:

  1. start game with qwerty, strafe right. I observe it works correctly.
  2. switch keyboard layout to dvorak (using a keyboard shortcut that runs setxkbmap dvorak)
  3. switch keyboard layout to qwerty (using a keyboard shortcut that runs setxkbmap us)
  4. mash strafe right key (d) several times
  5. close game
Johnnii360 commented 4 years ago

Compatibility Report

System Information

I confirm:

steam-552520.log

Symptoms

Strange nearby shadows on some objects and not proper closing Ubisoft Game Launcher. Ah and the game is hang sometimes for 1-3 seconds while loading world data.

Reproduction

When I stand directly in front of some objects or walls I get a strange shadow phenomenon. I don't know if this is a feature or a bug. :)

Here some screenshots:

![Bildschirmfoto von 2020-07-16 19-04-20](https://user-images.githubusercontent.com/15824634/87703421-20100300-c79b-11ea-8b84-f9cf17d67ceb.png) ![Bildschirmfoto von 2020-07-16 19-05-41](https://user-images.githubusercontent.com/15824634/87703469-34540000-c79b-11ea-91e4-c4ae773b18fd.png) ![Bildschirmfoto von 2020-07-16 19-14-45](https://user-images.githubusercontent.com/15824634/87703486-3c13a480-c79b-11ea-913a-9d9140f89de5.png)

Dutch had also a strange shadow on his forehead after the rescue and first encounter in his shed. It's like the player character is covered in a blob shadow sphere and when some objects (not all!) or walls touch them it produces this strange shadow effects.

Johnnii360 commented 4 years ago

A small update: The longer the game runs the laggyer it gets. (Proton version: 5.9-GE-3-ST) With the latest Proton version 5.9-GE-5-ST it stutters after a while.

BobbyWibowo commented 4 years ago

Will someone please list out an up to date steps to get this game working (Steam version)?

I've tried the steps mentioned in some of the previous posts, such as the following:

I always deleted compatdata directory of the game prior to trying a specific set of steps for good measures.

As for the steps about disabling EAC, the site linked by the replies above had 2 methods. One was a custom DLL, the other was to replace hex pattern of a particular DLL. For the first method, I couldn't find EasyAntiCheat something directory within ~/.steam/steamapps/common/FarCry 5/bin. In fact I seemingly couldn't find any files that might have had any relation to EAC within it (other than the DLL for the second method). As for the second method, the DLL didn't have an exact match of the hex pattern. There were about 2 or 3 different hex bytes at the end.