mirror of
https://github.com/amiayweb/Hytale-F2P.git
synced 2026-02-26 19:21:44 -03:00
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>
66 lines
1.4 KiB
Markdown
66 lines
1.4 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
cd ~/.hytalef2p/release/package/game/latest/Client
|
|
rm libzstd.so
|
|
mv libzstd.so.bundled libzstd.so
|
|
```
|
|
|
|
---
|
|
|
|
## Debug Commands (for troubleshooting)
|
|
|
|
### Check libzstd Status
|
|
|
|
```bash
|
|
# Check if symlinked
|
|
ls -la ~/.hytalef2p/release/package/game/latest/Client/libzstd.so
|
|
|
|
# Find system libzstd
|
|
find /usr/lib -name "libzstd.so*"
|
|
```
|
|
|
|
### Binary Validation
|
|
|
|
```bash
|
|
file ~/.hytalef2p/release/package/game/latest/Client/HytaleClient
|
|
ldd ~/.hytalef2p/release/package/game/latest/Client/HytaleClient
|
|
```
|
|
|
|
### Restore Client Binary
|
|
|
|
```bash
|
|
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` |
|