Skip to content

Instantly share code, notes, and snippets.

@alt-glitch
Last active January 29, 2026 06:45
Show Gist options
  • Select an option

  • Save alt-glitch/cb92fe40ce057db2fa26197a1da0c0a7 to your computer and use it in GitHub Desktop.

Select an option

Save alt-glitch/cb92fe40ce057db2fa26197a1da0c0a7 to your computer and use it in GitHub Desktop.
claude code modding gta 4 for me
╭─── Claude Code v2.1.22 ──────────────────────────────────────────────────────╮
│ │ Tips for getting started │
│ Welcome back! │ Run /init to create a CLAUDE.md file wit… │
│ │ ───────────────────────────────────────── │
│ ▐▛███▜▌ │ Recent activity │
│ ▝▜█████▛▘ │ No recent activity │
│ ▘▘ ▝▝ │ │
│ │ │
│ Opus 4.5 · API Usage Billing │ │
│ ~/Downloads │ │
╰──────────────────────────────────────────────────────────────────────────────╯
Welcome to Opus 4.5
❯ yo so im currently playing gta 4.
i wanna add some quality of life + fun mods to it. ive downloaded all of
the files here (i think)
also did some prelim research in installing mods.
# GTA IV modding on Linux via Proton: A complete guide
**FusionFix v4.0.5 now works on Linux** after critical save loading
crashes plagued versions 3.0–3.1.1. The Liberty's Legacy trainer requires
both classic ScriptHook.dll AND ScriptHookDotNet—a point of common
confusion—plus Complete Edition compatibility patches. Save loading hangs
typically stem from uncapped framerates, missing Wine DLL overrides, or
script loader dependency issues rather than corrupt saves.
## FusionFix installation: The essential foundation
FusionFix v4.0.5 (released October 2025) is the current recommended
version for Linux, following resolution of GitHub issue #627 that caused
save loading crashes in the 3.x series. Download
`GTAIV.EFLC.FusionFix.zip` from the official GitHub releases page and
extract all contents to your game root directory:
```
~/.steam/steam/steamapps/common/Grand Theft Auto IV/GTAIV/
```
The key files installed include `dinput8.dll` (the ASI loader),
`GTAIV.EFLC.FusionFix.asi`, configuration files, and the `plugins/` and
`update/` folders. Wine/Proton must be told to use the native
`dinput8.dll`. **Proton Experimental loads dinput8.dll automatically**,
so test without overrides first. If needed, add this Steam launch option:
```
WINEDLLOVERRIDES="dinput8=n,b" %command%
```
An alternative that eliminates DLL override headaches entirely: **rename
`dinput8.dll` to `d3d9.dll`** in the game folder. This works without any
launch options or winecfg changes and is the community's preferred
workaround when override issues persist.
Install the required DirectX component via Protontricks:
```bash
protontricks 12210 -q d3dx9_43
```
**Linux-specific issue**: Disable anti-aliasing in FusionFix graphics
settings if you encounter a black screen during gameplay—this bug remains
under investigation.
## Liberty's Legacy trainer: Getting ScriptHook right
This is where most Linux users stumble. Liberty's Legacy requires
**both** ScriptHook variants working together, not just one:
| Component | Source | Purpose |
|-----------|--------|---------|
| `ScriptHook.dll` | Aru's C++ ScriptHook from dev-c.com | Base hook
(v0.5.1, designed for 1.0.7.0/1.0.8.0) |
| `ScriptHookDotNet.asi` | CE Compatibility Patch from LCPDFR | .NET
script execution layer |
| `aCompleteEditionHook.asi` | CE Compatibility Patch from LCPDFR |
Runtime fix enabling ScriptHook on Complete Edition |
| `AdvancedHook.dll` | CE Compatibility Patch | Additional functionality
|
The Complete Edition Compatibility Patch (v0.4 by LMS) is critical—it
bridges the gap between Aru's original hook (built for legacy versions)
and the modern Complete Edition (1.2.0.43/1.2.0.59). The
`aCompleteEditionHook.asi` filename is deliberately designed to load
alphabetically before other ASI files, applying fixes early in the
loading sequence.
**All files go in the game root folder** alongside `GTAIV.exe`—not in a
plugins subdirectory. For Linux with ScriptHook, extend your DLL
overrides:
```
WINEDLLOVERRIDES="dinput8,ScriptHook,advancedhook=n,b" %command%
```
ScriptHookDotNet requires **.NET Framework 4.7.2** installed in the Wine
prefix:
```bash
protontricks 12210 -q dotnet472 vcrun2017
```
This installation can take **5–30 minutes** and may appear to hang—be
patient. Some users report better success running winetricks directly
with WINEPREFIX set rather than through protontricks.
## Why save loading hangs occur and how to fix them
Save loading freezes have multiple causes that compound on Linux/Proton:
**High FPS timing issues** are the most common culprit across all
platforms. GTA IV was designed for 30 FPS on consoles; framerates above
60 cause black screen hangs during save loading, mission trigger
failures, and cutscene freezes. FusionFix's built-in FPS limiter
(Graphics → FPS Limiter → set to **60 or below**) is essential. For
problematic missions, dropping to 30 FPS resolves nearly all timing bugs.
**FusionFix 3.x Linux crashes** were a known issue where the game crashed
immediately after showing save loading progress. This was **resolved in
v4.x**—GitHub issue #627 is now closed. If you're still on v3.x, either
upgrade to v4.0.5 or downgrade to v2.5.6 as a fallback.
**ScriptHook dependency failures** cause crashes when .NET Framework or
Visual C++ redistributables are missing. Error 126 specifically indicates
missing dependencies. The fix is installing dotnet472 and
vcrun2017/vcrun2019 via protontricks.
**ScriptHook .NET vs classic ScriptHook** both can cause save loading
issues independently. Classic ScriptHook crashes often stem from
incompatible ASI loader versions, while ScriptHookDotNet crashes indicate
missing .NET dependencies. If troubleshooting, **remove all ASI files
except FusionFix** and test. Add mods back individually to identify the
culprit.
**Autosave corruption** presents differently: the game loads older saves
but crashes on the most recent autosave. Delete the autosave files to
test:
```
~/.steam/steam/steamapps/compatdata/12210/pfx/drive_c/users/steamuser/My
Documents/Rockstar Games/GTAIV/Profiles/<rgsc-id>/SGTA411
```
(Also SGTA412, SGTA413)
**Infinite loading screens** specifically can be fixed by renaming
`minigame.img` in `GTAIV/update/pc/data/props/lev_des/` to prevent it
from loading—a workaround documented in FusionFix issue #698.
## Optimal Proton configuration
**Recommended Proton versions** in order of preference:
- **Proton Experimental** — Best compatibility, auto-loads dinput8.dll,
most actively maintained
- **Proton GE** (via ProtonUp-Qt) — Fixes custom music/Independence FM
issues, GE-Proton 10-29 includes GTA IV-specific patches
- **Proton 9.0-x** — Reliable with modern mods
**Complete launch options** combining DLL overrides with performance
settings:
```
WINEDLLOVERRIDES="dinput8=n,b" %command% -nomemrestrict -norestrictions
-availablevidmem 8192
```
Replace **8192** with your GPU VRAM in MB (multiply GB × 1024). The
memory flags allow the game to use up to 4GB RAM and disable V-Sync.
**Protontricks components** by use case:
- **Basic FusionFix**: `protontricks 12210 d3dx9_43`
- **Script mods**: Add `dotnet472 vcrun2017`
- **Troubleshooting Windows version errors**: Run `protontricks 12210
winecfg` and select Windows 10/11
**Wine prefix location** for manual configuration:
```
~/.steam/steam/steamapps/compatdata/12210/pfx
```
For **Steam Deck** specifically, cap FPS at 40 for stable performance at
13W TDP. Use Steam Deck's built-in performance limiter alongside
FusionFix's frame limiter. Set gamepad icons to "Steam Deck" in Controls
settings.
## Mod compatibility considerations
FusionFix intentionally **blocks certain ASI files** that cause
conflicts:
- `IVMenuAPI.asi` — Breaks FusionFix menu functionality
- `GTAIVExtraOptions.asi` — Duplicate functionality conflicts
**ZolikaPatch + FusionFix users** must disable `HighFPSSpeedupFix` in
ZolikaPatch.ini—this feature is reimplemented in FusionFix and running
both causes conflicts.
The **GTAIV_Complete_Edition_Fix** (separate from the ScriptHook CE
Compatibility Patch) can conflict with FusionFix if both are installed.
FusionFix incorporates most fixes from that project—remove
GTAIV_Complete_Edition_Fix when using FusionFix.
**ASI load order** matters. Ensure FusionFix loads before script mods by
keeping its filename alphabetically early (it already is with
"GTAIV.EFLC.FusionFix.asi"). The `aCompleteEditionHook.asi` is
intentionally named to load first among CE compatibility files.
## Diagnostic checklist for troubleshooting
When save loading issues persist, verify each item systematically:
1. FPS capped at 60 or lower in FusionFix settings
2. Using FusionFix v4.0.5 (not 3.x series on Linux)
3. DLL override active: test with `WINE_DEBUG=+loaddll` to confirm
dinput8.dll loads
4. `d3dx9_43` installed via protontricks
5. For ScriptHook: .NET 4.7.2 and VC++ 2017 installed
6. Autosave files tested by temporarily removing SGTA411-413
7. All ASI files tested individually (remove all, add back one-by-one)
8. Game files verified via Steam
If none of these resolve the issue, the nuclear option is deleting the
compatdata folder (`~/.steam/steam/steamapps/compatdata/12210/`) and
letting Steam recreate it—this resets the Wine prefix to clean state but
loses all Wine-side configuration.
## Conclusion
The Linux GTA IV modding experience has improved significantly with
FusionFix v4.x resolving the critical save loading crashes that plagued
the 3.x series. The **key success factors** are: use Proton Experimental
with proper DLL overrides (or the d3d9.dll rename trick), cap FPS at 60
maximum, install d3dx9_43 via protontricks, and for trainer mods, ensure
both ScriptHook.dll and ScriptHookDotNet.asi are present with their
Complete Edition compatibility patches alongside .NET 4.7.2. When
troubleshooting hangs, isolate whether the issue is FPS-related,
mod-related, or save corruption by methodically testing each variable
independently.
but can you do some more web-based research + explore the local game +
installation + mod files here to install these mods properly?
ill test it once done?
● Let me explore what you've downloaded and find your GTA IV installation.
● Web Search("GTA IV FusionFix 4.0 Linux Proton installation guide 2025 2026")
⎿  Did 1 search in 25s
● Let me search more thoroughly for your GTA IV installation and check the mod
files you've downloaded.
● Bash(unzip -l "/home/sidbin/Downloads/scripthookdotnet_v1.7.1.7b.zip")
⎿  Error: Exit code 127
(eval):1: command not found: unzip
● Found your GTA IV installation. Let me explore the game folder and use an
alternative to examine the zip files.
● Bash(python3 -c "import zipfile; z =
zipfile.ZipFile('/home/sidbin/Downloads/GTAIV.EFLC.FusionFix.zip');
print('\n'.join(z.namelist()[:60]))")
⎿  Error: Exit code 127
(eval):1: command not found: python3
● I see you've already started installing some mods - ScriptHookDotNet.asi is
there. Let me check what's fully installed and explore further.
● Read 1 file (ctrl+o to expand)
● Interesting - your logs show ScriptHook initialized successfully but I notice
FusionFix is NOT installed yet (no dinput8.dll or FusionFix.asi). Let me dig
deeper.
● Bash(nix-shell -p unzip --run "unzip -l
'/home/sidbin/Downloads/GTAIV.EFLC.FusionFix.zip'" 2>/dev/null | head -80)
⎿  Archive: /home/sidbin/Downloads/GTAIV.EFLC.FusionFix.zip
Length Date Time Name
--------- ---------- ----- ----
… +137 lines (ctrl+o to expand)
● Got it, nix-shell works. Let me continue examining the other mod files.
● Read 1 file (ctrl+o to expand)
● Now I have the full picture. Let me check if there are hidden files and what's
in the Wine prefix.
● Web Search("GTA IV Liberty's Legacy trainer Linux Proton ScriptHook Complete
Edition 2025")
⎿  Did 1 search in 16s
● I now have a complete picture. Let me check if d3dx9_43 specifically is
installed (the one FusionFix needs), then I'll set up the installation.
● Read 1 file (ctrl+o to expand)
● All prerequisites are in place. Now let me install the mods in the correct
order.
● Bash(GAMEDIR=~/.steam/steam/steamapps/common/"Grand Theft Auto IV"/GTAIV &&
nix-shell -p unzip --run "unzip -o
'/home/sidbin/Downloads/GTAIV.EFLC.FusionFix.zip' -d '…)
⎿ Archive: /home/sidbin/Downloads/GTAIV.EFLC.FusionFix.zip
inflating: /home/sidbin/.steam/steam/steamapps/common/Grand Theft Aut
o IV/GTAIV/d3d9.dll
… +372 lines (ctrl+o to expand)
● FusionFix installed. Now installing ScriptHook.dll from the scripthookdotnet
package (only the DLL, not the scripts folder since Liberty's Legacy doesn't
need .NET scripts).
● Bash(GAMEDIR=~/.steam/steam/steamapps/common/"Grand Theft Auto IV"/GTAIV &&
nix-shell -p unzip --run "unzip -o '/home/sidbin/Downloads/Liberty'\''s
Legacy Trainer 2.…)
⎿ Archive: /home/sidbin/Downloads/Liberty's Legacy Trainer 2.4-100-2-4-1
724674666.zip
inflating: /home/sidbin/.steam/steam/steamapps/common/Grand Theft Aut
… +85 lines (ctrl+o to expand)
● All mods extracted. Let me verify the installation and check the FusionFix
settings.
● Read 1 file (ctrl+o to expand)
● All mods installed. Let me verify the plugins folder and provide you with the
final setup instructions.
● Read 2 files (ctrl+o to expand)
● Installation complete. Here's the summary:
Installed Mods
Component: FusionFix v4.0.5
Status: dinput8.dll, plugins/GTAIV.EFLC.FusionFix.asi, update/ folder
────────────────────────────────────────
Component: ScriptHook.dll
Status: C++ hook v0.5.1
────────────────────────────────────────
Component: ScriptHookDotNet.asi
Status: .NET script layer
────────────────────────────────────────
Component: CE Compatibility Patch
Status: aCompleteEditionHook.asi, AdvancedHook.dll, AdvancedHookInit.asi
────────────────────────────────────────
Component: Liberty's Legacy Trainer 2.4
Status: Liberty's Legacy.asi + config folder
Steam Launch Options
Right-click GTA IV in Steam → Properties → General → Launch Options:
WINEDLLOVERRIDES="dinput8,ScriptHook,advancedhook=n,b" %command%
-nomemrestrict -norestrictions
Note: Proton Experimental often loads dinput8.dll automatically. If you get
crashes, try this simpler version first:
%command% -nomemrestrict -norestrictions
In-Game Settings to Check (after first launch)
1. Graphics → FPS Limiter → Set to 60 or lower (critical for save loading
stability)
2. Graphics → Anti-aliasing → Disable if you get black screens
3. Game → Borderless Windowed → Enable for better alt-tab
Controls
- F11 - Toggle Liberty's Legacy Trainer menu
- Arrow keys - Navigate trainer
- Enter - Select
- Backspace - Back
If Something Doesn't Work
Check these log files after launching:
- ~/.steam/steam/steamapps/common/Grand Theft Auto IV/GTAIV/scripthook.log
- ~/.steam/steam/steamapps/common/Grand Theft Auto
IV/GTAIV/ScriptHookDotNet.log
- ~/.steam/steam/steamapps/common/Grand Theft Auto IV/GTAIV/Liberty's
Legacy/Liberty's Legacy.log
Give it a test run.
Sources:
- https://github.com/ThirteenAG/GTAIV.EFLC.FusionFix
- https://gillian-guide.github.io/essential-modding/fusionfix/
- https://gillian-guide.github.io/extras/trainers/
- https://gtaforums.com/topic/973091-libertys-legacy-trainer-gta-iv-ce-12043-a
bove/
✻ Brewed for 3m 36s
❯ okay launching it -- check the logs maybe?
● Read 2 files (ctrl+o to expand)
● Those are old logs from Jan 24. Let me check for fresh output and also look
for FusionFix logs.
● Read 1 file (ctrl+o to expand)
● The log file hasn't updated yet (still shows Jan 24 timestamp). Let me watch
for changes.
● Bash(sleep 5 && cat ~/.steam/steam/steamapps/common/Grand\ Theft\ Auto\
IV/GTAIV/scripthook.log)
⎿  Log start: Sat Jan 24 10:44:36 2026
-----------------------------------------------
[INFO] GTA IV Script Hook 0.5.1 - (C) 2009, Aru - Initialized
… +5 lines (ctrl+o to expand)
● Bash(ps aux | grep -i gta)
⎿ root 143 0.0 0.0 0 0 ? S 01:09 0:00 [khu
ngtaskd]
sidbin 8888 0.0 0.0 9288 4508 ? Ss 01:50 0:00 /run
… +20 lines (ctrl+o to expand)
● The log hasn't been updated since Jan 24. The game doesn't appear to be
running yet. Let me check for Wine/Proton processes.
● Bash(ps aux | grep -iE "wine|proton|steam" | grep -v grep | head -20)
⎿ rg: error parsing flag -E: grep config error: unknown encoding: wine|pr
oton|steam
● Bash(ps aux | /run/current-system/sw/bin/grep -iE "wine|proton|GTAIV" |
/run/current-system/sw/bin/grep -v grep | head -20)
⎿ sidbin 8888 0.0 0.0 9288 4508 ? Ss 01:50 0:00 /run
/current-system/sw/bin/zsh -c -l source /home/sidbin/.claude/shell-snap
shots/snapshot-zsh-1769630582911-4hibdf.sh && setopt NO_EXTENDED_GLOB 2
… +11 lines (ctrl+o to expand)
● Game doesn't appear to be running yet. Is it still launching, or did something
happen? Let me know when you're in-game and I'll check the logs again. Or if
it crashed/failed to start, let me know what you saw.
✻ Churned for 1m 47s
❯ it's loading now, check again
● Read 1 file (ctrl+o to expand)
● Fresh logs from just now (Jan 28 20:26):
ScriptHook 0.5.1 - Initialized ✓
Game version: Dynamic (1.2.0.59) ✓
ScriptHookDotNet v1.7.1.7 - Initializing...
Still loading - waiting for Direct3D device creation and thread starts. Let me
keep watching.
● Bash(sleep 10 && cat /tmp/claude/-home-sidbin-Downloads/tasks/b900222.output |
tail -30)
⎿  [INFO] GTA IV Script Hook 0.5.1 - (C) 2009, Aru - Initialized
[INFO] Process base address: 0x400000
[INFO] Auto detecting game version
… +35 lines (ctrl+o to expand)
● All mods loaded successfully:
ScriptHook 0.5.1 ✓ Initialized
Game version 1.2.0.59 ✓ Detected
Liberty's Legacy ✓ Thread started
ScriptHookDotNet ✓ Thread started
Direct3D device ✓ Created (20:26:22)
Everything is working. Once you're in-game, press F11 to open the Liberty's
Legacy trainer menu. Let me know how it goes.
❯ it says load successful in the game but the game isnt responding anymore.
can u monitor / hook into the game?
● Read 1 file (ctrl+o to expand)
● Game is running (GTAIV.exe at 51% CPU, 1.8GB RAM) but frozen. This is the
classic high FPS save loading hang. The game freezes right after "Load
Successful" when framerate is uncapped.
Let me check if FusionFix is actually loading (it should cap FPS during
loading):
● Read 1 file (ctrl+o to expand)
● FusionFix IS loading (created a .cfg file at 01:56). Let me check its config:
● Read 1 file (ctrl+o to expand)
● FusionFix is running but the game is frozen after save load. This is likely
the FPS timing bug - the game hangs when loading saves at high framerates.
Quick fix to try: Kill the game and let's enable the FPS limiter properly
before restarting.
● Bash(kill -9 $(pgrep -f "GTAIV.exe") 2>/dev/null && echo "Game killed" || echo
"Could not kill game")
⎿  Error: Exit code 1
● Bash(pkill -9 -f "GTAIV" 2>/dev/null; pkill -9 -f "wineserver" 2>/dev/null;
echo "Attempted kill")
⎿  Error: Exit code 1
● Can't kill remotely. Please force close the game through Steam (Stop button)
or your system task manager.
While you do that, I'll adjust the FusionFix settings to fix the freeze:
● Update(~/.steam/steam/steamapps/common/Grand Theft Auto
IV/GTAIV/plugins/GTAIV.EFLC.FusionFix.ini)
⎿  Added 1 line, removed 1 line
10
11 [FRAMELIMIT]
12 FrameLimitType = 2 // 1: realtime (t
hread-lock) | 2: accurate (sleep-yield), uses less resources
13 -FpsLimit = -2 // used when FPS
-Limit menu toggle is set to Custom (negative values use refresh
- rate as a base)
13 +FpsLimit = 60 // CHANGED: fixed
+ 60 FPS to prevent save loading hangs
14 CutsceneFpsLimit = 0
15 LoadingFpsLimit = 30 // used to avoid
game freeze on loading (e.g. Off Route mission)
16 UnlockFramerateDuringLoadscreens = 1 // game loads fas
ter when using frame limiter
● Update(~/.steam/steam/steamapps/common/Grand Theft Auto
IV/GTAIV/plugins/GTAIV.EFLC.FusionFix.ini)
⎿  Added 1 line, removed 1 line
12 FrameLimitType = 2 // 1: realtime (t
hread-lock) | 2: accurate (sleep-yield), uses less resources
13 FpsLimit = 60 // CHANGED: fixed
60 FPS to prevent save loading hangs
14 CutsceneFpsLimit = 0
15 -LoadingFpsLimit = 30 // used to avoid
-game freeze on loading (e.g. Off Route mission)
15 +LoadingFpsLimit = 24 // CHANGED: lower
+ed to 24 to prevent save loading freeze on Linux
16 UnlockFramerateDuringLoadscreens = 1 // game loads fas
ter when using frame limiter
17 MinigamesFpsLimit = 30 // for selected m
inigames: Pool, Air Hockey, Arm Wrestling, Bowling
18
● Done. Also update your Steam launch options to:
WINEDLLOVERRIDES="dinput8,ScriptHook,advancedhook=n,b" %command%
-nomemrestrict -norestrictions
Changes made:
1. FpsLimit: Changed from refresh-rate-based to fixed 60 FPS
2. LoadingFpsLimit: Lowered to 24 FPS (safer for save loading)
3. DLL overrides: Ensures Proton uses the mod DLLs instead of its own
Once you've killed the game, relaunch and let me know if it gets past the
"Load Successful" screen.
✻ Cooked for 1m 5s
❯ whoa okay now it started loading -- the music on radio is working in
niko/roman's house but it stopped working again.
● Progress! Let me check the logs for what happened:
● Bash(ps aux | /run/current-system/sw/bin/grep "GTAIV.exe" |
/run/current-system/sw/bin/grep -v grep)
⎿ sidbin 13312 0.0 0.0 29148 6104 ? S 01:58 0:00 /hom
e/sidbin/.local/share/Steam/ubuntu12_32/reaper SteamLaunch AppId=12210
-- /home/sidbin/.local/share/Steam/steamapps/common/SteamLinuxRuntime_s
… +56 lines (ctrl+o to expand)
● Game started at 20:28:59, still running at 60% CPU. The freeze after music
played suggests it's hitting a cutscene or scripted event.
Let me try lowering the FPS limit even more - GTA IV is notorious for cutscene
freezes above 30 FPS:
● Update(~/.steam/steam/steamapps/common/Grand Theft Auto
IV/GTAIV/plugins/GTAIV.EFLC.FusionFix.ini)
⎿  Added 1 line, removed 1 line
11 [FRAMELIMIT]
12 FrameLimitType = 2 // 1: realtime (t
hread-lock) | 2: accurate (sleep-yield), uses less resources
13 FpsLimit = 30 // CHANGED: 30 FP
S for cutscene stability on Linux
14 -CutsceneFpsLimit = 0
14 +CutsceneFpsLimit = 30 // CHANGED: expli
+cit 30 FPS cap for cutscenes
15 LoadingFpsLimit = 24 // CHANGED: lower
ed to 24 to prevent save loading freeze on Linux
16 UnlockFramerateDuringLoadscreens = 1 // game loads fas
ter when using frame limiter
17 MinigamesFpsLimit = 30 // for selected m
inigames: Pool, Air Hockey, Arm Wrestling, Bowling
● Lowered FPS to 30 and added CutsceneFpsLimit = 30.
Kill the game and restart. If it still freezes, we should test without the
trainer to isolate the issue. Want me to temporarily disable the ScriptHook
mods so we can test FusionFix alone?
❯ no it wasnt a cutscene -- the game is just hung now
● Let me check the current state and logs:
● Bash(cat /home/sidbin/.steam/steam/steamapps/common/Grand\ Theft\ Auto\
IV/GTAIV/scripthook.log; echo "---"; cat
/home/sidbin/.steam/steam/steamapps/common/Grand\ Th…)
⎿  Log start: Wed Jan 28 20:28:59 2026
-----------------------------------------------
[INFO] GTA IV Script Hook 0.5.1 - (C) 2009, Aru - Initialized
… +10 lines (ctrl+o to expand)
● No errors in logs - just hangs silently. Let's isolate the problem by
temporarily disabling the trainer mods:
● Bash(cd /home/sidbin/.steam/steam/steamapps/common/Grand\ Theft\ Auto\
IV/GTAIV && mv "Liberty's Legacy.asi" "Liberty's Legacy.asi.disabled" &&
mv ScriptHook.dll Scr…)
⎿  Error: Exit code 127
z:1: command not found: __zoxide_z
● Bash(GAMEDIR="/home/sidbin/.steam/steam/steamapps/common/Grand Theft Auto
IV/GTAIV" && mv "$GAMEDIR/Liberty's Legacy.asi" "$GAMEDIR/Liberty's
Legacy.asi.disabled" &&…)
⎿  Trainer mods disabled - only FusionFix active now
● Done. Disabled all trainer mods - only FusionFix is active now.
Kill the game and restart. This will tell us if the hang is caused by:
- FusionFix (if it still hangs)
- Trainer/ScriptHook mods (if it works now)
❯ kill game?
● Bash(pkill -9 -f "GTAIV.exe"; pkill -9 -f "Launcher.exe"; pkill -9 -f
"PlayGTAIV"; sleep 1; pkill -9 -f "wineserver"; echo "Killed")
⎿  Error: Exit code 1
● Bash(ps aux | /run/current-system/sw/bin/grep -i "GTAIV\|wineserver" |
/run/current-system/sw/bin/grep -v grep)
⎿ sidbin 13500 5.3 0.0 48852 21596 ? Ss 01:58 0:09 /hom
e/sidbin/.local/share/Steam/steamapps/common/Proton - Experimental/file
s/bin/wineserver
● Game process is gone but wineserver lingers. Just stop it via Steam (click
Stop on GTA IV) - that'll clean it up properly. Then relaunch to test
FusionFix alone.
❯ on it -- running
● Bash(sleep 5 && cat /home/sidbin/.steam/steam/steamapps/common/Grand\ Theft\
Auto\ IV/GTAIV/scripthook.log 2>/dev/null; echo "---"; ls -la
/home/sidbin/.steam/steam/…)
⎿  Log start: Wed Jan 28 20:28:59 2026
-----------------------------------------------
[INFO] GTA IV Script Hook 0.5.1 - (C) 2009, Aru - Initialized
… +8 lines (ctrl+o to expand)
● Bash(sleep 10 && cat /home/sidbin/.steam/steam/steamapps/common/Grand\ Theft\
Auto\ IV/GTAIV/scripthook.log)
⎿  Log start: Wed Jan 28 20:28:59 2026
-----------------------------------------------
[INFO] GTA IV Script Hook 0.5.1 - (C) 2009, Aru - Initialized
… +5 lines (ctrl+o to expand)
● Bash(ls -la /home/sidbin/.steam/steam/steamapps/common/Grand\ Theft\ Auto\
IV/GTAIV/plugins/GTAIV.EFLC.FusionFix.cfg && ps aux |
/run/current-system/sw/bin/grep "GTA…)
⎿ .rw-r--r-- 269 sidbin 29 Jan 02:02 '/home/sidbin/.steam/steam/steamapps
/common/Grand Theft Auto IV/GTAIV/plugins'/GTAIV.EFLC.FusionFix.cfg
sidbin 14756 0.0 0.0 29148 6048 ? S 02:01 0:00 /hom
… +58 lines (ctrl+o to expand)
● Game running (192% CPU - active). FusionFix loaded (cfg updated at 02:02). No
trainer mods this time.
How's it going? Getting past the load screen?
✻ Brewed for 37s
❯ yes! it works now. get more stats? also tell me in-game configs i can
use?
● FusionFix works - the trainer mods were causing the hang.
● Read 1 file (ctrl+o to expand)
● Game Stats
PID: 15622
CPU: 238%
RAM: 2.7 GB
---
FusionFix In-Game Settings
FusionFix adds new options to the game menus. Go to Settings and look for:
Graphics Menu
┌─────────────────────────┬───────────────────────────────────────────┐
│ Setting │ What it does │
├─────────────────────────┼───────────────────────────────────────────┤
│ FPS Limiter │ Off / 30 / 60 / Custom (currently 30) │
├─────────────────────────┼───────────────────────────────────────────┤
│ Shadow Filter │ Sharp (CE-style) / Soft (classic) / PCSS │
├─────────────────────────┼───────────────────────────────────────────┤
│ Extra Dynamic Shadows │ Adds missing shadows to vegetation/fences │
├─────────────────────────┼───────────────────────────────────────────┤
│ High Resolution Shadows │ 2x shadow quality (GPU heavy) │
├─────────────────────────┼───────────────────────────────────────────┤
│ Console Reflections │ PS3/X360 style car reflections │
└─────────────────────────┴───────────────────────────────────────────┘
Display Menu
┌─────────────────────┬────────────────────────┐
│ Setting │ What it does │
├─────────────────────┼────────────────────────┤
│ Borderless Windowed │ Better alt-tab support │
├─────────────────────┼────────────────────────┤
│ Field of View │ Adjust camera FOV │
└─────────────────────┴────────────────────────┘
Game Menu
┌──────────────────────────┬───────────────────────────────────┐
│ Setting │ What it does │
├──────────────────────────┼───────────────────────────────────┤
│ Always Run │ Hold key to walk instead of run │
├──────────────────────────┼───────────────────────────────────┤
│ Disable Camera Centering │ Stops forced camera snap in cover │
└──────────────────────────┴───────────────────────────────────┘
---
Fun INI Tweaks (requires restart)
You can enable these in the ini file for extra content:
┌────────────────────────────────┬────────────────────────────────────────┐
│ Option │ Effect │
├────────────────────────────────┼────────────────────────────────────────┤
│ EpisodicVehicles = 1 │ APC + Buzzard helicopters in base game │
├────────────────────────────────┼────────────────────────────────────────┤
│ EpisodicWeapons = 1 │ Pipe bombs, sticky bombs, parachute │
├────────────────────────────────┼────────────────────────────────────────┤
│ TBoGTHelicopterHeightLimit = 1 │ Fly higher │
└────────────────────────────────┴────────────────────────────────────────┘
Want me to enable any of these?
❯ okat -- now can we see if we can add/get the trainer working?
● Let's try a minimal setup. Liberty's Legacy doesn't actually need
ScriptHookDotNet - it's a native ASI mod. Let me enable only what's necessary:
● Bash(ls /home/sidbin/.steam/steam/steamapps/common/Grand\ Theft\ Auto\
IV/GTAIV/*.dll /home/sidbin/.steam/steam/steamapps/common/Grand\ Theft\
Auto\ IV/GTAIV/*.asi 2…)
⎿  Error: Exit code 123
(eval):1: no matches found: IV/GTAIV/*.dll
basename: missing operand
Try 'basename --help' for more information.
● Bash(ls /home/sidbin/.steam/steam/steamapps/common/Grand\ Theft\ Auto\
IV/GTAIV/ | /run/current-system/sw/bin/grep -E "\.(dll|asi)$")
⎿  aCompleteEditionHook.asi
AdvancedHook.dll
AdvancedHookInit.asi
… +7 lines (ctrl+o to expand)
● Read 1 file (ctrl+o to expand)
● Active mods now:
FusionFix (dinput8.dll + plugins/)
ScriptHook.dll
aCompleteEditionHook.asi
AdvancedHook.dll
AdvancedHookInit.asi
Liberty's Legacy.asi
ScriptHookDotNet is disabled - Liberty's Legacy doesn't need it.
Kill the game and restart. If it works, press F11 for the trainer menu.
✻ Cogitated for 32s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment