📈 GH Trending Explorer 🎲 Surprise me

← all repos

mempage4k / glue5

git clone https://github.com/mempage4k/glue5.git

A native runtime for GTA V’s WebAssembly build, running on iOS, macOS, Android and Windows without JIT compilation.

+13
stars, 24h · #2,706
+~70
stars, 7 days · #2,965
+178
stars, 30 days · #4,415
178
★ total · +65% this week
185
forks · 3 open issues

Star history (as recorded here)

2026-10-20 · 148 ★ 2026-10-23 · 178 ★
LanguageRust
LicenseGPL-3.0
Created2026-10-11 (12d ago)
Last push1d ago
Watchers7
OwnerUser

Links

README excerpt
Glue 5 
Glue 5 is a recompilation toolchain and native compatibility layer for
GTA V's WebAssembly build. It turns user-supplied game code into a native
application and connects it to the device's graphics, audio, storage and
controls. The game runs locally on iOS and macOS. Phones, tablets and
computers share the same code base; more platforms are planned.
The game's code is compiled for the target device when you build the app.
It runs without just-in-time (JIT) compilation. Its files are read from a
folder on the device, or streamed from a computer that has them.
Improvements to the shared runtime benefit both mobile and desktop builds.
**This project provides only the recompilation tools and compatibility
layer. It does not include or distribute ANY GTA V assets or game binaries.**
Users must supply the required files from the supported **WebAssembly
(WASM) version of the game**: `game.wasm` at build time, and the prepared
game assets and translated shaders at run time. Files from a regular PC
or console installation alone are not sufficient.
`game.wasm` is translated to C with [wasm2c] at build time, compiled with the
platform's C compiler and linked into a Rust host that provides the
Emscripten/WASI imports, threads, file access, input, audio and GPU support.
**Status:** the story mode runs on macOS and iOS devices (wgpu on Metal,
with sound); keyboard, mouse, gamepads and touch controls work. The
Android app builds (wgpu on Vulkan); it has not run on a device yet. The
Linux build and AppImage (wgpu on Vulkan, X11 and Wayland) are set up but
not yet built or run.
See design.md for architecture, tradeoffs and known limits.
## Layout
| Path | What |
|---|---|
| `crates/glue5-game` | The game module. Its build script verifies `game.wasm`, runs wasm2c, applies hooks and compiles the C. |
| `crates/glue5-runtime` | Host runtime: Emscripten/WASI imports, threads, VFS, input, audio output, the GPU command ring (and a null backend). |
| `crates/glue5-gpu` | The renderer: executes the engine's D3D11-style command ring with wgpu (Metal on Apple platforms, Vulkan elsewhere). |
| `crates/glue5-stream` | The game's files over the network: `glue5-serve` (a game folder to other devices), the client and its local copy, Bonjour discovery. |
| `crates/glue5-mods` | Mods: Luau scripts in the game's own script threads, calling its natives; the natives' table and Luau definitions are generated from game.wasm and the natives database. |
| `crates/glue5-studio` | GLUE 5 Studio, the mods' web IDE the game serves: Leptos (wasm) around CodeMirror, built by glue5-mods. |
| `crates/glue5` | The application (SDL3), the same on every platform: window, input, audio, settings and touch controls (egui overlay). Its `headless` example runs the game without a window. |
| `platform/ios` | What iOS needs around it: `main.c`, entitlements, the xcodegen spec. |
| `platform/tvos` | The same for the Apple TV (so far run in the simulator only). |
| `platform/android` | The Gradle p