---
name: goldberg-emulator
description: "Goldberg Steam Emulator & gbe_fork reference — standalone steam_api64.dll replacement for running non-Steam games on Linux."
---

# Goldberg Steam Emulator — Reference

## Original Goldberg (Mr_Goldberg)

- **GitLab:** https://gitlab.com/Mr_Goldberg/goldberg_emulator
- **Latest Release:** v0.2.5 (Aug 12, 2019) — works for most games up to ~2022
- **Direct Download (zip):** https://gitlab.com/Mr_Goldberg/goldberg_emulator/-/releases/0.2.5

### Files (from the zip)

| File | Purpose | Size |
|------|---------|------|
| `experimental/steam_api64.dll` | 64-bit Steamworks SDK replacement | ~1.6MB |
| `experimental/steamclient64.dll` | 64-bit Steam Client API emulation helper | ~101KB |
| `experimental/steam_api.dll` | 32-bit Steamworks SDK replacement | ~1.2MB |
| `experimental/steamclient.dll` | 32-bit Steam Client API emulation helper | ~82KB |

## gbe_fork (Detanup01 — Modern Maintained Fork, 2026)

The original Goldberg hasn't been updated since 2019. For games released 2023+, use **gbe_fork** by Detanup01 — actively maintained.

- **GitHub:** https://github.com/Detanup01/gbe_fork
- **Latest Release:** release-2026_04_25 (Apr 25, 2026)
- **Windows DLLs:** https://github.com/Detanup01/gbe_fork/releases/download/release-2026_04_25/emu-win-release.7z
- **Linux .so:** https://github.com/Detanup01/gbe_fork/releases/download/release-2026_04_25/emu-linux-release.tar.bz2

### Files (emu-win-release.7z)

| File | Purpose | Size |
|------|---------|------|
| `release/regular/x64/steam_api64.dll` | Standalone (preferred) | ~11MB |
| `release/regular/x32/steam_api.dll` | 32-bit standalone | ~8MB |
| `release/experimental/x64/steam_api64.dll` | Enhanced + steamclient support | ~22MB |
| `release/experimental/x32/steam_api.dll` | 32-bit experimental | ~15MB |
| `release/experimental/x64/steamclient64.dll` | Steam Client helper | ~111KB |
| `release/steamclient_experimental/steamclient_loader_x64.exe` | Injector launcher | ~350KB |
| `release/steamclient_experimental/steamclient64.dll` | Alt steamclient | ~111KB |

### Regular vs Experimental

**Regular** (~11MB) — monolithic standalone. Contains everything needed. Recommended for most games. Just replace the DLL + set up steam_settings/.

**Experimental** (~22MB) — larger, includes additional fixup code. Use when regular fails. Also works with steamclient64.dll for injector setups.

### Typical Setup

```
game_root/
├── game.exe
├── steam_api64.dll          ← gbe_fork's DLL (replace original)
├── steam_settings/
│   ├── steam_appid.txt      ← contains just the AppID number
│   ├── configs.main.ini     ← networking, DLC unlock
│   ├── configs.user.ini     ← username, SteamID
│   └── steam_interfaces.txt ← from original game or generated
└── (other game files)
```

No injector, no loader, no kernel drivers.

## steam_settings Directory

Place alongside the game exe. Key files:

| File | Purpose |
|------|---------|
| `steam_appid.txt` | **Required.** Single line with the Steam AppID. |
| `steam_interfaces.txt` | List of Steam interface versions the game needs. |
| `configs.app.ini` | DLC ownership config. |
| `configs.user.ini` | Username, SteamID, language. |
| `configs.main.ini` | Networking/LAN settings. |
| `configs.overlay.ini` | Overlay settings. |
| `depots.txt` | Owned depot IDs. |
| `achievements.json` | Achievement definitions. |
| `items.json` | Inventory item definitions. |

### Example configs.main.ini
```ini
[main::connectivity]
disable_networking=0
disable_overlay=0
disable_lan_only=0

[main::general]
unlock_all_dlc=1
enable_experimental_overlay=1
```

### Example configs.user.ini
```ini
[user::general]
account_name=Player
account_steamid=76561198012345678
language=english
```

## How It Works

`steam_api64.dll` is a drop-in replacement for the official Steamworks SDK DLL. When the game calls `SteamAPI_Init()`:

1. Starts local Steam client emulation in-process
2. Reads `steam_settings/steam_appid.txt` for the AppId
3. Reports the user as owning the app (bypasses entitlement)
4. Handles all Steamworks calls locally (stats, achievements, cloud)

## When to Use Which

| Scenario | Recommended |
|----------|-------------|
| Game from 2023+ with newer Steam APIs | **gbe_fork regular** (11MB) |
| Game from 2021-2022 | **Goldberg experimental** (1.6MB) |
| Gbe_fork regular fails (interface errors) | **gbe_fork experimental** (22MB) |
| Game uses steamclient_loader_x64.exe | **ColdClientLoader** (crack's injector) |
| ColdClientLoader injection fails | **gbe_fork regular** + run game.exe directly |
| Linux native game | **gbe_fork Linux build** (`libsteam_api.so`) |
