Proton icon indicating copy to clipboard operation
Proton copied to clipboard

GLIBC update broke EAC for most games that use it

Open Jelgnum opened this issue 1 year ago • 212 comments

Titles With Problems: Most titles that use Easy AntiCheat and officially support Linux tested ( Multiversus, Elden Ring, ~~Apex Legends [mixed results]~~)

Error Description:

Launch Error: Failed to load the anti-cheat module

image image

To recreate: Be running the newest GLIBC in this case 2.36 Have Steam (not flatpak vers.) Hardware: happens on both nvidia and amd systems

  1. Install one of games mentioned above
  2. launch game
  3. game will most likely error

Sorry if this isn't the correct place to report the error, but I figured this team helped create the EAC module, so you would be the ones to contact.

Jelgnum avatar Aug 03 '22 06:08 Jelgnum

Yeah Confirming. Bloodhunt EAC breaks with glibc 2.36 03082022_14 16 21

Apex Legends is still fine. Apex using the older non-EOS EAC i guess?

xpander69 avatar Aug 03 '22 11:08 xpander69

Just happened to me.

amoldybuffalo avatar Aug 03 '22 17:08 amoldybuffalo

Happen to me with Elden Ring

bg2908 avatar Aug 03 '22 18:08 bg2908

can confirm, also for Video Horror Society.

nicodemus144 avatar Aug 03 '22 18:08 nicodemus144

Confirmed on Multiversus.

~~Try it at workaround : pacman -U https://archive.archlinux.org/packages/g/glibc/glibc-2.35-6-x86_64.pkg.tar.zst https://archive.archlinux.org/packages/l/lib32-glibc/lib32-glibc-2.35-6-x86_64.pkg.tar.zst~~

EDIT : Nop, don't try it, it broke my system wich need glibc 2.36...

perru avatar Aug 03 '22 19:08 perru

Little bit of a workaround: use steam flatpak until the issue gets fixed.

amoldybuffalo avatar Aug 03 '22 19:08 amoldybuffalo

also broken for me with elden ring

Edit: as expected, a workaround is to use the flatpak steam version, you can just add your steam library as a filesystem and skip having to install the games again

Mast3rwaf1z avatar Aug 03 '22 19:08 Mast3rwaf1z

I was having problems with glibc 2.35 and rogue company can confirm other EAC games broke with 2.36 now

Etaash-mathamsetty avatar Aug 03 '22 20:08 Etaash-mathamsetty

Confirmed for GNU libc 2.36 on Arch Linux 5.18.15-arch1-2 on the following games: Multiversus Dragonball FighterZ

seafer6969 avatar Aug 03 '22 20:08 seafer6969

Confirmed on Multiversus.

~Try it at workaround : pacman -U https://archive.archlinux.org/packages/g/glibc/glibc-2.35-6-x86_64.pkg.tar.zst https://archive.archlinux.org/packages/l/lib32-glibc/lib32-glibc-2.35-6-x86_64.pkg.tar.zst~

EDIT : Nop, don't try it, it broke my system wich need glibc 2.36...

Yea same lmao, thankfully easily fixable by updating with pacman on a live usb inside chroot

pioliX000 avatar Aug 03 '22 20:08 pioliX000

Can Confirm, on Arch Linux. Played a few games in the morning (on Multiversus), ran a pacman update, came back to this issue

1MasterD1 avatar Aug 03 '22 21:08 1MasterD1

You can safely(ish) downgrade glibc with the "downgrade" utility on the AUR. Just make sure to include lib32 and gcc-libs. I forgot GCC-libs and had to downgrade from the command line.

sudo downgrade glibc lib32-glibc gcc-libs

Multiversus is able to start successfully after the downgrade.

zeroedout avatar Aug 03 '22 21:08 zeroedout

Experienced the same issue. The steam flatpak works so I'll maybe switch to that indefinitely when i get gamemode working

ErikReider avatar Aug 03 '22 21:08 ErikReider

