x86-64 Beta Fixes (Linux) - Garry's Mod

A collection of fixes for Linux x86-64 beta releases.

Nonexistent swiftshader path
Issue: Game looks for libraries in nonexistent bin/linux64/swiftshader and crashes
Create the link:
cd /path/to/GarrysMod/bin/linux64 ln -s . swiftshader
Game crashes on load, media does not play
Issue: Faulty Chromium libraries
Either:
  • Use GModCEFCodecFix[github.com], it fixes codecs and the crashing issue
    Note: If you replaced Chromium libraries in the past, restore the ones provided by the game
  • Link global Chromium libraries (any flavour)
    1. Back up existing libraries
      mv /path/to/GarrysMod/bin/linux64/libGLESv2.so{,.bak} mv /path/to/GarrysMod/bin/linux64/libEGL.so{,.bak}
    2. Link global libraries to game library path
      ln -s /usr/lib/chromium/{libGLESv2,libEGL}.so /path/to/GarrysMod/bin/linux64/
Some menus fail to load
Issue: Chromium-powered game UI is broken
Note: This is optional if GModCEFCodecFix[github.com] is used

Install robotboy655's gmod-lua-menu[github.com]
  1. Back up the original menu
    mv /path/to/GarrysMod/garrysmod/lua/menu/menu.lua{,.bak}
  2. Clone gmod-lua-menu someplace else
    cd /tmp/ git clone https://github.com/robotboy655/gmod-lua-menu
  3. Copy materials and lua directories over to the game installation
    cp -r gmod-lua-menu/{materials,lua} /path/to/GarrysMod/garrysmod/
Unable to load module engine_client.so
Issue: The library looks for specific libcrypto.so.1.0.0 and libssl.so.1.0.0 that don't exist
Add OpenSSL 1.0.1 to the game's library path
  1. Obtain OpenSSL 1.0.1u[www.openssl.org]
  2. Extract the archive and compile it
    tar xzf openssl-1.0.1u.tar.gz cd openssl-1.0.1u ./config shared make -j$(nproc)
  3. Copy the compiled libraries to your game installation
    cp {libssl,libcrypto}.so* /path/to/GarrysMod/bin/linux64
TODO: Font fixes
This section is not complete yet, and it will likely be its own guide.

Until either is complete, refer to the equivalent guide for Counter-Strike: Source, but with these differences:
  • Substitute the file paths of both .res files with GarrysMod/garrysmod/, and replace both of them. Note file capitalisation differences
  • The Missing Glyphs section is redundant until "SetLocale('en_US.UTF-8') failed" is fixed
https://steamcommunity.com/sharedfiles/filedetails/?id=2829864889
WONTFIX: Steam Overlay is not available
Issue: Steam Overlay cannot be used within the game, making addon management and other Steam interactions more tedious
Steam Overlay was disabled by the developers due to frequent crashes. Until the situation improves, there wouldn't be a reason to hack it in as it would result in an even worse experience.
FIXME: SetLocale('en_US.UTF-8') failed
Issue: The game cannot load the en_US.UTF-8 locale even if it is present, causing missing glyphs
There is no known fix for this!

For some reason, this error happens, evident by console output:
SetLocale('en_US.UTF-8') failed. Using 'LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=en_US.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=en_US.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=en_US.UTF-8;LC_ADDRESS=en_US.UTF-8;LC_TELEPHONE=en_US.UTF-8;LC_MEASUREMENT=en_US.UTF-8;LC_IDENTIFICATION=en_US.UTF-8'.
You may have limited glyph support.
Please install 'en_US.UTF-8' locale.
Sources
  • AppFramework : Unable to load module engine_client.so | Issue #5056[github.com]
  • Game crash on Steam Linux Runtime | Issue #5092[github.com]
  • Startup Crash on Linux | Issue #5096[github.com]

-- Mirrored from Steam