over 4 years ago - EmpIzza - Direct link

Opening a new thread with some interesting new EAC updates for Linux. For context, I’m in the below situation and would very much like to change that:

This weekend there was an interesting update at reddit with regards to using Windows EAC in Wine (note: not Linux EAC!): https://www.reddit.com/user/Guy1524/comments/hc3o1y/eac_progress_update/

At this point, EAC will load, correctly process an IOCTL in which the loader sends an encrypted “internal dll”, which it expects the driver to inject into the game process. EAC will then correctly map this dll when the process loads, and try to initialize it. This is the point where it is failing right now (the internal dll will yield an error), but we seem to be really close to the end of the initialization function, and once blitzcrank finishes devirtualizing it, we should be able to quickly get the function to succeed. In theory, if all goes to plan, the game should then launch, and be able to load the EAC library through the hooks setup by the internal DLL / kernel.

The discussion takes place at https://discord.gg/mjWm8DK and channel #easy-anti-lobster for those who want to keep up to date. The work is primarily (as I understand it) being done by employees at Codeweavers (i.e. the company behind Crossover Linux / Chrome / etc).

For those new to the Linux situation with VT2 the game itself runs flawlessly (I even get better perfomance with Proton and DXVK than on Windows*) but is hampered by EAC not functioning on Wine (i.e. Proton), which puts the game in the untrusted state and prevents progress (see https://github.com/ValveSoftware/Proton/issues/1528). Valve and Epic (the company behind EAC, and yes, the Tim Sweeney Epic, so a competitor to Valve) are said to be working on Proton compatibility with (Windows) EAC, although nothing has been stated publicly for almost a year.

*Could very well be related to the fact that EAC is not running…

over 4 years ago - EmpIzza - Direct link

An update for the interested (in particular @OrsonMaxwell and @alsozara who liked the post):

[Info] [LauncherFinished] EACAsyncResult: 0 Message: ‘Easy Anti-Cheat successfully loaded in-game’.
[Info] Entering background wait for the game process to exit.
[Info] Game process exited with process exit code (0).
[Info] Unloading the EasyAntiCheat library.
[Info] Destroying windows.
[Info] Exit.

EAC loads fine with Vermintide 2, but says that the game is in an untrusted state. I wonder if that has to do with that I have to bypass the launcher.

Launcher error (I don’t think I’ll get that working since it depends on how Wine emulates some Windows APIs, but you never know):

08:38:41.426 [Launcher] [Main Window] Error when checking parent process: System.ArgumentNullException: Value cannot be null.
Parameter name: ptr

@Fatshark_Hedge Could you confirm whether or not you have to go via the launcher to get Vermintide 2 running with EAC? If you have to go via the launcher, are you (i.e. Fatshark) willing to modify the launcher so it runs in Wine?

Anyhow, I will dig a bit deeper into this tonight (got work to do during the day somehow).

over 4 years ago - Fatshark_Hedge - Direct link

Users can use the bypass launcher option and still enter the game in a trusted state.

PS: Slay the Spire is an amazing game, you should all play it

over 4 years ago - EmpIzza - Direct link

Ty for the info!

over 4 years ago - Fatshark_Hedge - Direct link

The chaos warrior splash screen (as pictured, ignore the error, just a google find) is the EAC launcher/moment when EAC initialises.
image

over 4 years ago - EmpIzza - Direct link

Ty for the additional info. I dug a bit in my logs and it does look like EAC starts fine, but there is some communication error between game and EAC.

I.e. game starts EAC, says awesome, I started EAC. EAC says, awesome I’m running. Game says sad-face, I can’t find EAC-process. EAC says awesome, I’m running and getting no errors and so forth, and EAC quits nicely when I end the game.

Anyhow, back to what I’m paid to do…

over 4 years ago - EmpIzza - Direct link

So, the EAC fix for wine worked for an older version of EAC, and they pushed a new EAC version around two days ago which broke it.

The EAC version is game specific, and FS does a good job keeping it up to date (sadly for us Linux peeps).