You can safely(ish) downgrade glibc with the "downgrade" utility on the AUR. Just make sure to include lib32 and gcc-libs. I forgot GCC-libs and had to downgrade from the command line. sudo downgrade glibc lib32-glibc gcc-libs Multiversus is able to start successfully after the downgrade.

Thank you! I was midtype of reverting it but you made it much much easier. Whenever I try downgrading though, it borks my system (I get faced with a stuck "/dev/sda: clean" bootup screen, reverting downgrade fixes this). Specifically, I think its the gcc-libs breaking dependency with gcc-libs=12.1.1-4. I'll mess around a bit more, but thanks!

Edit: After downgrading gcc as well, it has no error message about dependencies, but won't boot up multiversus nor steam, weirdly

1MasterD1 avatar Aug 03 '22 22:08 1MasterD1

You can safely(ish) downgrade glibc with the "downgrade" utility on the AUR. Just make sure to include lib32 and gcc-libs. I forgot GCC-libs and had to downgrade from the command line.

sudo downgrade glibc lib32-glibc gcc-libs

Multiversus is able to start successfully after the downgrade.

Did it with : sudo downgrade glibc lib32-glibc gcc-libs lib32-gcc-libs gcc

gcc 12.1.0 gcc-libs 12.1.0 glibc 2.35 lib32-gcc-libs 12.1.0 lib32-glibc 2.35

Thank you

If you won't install downgrade, you can do : pacman -U https://archive.archlinux.org/packages/g/glibc/glibc-2.35-6-x86_64.pkg.tar.zst https://archive.archlinux.org/packages/l/lib32-glibc/lib32-glibc-2.35-6-x86_64.pkg.tar.zst https://archive.archlinux.org/packages/l/lib32-gcc-libs/lib32-gcc-libs-12.1.0-3-x86_64.pkg.tar.zst https://archive.archlinux.org/packages/g/gcc-libs/gcc-libs-12.1.0-3-x86_64.pkg.tar.zst https://archive.archlinux.org/packages/g/gcc/gcc-12.1.0-3-x86_64.pkg.tar.zst

perru avatar Aug 03 '22 22:08 perru

Thank you!

sudo downgrade glibc lib32-glibc gcc-libs lib32-gcc-libs gcc gcc 12.1.0 gcc-libs 12.1.0 glibc 2.35 lib32-gcc-libs 12.1.0 lib32-glibc 2.35

That fixed it no problem!

1MasterD1 avatar Aug 03 '22 22:08 1MasterD1

I wish someone would take the time to bisect rather than downgrade and forget. This needs a bisect in order to get it fixed properly. I performed the bisect on the Rogue Company issue. Fortunately Fedora is not on glibc 2.36 yet, and I also just don't have the time

GloriousEggroll avatar Aug 04 '22 00:08 GloriousEggroll

I wish someone would take the time to bisect rather than downgrade and forget. This needs a bisect in order to get it fixed properly. I performed the bisect on the Rogue Company issue. Fortunately Fedora is not on glibc 2.36 yet, and I also just don't have the time

how would I do the bisect without messing up my system? would I use a vm or distrobox or something? and how would I easily test it, since it would take forever to test each commit

Etaash-mathamsetty avatar Aug 04 '22 00:08 Etaash-mathamsetty

I wish someone would take the time to bisect rather than downgrade and forget. This needs a bisect in order to get it fixed properly. I performed the bisect on the Rogue Company issue. Fortunately Fedora is not on glibc 2.36 yet, and I also just don't have the time

Like Etaash I would like to know how would one go about doing this.

Jelgnum avatar Aug 04 '22 01:08 Jelgnum

Sorry about that, clicked "close with comment" instead of "comment" when posting my reply

Jelgnum avatar Aug 04 '22 01:08 Jelgnum

bisecting this seems kinda impossible without potentially breaking the system. I downgraded by using downgrade tool for now and everything works again.

