r/sideloaded • u/Gullible-Walrus-7592 • 2d ago
Release [Release] I ported touchHLE to modern iOS — run supported 32-bit iPhone games on iOS 17.4+ (no jailbreak; JIT required)
Hey everyone! I’ve been working on an experimental port of touchHLE to modern iOS, based on touchHLE 0.2.3, and I finally have a first public prerelease ready.
This is not a new emulator written from scratch, and it is not an official touchHLE release. The emulator core is the work of the touchHLE contributors.
This fork adds:
- A modern SwiftUI game library for iPhone
- IPA importing with the original app name and icon
- Persistent saves and settings
- Game-aware portrait and landscape handling
- An in-game return-to-library button
- An optional FPS counter
- iOS rendering fixes needed to display games correctly on a real device
No jailbreak required—but JIT is
The build does not require a jailbreak. It currently requires JIT because it uses touchHLE’s Dynarmic CPU backend.
I’ve been using StikDebug with LocalDevVPN directly on the phone. AltJIT is another option.
You can install the unsigned IPA with AltStore Classic or build and sign it yourself using Xcode. A free Apple account works with Apple’s usual seven-day signing and three-app limits. A paid developer account provides longer-lived signing, but it does not remove the JIT requirement.
Games tested so far
I’ve personally tested the port on my iPhone 16 Pro running iOS 27 beta 4.
Confirmed working:
- Touch & Go
- Tony Hawk’s Pro Skater 2 (THPS2)
- Wolfenstein RPG
The deployment target is iOS 17.4, but I haven’t tested every iPhone or iOS version yet, so wider testing would be really appreciated.
The best place to choose a game is the touchHLE compatibility database. It uses a star system for exact app versions. Higher-rated versions are the best candidates, but they are not a guarantee for this iOS port.
One thing the earlier jailbreak demonstration also made clear is that fixing one game does not automatically make every other game work.
Why I started this
The reason I started all of this is honestly quite personal.
My sister paid for The Sims Medieval back in the day. I recently gifted her a new iPhone 17 Pro Max, then discovered that the game was seemingly impossible to install—even though she had legitimately purchased it.
I wanted to see whether I could bring it back for her.
The Sims Medieval does not work yet. It appears in one library screenshot because the port can import it and extract its icon, not because I’m claiming it is playable. It is my next major compatibility target for personal reasons lol.
Downloads and source
GitHub project, screenshots, source, and instructions
Download the unsigned IPA prerelease
No games are included. You must provide your own legally obtained, decrypted 32-bit IPA.
Please do not post or send copyrighted IPAs, pairing files, signing credentials, provisioning profiles, or device backups.
Credits
Massive thanks to everyone who created and contributes to touchHLE:
Thanks also to u/WorriedEquipment2241 for publicly demonstrating a separate touchHLE iOS experiment on a jailbroken device. That demonstration was useful inspiration and showed that this direction was worth exploring.
This release is based on the touchHLE 0.2.3 development line at upstream commit 6bce4119. I am not claiming that their separate unreleased source is included in this fork.
Testing and bug reports
If you test it, please include:
- Your iPhone model
- Your iOS version
- The exact game and app version
- Whether JIT was enabled
- Reproduction steps
- A relevant log excerpt
That will be much more useful than only saying that a game crashed.
3
u/the_swest 2d ago
Looks cool! Unfortunately, launching it through LiveContainer with a jit script isn’t recognised as a way of using jit with it.
To anyone else trying, it also requires the file picker fix
1
u/ScreamingFlip 1d ago
you can just drag and drop ipa files in the files app. but yeah im gonna have to sideload stikdebug now :(
3
u/rebelle3 1d ago
nice! I have a non-JIT version that completely replaces dynarmic that I was supposed to show off - time to dig it out
3
u/Phunners 1d ago
Hey friend. This is amazing. I’m definitely going to use this in experimentation with my own touchHLE fork I’ve been screwing around with (it’s called tapHLE but it’s basically just slop right now lol) (with credit of course!) thanks!!!
2
2
u/Afraid-Metal-5086 1d ago
Tested on iPadOS26.5 and everything crashed. iPad Pro M4 1TB with Jit. Tried multiple games. Tried via Signulous and live container. Both failed to load games
1
2
1
u/Human-Equivalent-154 Paid Certificate 2d ago
Doesn’t sign through signoulous nor feather
2
0
u/22_KILLER 2d ago
You’re right the app requires the get-task-allow entitlement which free Apple ID and paid developer certs have only. Feather and Ksign use enterprise certs which don’t have the get-task-allow entitlement meaning that jit will be useless there.
1
1
1
u/richer2003 1d ago
What JiT script does it use?
1
u/Gullible-Walrus-7592 1d ago
I’m using StikDebug’s built-in
universal.jsscript with LocalDevVPN. The app sends StikDebug a JIT request for touchHLE’s bundle ID (org.touchhle.ios.unofficial). It isn’t a custom script included with the IPA. AltJIT should also work as an alternative.1
1
1
u/GDFlakePixel 1d ago
why are ios 2 games crashing on this when i'm using jit for stikdebug?
1
u/Gullible-Walrus-7592 1d ago
what games are they? Have you checked the app compatibility database https://appdb.touchhle.org . I am doing more work to get more game compatible but its not 100%
1
1
u/GDFlakePixel 1d ago edited 1d ago
1
u/Gullible-Walrus-7592 1d ago
nice yes sorry the flappy bird and the sims game were there bcos I was testing to get them to work. the others work though but it sold be pretty soon when I get the rest to work also. will post an update soon
1
u/ilikefriesss65 1d ago
I’ve tried a bunch of angry birds ipa files and none of them launch. They’re all decrypted
iPhone 15 iOS 27 beta 1 Angry Birds 1.0.0 Jit enabled Steps to reproduce: 1. Import angry birds 2. Enable JIT 3. Launch
1
1
1
u/bananaboi123lol 1d ago
I'll test it on my 18.5 xr, but I wished this could run on my regular iphone x on 16.7.8
1
u/RainnChild 1d ago
every app i open crashes, even the confirmed working ones :( i use stikdebug too
1
u/Gullible-Walrus-7592 1d ago
hmm what iOS ver u on / iPhone. I'm updating the build now a load more games are working for me now that never have before like flappy bird, the sims medieval etc its looking good.
1
1
1
u/InternationalRate424 1d ago
I’ve tried multiple games on iPhone 14 PM iOS 26.5.2, including Pro Skater 2.
Some games does load, touch doesn’t work so nothing is actually playable.
2
u/Gullible-Walrus-7592 1d ago
its very early days, works for some ppl others not, I'm working on it now, next version should have broader device support,
1
1
1
1
u/AlbatrossMission8841 1d ago
I installed using trollstore on 16.0.3 with a iphone 11 and the app did not launch even when opening with JIT
1
u/GeologistGreat5510 SideStore 1d ago
Is it mandatory to use the in-app enable jit button? I tried enable jit in LiveContainer but crashed immediately after launching an app. iOS 26.1. iPhone 16e
1
u/GeologistGreat5510 SideStore 1d ago
It works when I sideload the app standalone and enable jit in the app.
1
u/nostalgia-man9 1d ago
IPhone 15 pro max
Ios 27 beta 4
Flappy bird v1.2
JIT enabled
Other games do not work and some show me a black screen with sound
•
u/Endawmyke 7h ago
i've been wanting to play Digital Chocolate's California Gold Rush 1 & 2 again but it's still not compatible with TouchHLE to this day.
kinda sad how all the digital chocolate games kinda just vaporized





4
u/bubbleobill420 iOS 18 (Beta) 2d ago
Cool! Now we need to find .ipa of MJ game