Skip to content

Compatibility

bot edited this page Sep 14, 2026 · 2 revisions

Compatibility

HyperHLE runs the original ARM machine code of early iPhone OS apps and re-implements the OS frameworks in Rust. Compatibility depends on how much of the frameworks an app touches is implemented.

Where to check / report

  • AppDB (https://appdb.touchhle.org) — the compatibility database bundled with this repo. Browse per-app status and submit your own reports (AppDB).
  • The upstream CHANGELOG.md lists "new working apps" per release as a guideline — not a guarantee, and not comprehensive.

Typical compatibility levels

  • Works — playable/usable start to finish.
  • Partial — launches, but has graphical, audio or input issues; crashes at a specific point.
  • Broken — crashes on launch or during loading.

If an app doesn't work

  1. Run it with a dump: touchHLE --dump=linking-info --dump-file=DUMP.txt app.app (or dev-scripts/log-unimplemented.sh app.app) — see Debugging.
  2. Look for unimplemented classes/selectors/functions in the output — those are usually the blockers.
  3. Check existing AppDB reports for the app; if none, add one with the dump attached.

Known limits

  • No iOS kernel/firmware emulation: apps requiring deep system services may never work under an HLE approach.
  • GLES is translated to desktop OpenGL; exotic rendering paths can produce artefacts (see Architecture).

Clone this wiki locally