Native PC versions of the PlayStation 2 Ratchet & Clank games, built on your own PC from your own disc.
Project Solana is a launcher and a set of static recompilations. Each game's code is translated ahead of time from the game's executable into C, with the decompiled source from OpenRAC where it exists, and compiled into a native Windows program that reads everything else (models, textures, sound, movies) from your disc image at run time.
Nothing from the games is distributed here. The launcher downloads only tools and source code; the game is built on your machine from a disc image you provide.
- Download
Project Solana.exefrom the latest launcher release and put it in a folder of its own (it keeps its files next to itself). - Run it and add your disc image: Add disc image, Scan a folder, or drag an
.isoonto the window. - Select the game and press Build. The first build downloads about 95 MB (Python and the zig compiler, then the game's build kit) and builds the game from your disc: about 15 minutes on a recent 6 to 8 core CPU, an hour or more on an older 4 core one. It only happens once per game version.
- Press Play.
| Game | Region | Disc executable | Status |
|---|---|---|---|
| Ratchet & Clank | PAL (v2.00) | SCES_509.16, MD5 d86429e2eca4e1da7d7f1cc656af2574 |
Playable start to finish |
| Ratchet & Clank | NTSC-U, NTSC-J | SCUS_971.99, SCPS_150.37 |
Recognised, not supported yet |
| Going Commando, Up Your Arsenal, Deadlocked | all | Recognised, not supported yet |
- Windows 10 or 11, 64-bit
- A CPU with SSE4.2 (Intel since 2008, AMD since 2011) and 8 GB of RAM
- A GPU with OpenGL 3.3 (tested: RTX 3060, Upscaled at 3x)
- A controller: Xbox, DualShock 4 or DualSense, over USB or Bluetooth
- About 2.5 GB free while building, 600 MB after (the game plus the build tools, kept for rebuilds)
Resolution (Native, or Upscaled to a whole multiple of the PS2's 448 lines that covers your screen), VSync, the graphics threads, performance statistics in the log, the length of the F9 glitch capture, and a level select for testing. Rebuild the game fetches the latest build kit and builds again; saves are kept.
- Open log shows
rac1_log.txt(or the build'sbuild_log.txtwhen a build failed). - F9 in the game records the next few seconds of graphics input to
gsrec_NN.bin(about 260 MB per second of capture); attach it to a report together with what looked wrong.
| Path | What |
|---|---|
launcher/ |
Project Solana.exe: Win32 + GDI, no dependencies. python launcher/build_launcher.py builds it (needs zig: pip install ziglang) |
games/rac1/ |
Ratchet & Clank's build kit: build.py, the recompilers (tools/), the host engine (host/: GS in OpenGL and software, DMA, VU, SPU2 and 989snd, disc, pad, memory card, movies), the wrapper (launcher/) |
games/rac1/dev/ |
developer tools (GS capture replay, VU reference check); not part of the kit |
release/make_release.py |
makes a game's release files |
THIRD_PARTY_NOTICES.md |
pl_mpeg (MIT), jak-project's 989snd tables (ISC) |
The launcher fetches from the release named after the game (releases/download/rac1/):
| File | What |
|---|---|
rac1.json |
version, file names, sizes and SHA-256s, the levels to build |
toolchain-win64.zip |
Python 3.12 (python-build-standalone), rabbitizer, zig 0.16; shared by all games, kept in toolchain\ and fetched again only when its version changes |
rac1-build.zip |
games/rac1 plus the decomp's source as decomp/ (no baserom/) |
It checks both zips against their SHA-256s, unpacks them next to itself (toolchain\, games\rac1\), runs build.py --platform windows --iso <your disc>, and then deletes the intermediate files (about 1.3 GB) and the bytes it read from the disc, keeping games\rac1\build\windows (the game, its saves and logs).
solana.ini [build] release_url= (a URL or a local folder laid out like the release) and levels= override where it fetches from and which levels it builds, for testing.
python release/make_release.py rac1 --decomp ../rac1-decomp --version 2026.10.13
gh release create rac1 dist/rac1/rac1.json dist/rac1/rac1-build.zip dist/rac1/toolchain-win64.zip
To update an existing game release, upload the new files over the old ones (gh release upload rac1 dist/rac1/* --clobber). Players get them with Rebuild the game.
The launcher itself goes in a release of its own (for example launcher-v1) with Project Solana.exe.
TODO (maintainers): choose a licence for this repository. Third-party code keeps its own (see THIRD_PARTY_NOTICES.md).