protonscr

Victoria 3

protonopen appid 529340Game compatibility - Unofficial
ValveSoftware/Proton#9045 · opened 2025-09-15 by Swedlex1 · updated 2026-08-18 · 2 comments · github · game page · search this game
SSwedlex1 2025-09-15 github

Compatibility Report

  • Name of the game with compatibility issues: Victoria 3
  • Steam AppID of the game: 529340

System Information

  • GPU: NVIDIA GeForce GTX 1650/Intel UHD
  • Video driver version: Mesa 25.2.2
  • Kernel version: 6.16.7
  • Link to full system information report as Gist
  • Proton version: Hotfix

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

steam-529340.log

Symptoms

The game doesn't run with mods and the main menu inside the game using hotfix lags, sometimes loading saves would not get anywhere at all. Steam Play works better with the one exception that i have to terminate the game in the system monitor to stop it, proton 9.0-4 does not even display the paradox launcher.

Reproduction

Start a new game with mod in your playset and wait for it to get past initializing game.

Save game issue: Start a new game, play for a bit, exit out and load the save and wait for it to get past initializing game.

Game closing issue: Exit out of the game and see if the game closes automatically.

On hotfix: start up the game and watch the main menu animation.

on proton 9.0-4: Start the game.

Kkisak-valve maintainer 2026-08-18 github

Paradox Launcher v2 (WiX Burn bootstrapper) fails VC_REDIST_X64 payload verification with SHA-1/SHA-512 length mismatch — Victoria 3 (appid 529340)

Issue transferred from https://github.com/ValveSoftware/Proton/issues/10075.
@EFinish posted on 2026-08-18T16:54:09:

Compatibility tool and version

  • Proton Experimental (tested)
  • GE-Proton11-5-x86_64 (tested, same result)

Public bug report

Not yet filed / linked

System information

  • GPU: NVIDIA GeForce RTX 4070 SUPER, driver 610.57.04
  • Kernel: 6.19.10-300.fc44.x86_64 (Fedora 44)
  • Wine (via GE-Proton11-5): 11.0 (Staging)

I'm reporting a bug

  • [ ] The game runs fine, but has minor issues

Actually more accurately: the game/launcher does not run at all — it fails during the Paradox Launcher v2 prerequisite install step before the game can start.

Steps for reproducing this issue

  1. Own Victoria 3 (appid 529340) on Steam.
  2. Force the compatibility tool to Proton Experimental or GE-Proton11-5 (Properties → Compatibility).
  3. Launch the game from Steam.
  4. The "Paradox Launcher v2 Prerequisite Setup" dialog appears, runs briefly, then fails with:
    Setup Failed — 0x80091007 - Call failed.

Log excerpt (from launcher-installer.log inside the prefix)

[01F8:0294]i338: Acquiring package: VC_REDIST_X64, payload: VC_REDIST_X64, download from: https://download.visualstudio.microsoft.com/download/pr/1754ea58-11a6-44ab-a262-696e194ce543/3642E3F95D50CC193E4B5A0B0FFBF7FE2C08801517758B4C8AEB7105A091208A/VC_redist.x64.exe
[0248:0290]e000: Error 0x80091007: Hash mismatch for path: C:\ProgramData\\Package Cache\\.unverified\\VC_REDIST_X64,
  expected: 84C61FADF8CD38016FB7632969B3ACE9E54B763A
  actual:   5935B69F5138AC3FBC33813C74DA853269BA079F910936AEFA95E230C6092B92F6225BFFB594E5DD35FF29BF260E4B35F91ADEDE90FDF5F062030D8666FD0104
[0248:0290]e000: Error 0x80091007: Failed to verify hash of payload: VC_REDIST_X64

Note the digest lengths: expected is 40 hex characters (20 bytes → consistent with SHA-1), while actual is 128 hex characters (64 bytes → consistent with SHA-512). This isn't a corrupted-download or stale-cache scenario (the "actual" value would still be a same-length SHA-1 digest, just a different value, if the payload itself had changed) — the bootstrapper appears to be hashing the downloaded payload with a different algorithm than the one the manifest's expected hash was computed with. This points to an algorithm-selection bug in Wine's bcrypt/CNG hashing implementation as invoked by this WiX Burn bootstrapper, rather than a bad download.

