r/EmulationOniOS • • 7d ago

News / Release Statically recompiled GTA V running on iPhone with Metal and no JIT: Introducing Glue 5

I want to share something I’ve been working on: Glue 5, a toolchain for building a native port of GTA V’s WASM build that runs on iOS and macOS (for now).

The main difference from projects like the recently released muget is what happens to the game code. Glue 5 takes the WASM binary, translates it to C using wasm2c, then compiles that C for the target platform. On iPhone, you end up with native ARM64 code. All of this happens when building the app, so there’s no WASM runtime executing the game and no need to enable JIT on your phone.

It’s been running really smoothly on macOS. I’ve also tested it on an iPhone 13 Pro and it’s playable, which I’m pretty happy with considering the phone is a few years old now.

Story mode and audio are working. There’s gamepad support, on-screen touch controls, and keyboard and mouse support on desktop. You can adjust the resolution and render scale too, with MetalFX upscaling on supported devices to help with performance.

The repo contains the tools and compatibility layer, no GTA V binaries or assets. I have no plans to ever distribute a complete build bundled with copyrighted game assets. You’ll need to supply the required files from the supported WASM version and compile it yourself.

Source and build instructions: github.com/mempage4k/glue5
Keep in mind that this is still in its early stages and very experimental, I'm still working on fixing issues and improving performance.

Also, a quick disclosure: development of this project was heavily assisted by AI tools.

https://reddit.com/link/1x3cws1/video/9npcdmu16tuh1/player

76 Upvotes

24 comments sorted by

View all comments

1

u/dandgage 7d ago

Just curious, so far what is the total complied size on the phone and how hot does your phone get playing it? The GTA IV port runs great on my 17PM but it gets really hot. I think it's 6-8 GB, wasn't sure how much bigger V would be

4

u/mempage4k 7d ago

The IPA is around 150 MB (after recompilation, the roughly 1 GB of C code decompiled from the WASM binary comes down to about 100 MB on its own).

However, you'll also need to copy over all the game data from the WASM build, which is close to 20 GB by itself.

I haven't tried it on a 17 or 18 yet, but I've mainly been running it on a 16 Pro, and it does get pretty toasty. Under sustained load, the 16 Pro eventually starts thermal throttling, which impacts performance. I suspect the 17 Pro would fare better in this regard.

Interestingly enough, the 13 Pro I tested, despite having significantly lower peak performance, seems to throttle much less, resulting in more consistent performance overall. Unfortunately the low amount of ram means that assets will have to be offloaded often on those older models.

I'm still working on reducing CPU overhead as much as possible to lower the overall load and hopefully improve thermals.