Proton: BattleEye Fails startup on Linux using latest Proton

Created on 22 Aug 2018  ·  96Comments  ·  Source: ValveSoftware/Proton

BattleEye for PlayerUnknowns BattleGrounds won't start on Elementary OS(Ubuntu Based)
As far as I know, this is a wine definitions problem that might require a little deep searching to fix.

Most helpful comment

I understand this isn't Proton's problem, but I think this is actually a crucial thing that should be fixed with Proton. This has been an issue with Wine for a long time and it seems like no one has really developed a fix for battleye. Considering how many games run the anticheat, I think it would be necessary for the project to have this fixed one way or another.

All 96 comments

This should also affect Planetside 2, and I'd really love to see it working

BattlEye currently doesn't function at all on wine, however there is someone on reddit working on fixing that.

I understand this isn't Proton's problem, but I think this is actually a crucial thing that should be fixed with Proton. This has been an issue with Wine for a long time and it seems like no one has really developed a fix for battleye. Considering how many games run the anticheat, I think it would be necessary for the project to have this fixed one way or another.

Also seeing this issue!

I believe this might also be a issue for ARMA3, it does have BattleEye for Linux with a test build of the game but they lack a few features such as launcher options and MP compat with Windows users.

It was stated in the steam announcement post that some anticheats would render impossible the compatibility. BattleEye is so aggressive that they even blocked reshade a few months back. Doubt we will ever see those titles work with wine.

Maybe some guys (pun unintended) from Valve or CodeWeavers could help Guy1524 in making BattlEye work on wine, maybe they would work together?

Same for DayZ standalone.

This is the same for the PUBG.
I think Battleye should open up a little bit since it's a big problem for a lot of games, which makes it impossible to play them.

Hello, I would like to mention a few things:

Right now I am focused on submitting my current Battleye work to wine before I proceed. Also, now that school is started progress will generally be slower, as I am only working on the weekends.

@oleksandrzelentsov People have tried contacting Battleye about this issue before, and their position is that they will only support native linux games.

@m4sk1n Plagman (valve dev) has expressed interest in working with anticheat developers to get it working under proton. This solution would probably be more sustainable in the long term.

Given that Battleye has native support on Linux, maybe the wizards over at Valve can find a way to do some kind of Battleye passthrough for Steam Play games to connect it with the native version of Battleye. Running Battleye in Wine would be nice, but I am afraid that could also lead to people being banned without cheating.

@Lyle-Tafoya Hmm, that's actually pretty interesting. I think it would also be worthy to reach out to the Battleye team and see if they will make room for Wine in their support so we can officially have support for the anticheat on their side.

This way, we can avoid false-positives, and have good support in Wine. Now, we just have to convince them to actually go through with that...

Planetside 2 gets to the launcher now, battleye though... tries for an undetermined long time to launch it and the log file has various dlls showing there. I added some through winetricks and those dlls dont really show at the end of log file anymore. Can't find all dlls that show there in winecfg.
env WINEPREFIX="/mnt/tera/Games/SteamLibrary/steamapps/compatdata/218230/pfx" WINEPATH="/mnt/tera/Games/SteamLibrary/steamapps/common/Proton 3.7/dist/bin" winetricks

I understand the sentiment in this issue (I would love to play Planetside 2 again), but trying to work around anti-cheat system is pointless - they will be updated faster than workarounds for Linux will appear. The only way forward would be to start a conversation with Battleye devs about supporting Proton officially. They already can detect, that game is running inside Wine.

Implementation of some kind of whitelist/integration of anti-cheat systems into Proton is tracked here: #1468

I'd like to provide an update on the state of my battleye work. A month ago, I got the battleye driver's anticheat loop running. Once the game client attempts to connect with the driver and submits an interupt, there is an internal error, and the game I am testing refuses to proceed. I am currently taking a break, but if anyone else experienced wants to pick up where I left off, my work is here: https://github.com/Guy1524/wine/tree/battleye-work

No news on it ? would like to see player unknow battelground but battleye is a pain in the ass

@edneyhelene FWIW even when battleye starts to work, PUBG has another preventing it from launching.

I am really missing out playing Planetside 2. The battleeye anticheat starts but keeps on loading and the game never launches :(

Now cant play ATLAS on official servers.

Tested on Proton 3.7-8, 3.7-8 Beta, 3.16-4, 3.16-6 Beta, 4.2-9, 4.11-2.

Merge with battleye patches that are being worked on in a separate repo

Issue transferred from https://github.com/ValveSoftware/Proton/issues/2278.
@redpiller posted on 2019-01-28T17:36:04:

Feature Request

https://github.com/Guy1524/wine/commits/battleye-work-stable
this repo contains wine patches that enables the use of battleye anticheat in games like
Arma2, Arma3, Fortnite, Planetside 2 ... and so on...
take a look, maybe you could establish a cross repo patching pipeline

I confirm:

  • [ x ] that I haven't found another request for this feature.
  • [ x ] that I have checked whether there are updates for my system available that
    contain this feature already.

Description

Battleye support

Justification [optional]

Battleye is broken in proton

Risks [optional]

Not every game will be supported at first

References [optional]

https://github.com/Guy1524/wine/commits/battleye-work-stable

@redpiller, these patches don’t make BattlEye work, they just make it fail in further steps…

Person here claims to have gotten PUBG to work by running it via the windows version of steam.

https://www.youtube.com/watch?v=Aa_TwN-daEA

@philipjohnbarlow I'm sorry to uh, reply

but,

that video shows 0 proof that it's actually running on linux
and if it was real, it'd be pretty big news already.

so I'm sure it's fake and you shouldn't trust a video like that which doesn't show ANY evidence that it's actually what it claims to be.

Yup my thoughts as well, theres no pre-start up footage. Thought I'd share anyway just in case there was even remotely any validity in the claim.

Doesn't battleeye work with ark?

Doesn't battleeye work with ark?

Ark has a native Linux build and uses the native Linux version of BattlEye. This thread is regarding compatibility with the Windows version of BattlEye via Proton.

@kisak-valve Any updates on the BattlEye progression in Proton, or is Valve still ignoring it?

Hello @olealgoritme, friendly reminder that I'm a moderator for Valve's issue trackers and not a Valve dev myself. I'm just as interested as everyone else to hear if/when there is progress with this, but we'll need to wait to hear from a Proton dev.

Alright, let's wait some more.

@philipjohnbarlow Check out looking glass here: https://github.com/gnif/LookingGlass
This is likely how the guy in the video achieved "linux support" of pubg
(tl;dr: It's not supported, it's a VM with direct passthrough access to the GPU so it will run, looking glass allows you to see what the passthrough GPU renders on the host OS)

Just commenting to say i'd love to see PlanetSide 2 support.

Since we got Arma 3 running well enough over Proton, BE is the only thing missing.

+1 for BE Proton support

Pls BE devs, make it happen.

Yes ARMA3 seems to work quite nicely, but the BE driver doesn't initialize thus servers using it just kick you :(

I'm going to try wine4.6 with my custom proton compat profile once a lutris build comes out (I just copy over the wine files to my proton profile I made).

BattleEye also will be useful to run "Heroes & Generals" using proton

Survarium seems to work now (at least under proton-tkg), so it's just BattleEye that's preventing it running I guess.

So Hey, I have a question if any wine developer or Valve employee happens by...

I know wine used to work with battleye once some SMART and kernel access stuff was patched in until they adapted and started recognizing wine's presence, it allowed the anticheat to wrap the executable successfully as far as I could see and see you were on some real hardware.
With the modifications to the wine backend that build more DLLs as a Windows PE is this a full solution to masking wine's truck sized signature? Is this all that needs to be done to "pretend" you're windows or is there still a mountain ahead?

big update: With proton 4.11-1 battleye works in arma.

Thanks valve & be

really? nice. I dunno if it works in empyrion yet, gotta do some major testing this week as got a while new CPU/RAM cooling kit.

as it turns out, Empyrion uses EAC

Almost everyone seems to experience crashes exactly 15 minutes after joining a BattlEye enabled arma server.

Maybe there is something that can be logged? battleye log?

@Preisschild a PUBG enabled server? or are you talking abour arma? after installing pubg using steam I don't even get a loading screen. (Proton 4.11-2)

Yeah I got that 15min crash with BE ARMA3 server.

XD, I was so excited thinking that I can no play PUBG on Linux..., any idea on when they will do the same to PUBG?

In regards to Arma 3, some people are able to stay in the server beyond the 15 minute mark. I've tried a bunch of different things to see if I can get it to work. Changing Kernals to match theirs, graphics settings, forwarding ports from my router and disabling firewalls. Steam beta on and off. I've also tried reinstalling battleye probably 5 times already. I installed some obscure "Fix" from a youtube channel for windows users having trouble. Nothing has worked for me so far, I'm gonna keep reinstalling battleye as sometimes windows users seem to have the problem of getting kicked every 15 minutes, and their fix is just to reinstall battleye until it works again.

Interessing enough i'm trying to work on a solution for battleye while playing escape from tarkov under lutris using proton 4.11. As far as it go, just locks at "Starting Battleye Service..." while it initializes, when the process BEservice.exe is killed, it goes that installed successfully and presents a new error "Failed to initialize BattlEye Service: Driver Load Error (31)."

@haterino nice to see some more escapers trying to get it running. Me and a few others got a discord server where we share some ideas and try to get it running (didn't do too much since the BE update has been released, but got quite far with getting rid of the startup lag and crashes before). I will send the link as soon as the owner says he is fine with that.

Any news ? :)

@JanGalek it works for a few people on few servers in arma 3

EAC and BE driver injection/loading is probably something that needs fixing at the WINE level, hopefully valve devs can submit some fixes for it, we have already seen a few which is why it sometimes works atm.

Not just at WINE level, also might need some work at Linux kernel level… Actually, the best way would be to work with anti-cheats authors (they do), but implementing more and more low-level APIs is always a good thing

There is a C api for such things, the only thing wine needs to to is to hook up to the kernel API and translate the calls as it would normally do with any other program

On December 17, 2019 9:36:11 AM GMT+01:00, "Marcin Mikołajczak" notifications@github.com wrote:

Not just at WINE level, also might need some work at Linux kernel
level… Actually, the best way would be to work with anti-cheats authors
(they do), but implementing more and more low-level APIs is always a
good thing>
>
-- >
You are receiving this because you were mentioned.>
Reply to this email directly or view it on GitHub:>
https://github.com/ValveSoftware/Proton/issues/30#issuecomment-566439576

would it be possible for developers to support the native battle eye on linux but the game is running in proton so they don't need to port the entire game? like no man's sky its not a linux game but the developers update it with proton in mind

It wouldn't be the most streamlined aproach...

On December 22, 2019 11:02:27 AM GMT+01:00, wonkersbonkers notifications@github.com wrote:

would it be possible for developers to support the native battle eye on
linux but the game is running in proton so they don't need to port the
entire game? like no man's sky its not a linux game but the developers
update it with proton in mind

--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/ValveSoftware/Proton/issues/30#issuecomment-568248082

They would need to put some code in that detects proton/wine/linux and thus plugs in the linux battleye libraries instead. Not sure how well that would work. Developers are unlikely to do this anyway.

Perhaps a better approach for proton would be to detect battleye dll's and redirect to the local linux versions instead.

Please fix for Arma 3

Please fix for Rainbow Six Siege

Somebody block this troll

On April 18, 2020 6:56:35 AM GMT+02:00, Hadi Modarres notifications@github.com wrote:

ive found a fix, install windows

--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/ValveSoftware/Proton/issues/30#issuecomment-615560563

@JanGalek it works for a few people on few servers in arma 3

With the server I want it still crashes immeadeately.

I have managed to start fortnite in debian:

launch lutris from console:


Iniciate epic games and launch fortnite or other game that use this fucking shit, well...

If it doesn' work, kill it, let's list epic games program:

ps aux | grep Epic
zital     3763 10.0  0.0      0     0 ?        Zsl  23:07   0:13 [EpicGamesLaunch] <defunct>
zital     3763  4.6  4.5 4286528 319808 ?      Sl   23:07   0:05 C:/Program Files (x86)/Epic Games/Launcher/Engine/Binaries/Win64/UnrealCEFSubProcess.exe --type=renderer --no-sandbox --primordial-pipe-token=AA92F9BB6F4D59105D3262AE6941BC41 --lang=en-US --lang=en --locales-dir-path=C:/Program Files (x86)/Epic Games/Launcher/Engine/Binaries/ThirdParty/CEF3/Win64/Resources/locales --log-file=C:/users/zital/Local Settings/Application Data/EpicGamesLauncher/Saved/Logs/cef3.log --log-severity=warning --product-version=EpicGamesLauncher/10.15.8-13179977+++Portal+Release-Live UnrealEngine/4.23.0-13179977+++Portal+Release-Live Chrome/59.0.3071.15 --resources-dir-path=C:/Program Files (x86)/Epic Games/Launcher/Engine/Binaries/ThirdParty/CEF3/Win64/Resources --enable-pinch --device-scale-factor=1 --num-raster-threads=4 --enable-main-frame-before-activation --content-image-texture-target=0,0,3553;0,1,3553;0,2,3553;0,3,3553;0,4,3553;0,5,3553;0,6,3553;0,7,3553;0,8,3553;0,9,3553;0,10,3553;0,11,3553;0,12,3553;0,13,3553;0,14,3553;0,15,3553;0,16,3553;1,0,3553;1,1,3553;1,2,3553;1,3,3553;1,4,3553;1,5,3553;1,6,3553;1,7,3553;1,8,3553;1,9,3553;1,10,3553;1,11,3553;1,12,3553;1,13,3553;1,14,3553;1,15,3553;1,16,3553;2,0,3553;2,1,3553;2,2,3553;2,3,3553;2,4,3553;2,5,3553;2,6,3553;2,7,3553;2,8,3553;2,9,3553;2,10,3553;2,11,3553;2,12,3553;2,13,3553;2,14,3553;2,15,3553;2,16,3553;3,0,3553;3,1,3553;3,2,3553;3,3,3553;3,4,3553;3,5,3553;3,6,3553;3,7,3553;3,8,3553;3,9,3553;3,10,3553;3,11,3553;3,12,3553;3,13,3553;3,14,3553;3,15,3553;3,16,3553;4,0,3553;4,1,3553;4,2,3553;4,3,3553;4,4,3553;4,5,3553;4,6,3553;4,7,3553;4,8,3553;4,9,3553;4,10,3553;4,11,3553;4,12,3553;4,13,3553;4,14,3553;4,15,3553;4,16,3553 --disable-accelerated-video-decode --disable-webrtc-hw-vp8-encoding --disable-gpu-compositing --service-request-channel-token=AA92F9BB6F4D59105D3262AE6941BC41 --renderer-client-id=3 --mojo-platform-channel-handle=1732 /prefetch:1
zital     4070  0.0  0.0   6080   892 pts/1    S+   23:09   0:00 grep Epic

well I need to kill the 3763 processes:

kill -9 3763 3763

kill lutris too:

ps aux | grep lutris
zital     3657  2.2  1.7 695900 120672 pts/0   Sl+  23:06   0:01 /usr/bin/python3 /usr/games/lutris
zital     3657  2.3  0.2  35204 19544 pts/0    S    23:07   0:01 lutris-wrapper: Epic Games Store
zital     3657  3.4  0.2  18580 17564 ?        Ss   23:07   0:03 /home/zital/.local/share/lutris/runners/wine/lutris-5.6-2-x86_64/bin/wineserver

kill -9 3657 3657 3657

try again

any update??? It would be great if we can play PUBG on proton

I don't think so. We are all waiting for some form of support to EAC and Battleye.

There is a experimental Kernel patch for Wine stuff that may allow for anti-cheat software to work in the future if merged.
I don't think its been accepted or merged into mainline yet, once that happens it will be news worthy.

lets hope it gets merged! I haven't played pubg since it launched lol. It's just sitting in my library

is there a repository for this experimental kernel

I would like to build it

Hello @Titaniumtown, @wonkersbonkers, I think there's been some misinformation that came out of the community discussion surrounding this patch. Mainly, there was some discussion about an alternative approach to solving the technical riddle and that is known to be incompatible with anti-cheat software and https://lore.kernel.org/lkml/[email protected]/ got a distorted interpretation by some onlookers.

This patch is exploring a potential performance optimization and the developers involved don't appear to be interested in using an alternative solution which would be going backwards with regard to eventually getting anti-cheat mechanisms working. It's not directly related to supporting anti-cheat software.

(Fair disclaimer this is also a second-hand interpretation and should not be used as a primary reference.)

If this isn't the patch in question, feel free to clarify.

BattlEye work for 1 month and last 2 days ago, i have error "Failed to initialize BattlEye Service: Driver Load Error (31)." with Arma 3 on Proton 5.0-9.

That's very interesting @StidOfficial hmm

Just tried it with PubG. Same error.

BlackSquad please

BlackSquad please

What do you mean?

BlackSquad please

What do you mean?

i believe it is a game from steam that's use battleeye as anti cheat rsrs :laughing:

Probably the best way to fix it : <Link removed by moderator>

Hello @StidOfficial, no, that workaround is plain cheating. There's nothing there that could be considered a fix which can be used to improve support in Proton.

Hello @StidOfficial, no, that workaround is plain cheating. There's nothing there that could be considered a fix which can be used to improve support in Proton.

He not even said it's a workaround or even a solution, just the best way in the sad reality.

Not to improve support in Proton and I don't encourage anyone to cheat, but would be curious to see whether the battleye-protected games would work without other issues after bypassing this piece of shi of battleye

Probably the best way to fix it : <Link removed by moderator>

Really sad this Link gets removed. Sad that you're supporting a system repressing you.

Probably the best way to fix it : <Link removed by moderator>

Really sad this Link gets removed. Sad that you're supporting a system repressing you.

You do realize this is an official Valve repository right?

Probably the best way to fix it : <Link removed by moderator>

Really sad this Link gets removed. Sad that you're supporting a system repressing you.

@bionade24 they work for Valve. They would rather get a solution that would both satisfy BattlEye by giving them root-level access to our Linux machines and provide us with working games

At WineHQ this hopefully gets discussed more open: https://bugs.winehq.org/show_bug.cgi?id=37355
Edit: Maybe more appropriate than spamming into system internals: https://bugs.winehq.org/show_bug.cgi?id=45124

At WineHQ this hopefully gets discussed more open: https://bugs.winehq.org/show_bug.cgi?id=37355

Not sure. Shortly after Guy1524 published his set of patches that correctly implement all the checks required by EAC, they made some server-side changes to prevent EAC from working with Wine. BattlEye would likely do the same

At WineHQ this hopefully gets discussed more open: https://bugs.winehq.org/show_bug.cgi?id=37355

Not sure. Shortly after Guy1524 published his set of patches that correctly implement all the checks required by EAC, they made some server-side changes to prevent EAC from working with Wine. BattlEye would likely do the same

:(
Don't know, but the hack @StidOfficial provided attacked them at IPC level. Probably harder to patch permanently.

A realistic solution to this problem: Linux gets a working FLOSS anti-cheat for Linux and the Games only work if the binary is signed. A realistic compromise?

oh cmon, we all know, Linux user are not cheater

lol

oh cmon, we all know, Linux user are not cheater

Yeah, even the devs probably know that Linux users just wanna enjoy their spare time but we're live in a world where management doesn't care. Or maybe it's because they know that we know that calculating all physics on the server would make cheating impossible but won't do that for profit reasons.

oh cmon, we all know, Linux user are not cheater

Yeah, even the devs probably know that Linux users just wanna enjoy their spare time but we're live in a world where management doesn't care. Or maybe it's because they know that we know that calculating all physics on the server would make cheating impossible but won't do that for profit reasons.

I am very curious, can you please explain how calculating all physics on the server would make impossible aim-bots, wall hacks, map hacks etc.?

@darutoko it's harder for the player to make changes on the server side than the client side.. a player can easily change stuff on the client side.. however a server side anti cheat can't detect changes made on the client side but can detect stuff going on in the server because of the client side changes/hacks.. but for that server side anti cheats should be very strong also using proxy is very great on server side.. so that if a player tried to figure out the server address.. he would only see the proxy server address not the actual server address.. however server side anti cheat has its own risks of someone figures out to make client side changes that server side won't be able to detect it can caus alot of issues.. it's like having high risk high reward.

@darutoko it's harder for the player to make changes on the server side than the client side.. a player can easily change stuff on the client side.. however a server side anti cheat can't detect changes made on the client side but can detect stuff going on in the server because of the client side changes/hacks.. but for that server side anti cheats should be very strong also using proxy is very great on server side.. so that if a player tried to figure out the server address.. he would only see the proxy server address not the actual server address.. however server side anti cheat has its own risks of someone figures out to make client side changes that server side won't be able to detect it can caus alot of issues.. it's like having high risk high reward.

I dont' understand why you wrote this. In this text wall there is no explanation of how calculating all physics on the server would make impossible aim-bots, wall hacks, map hacks etc. How for example wall hack (texture and model manipulation) is affected by physics calculations?

oh cmon, we all know, Linux user are not cheater

Yeah, even the devs probably know that Linux users just wanna enjoy their spare time but we're live in a world where management doesn't care. Or maybe it's because they know that we know that calculating all physics on the server would make cheating impossible but won't do that for profit reasons.

I am very curious, can you please explain how calculating all physics on the server would make impossible aim-bots, wall hacks, map hacks etc.?

The server can determine which actions can physically be done and which not. (E.g when you went trough a wall you get banned.) Or when you aiming is way to good for a human (human can have good aim but will have at least certain stuttering on the target. Finally, you can calculate which opponent a player could have seen when. Tactical cheating would still be possible, but you can also e. g. do that in CSGO when you're in Teamspeak with a dead player giving tips.

oh cmon, we all know, Linux user are not cheater

Yeah, even the devs probably know that Linux users just wanna enjoy their spare time but we're live in a world where management doesn't care. Or maybe it's because they know that we know that calculating all physics on the server would make cheating impossible but won't do that for profit reasons.

I am very curious, can you please explain how calculating all physics on the server would make impossible aim-bots, wall hacks, map hacks etc.?

The server can determine which actions can physically be done and which not. (E.g when you went trough a wall you get banned.) Or when you aiming is way to good for a human (human can have good aim but will have at least certain stuttering on the target. Finally, you can calculate which opponent a player could have seen when. Tactical cheating would still be possible, but you can also e. g. do that in CSGO when you're in Teamspeak with a dead player giving tips.

@bionade24 lol
Your answer is even funnier than i thought it would be, thank you.

I shared this link for create a pipeline to the actual battleye linux client (because he doesn't need kmod like bedaisy.sys).
This link doesn't talk about cheating but emulation of BattlEye and this informations can help us to port BattlEye on proton (wine).

If the issue is locate on "MmMapLockedPagesSpecifyCache" good new.

Problem still not resolved?

I so much whises this issue will find a proper solution in the future.
Steam and BattleEye seemed to have been talking to each other but so far... no nothing.
The best thing would be to not allow any kernel level anti-cheat for steam game thus avoiding any to strong application installed and make the proton compatibility so much simple.
I do not like cheaters in any online game as much as the next fellow but we have to be true about it. No anticheat has been anything but effective... being CoD Warzone, PUBG or Fortnite no one succeed against cheaters despite very intrusive detection software... game developers should focus on server anticheat instead of trying to install spyware on our hardware.
They will never be able to control user hardware even on console the cheat is placed between the gamepad and the console...

Was this page helpful?
0 / 5 - 0 ratings

Related issues

juppso picture juppso  ·  3Comments

raikirii picture raikirii  ·  3Comments

ghost picture ghost  ·  3Comments

Elkasitu picture Elkasitu  ·  3Comments

BLaDZer picture BLaDZer  ·  3Comments