muguet README

The project's README from github.com/c22dev/muguet. As one markdown file: README.md.

Muguet

A native Mach-O iOS/macOS port of GTA V, with multiplayer

How does this work ?

this whole port relies on the WebAssembly compilation of the game. in a browser, that game.wasm runs inside the JS engine, behind WebGPU, Web Audio, web workers... Muguet throws that layer away and runs the same game.wasm as a regular native app, with wasmtime for the code and wgpu on Metal for the graphics

On macOS, the game code is compiled to native arm64 the first time you launch it, then cached. On iOS, we can't properly do that (i dont rlly want you to deal with the hassle of enabling JIT), so the game code is compiled when you build the app and baked into it

On top of that, Muguet adds a small UDP multiplayer (for other people who have the same port to play with you)

Game files

Because I care about me not getting sued, you will need your own copy as a .zip : the folder holding data/ and b/<build>/ (with game.wasm and shaders/)

It's basically the same source as the web port.

Muguet itself will then asks for that zip

Requirements

For iOS, also :

Building

macOS :

./make-app.sh

gives build/Muguet.app

iOS :

TEAM=<your team id> ./make-ios.sh game.zip --install

--ipa makes build/Muguet.ipa instead. With a free account, add FREE=1 (+ a BUNDLE_ID of your own)

Please install this app with AltStore. This probably won't work well with Sideloadly (or even SideStore, as per [this issue])(https://github.com/SideStore/SideStore/issues/1616)

The app also works with a paid developer account.

Multiplayer

One player hosts from the launcher (or runs muguet-server on any machine), the others join with that address. UDP port 47520

Limitations

Contributions are welcome !

muguet (c22dev/muguet)

Searching Database…

643 ·GitHub
What is this?Muguet is a native Mach-O port of GTA V for iOS and macOS with added multiplayer, running the game's original WebAssembly code outside the browser using wasmtime and wgpu on Metal instead of a browser's JS/WebGPU stack.
Is this a browser wrapper or a real native game?It is a real native app: Muguet throws away the browser layer (JS engine, WebGPU, Web Audio) and runs the same game.wasm natively, compiling its code to native arm64 (cached on launch for macOS, baked in at build time for iOS) with wasmtime for code execution and wgpu on Metal for rendering.
How do I build and install it?Build macOS with a plain cargo build, which outputs build/Muguet.app directly; for iOS add the --ipa flag (plus FREE=1 and a BUNDLEID for a free developer account) to get build/Muguet.ipa, which you then install with AltStore.
What do I need installed before building this?An Apple Silicon Mac on macOS 14 or later, Xcode 26 or later, and the Rust toolchain; for iOS builds you additionally need rustup toolchain 1.98.1 with the aarch64-apple-ios target, xcodegen (via Homebrew), and an Apple developer account.
Any known limitations I should expect?The minimap doesn't render, story missions are single-player only, iOS needs the increased memory limit entitlement enabled, and sideloading via Sideloadly or SideStore probably won't work well, so AltStore is the recommended install method.
Does it run on Intel Macs too, or only Apple Silicon?Only Apple Silicon Macs are supported, running macOS 14 or later; there is no mention of Intel Mac support.
Where do I get the GTA V game files?You need to supply your own .zip of the original game data (the folder containing data/ and b/, with game.wasm and shaders/) — essentially the same files the official web port uses — and Muguet will prompt for that zip on first run.
How does multiplayer actually work?One player hosts from the launcher (or runs the standalone muguet-server binary on any machine), and other players join using that host's address over UDP port 47520.
Do I need a paid Apple developer account?No, it also works with a free developer account if you build with FREE=1 and your own BUNDLEID, though you'll need AltStore to get the resulting .ipa onto your iOS device.
Can an iPhone run this comfortably?It needs an iOS 15 or later device, and the README recommends around 8 GB of RAM for a smooth experience; you must also enable the increased memory limit entitlement.
Creator
c22dev
Size
1.3 MB
Stars
643
Age
8d
Commits · 90 Days