Proton
Proton copied to clipboard
Apex Legends (1172470)
Compatibility Report
- Name of the game with compatibility issues: Apex Legends
- Steam AppID of the game: 1172470
System Information
- GPU: RX 5700 XR
- Driver/LLVM version: 20.2.1
- Kernel version: 5.9.3
- Link to full system information report as Gist
- Proton version: 5.13
I confirm:
- [X ] that I haven't found an existing compatibility report for this game.
- [ X] that I have checked whether there are updates for my system available.
Symptoms
Game launches but ends up with error message because of Easy Anti Cheat, so unplayable.
Same here, minus the error message. It displays the Easy Anti Cheat logo, and then respawn logo, and then silently crashes to the desktop. Sometimes it crashes but Steam thinks it's still running in the background even.
I didn't even get that... :D Pressed Play, the little update/setup dialog disappeared when it finished, but nothing happened after that... A few moments later the Play button became active again, and that's it. No message, no error, no nothing. Meh... (Although I installed it on an NTFS partition, which has caused some issues in the past for a few other games, even though it really shouldn't... Most games work perfectly fine on it!)
I was able to get to the main menu and even setup the graphics settings. But then it looks like there is a EAC timeout.
I had the exact same issue, EAC will throw me out yesterday. Today that I tried again seemed better but I didn't dare to play online.
Other than that it had a bit of a struggle on the first launch, then Steam cached the Vulcan shades so, after that it seems that runs as good as in Windows if not better.
Same here. After a minute or two, I get thrown out of whatever I was doing, even just the main menu. Until getting disconnected though, I can seemingly do anything just fine, whether it's the firing range or a normal match. I only tried the latter once for obvious reasons though. When I get thrown out, the game gives an error screen with "ERROR: The client is not running the anti-cheat, or has failed the anti-cheat authentication" There's also some short hangs upon map load, probably because of shader compiles. EAC not working is a much worse problem though.
Seems like something's changed, as I now can spend however much time in menu's and shooting range. A couple days ago, while testing on lutris+origin, I was being kicked out regardless of what i was doing. I'm still getting kicked out from actual games, though.
Alright, I really tried to get this run by taking a deeper dive into Proton's functions. And I think the problem is at a missing implementation of BCrypt. If I look at Proton's Log, there are 9809 lines containing BCryptGenRandom ignoring selected algorithm
. If I try to set the crypt32.dll in the winecfg with the prefix of the game to "Native (Windows)", I get an error message that looks like if it's coming from Wine when trying to start the game that says, Could not find Z:/home/lightosk/bigspace/SteamLibrary/steamapps/common/Apex Legends/EasyAntiCheat.dll
. I have no idea if that is even related, but it could be. I don't want to interpret too much in here, I could write an essay about what I think could have caused this.
Summed up, the facts that are observable:
- If you start the game, you get kicked out after a minute or so with an EAC error
The client is not running the anti-cheat, or has failed the anti-cheat authentication: Authentication timed out (1/2)
- In Proton's log,
steam-1172470.log
, the errors and messages are mostly normal and known from other games, but a LOT of that is:fixme:bcrypt:BCryptGenRandom ignoring selected algorithm
I just found a bug on Wine's bugzilla about this. It links to a commit on Wine-staging, which is only 11 days ago. I'll try to build this version now and see if Apex works there.
Okay, then it even works less because it fails to find some DLLs of steamclient64.dll. I guess these are provided by Proton and Windows itself only.
I'm trying to make the patch work with Proton (by just following the build/install instructions in https://github.com/ValveSoftware/Proton).
The issue is that those patches are against the wine master while the Proton uses wine 5.13.
I've tried to drop in wine 5.21 into Proton build: the game doesn't launch.
Next thing I'll try is to backport the patchset to wine 5.13.
EDIT: the patchset doesn't build cleanly with Proton - cross-compilation of bcrypt.dll fails.
@Lightosk how are you testing this?
The fixme:bcrypt:BCryptGenRandom ignoring selected algorithm
just says that wine uses the wrong RNG algorithm. At this point can't really tell if it's the cause of the problem.
That bug on Wine's bugzilla is not related to the RNG. That bug is about the fixme:bcrypt:BCryptSecretAgreement
errors so it can't be the solution.
Hoping for a fix! :O
I am pretty sure we'll see some progress on this once Linux 5.11 comes out thanks to Collabora's work on DRM compatability https://www.gamingonlinux.com/2020/10/collabora-expect-their-linux-kernel-work-for-windows-game-emulation-in-kernel-5-11
It's not really related to the DRM compatibility.
The anticheat checks for wine specifically and treats it as one of the platforms. But the anticheat server doesn't host the driver modules for this game for the wine platform.
My thoughts: EA didn't bother to set up wine support with EAC developers, or EAC developers didn't bother to develop a decent anticheat for wine. And from the wine side it's as usual: need to keep implementing windows.
Apex Legends used to be playable on Linux for some time so I suspect it to be a case of Wine support being pulled
Has there been any progress on getting Easy Anti Cheat and others working as the new linux kernel 5.11 is rolled out?
Has there been any progress on getting Easy Anti Cheat and others working as the new linux kernel 5.11 is rolled out?
It's not about the Kernel
https://www.reddit.com/r/linux_gaming/comments/l6cam9/syscall_dispatch_and_kernel_511_clarification/
Been a couple of months, wondering on development on EAC on proton?
I had a few ideas but im not a developer, im just a nerd with some ideas; -Decompile and recompile EAC under Winelib? -Make proton report back to EAC that its just windows instead of wine. -Patch out EAC (stupid and not worth bugging people with dedicated cheaters) -Work with EAC devs to help with compatibility but maintain the Anti-Cheat part.
If there is more info I should know about and I might just waste a couple of days testing it out. (no I refuse to use QEMU/KVM, I dont think I have the power for that assuming it emulates the GPU.)
Hi, iv'e been trying to make this work, too. What i have found so far, is that during the install, EAC tries to download dependencies. It somehow detects the os as wine and therefore requests the 'wine' version of the EAC client. This version of the client should just be the same as the one used for windows, since thats the entire point of wine. Either EA/Respawn have specifically disabled the wine 'os' or it is an off-per-default option in eac to support wine.
Now for the solution i have already tried (not very thoroughly though) and not succeeded: If we can use some software like mitmproxy to redirect the eac setup from the wine download URL to the files for windows, the right client might be downloaded. This could be prevented by EAC through checksums, etc. though and it would always be preferred if EAC/Respawn just enabled support for wine.
This is what i found in about three days of research. The infos are mainly from blogposts, logfiles and my creative thinking, but i think this should be rather accurate. Hope it helps.
Here is the python script i tried with mitmproxy in case anyone is interested https://gist.github.com/leonhma/858dced671358f02187b2fa251a18850
Edit: I think it might be good to let Respawn or EAC know of this Problem and how they could fix it.
@leonhma you know, about a week ago Valve has announced Steam Deck. It's a handheld PC that's supposed to eventually run all games of the Steam library, and it runs Arch-based Steam OS with Wine/Proton.
More importantly for us, Valve mentioned in their FAQ about Steam Deck that they're working with the BattlEye and EAC anticheat developers to get support for Proton ahead of launch (2022).
@leonhma how i can use your script in proton? just place in root folder or smt else?
i try to run New World and sems like it have same problem.
@Nix-id I tried it with lutris and changed the install script so this script may not be very fitting here and would definitely require some additional work.
As @ChipmunkV said, valve will probably push for Linux support by EAC with the release of Steam Deck
There might be some hope as Epic just announced Proton support. https://dev.epicgames.com/en-US/news/epic-online-services-launches-anti-cheat-support-for-linux-mac-and-steam-deck Now it's up to Respawn/EA to enable it
Season 11 is out... did anyone test?
Just did, no changes. EAC still not enabled.
Ok... I guess they will wait for Steam deck. Sad :(
It doesn't even look like they've updated EAC at all: it's still looking for the wine64 module.
Steam deck has been delayed to Feb 2022 so maybe enabling eac for Apex delayed too
I would not doubt if someone told me that this was the reason Steam deck was delayed, lol!
I found these two threads in the EA forums regarding this matter. I think it would be good if everyone clicks in the "Me too" for upvoting the issue (and hopefully helping to bring EA's attemtion).
https://answers.ea.com/t5/General-Feedback/Apex-for-Linux/m-p/7575146#M7152 https://answers.ea.com/t5/General-Feedback/Easy-Anti-Cheat-for-Linux-Proton-available/td-p/10755083
The first one is for Linux in general, while the second is specifically for Proton. I would suggest to upvote both. These are the highest voted ones I found.
There is also the +XP button after you click in Me too. I don't know exactly how it works, but it seems to upvote it as well, so I would suggest to also click on it.