Skip to content
chronic8000Public

About

GTA Vice City (reVC) optimized for Raspberry Pi 5

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

reVC logo

GTA Vice City (reVC) — Raspberry Pi 5

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.

Release

Intro

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.

How it was achieved

  • Cortex-A76 optimization — -mcpu=cortex-a76 -O3 -ffast-math -ftree-vectorize
  • 16 KB page support — -Wl,-z,max-page-size=0x4000 at link time (Pi 5 kernel_2712 default)
  • VideoCore VII GPU shaders — mediump precision and early alpha discard in vendor/librw/src/gl/shaders/ and src/extras/shaders/
  • OpenGL / librw / GLFW — linux-arm64-librw_gl3_glfw-oal target; Wayland and X11 via system libglfw3
  • OpenAL audio — system OpenAL Soft
  • .deb packaging — revc-pi5 installs the binary, launcher, gamefiles/ overrides, and a Games menu entry

Prerequisites

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.

Installation

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.deb

This 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

Usage

  • First launch — select your GTA Vice City PC folder (saved to ~/.config/revc/gamepath)
  • Launch — Start Menu → Games → GTA Vice City
  • Settings — reVC.ini in 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)

Build from source (on the Pi)

Native compilation on the Pi is recommended over cross-compiling.

git clone https://github.com/chronic8000/revc-pi5.git
cd revc-pi5

Install 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-dev

premake5 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.sh

Output:

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.deb

Pi OS Lite / kiosk setups

reVC 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.sh

Stopping QEMU only ends the running VM in RAM — your disk.qcow2 is not deleted or corrupted.

Packaging layout

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

To-Do

  • Further kiosk / GLES profiling on Pi 5
  • Fix physics for high FPS (upstream reVC)

Upstream

Based on GTAmodding/re3 (miami branch — GTA Vice City).
Game engine improvements, rendering features, and modding notes live in the upstream README.

License

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.

About

GTA Vice City (reVC) optimized for Raspberry Pi 5

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages