How to install GTA VCS Recomp

Windows launcher, Linux AppImage and manual build, from the disc check to the Play button, with every known error and its fix.

USA SLUS-21590 only · 20–60 min first build · No Visual Studio since v0.2.1 · Windows + Linux

GTA VCS Recomp Wiki / Install

A black PlayStation 2 console standing upright with a DualShock 2 controller
Advertisement

These steps follow the project’s README and release notes for v0.2.3. You need your own copy of Grand Theft Auto: Vice City Stories for PS2, USA release (SLUS-21590) as an .iso. The site does not cover how to make or obtain one.

Before you start: check your disc version

gta-vcs-recomp accepts exactly one version of the game. The launcher’s Disc step reads the image and refuses anything that is not the USA release. You can run the same check yourself from the source folder:

python tools/vcs_disc.py info "Grand Theft Auto - Vice City Stories (USA).iso"
CheckMust be
PlatformPlayStation 2 (not the PSP UMD)
RegionUSA (NTSC-U)
Serial / executableSLUS-21590, executable SLUS_215.90 on the disc
FormatA single .iso disc image
File name (manual build only)Contains Vice City Stories, e.g. Grand Theft Auto - Vice City Stories (USA).iso

If the check reports unsupported executable build or SLUS_215.90 not found on disc, the image is another region or another game. Nothing can be patched around that; the recompiler’s function map is made for this one executable.

Windows: install with the launcher

  1. Download VCS-Recomp-0.2.3-windows.zip (84.6 MB) from the v0.2.3 release and check its SHA-256 (2ef2bc56ab79a24a…) on the download page.
  2. Extract it somewhere short and local, like C:\Games\VCS. Not Program Files and not a OneDrive-synced folder such as Desktop or Documents: the build writes thousands of files.
  3. Start VCSLauncher.exe. If SmartScreen says “Windows protected your PC”, choose More info → Run anyway (the launcher is not signed).
  4. Folder. The game is built in build\ next to the launcher, or choose another folder (another drive with more room).
  5. Disc. It looks for your .iso in Downloads, Desktop, Documents and its own folder; otherwise choose it or drag it onto the window. It checks that it is the USA release.
  6. Build tools. Since v0.2.1 nothing needs installing: the first build downloads llvm-mingw (clang) once, about 190 MB. CMake and Ninja are found or downloaded (about 55 MB) if missing.
  7. Build. Recompiles and compiles with a progress bar: 20–60 minutes the first time.
  8. Play. The launcher also backs up saves, makes a desktop shortcut and zips logs for bug reports (Help → Make a report).

Linux: install with the AppImage

  1. Download VCS-Recomp-0.2.3-x86_64.AppImage (38.1 MB). It needs glibc 2.35 or newer (Ubuntu 22.04, Debian 12, Linux Mint 21, Fedora, Arch and later), X11 or Wayland, a Vulkan driver (Mesa or NVIDIA) and python3.
  2. Make it executable and start it:
    chmod +x VCS-Recomp-*.AppImage && ./VCS-Recomp-*.AppImage
    Without FUSE, start it with --appimage-extract-and-run.
  3. The first start puts the source, scripts and libraries in ~/.local/share/VCSRecomp/install.
  4. Folder and Disc work as on Windows.
  5. Build tools. Install packages asks for your password and installs clang 19+ and the libraries from your distribution; Install in a terminal shows the command instead. On Ubuntu 22.04 and Debian 12 it first adds LLVM’s own repository (apt.llvm.org), because their clang is too old.
  6. Build, then Play. Settings → Add a shortcut to the desktop also adds it to your applications menu.
Advertisement

Building by hand (Windows and Linux)

The release ZIP contains the full source, and a git clone works the same way. On Windows you need Python 3 (tick Add python.exe to PATH) and Git; there is no compiler to install. On Linux, let the build list what is missing:

python3 tools/build.py --check-deps

On Ubuntu 24.04 / Linux Mint 22 the README’s package list is:

sudo apt install clang-20 lld-20 llvm-20 cmake ninja-build pkg-config git glslang-tools \
    libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libswresample-dev \
    libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxi-dev libxfixes-dev libxss-dev \
    libwayland-dev wayland-protocols libxkbcommon-dev libdecor-0-dev \
    libpipewire-0.3-dev libpulse-dev libasound2-dev libudev-dev libdbus-1-dev

Copy your .iso into the source folder and build:

python tools/build.py --recompile        # Windows
python3 tools/build.py --recompile       # Linux
python tools/build.py --recompile "D:\path\to\your.iso"   # disc elsewhere

It ends with [build] ok: build\vcs.exe (optimised: ThinLTO) (Linux: build/vcs). Start that file; the build already told it where your disc is. python tools/doctor.py checks folder, compiler, disc and build state at once and says what to do next.

Fixing common errors

What you seeWhat to do
unsupported executable build or SLUS_215.90 not found on discThe disc is not the USA release (SLUS-21590). Other regions are not supported.
no disc imagePut the .iso in the folder, or give its path after --recompile.
llvm-mingw (clang 19 or newer) not found, and downloading it failedCheck the internet connection and build again, or unpack an llvm-mingw (ucrt-x86_64) yourself and set VCS_LLVM_MINGW to its folder.
“Setting up the build failed” with Could NOT find Python3Fixed in v0.2.2: update. The launcher now uses the Python inside its own folder.
ninja: error: manifest 'build.ninja' still dirty after 100 triesFixed in v0.0.2 (files dated in the future). If it still happens, check the PC’s clock and time zone.
A step fails within seconds, log ends in 0xC000001D (illegal instruction)Built for a newer CPU than this one. Build again; the build targets AVX2, AVX or SSE4 to match the PC (python tools/doctor.py shows which). CPUs without SSE4.2 cannot run it.
CMake 3.21 or newer not found, and downloading it failedCheck the connection, or install CMake yourself; VCS_CMAKE / VCS_NINJA pick a specific one.
vcs.exe does nothing when startedIt cannot find the disc: put iso=C:\path\to\your.iso in vcs.ini next to vcs.exe.
Linux: clang 19 or newer not found / missing build dependenciesInstall what python3 tools/build.py --check-deps lists.
Linux: cannot find -lstdc++Install libstdc++-<N>-dev for your newest GCC.
Linux: starts but no window / no GPU with Vulkan 1.3Install the Vulkan driver for your GPU (Mesa or NVIDIA); vulkaninfo --summary should list it.

The full output is in build/build.log (build/configure.log for the configure step). python tools/report.py zips the logs for a bug report without game files or saves. Report problems on the project’s issue tracker.

VCSNative (PSP version): install

VCSNative is a different project for the PSP game. It does not use an ISO: it expects your own game files in a folder named PSP_DATA containing PSP_GAME\SYSDIR\EBOOT_DECRYPTED.ELF and PSP_GAME\USRDIR, prepared outside the project (this site does not cover how).

  1. Download VCSNative-Windows.zip (20.9 MB) and unzip the whole VCSNative folder somewhere writable (not Program Files). It holds VCSNative.exe (the game) and VCSLauncher.exe (settings and Play).
  2. Put PSP_DATA next to the two programs, or pick it in the launcher; it can live on another drive and nothing is copied.
  3. Start VCSLauncher.exe and press Play. Settings go to VCSNative.ini and ProperShaders.ini.
  4. macOS 13+ on Apple Silicon: unzip VCSNative-macOS.zip, open VCSNative (System Settings → Privacy & Security → Open Anyway if macOS blocks it), choose PSP_DATA on the Window page, then Play.

Open reports: an AMD RX 9070 stops at “Booting” (#7) and some users ask why an ISO is not accepted (#6). AMD and Intel GPUs are untested by the developer.

Advertisement

Frequently asked questions

How long does the first build take?

The launcher says 20 to 60 minutes the first time and a few minutes after an update. Built by hand, the game becomes about 200 MB of C++, which took about 15 minutes on a 4-core laptop in the README’s example. The first build after v0.2.1 recompiles everything once, because the compiler changed.

Where are my saves?

The memory card lives in %LOCALAPPDATA%\VCSRecomp on Windows and ~/.local/share/VCSRecomp on Linux. The launcher can back it up and restore it; updates do not touch it. Settings are in vcs.ini next to the game.

Can I build on another drive?

Yes. On the launcher’s Folder step choose Choose another folder; by hand, python tools/build_dir.py set PATH. Your disc image can stay where it is: the game reads it in place.

Do I still need Visual Studio?

No, not since v0.2.1. The build downloads llvm-mingw by itself. If you installed Visual Studio only for this game you can uninstall it. With Visual Studio 2022+ and its Clang tools you can still choose it with set VCS_TOOLCHAIN=msvc.

Does it work with a European disc or the PSP version?

No. gta-vcs-recomp supports only the USA PS2 disc, SLUS-21590. The PSP version is what VCSNative uses; see its steps below.

How do I update?

In the launcher: Settings → Updates → Update now, close and restart the launcher, then update the build. Only the changed parts compile again. On Linux, update from Settings or download the new AppImage. By hand: python tools/update.py check / apply, or git pull then python tools/build.py --recompile-if-needed.