Files
hytale-f2p/docs/STEAMDECK_DEBUG_COMMANDS.md
sanasol 9ec97f9d33 fix: Steam Deck/Ubuntu crash - use system libzstd.so
The bundled libzstd.so is incompatible with glibc 2.41's stricter heap
validation, causing "free(): invalid pointer" crashes.

Solution: Automatically replace bundled libzstd.so with system version
on Linux. The launcher detects and symlinks to /usr/lib/libzstd.so.1.

- Auto-detect system libzstd at common paths (Arch, Debian, Fedora)
- Backup bundled version as libzstd.so.bundled
- Create symlink to system version
- Add HYTALE_NO_LIBZSTD_FIX=1 to disable if needed

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 19:40:42 +01:00

1.4 KiB

Steam Deck / Linux Crash Fix

SOLUTION: Use system libzstd

The crash is caused by the bundled libzstd.so being incompatible with glibc 2.41's stricter heap validation.

Automatic Fix

The launcher automatically replaces libzstd.so with the system version. No manual action needed.

Manual Fix

cd ~/.hytalef2p/release/package/game/latest/Client

# Backup and replace
mv libzstd.so libzstd.so.bundled
ln -s /usr/lib/libzstd.so.1 libzstd.so

Restore Original

cd ~/.hytalef2p/release/package/game/latest/Client
rm libzstd.so
mv libzstd.so.bundled libzstd.so

Debug Commands (for troubleshooting)

Check libzstd Status

# Check if symlinked
ls -la ~/.hytalef2p/release/package/game/latest/Client/libzstd.so

# Find system libzstd
find /usr/lib -name "libzstd.so*"

Binary Validation

file ~/.hytalef2p/release/package/game/latest/Client/HytaleClient
ldd ~/.hytalef2p/release/package/game/latest/Client/HytaleClient

Restore Client Binary

cd ~/.hytalef2p/release/package/game/latest/Client
cp HytaleClient.original HytaleClient
rm -f HytaleClient.patched_custom

Environment Variables

Variable Description Example
HYTALE_AUTH_DOMAIN Custom auth domain auth.sanasol.ws
HYTALE_NO_LIBZSTD_FIX Disable libzstd replacement 1