[2022-08-03T14:39:42+0300] [ALPM] downgraded glibc (2.36-1 -> 2.35-6)
[2022-08-03T14:39:43+0300] [ALPM] downgraded lib32-glibc (2.36-1 -> 2.35-6)
[2022-08-03T14:42:11+0300] [ALPM] downgraded gcc-libs (12.1.1-4 -> 12.1.0-3)
[2022-08-03T14:42:11+0300] [ALPM] downgraded binutils (2.38-7 -> 2.38-6)
[2022-08-03T14:42:12+0300] [ALPM] downgraded gcc (12.1.1-4 -> 12.1.0-3)
[2022-08-03T14:42:12+0300] [ALPM] downgraded gcc-fortran (12.1.1-4 -> 12.1.0-3)
[2022-08-03T14:42:12+0300] [ALPM] downgraded gcc-objc (12.1.1-4 -> 12.1.0-3)
[2022-08-03T14:42:12+0300] [ALPM] downgraded lib32-gcc-libs (12.1.1-4 -> 12.1.0-3)
[2022-08-03T14:42:12+0300] [ALPM] transaction completed

But its just delaying the issues. had to also downgrade thunderbird for example as its latest version already requires glibc 2.36

This also may break the system at some point if more things starting to require updated glibc

NOTE! Do not do it unless you know what you are doing! This may break your entire system if you keep updating other system packages while some are rolled back and locked to older versions!

xpander69 avatar Aug 04 '22 06:08 xpander69

I wish someone would take the time to bisect rather than downgrade and forget. This needs a bisect in order to get it fixed properly. I performed the bisect on the Rogue Company issue. Fortunately Fedora is not on glibc 2.36 yet, and I also just don't have the time

Compiling glibc and the corresponding packages takes over a couple of hours on my potato. It would take quite a few days for me to just compile packages from every commit. I would think Proton devs would have the resources to bisect much quicker, I mean Valve is going to need it working for Steam Deck updates.

Would it be worth it to file a bug report on the glibc tracker without bisecting first? I don't see one on there yet. I imagine they would say it's an EAC problem but I guess we would know more once we figure which commit b0rked it.

zeroedout avatar Aug 04 '22 06:08 zeroedout

Is the breakage reproducible using LD_LIBRARY_PATH without downgrading glibc system-wide ?

VannTen avatar Aug 04 '22 07:08 VannTen

I've seen a Proton EAC Runtime update lately, did it fix anything for anybody?

EDIT: nevermind, SteamDB shows only dll changes for yesterday's update, don't think it has anything to do with GLIBC compatibility: https://steamdb.info/depot/1826331/history/?changeid=M:7482036680883698310

thaewrapt avatar Aug 04 '22 09:08 thaewrapt

@thaewrapt Yeah, that update to Proton EAC Runtime is supposed to fix EAC in Vermintide 2, not glibc–related issues with EOS EAC.

Saancreed avatar Aug 04 '22 14:08 Saancreed

Would it be worth it to file a bug report on the glibc tracker without bisecting first? I don't see one on there yet. I imagine they would say it's an EAC problem but I guess we would know more once we figure which commit b0rked it.

My understanding is that glibc is supposed to have a stable API and ABI, so I think this per definition is a glibc issue. Unless EAC is using private API, of course.

Newbytee avatar Aug 04 '22 14:08 Newbytee

downgrading glibc can break lots of stuff, so be careful. My terminal emulator kitty for example refused to work with 2.35

leshow avatar Aug 04 '22 15:08 leshow

Downgrading didn't solve anything sadly, it actually broke some stuff.

And flatpak didn't help either.

moeraccoon avatar Aug 05 '22 07:08 moeraccoon

Downgrading didn't solve anything sadly, it actually broke some stuff.

And flatpak didn't help either.

If Flatpak doesn't solve it, you're experiencing a different issue. Flatpak has not upgraded its glibc yet to my knowledge (and won't until the Freedesktop 22.08 SDK releases and Steam upgrades to it).

Newbytee avatar Aug 05 '22 13:08 Newbytee

Replying to https://github.com/ValveSoftware/Proton/issues/6051#issuecomment-1204543127

I know it's cool and useful to include instructions for downgrading, but a less experienced user will just accept this as a fix, blindly run it and potentially break their system. So please either wait or use this with caution.

thorsten-passfeld avatar Aug 05 '22 14:08 thorsten-passfeld