Optimized native port of reVC for the Raspberry Pi 5.
Built for aarch64, Debian Trixie / Raspberry Pi OS (64-bit), 16 KB kernel pages, and VideoCore VII.
This repository is a Pi 5–only fork. It uses the reverse-engineered reVC engine with librw (OpenGL / OpenGL ES via GLFW) and OpenAL Soft audio.
Upstream reVC supports many platforms; this fork targets Raspberry Pi 5 only.
- Cortex-A76 optimization —
-mcpu=cortex-a76 -O3 -ffast-math -ftree-vectorize - 16 KB page support —
-Wl,-z,max-page-size=0x4000at link time (Pi 5kernel_2712default) - VideoCore VII GPU shaders —
mediumpprecision and early alpha discard invendor/librw/src/gl/shaders/andsrc/extras/shaders/ - OpenGL / librw / GLFW —
linux-arm64-librw_gl3_glfw-oaltarget; Wayland and X11 via systemlibglfw3 - OpenAL audio — system OpenAL Soft
.debpackaging —revc-pi5installs the binary, launcher,gamefiles/overrides, and a Games menu entry
IMPORTANT: This package does not include game assets. You must own a copy of GTA Vice City on PC.
Copy your owned PC install files (models, data, audio, gta-vc.exe, etc.) to the Pi, or point the launcher at an existing folder on first run.
Download the latest .deb from Releases:
wget https://github.com/chronic8000/revc-pi5/releases/download/v1.0-1/revc-pi5_1.0-1_arm64.deb
sudo apt install ./revc-pi5_1.0-1_arm64.debThis installs:
| Path | Purpose |
|---|---|
/usr/bin/revc-pi5 |
Launcher (first-run folder picker) |
/usr/lib/revc-pi5/reVC |
Game binary |
/usr/lib/revc-pi5/gamefiles/ |
Shipped overrides (controller DB, neo tuning, etc.) |
/usr/share/applications/revc-pi5.desktop |
Start Menu → Games entry |
- First launch — select your GTA Vice City PC folder (saved to
~/.config/revc/gamepath) - Launch — Start Menu → Games → GTA Vice City
- Settings —
reVC.iniin your game folder (debug menu:Ctrl+M) - Controllers — Xbox / PlayStation pads via GLFW
- Remove —
sudo apt remove revc-pi5(does not delete your game files or saves)
Native compilation on the Pi is recommended over cross-compiling.
git clone https://github.com/chronic8000/revc-pi5.git
cd revc-pi5Install build dependencies:
sudo apt install build-essential git libglfw3-dev libgl1-mesa-dev \
libopenal-dev libmpg123-dev libsndfile1-dev libx11-dev libwayland-dev \
libxkbcommon-dev dpkg-dev zenity imagemagick uuid-devpremake5 is not always in apt on Trixie. Install a matching aarch64 premake5 release, or build it:
git clone --depth 1 --branch v5.0.0-beta7 https://github.com/premake/premake-core.git
cd premake-core && make -f Bootstrap.mak linux
sudo cp bin/release/premake5 /usr/local/bin/Build:
./packaging/pi5/build-native.shOutput:
bin/linux-arm64-librw_gl3_glfw-oal/Release/reVC
Build a .deb:
./packaging/pi5/make-deb.sh
sudo apt install ./revc-pi5_1.0-1_arm64.debreVC is a native Linux OpenGL app. It needs direct GPU access and a Wayland or X11 session.
It will not run inside a QEMU + VNC Windows kiosk (e.g. Cage → vncviewer → Windows 11). That stack only displays the VM.
For temporary native testing on a kiosk Pi:
# Stop Windows VM kiosk, run reVC on HDMI (GPU / gbm renderer)
./packaging/pi5/switch-to-revc.sh
# Restore Windows kiosk when done (VM disk is not modified)
./packaging/pi5/switch-to-win11.shStopping QEMU only ends the running VM in RAM — your disk.qcow2 is not deleted or corrupted.
packaging/pi5/
build-native.sh # Pi 5 native build (A76 flags, 16 KB pages, LTO)
regenerate-shaders.sh # Rebuild embedded GLSL .inc files
make-deb.sh # Build revc-pi5_1.0-1_arm64.deb
revc-pi5-launcher # Installed as /usr/bin/revc-pi5
launch_revc_kiosk.sh # Cage kiosk launcher (optional)
revc-kiosk.service # systemd unit for HDMI kiosk testing (optional)
switch-to-revc.sh # Swap Win11 kiosk → reVC
switch-to-win11.sh # Restore Win11 kiosk
packaging/debian/
control # .deb metadata
revc-pi5.desktop # Freedesktop launcher
- Further kiosk / GLES profiling on Pi 5
- Fix physics for high FPS (upstream reVC)
Based on GTAmodding/re3 (miami branch — GTA Vice City).
Game engine improvements, rendering features, and modding notes live in the upstream README.
We don't feel like we're in a position to give this code a license.
The code should only be used for educational, documentation and modding purposes.
We do not encourage piracy or commercial use.
Please keep derivate work open source and give proper credit.
Created with <3 for the Raspberry Pi community.