touchHLE downloads

Stable releases

Stable releases of touchHLE are released every few months. They are recommended for most users.

Click here for stable release downloads

Preview builds

Preview builds of touchHLE (also called trunk builds) are generated automatically from new changes to touchHLE. They are intended as a preview of what will be in future releases. They are incomplete and not recommended for most users!

You must log into GitHub to be able to download these. Click the link in the “Build” column for the downloads.

List last refreshed:

Date/time Commit Build
63d3b446fe61a9ebaddc5cab859a0d2f880872a7 Implement OSAtomicCompareAndSwapPtrBarrier
29f225f7eefcb5f1e6835d0210efc820ac5cd4a3 Reduce the amount of casts in Image::round_corners() and fix off-by-one
f096e73071c80f42d5dde673b266298fe23af26b Round icon positions in app picker to improve readability
07eab174cac9f8f2279811638776237aeb2c9bc5 Render a sheen over icons (i.e. support UIPrerenderedIcon = false)
d54d1c7bd1d0eac0348b3f392e6431e0710751da Use index buffers in the compositor
3a870aef7497cbbb3361983f398de52db7ae65bd Use array buffers in the compositor
7c8e37e64a3f7292a6fe0db262406a4d1c972e15 Fix missing corner radius on the labels within the UISwitch
d657ef4269cd1768e4bc705fa1a8e8f8fd4fa9b5 Implement CALayer cornerRadius and use it for UIButton and UISwitch
678d9a73fa1448fb463203e5e161a9785c81ad6c Support char and short backed NSNumbers in property list serialization
6b68ea1e374a6a383645228235a5d39a1c769a0d Fixes kCFBooleanFalse and kCFBooleanTrue
595fea3d07c8e761f2bbcc41e724d9f5732459d6 Clarify use of LLMs is banned (follows from existing copyright policy)
336702844b91b9e28ff4743c4673317c845e3e8b Implement kCFBooleanFalse and kCFBooleanTrue
76bf7057720ad61a6dd364b06736c9c0648587d9 Pass whole environment to HostConstant::Custom
d9bb3c794c56260e0c7168480ce17a2ac58e7a7e Implement CFNumberCreate() for some types
e50e4191cc7483f835d97d87c725308d6506f7c7 Correct aliased types
0ff3638ba3d2f4f9f2f5df27e99010906b7ea756 Implement some of CFPreferences functionality for the current app
06b57773389f5ca1f52cad93e56fe8ce97ebf392 Implement CFStringHasSuffix()
c6dda051a1004aded188ebb028f529122baa1e28 Fix CFDataCreate()
4355d08b67cd3c334ef1193139a9a2b3590c25cf Implement NSRecursiveLock
8da840321abc589e79677f81535acaf6c6d7f4ca Simplify NSLock implementation
ea6eadd9c0a14857f100e2d4528b57b24e06b0cc Game specific hacks to make Fuse powered games work
9b0d9729f9aaefb773f7a0c2c7be0341a7857023 Update CHANGELOG
ef1a775bf626bc0db0b10f83240ea9a5a63f7ca5 Fix whitespaces skipping in sscanf family
fd7571a2eb45adff083dcab3a78986cb0e3cdceb Implement NSFileModificationDate and NSFileSize for the case of normal
3f0ecba7b21d6f9560a4193c15e218173a13c135 Add android/build to gitignore
4919aab9f7e1948bbccca526c41baa1df9ccf4c2 Fix uninlined format lint for android
97fc52f3fa1b0723cd7925ddc40583013f9f3e74 Add icon, branding and version metadata to macOS bundle, like on Android
1d26407656b63e61c9f8dc4dd5a7b043eb72cea6 Fix reference to old button name
7aedb6c9f728071ab2a1d575ca3e8f878abd672e Use DocumentsProvider.getContext() to get context
d671600d78e2220bd2983893f06fe8b69827bd38 Add icon and meaningful versioning to Android APK