'Playbook for fixing GTA IV (repack/Complete Edition) under Wine: RGL error, FusionFix, DXVK, shaders, windowed. Diagnostics + verified fixes.'
Install
npx skillscat add youlianvr/oper-share/gta4-wine-fix Install via the SkillsCat registry.
Fixing GTA IV (repack / Complete Edition) under Wine — verified playbook
Verified in practice (Fedora, wine-staging 11 wow64, NVIDIA GTX 1660 SUPER, proprietary driver, prefix ~/.wine, game in ~/DATA/Games/Grand Theft Auto IV).
How to read this playbook. GTA IV launch is a chain of layers:
Launcher → GTAIV.exe → ASI loader (dinput8) → FusionFix → d3d9 wrapper → DXVK → Wine Vulkan → NVIDIA driver.
Each fixed error opens the next — "fix one, another appears" is normal, not a regression.
Section 1 — invariants (what to prove; long-lived methodology). Sections 2–4 — current version implementations (may become outdated: Wine, DXVK, FusionFix, repacks change).
1. INVARIANTS — what needs proving (methodology, version-independent)
Diagnostics always boil down to proving four facts about the ACTUAL state, not the assumed one:
| # | Invariant | How to prove (directly, not indirectly) |
|---|---|---|
| 1 | Which exe launches | Launch log/processes: GTAIV.exe (game) ≠ PlayGTAIV.exe/Launcher.exe (RGL bootstrap redirector). If redirector launched — RGL error is inevitable without installed RGL |
| 2 | Which DLL is actually loaded | WINEDEBUG=+loaddll wine GTAIV.exe 2>&1 | grep -iE "d3d9|dinput8|vulkan" — look for Loaded L"D:\Games\...\d3d9.dll" ... native (local from game folder), not system32. "Mod installed" ≠ "mod active" |
| 3 | Which renderer is active | Log has wined3d_* fixme/err → rendering on wined3d (not DXVK). DXVK log starts with info: DXVK: vX.Y.Z |
| 4 | Which GPU DXVK selected | Line info: Device : NVIDIA GeForce ... in log = ENTIRE stack working (Vulkan present, ICD found, 32-bit Vulkan present, DXVK loaded, driver responding). Stronger than vulkaninfo/lsmod — checks exactly the stack the game uses. llvmpipe = GPU not visible |
Diagnostics order is always top-down (along the layer chain): until the previous invariant is proven, fixing the next layer is pointless (game doesn't reach it).
2. IMPLEMENTATIONS (current version — may change)
2.1 Diagnostics by error message
| Symptom | Source | Fix |
|---|---|---|
| "Unable to locate the Rockstar Games Launcher, please verify your game data" | PlayGTAIV.exe/Launcher.exe — "Rockstar Games Launcher Redirector": looks for RGL at \\Rockstar Games\\Launcher\\Launcher.exe and registry SOFTWARE\\WOW6432Node\\Rockstar Games\\Launcher |
Launch GTAIV.exe directly (RGL doesn't check). Don't play through PlayGTAIV/Launcher |
Crash/black screen, log has wined3d_get_format / context_choose_pixel_format |
Rendering went to wined3d instead of DXVK | Enable DXVK: d3d9.cfg → [MAIN] API=1 |
err:d3dcompiler:assemble_shader Asm reading failed |
Wine's d3dcompiler_43 doesn't understand FusionFix asm shaders | winetricks -q d3dcompiler_43 (native Microsoft DLL) + override d3dcompiler_43=n |
info: Device not reset (DXVK), crash on fullscreen switch |
Vulkan device lost on mode switch | Windowed mode: -windowed in commandline.txt |
| GPU not used (log has llvmpipe/lavapipe, no "Device : NVIDIA") | No /dev/dri in sandbox OR no 32-bit Vulkan stack |
Check: vulkan-loader.i686, nvidia_icd.i686.json, /usr/lib/libvulkan.so.1; run outside sandbox with GPU |