Wine-Builds icon indicating copy to clipboard operation
Wine-Builds copied to clipboard

Proton BattlEye Runtime without proton - Is it possible?

Open gabriele2000 opened this issue 2 years ago • 9 comments

By using PROTON_BATTLEYE_RUNTIME command, only with proton, I can pinpoint the linux battleye runtime, but only with proton. WINE just tries to load the game's battleye, which is the windows one.

Game: The Cycle - Frontier, plus every game that uses anticheats

gabriele2000 avatar Jun 19 '22 21:06 gabriele2000

Regular Wine does not handle the PROTON_BATTLEYE_RUNTIME environment variable. You can try to manually copy the libs from Proton BattlEye Runtime into your Wine build directory. Like:

cp ~/.local/share/Steam/steamapps/common/"Proton BattlEye Runtime"/v1/lib64/wine/beclient_x64.dll.so ~/wine-7.10-staging/lib/wine/x86_64-unix
cp ~/.local/share/Steam/steamapps/common/"Proton BattlEye Runtime"/v1/lib64/wine/fakedlls/beclient_x64.dll ~/wine-7.10-staging/lib/wine/x86_64-windows

Then update your prefix and force builtin beclient_x64.dll either in winecfg or with WINEDLLOVERRIDES:

WINEDLLOVERRIDES="beclient_x64=b,n" ~/wine-7.10-staging/bin/wine game.exe

There is also BEClient_x64.so in the runtime which i don't know where to put (maybe in lib/wine/x86_64-unix?).

Note that i haven't tested this method and don't know if it actually works.

Kron4ek avatar Jun 20 '22 14:06 Kron4ek

Regular Wine does not handle the PROTON_BATTLEYE_RUNTIME environment variable. You can try to manually copy the libs from Proton BattlEye Runtime into your Wine build directory. Like:

cp ~/.local/share/Steam/steamapps/common/"Proton BattlEye Runtime"/v1/lib64/wine/beclient_x64.dll.so ~/wine-7.10-staging/lib/wine/x86_64-unix
cp ~/.local/share/Steam/steamapps/common/"Proton BattlEye Runtime"/v1/lib64/wine/fakedlls/beclient_x64.dll ~/wine-7.10-staging/lib/wine/x86_64-windows

Then update your prefix and force builtin beclient_x64.dll either in winecfg or with WINEDLLOVERRIDES:

WINEDLLOVERRIDES="beclient_x64=b,n" ~/wine-7.10-staging/bin/wine game.exe

There is also BEClient_x64.so in the runtime which i don't know where to put (maybe in lib/wine/x86_64-unix?).

Note that i haven't tested this method and don't know if it actually works.

That's the exact idea that I had in mind... I even tried it but I'll try it again anyway.

By the way, the TKG system allows for the proton stuff to be handled with WINE I guess, with a patch maybe?

gabriele2000 avatar Jun 20 '22 18:06 gabriele2000

In the wine-tkg repo there is a patch which adds support for the PROTON_BATTLEYE_RUNTIME env variable.

Kron4ek avatar Jun 20 '22 21:06 Kron4ek

In the wine-tkg repo there is a patch which adds support for the PROTON_BATTLEYE_RUNTIME env variable.

Would you consider adding that patch, please? I'm asking because that "fix" for BE Runtime doesn't work, so I guess the only way is to use the env var.

gabriele2000 avatar Jun 20 '22 22:06 gabriele2000

Here is a build with the patch applied, check if PROTON_BATTLEYE_RUNTIME works with it.

Kron4ek avatar Jun 21 '22 12:06 Kron4ek

Here is a build with the patch applied, check if PROTON_BATTLEYE_RUNTIME works with it.

Well, instead of presenting the BattlEye installation prompt, now the game just skips it and it "opens". It "opens" because that happened

But wait: I set up a custom exe, because I don't know why, WINE can't find the PATH after the proton patch

It complains about "ldap", but It's already installed

gabriele2000 avatar Jun 21 '22 17:06 gabriele2000

Perhaps this patch alone is not enough to get BattlEye working.

It complains about "ldap", but It's already installed

That is usually just a warning and does not prevent games from working. Afaik, proton does not have ldap support either.

Kron4ek avatar Jun 22 '22 12:06 Kron4ek

Perhaps this patch alone is not enough to get BattlEye working.

Well, I didn't really had a chance to see if it actually works because it can't find... the executable, somehow. If I have to manually specify the .exe there is something strange; plus a black screen probably means that the game didn't load enough things, I guess?

gabriele2000 avatar Jun 22 '22 15:06 gabriele2000

plus a black screen probably means that the game didn't load enough things, I guess?

Probably. Unfortunately from the logs it's unclear what's the problem exactly.

Kron4ek avatar Jun 23 '22 17:06 Kron4ek

Perhaps this patch alone is not enough to get BattlEye working.

Ok I was wrong, I tried to build wine with that patch and it actually works... I guess... once FSR support will be sorted again I guess I'll compile my own build of wine-tkg with that patch enabled...

One question about WINE 8: If I won't build 32-bit libraries, will it be fine since WINE 8 has the new 64-bit only thing or not?

gabriele2000 avatar Mar 30 '23 20:03 gabriele2000

If I won't build 32-bit libraries, will it be fine since WINE 8 has the new 64-bit only thing or not?

If you don't build 32-bit libraries, you won't be able to run 32-bit applications. The new 32-on-64 feature (experimental wow64 mode) in Wine 8 is not mature enough yet, and you still need 32-bit PE libraries (lib/wine/i386-windows) for it to work, as far as i know.

Kron4ek avatar Mar 30 '23 21:03 Kron4ek

If I won't build 32-bit libraries, will it be fine since WINE 8 has the new 64-bit only thing or not?

If you don't build 32-bit libraries, you won't be able to run 32-bit applications. The new 32-on-64 feature (experimental wow64 mode) in Wine 8 is not mature enough yet, and you still need 32-bit PE libraries (lib/wine/i386-windows) for it to work, as far as i know.

The thing is: disabling 32-bit library build still outputs i386-windows but no i386-unix

gabriele2000 avatar Mar 30 '23 22:03 gabriele2000