Recently got Space Marine 2 on the Steam sale, and found through some experimentation that there is an issue with EasyAntiCheat, as the issue I'm facing only occurs with games that use it (and are confirmed to work on linux). Thus far I've tried with Space Marine 2 and Elden Ring.
Whenever I go to launch the game, Steam will get to the point of changing my status, and then it just stops, back to just "online." No game window opens, no crash log generated, just full refusal to start. I've tried reinstalling, restarting, changing drives, checking for launch options, changing proton versions, none of it worked.
I did notice though, that when installing and attempting to launch, there was no installing of easy like there typically is with these games. So my query is, how can I prove if this is an issue with EasyAntiCheat, and if it is, how do I go about fixing it?
AntiCheat and Linux doesn't work very well together.
Are Secure Boot and Fast Boot in BIOS disabled? Is Steam installed as Flatpak or as .deb Package from the Repo's or downloaded from Steam directly?
Both of these games run just fine on my steam deck, and others report them playing just fine on other distros. I know a lot of games with easy choose not to work with linux, like fortnite, but these two shouldn't be an issue.
It's been a minute since I installed steam, but I believe it was the package, that's what's showing up when I click for details on the icon.
I do believe I have both turned off, but will have to check back on that.
I have both of these games and they run fine on my system, and most others as you've pointed out as well. Are you running wayland or X? I might recommend switching from wayland to X for testing out temporarily.
Another thing that might help is installing a linux-native game (one that doesn't run proton) and run that once or twice. The reason being for that is that sometimes this forces steam to download some more dependencies that it didn't do when installing those other Proton games. I've had that happen to me on more than one occasion.
Then it could be the Flatpak. Could You check that please? When You open Gnome Software, look for Steam and when You on the Site of it, under the Uninstall Button, You should see what Package Format is installed.
running X
tried just now with valheim, no luck unfortunately. Weirdly though I initially tried with Binding of Isaac Rebirth, and I got the exact same issue as with SM2 and Elden Ring. Having it run through proton fixed it specifically for BoI
if you mean the software app, then neither flatpack nor package page is showing as installed
I think it is better to verify this.
Do not rely on Gnome Software Store - instead; check using terminal;
flatpak list
apt list --installed steam
The games you mention:
These kind of work sometimes on Steam with Proton on GnuLinux.
In the case of Elden Ring, support on GnuLinux breaks often after updates. So, yes, some people may say it works for them; it is no guarantee it will for everyone.
And, it can stop working at any moment.
Everything you describe sounds exactly like EasyAntiCheat blocking.
If steam is installed as APT supplied package (The second command checking the install status above), launch Steam from terminal
steam
Launch the Space Marines 2 or Elden Ring title - than monitor the Terminal for events that log a failure.
looks like it's a package, as apt list gave this:
steam/jammy,now 1:1.0.0.74-1ubuntu2 i386 [installed]
Seems to make the most sense. I'm still confused as to why it'd work just fine on the steam deck, though.
launching space marine 2 after launching steam through the terminal gave a lot of data, several lines of errors and warnings
Proton: Upgrading prefix from None to 10.1000-200 (/media/Losci/58423F58423F39D8/SteamLibrary/steamapps/compatdata/2183900/)
Traceback (most recent call last):
File "/home/Losci/.steam/debian-installation/steamapps/common/Proton - Experimental/proton", line 2100, in
g_session.init_session(sys.argv[1] != "runinprefix")
File "/home/Losci/.steam/debian-installation/steamapps/common/Proton - Experimental/proton", line 1979, in init_session
g_compatdata.setup_prefix()
File "/home/Losci/.steam/debian-installation/steamapps/common/Proton - Experimental/proton", line 962, in setup_prefix
os.symlink("../drive_c", self.prefix_dir + "/dosdevices/c:")
OSError: [Errno 22] Invalid argument: '../drive_c' -> '/media/Losci/58423F58423F39D8/SteamLibrary/steamapps/compatdata/2183900/pfx//dosdevices/c:'
chdir "/media/Losci/58423F58423F39D8/SteamLibrary/steamapps/common/Space Marine 2/client_pc/root/bin/pc"
ERROR: ld.so: object '/home/Losci/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/Losci/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Game Recording - would start recording game 2183900, but recording for this game is disabled
Adding process 67797 for gameID 2183900
ERROR: ld.so: object '/home/Losci/.steam/debian-installation/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/Losci/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/Losci/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Adding process 67798 for gameID 2183900
WARNING: discarding _NET_WM_PID 5 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
WARNING: discarding _NET_WM_PID 5 as invalid for X11 window - use specialized XCB_X11_TO_PID function!
Adding process 67799 for gameID 2183900
Adding process 67800 for gameID 2183900
Proton: Upgrading prefix from None to 10.1000-200 (/media/Losci/58423F58423F39D8/SteamLibrary/steamapps/compatdata/2183900/)
Traceback (most recent call last):
File "/home/Losci/.steam/debian-installation/steamapps/common/Proton - Experimental/proton", line 2100, in
g_session.init_session(sys.argv[1] != "runinprefix")
File "/home/Losci/.steam/debian-installation/steamapps/common/Proton - Experimental/proton", line 1979, in init_session
Adding process 67903 for gameID 2183900
g_compatdata.setup_prefix()
File "/home/Losci/.steam/debian-installation/steamapps/common/Proton - Experimental/proton", line 962, in setup_prefix
os.symlink("../drive_c", self.prefix_dir + "/dosdevices/c:")
OSError: [Errno 22] Invalid argument: '../drive_c' -> '/media/Losci/58423F58423F39D8/SteamLibrary/steamapps/compatdata/2183900/pfx//dosdevices/c:'
Game Recording - game stopped [gameid=2183900]
Removing process 67903 for gameID 2183900
Removing process 67800 for gameID 2183900
Removing process 67799 for gameID 2183900
Removing process 67798 for gameID 2183900
Removing process 67797 for gameID 2183900
Looking at your log - I could be wrong, though... Your log shows it is not even reaching EasyAntiCheat before failing.
From this, I strongly suspect that the mounted external drive is formatted to Windows NTFS or maybe exFAT, not EXT4.
NTFS has poor symlink support.
Can you confirm... and if it is...
The solution is to store the games on an EXT4 or BRTFS formatted drive...
I thought I had formatted the drives already, but I guess not. The game launches now. Thanks!