What I already tried

  • Retried with both Proton Experimental and GE-Proton11-5 — identical failure, identical hash values, on both.
  • Deleted compatdata/529340 and let Steam rebuild the prefix from scratch — same failure.
  • Pre-installed the VC++ 2015-2022 x86 and x64 redistributables into the prefix directly via protontricks 529340 vcrun2022 (bypassing the bootstrapper's own install path entirely) — the bootstrapper still re-downloads and re-verifies VC_REDIST_X64 on its own and fails at the same hash-verification step regardless, since it doesn't check pre-existing installs before re-verifying its bundled payload.

Notes

  • The native Linux build of Victoria 3 runs fine and does not hit this code path at all (it doesn't use this Windows launcher-installer).
  • This may not be Victoria-3-specific — Paradox Launcher v2's WiX Burn bootstrapper is shared across their catalog (EU4, Cities: Skylines II, Age of Wonders 4, Imperator: Rome, etc.), so this could reproduce on any Paradox title using launcher-v2 build 2026.9 under current Proton/Wine.
EEFinish 2026-08-18 github

Workaround: extract the launcher MSI directly and skip the bootstrapper entirely

Confirmed this is not a corrupted download — the bootstrapper's VC_REDIST_X64 hash check fails identically on a completely fresh prefix, on both Proton Experimental and GE-Proton11-5, every time. Pre-installing the VC++ runtime into the prefix via protontricks 529340 vcrun2022 doesn't help either, since the bootstrapper doesn't check for an existing runtime — it unconditionally re-downloads and re-verifies its own bundled VC_REDIST_X64 payload and fails at that verification step regardless.

The actual thing you need (Paradox_Launcher.msi) is bundled inside launcher-installer-windows_2026.9.exe as a second, separate CAB container appended after the UX container — it never touches the broken VC_REDIST verification path. You can pull it out and install it directly with msiexec, skipping the whole bootstrapper:

# 1. Find the second embedded CAB (the UX container's CAB is the first "MSCF" hit; the payload container is the second)
python3 -c "
import re
data = open('launcher-installer-windows_2026.9.exe','rb').read()
print([m.start() for m in re.finditer(b'MSCF', data)])
"
# -> e.g. [1034752, 1416936]

# 2. Carve out everything from the second offset to EOF
python3 -c "
with open('launcher-installer-windows_2026.9.exe','rb') as f:
    f.seek(1416936)  # use your second offset
    data = f.read()
open('payload.cab','wb').write(data)
"

# 3. Extract it (single file inside, named 'a0' or similar — it's the MSI)
7z x payload.cab
file a0   # confirms: "Composite Document File V2 ... MSI Installer ... Paradox Launcher v2"
mv a0 Paradox_Launcher.msi

# 4. Copy into the prefix and install directly via msiexec (bypasses the bootstrapper entirely)
cp Paradox_Launcher.msi ~/.local/share/Steam/steamapps/compatdata/<APPID>/pfx/drive_c/
protontricks-launch --appid <APPID> --no-term \
  ~/.local/share/Steam/steamapps/compatdata/<APPID>/pfx/drive_c/windows/system32/msiexec.exe \
  /i "C:\\Paradox_Launcher.msi" /qn /l* "C:\\install.log"

Checked install.log afterward — Action ended ...: INSTALL. Return value 1. (MSI success), and Paradox Launcher.exe plus its full Electron/CEF runtime landed correctly under Program Files\Paradox Interactive\launcher\launcher-v2.2026.9\. Launching the game from Steam afterward went straight into the actual launcher and then into shader compilation — no more prerequisite dialog. Also confirms the real root cause is isolated entirely to the bootstrapper's own VC_REDIST_X64 payload verification, not anything wrong with the launcher MSI itself or with Wine's ability to run it.

One caveat: this workaround lives inside the Proton prefix, not in Steam's own install tracking, so verifying game files, deleting compatdata/<APPID>, or switching Proton versions will require repeating it until the actual hash-verification bug in the bootstrapper gets fixed.

Proton versions

Upstream links

Error codes