CTW-Native
CTW-Native is a PC port of Grand Theft Auto: Chinatown Wars for Windows and Linux that includes a mod menu with features like a third-person camera and multiplayer.
- Type: PC port
- Game: Grand Theft Auto: Chinatown Wars
- Runs on Windows and Linux
- By official-kryo-to
- Latest release v0.5.0, 2026-11-01
- Source: https://github.com/official-kryo-to/ctw-native
README

CTW-Native
GTA: Chinatown Wars as a native Windows and Linux game, rebuilt in C++ with SDL2 and OpenGL. It runs from the game files of your own Android 4.4.243 copy; none are included here. A fan project, not affiliated with Rockstar Games or Take-Two. STATUS.md says what works.
Status
Share of the original Android game's code, by size, whose routines the port names as ported. Green is the ported part of each class. Updated on every push to main; see how it is measured.
Play it
- Download CTW-Native-Porter.exe from Releases.
- Start it, drop your GTA: Chinatown Wars APK (Android 4.4.243) on it and press Port it.
- Press Play, or use the shortcut on your desktop.
The Porter writes a folder with the game in it:
GTA Chinatown Wars PC/
GTACTW.exe the game
data/ the game files from your APK
mods/ the mod menu (F4) and the example mods
The folder can be moved anywhere. Windows 10 or 11, 64-bit. Saves go into saves/ in the same folder.
On Linux (x86-64), download CTW-Native-Linux-x86_64.tar.gz instead, unpack it and run
./port-apk.sh path/to/your.apk (it needs Python 3.10+ with venv), then ./GTACTW.
See CONTROLS.md for the keys.
Mods
Press F4 in the game for the mod menu. A mod can contain texture changes, a C or C++ DLL, or both in one folder. The bundled Enhancements mod adds a third-person camera (V, then the mouse) and PSP-style lighting. See the modding guide.
Play together: the bundled Multiplayer mod supports configurable rooms of 2–32 players (16 by default), with shared cars, NPCs and explosions, passenger seats and lettered minimap markers. Press Esc and MULTIPLAYER: host a game, or join one from the online list, your network or an address. Online games go through CTW Online, so nobody has to open ports. T chats. See playing together. You can also run your own list and relay on a free Cloudflare account in a few minutes: see online/.
Build from source
Windows
Windows x64 with Python 3.10+, Git, CMake 3.20+, Ninja and a MinGW-w64 toolchain (GCC or LLVM-MinGW) on your PATH. MSVC is not supported because of the game's fixed-point arithmetic.
python -m pip install -r requirements-setup.txt
python scripts/setup_game.py # your APK from input/ into port/data
cmake -S . -B port/build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build port/build
port/build/GTACTW.exe --data port/data
The build also makes ctw_showcase.exe (an asset and world viewer) and the mod kit in port/build/mods/.
For optional 3D people in third person, place your own LCS Android 2.4.379 APK at
input/lcs/GTA-LCS-2.4.379.apk before configuring. Those same CMake commands prepare its character assets for
Enhancements; press V in the game. Incremental builds reuse the import and repair missing files.
-DCTW_LCS_APK=PATH selects another local donor; -DCTW_IMPORT_LCS=OFF stops automatic import.
This development step is disabled for CTW_RELEASE=ON; standalone exports and the Porter use explicit imports.
Linux
Any recent x86-64 or arm64 distribution with GCC 11+ (or Clang 14+), CMake 3.20+, Ninja, Python 3.10+ and the development packages SDL2 builds against. On Debian or Ubuntu:
sudo apt install build-essential cmake ninja-build python3-pip libx11-dev libxext-dev libxrandr-dev libxcursor-dev \
libxfixes-dev libxi-dev libxss-dev libxkbcommon-dev libwayland-dev wayland-protocols libgl1-mesa-dev \
libegl1-mesa-dev libasound2-dev libpulse-dev libudev-dev libdbus-1-dev
python3 -m pip install -r requirements-setup.txt
python3 scripts/setup_game.py
cmake -S . -B port/build -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build port/build
port/build/GTACTW --data port/data --mods port/build/mods
The mod menu and the example mods build as .so files; a mod's mod.ini keeps naming x.dll, and the menu loads
x.so in its place. CI builds and tests every push on Ubuntu as well as on Windows.
Building needs no game files; running does. python scripts/export_pc.py writes the same standalone folder as the
Porter from a local build (--with-modkit adds the mod menu and the examples). The Porter itself is in
porter/.
Tests
ctest --test-dir port/build --output-on-failure
python -m unittest discover -s tests -v
License
Project code is licensed under GPL-3.0-only, see LICENSE; GTACTW.exe --license prints the notice.
Third-party components keep their own licenses, see THIRD_PARTY.md. The license does not cover
the original game's code, assets or trademarks.
Contributing | Mod kit | Porter | Discord