The stand-alone mod S.T.A.L.K.E.R. Anomaly aims to be the most stable and customizable experience for fans of the S.T.A.L.K.E.R. games. It's powered by the Monolith 64-bit engine, a custom fork of the X-Ray engine.

Forum Thread
  Posts  
Anomaly on Linux with Steam Proton (Games : S.T.A.L.K.E.R.: Call of Pripyat : Mods : S.T.A.L.K.E.R. Anomaly : Forum : Support : Anomaly on Linux with Steam Proton) Locked
Thread Options
Apr 29 2020 Anchor

I play Anomaly 1.5.0 [BETA 3.0] with mods on Manjaro Linux 64bit using Steam and Proton and I decided to write this guide so others could try this as well. On my setup with highest settings and a couple of gameplay mods there's almost no performance drop compared to Windows. On top of the tower in the swamps I get 57 FPS on Windows and 54 FPS on Linux with DX11 AVX. The game takes a little bit longer start, though. This might be noticeable if you don't have SSD.

Requirements: Steam with at least one game without native Linux support in library (you don't need Stalker COP). I tested it with BioShock Remastered, Anomaly Zone (f2p) and PUBG (with issues) but should work with pretty much anything.

Guide:

  1. Enable Steam Play for all titles: in Steam settings go to Steam Play and check both checkboxes.

  2. Find in your Steam library a game which doesn't have Linux support (and which you're not going to play). You can find supported platforms on games' pages in store or on steamdb.info. Preferably choose a game that will not receive updates from Steam since I don't know how updating might affect this solution. If you don't own any fitting title, you can always check f2p positions in Steam store.

  3. Install chosen game. I will use Anomaly Zone as an example throughout this guide.

  4. (Can be done while it's downloading) Right-click chosen game and open Properties, check "Force the use of a specific Steam Play compatibility tool" and choose "Proton 4.11-13". You can also try other versions, but for me this one worked best and the newest one (5.0-6 atm) caused massive performance drops near npcs.

  5. Launch the game at least once to let Steam install DirectX and other dependencies (this step MIGHT be optional, but it won't hurt). Don't worry if the game itself crashes / fails to run - we won't need it. If it does start you can use this moment to locate the .exe file that Steam uses for this game: while the game is running open terminal and run command
    ps aux | grep proton
    For Anomaly Zone .exe is at "/home/user/.local/share/Steam/steamapps/common/sZone-Online/game/SZoneOnline.exe"

  6. Unpack Anomaly to a directory of you choosing. In this guide I will use "/home/user/.local/share/S.T.A.L.K.E.R.Anomaly"

  7. Find the Steam game's main executable (you can use step 5; for Anomaly Zone it's SZoneOnline.exe), go to Stalker Anomaly directory and create a symlink named after found executable targeting AnomalyLauncher.exe:
    cd /home/user/.local/share/S.T.A.L.K.E.R.Anomaly
    ln -s AnomalyLauncher.exe SZoneOnline.exe
  8. Compare Stalker Anomaly directory with directory containing Steam game's executable (i.e. "/home/user/.local/share/S.T.A.L.K.E.R.Anomaly" with "/home/user/.local/share/Steam/steamapps/common/sZone-Online/game").
    If no file/directory names are overlapping you're safe from data loss (see section Handling Updates).
  9. Replace the directory which contains Steam game's executable (directly) with a symlink to Stalker Anomaly directory:
    rm -r /home/user/.local/share/Steam/steamapps/common/sZone-Online/game
    ln -s /home/user/.local/share/S.T.A.L.K.E.R.Anomaly /home/user/.local/share/Steam/steamapps/common/sZone-Online/game
  10. Remove all the other, now unnecessary, files from your Steam game, leaving only the newly created symlink.

  11. Launch your game from steam. Anomaly Launcher should pop up instead.

WARNING: If in step 8 you've found filenames that were present both in Anomaly and chosen game, those files will probably get overwritten if Steam decides to update your game. I suggest choosing different game.

Handling Updates:
It's best to simply choose a game that will not receive any updates from Steam rather than new / alive games. Either way, if step 8 was without duplicates, your files should be safe. Since there's no "legal" way of disabling Steam game updates, here are a couple options you could use to handle updates from Steam:

  1. Skip the update using appmanifest (thanks to this guide)
    In Steam go to game Properties, Updates tab and set Automatic updates to "Only update this game when I launch it".
    Whenever update starts promptly close whole Steam.
    Find your game on steamdb.info and note App ID.
    Go to <steam dir>/steamapps and edit file appmanifest_<appid>.acf:
    Set "StateFlags" to "4"
    Look for sections "InstalledDepots" and "MountedDepots", most game will have only one key in those sections, but some might have more. On game's steamdb go to Depots section and open depots that you've found in your appmanifest. In each of them go to Manifests section and update your appmanifest with latest MANIFESTIDs (both in InstalledDepots and MountedDepots).
    Delete contents of <steam dir>/steamapps/downloading directory.
    Now you can start steam again, it should think your game has the latest version now.

  2. Break link, update game, restore link
    In Steam go to game Properties, Updates tab and set Automatic updates to "Only update this game when I launch it".
    Whenever update starts promptly close whole Steam, rename/delete symlink created in step 9, start Steam and let it update. Once it's finished you can delete the files again and restore the symlink.

  3. Just let it happen and watch the world burn
    If step 8 was fine you can just let it update. You will notice that instead of Stalker the original game launches. Just delete files with new modified date (watch out for saves). Or don't. I won't tell you how to live your life if your hard drive is free real estate.
    Either way you'll have to restore symlink from step 7.

  4. If anyone knows a way to completely disable updates for a specific steam game, let me know in this thread.

Issues:

  • Launcher won't allow me to enable AVX support and I want to use it
    Solution: go to Anomaly directory/bin, rename chosen non-AVX exe and create a symlink to AVX exe instead
    cd /home/user/.local/share/S.T.A.L.K.E.R.Anomaly/bin
    mv AnomalyDX11.exe AnomalyDX11.exe.bak
    ln -s AnomalyDX11AVX.exe AnomalyDX11.exe
  • Water is blue, purple and pink on DX10 and DX11
    Solution: turn on "Soft water" in advanced visual settings and restart game

  • I quit the game but it's still running according to Steam
    Yeah, apparently some games fail to quit for some reason when replaced with Anomaly (i.e. PUBG), while others work fine.
    Solution: kill the game process manually after each session ("ps aux | grep Z:", sorry, I don't have anything better) or try with another Steam game

Other guides:

Edit 14.05: Updated the "Handling Updates" section after some testing.

Edited by: Lignar

Reply to thread
click to sign in and post

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.