ValveSoftware / Proton

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

Apex Legends (1172470) #4350

Open alosarjos opened 3 years ago

alosarjos commented 3 years ago

Compatibility Report

System Information

I confirm:

Symptoms

Game launches but ends up with error message because of Easy Anti Cheat, so unplayable.

esijg commented 3 years ago

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.

torokati44 commented 3 years ago

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!)

alosarjos commented 3 years ago

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.

Alimba86 commented 3 years ago

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.

daigennki commented 3 years ago

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.

rfxDarth commented 3 years ago

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.

ghost commented 3 years ago

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:

ghost commented 3 years ago

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.

ghost commented 3 years ago

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.

VelorumS commented 3 years ago

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?

VelorumS commented 3 years ago

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.

Luis4ever22 commented 3 years ago

Hoping for a fix! :O

esijg commented 3 years ago

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

VelorumS commented 3 years ago

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.

EasyAntiCheat detects Wine as host platform/OS, causing failure to download correct EAC game client/driver modules (avoid exporting 'wine_get_unix_file_name' by name)

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.

Jan200101 commented 3 years ago

Apex Legends used to be playable on Linux for some time so I suspect it to be a case of Wine support being pulled

F41S3 commented 3 years ago

Has there been any progress on getting Easy Anti Cheat and others working as the new linux kernel 5.11 is rolled out?

DavidHusicka commented 3 years ago

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/

Gotchfutchian commented 2 years ago

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.)

leonhma commented 2 years ago

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.

VelorumS commented 2 years ago

@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).

Nix-id commented 2 years ago

@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.

leonhma commented 2 years ago

@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

valeth commented 2 years ago

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

felipecrs commented 2 years ago

Season 11 is out... did anyone test?

Arbitrate3280 commented 2 years ago

Just did, no changes. EAC still not enabled.

felipecrs commented 2 years ago

Ok... I guess they will wait for Steam deck. Sad :(

VelorumS commented 2 years ago

It doesn't even look like they've updated EAC at all: it's still looking for the wine64 module.

kaganndemirr commented 2 years ago

Steam deck has been delayed to Feb 2022 so maybe enabling eac for Apex delayed too

felipecrs commented 2 years ago

I would not doubt if someone told me that this was the reason Steam deck was delayed, lol!

felipecrs commented 2 years ago

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.

ghost commented 2 years ago

10122021: PROTON 6.3-8 / Experimental_Anti-Cheat Borked.. still

VelorumS commented 2 years ago

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).

Also regularly use this search request (sort by latest) on twitter and upvote relevant tweets:

((@PlayApex OR @Respawn) AND (EAC OR Linux OR Proton OR Deck OR SteamDeck OR @OnDeck))
kaganndemirr commented 2 years ago

https://steamcommunity.com/groups/steamworks/announcements/detail/3137321254689909034

felipecrs commented 2 years ago

Legacy EAC can now support Proton, without requiring developers to update it to the newer Epic Online Services variant:

https://www.gamingonlinux.com/2022/01/easy-anti-cheat-gets-much-simpler-for-proton-and-steam-deck/

And Season 12 will be out today. While I didn't see any mention to it in the release notes, the hope is the last that dies:

https://www.ea.com/en-us/games/apex-legends/news/defiance-patch-notes

Of course, we still hope that, if not by the Season 12 launch, by the Steam Deck launch then. 😋

felipecrs commented 2 years ago

Update: season 12, still the EAC problem as before.

FuzzyQuils commented 2 years ago

Weirdly enough, this was committed 5 days ago: https://github.com/ValveSoftware/Proton/commit/25a58123a169dec4282b92bc1b24411278d0b65f

Is this potentially preparation work because maybe Apex is about to have the EAC switch thrown on?

pbogut commented 2 years ago

They have steam_deck branch on steam now, so fingers crossed

caffeine01 commented 2 years ago

woohoo gaming :D

coach1988 commented 2 years ago

Can confirm, just joined my first session via the bleeding edge experimental proton + beta steam client

jmariondev commented 2 years ago

Build 8270674 adds easyanticheat_x64.so. This same build is the steam_deck branch from earlier.

It's here!

(edit: so it's abundantly clear: I'm successfully playing Apex under Proton Experimental)

GerardoBaeza commented 2 years ago

Screenshot from 2022-03-01 16-07-00

up and running

valeth commented 2 years ago

Just tested it on a shooting range map. It works, but it's quite stuttery right now, probably needs a few optimizations.

jmariondev commented 2 years ago

Just tested it on a shooting range map. It works, but it's quite stuttery right now, probably needs a few optimizations.

Stutter is just shader compiling. The stutter disappears after playing a couple rounds, and will get better for everyone as Steam builds up a compiled shader cache.

rKsanu2MMYvypWePtQWM commented 2 years ago

omegalul Seizure land over here :smile: The worst part is that the tutorial map works absolutely fine - this only happens on the battle royale.

Proton 7 and experimental / OpenSUSE Tumbleweed / R9 380 4GB / R5 1600 / Mesa 21.3.7

rKsanu2MMYvypWePtQWM commented 2 years ago

adding a log steam-1172470.zip

rKsanu2MMYvypWePtQWM commented 2 years ago

User Totzo seems to have the same issue with a Tonga video card in this reddit thread https://old.reddit.com/r/linux_gaming/comments/t4ec58/respawn_has_just_merged_the_steam_deck_branch_for/hyygq26/

Managor commented 2 years ago

Bloodhound seems to cause framerate issues in the main lobby. You need to have played one match before this happens asd

felipecrs commented 2 years ago

Just as FYI,

The lobby frame rate is crapped even on Windows since launch on Steam and never got fixed. The same issue does not happen when running from Origin, AFAIK.

But there is one graphics setting that when you decrease from Very High to High helps a lot. I don't remember which one though.

git-iso commented 2 years ago

Anyone else having issues with voice chat? My XBOX friend and I can't hear each other.

Managor commented 2 years ago

False alarm on my part. I set my graphics details too high and forgot about them. My vram was getting capped like the image shows.