emulator: "touchHLE" type: standalone core_classification: embedded_hle source: "https://github.com/touchHLE/touchHLE" profiled_date: "2026-10-17" source_commit: "3c5850585ba55615b17a58c58331b6d6f52d4a9d" pin_frozen: "ROCKNIX 20261001 builds this revision. Later upstream commits are not part of that build." core_version: "0.2.3" display_name: "Apple - iPhone OS (touchHLE)" cores: - "touchhle" - "touchhle-sa" systems: - apple-ios notes: | High-level emulator for iPhone OS apps. The operating system and its frameworks are reimplemented in Rust, so no Apple firmware or system file is opened. What it reads besides the app are resources bundled with it: three Free Software ARMv6 libraries, fonts, and a table of default per-app options. ref: Cargo.toml:7, src/paths.rs:9-12, src/paths.rs:28-36 Resources are opened relative to the working directory, or the Resources folder of a macOS bundle. ROCKNIX patches the Linux base to /usr/lib/touchHLE. ref: src/paths.rs:63-82 The libraries are mapped into the guest at /usr/lib under their own names and aliases. An app binary that links one of them loads it from there, and fails to start with "Could not load bundled dylib" when the host file is missing. ref: src/fs.rs:588-622, src/environment.rs:384-413 Fonts are opened the first time an app draws text in that face, and a missing or unparsable file is a panic. The Liberation families stand in for the iPhone OS faces; Noto Sans JP is used for strings holding kana or kanji. ROCKNIX installs only the LiberationSans files, so an app that asks for a monospace, serif or Japanese face stops there. ref: src/font.rs:70-129, src/frameworks/uikit/ui_font.rs:26-43, src/frameworks/uikit/ui_font.rs:180-205 touchHLE_default_options.txt is read before the user's touchHLE_options.txt; when it cannot be opened a warning is printed and the app runs without it. ref: src/lib.rs:319-323 files: - name: "libgcc_s.1.dylib" path: "touchHLE_dylibs/libgcc_s.1.dylib" system: apple-ios required: false sha1: "827d9304ade7342560b83bb2d79519161a36a395" md5: "f170c90d0940c5989c7ea65f6832906b" bundled: true description: "GCC runtime library from the iPhoneOS 4.0 SDK" note: "Exposed as /usr/lib/libgcc_s.1.dylib. Needed by apps that link it." source_ref: "src/fs.rs:588-622, src/environment.rs:384-413" - name: "libstdc++.6.0.9.dylib" path: "touchHLE_dylibs/libstdc++.6.0.9.dylib" system: apple-ios required: false sha1: "80a78b90ed2af3656947124a623be06346c91c07" md5: "d44ff6644a1f42e1a333664752940266" bundled: true description: "GNU C++ standard library from the iPhoneOS 4.0 SDK" note: "Exposed as /usr/lib/libstdc++.6.dylib and /usr/lib/libstdc++.6.0.9.dylib. Needed by apps that link it." source_ref: "src/fs.rs:588-622, src/environment.rs:384-413" - name: "libz.1.2.3.dylib" path: "touchHLE_dylibs/libz.1.2.3.dylib" system: apple-ios required: false sha1: "c7a074cc2a28618205107da722d3030441a7f791" md5: "6b2f78a706d9b46f038059ef01c97253" bundled: true description: "zlib built from Apple's zlib-23.0.1 sources" note: "Exposed as /usr/lib/libz.1.2.3.dylib, libz.1.dylib, libz.dylib and libz.1.1.3.dylib. Needed by apps that link it." source_ref: "src/fs.rs:588-622, src/environment.rs:384-413" - name: "LiberationMono-Regular.ttf" path: "touchHLE_fonts/LiberationMono-Regular.ttf" system: apple-ios required: false sha1: "6d137827a5b3b5b4ca2378642cdee0f65497ad0b" md5: "e59b87dce1497a1ba08d472667722916" bundled: true description: "Bundled font" note: "Opened on first use of its face; touchHLE panics when it is missing." source_ref: "src/font.rs:70-85, src/font.rs:88-90" - name: "LiberationMono-Bold.ttf" path: "touchHLE_fonts/LiberationMono-Bold.ttf" system: apple-ios required: false sha1: "621736fa22ae2661eff1a0a199f882733440a33c" md5: "e52e17953632fd6f1da5e51c84a6dea7" bundled: true description: "Bundled font" note: "Opened on first use of its face; touchHLE panics when it is missing." source_ref: "src/font.rs:70-85, src/font.rs:91-93" - name: "LiberationMono-BoldItalic.ttf" path: "touchHLE_fonts/LiberationMono-BoldItalic.ttf" system: apple-ios required: false sha1: "6dbf7cd701cb1048dd7a2a01f84b5473842bf3ba" md5: "00bed708fb7614c12c92cfd16f1fb7b8" bundled: true description: "Bundled font" note: "Opened on first use of its face; touchHLE panics when it is missing." source_ref: "src/font.rs:70-85, src/font.rs:94-96" - name: "LiberationMono-Italic.ttf" path: "touchHLE_fonts/LiberationMono-Italic.ttf" system: apple-ios required: false sha1: "67ec8aefea86e24e6a875e9f5b78437e75edf9e8" md5: "fe762a65e22e23c935aff8eda38eaaf3" bundled: true description: "Bundled font" note: "Opened on first use of its face; touchHLE panics when it is missing." source_ref: "src/font.rs:70-85, src/font.rs:97-99" - name: "LiberationSans-Regular.ttf" path: "touchHLE_fonts/LiberationSans-Regular.ttf" system: apple-ios required: false sha1: "822a13649cfa7475343d52bfb2db9f0358a36822" md5: "d7b4e92b03deb1865aa61328fd5ff400" bundled: true description: "Bundled font" note: "Opened on first use of its face; touchHLE panics when it is missing." source_ref: "src/font.rs:70-85, src/font.rs:100-102" - name: "LiberationSans-Bold.ttf" path: "touchHLE_fonts/LiberationSans-Bold.ttf" system: apple-ios required: false sha1: "4e5ee6e5de4d35337f7d14fa43222908e28e2d8d" md5: "ab3823f8c454609eab661b54751fd55e" bundled: true description: "Bundled font" note: "Opened on first use of its face; touchHLE panics when it is missing." source_ref: "src/font.rs:70-85, src/font.rs:103-105" - name: "LiberationSans-BoldItalic.ttf" path: "touchHLE_fonts/LiberationSans-BoldItalic.ttf" system: apple-ios required: false sha1: "cbf18b615d022b3a49c114c1fdea5170e04e8d08" md5: "ad144bbd42d9dccb07db1aae6682b98b" bundled: true description: "Bundled font" note: "Opened on first use of its face; touchHLE panics when it is missing." source_ref: "src/font.rs:70-85, src/font.rs:106-108" - name: "LiberationSans-Italic.ttf" path: "touchHLE_fonts/LiberationSans-Italic.ttf" system: apple-ios required: false sha1: "aa4de844c5538cb9bf5393ed767884cd72f2b448" md5: "333f554fddaa0faf89afc3621a6a18c8" bundled: true description: "Bundled font" note: "Opened on first use of its face; touchHLE panics when it is missing." source_ref: "src/font.rs:70-85, src/font.rs:109-111" - name: "LiberationSerif-Regular.ttf" path: "touchHLE_fonts/LiberationSerif-Regular.ttf" system: apple-ios required: false sha1: "e617879345422a0e204de4b1dff4a41103992d64" md5: "732ab01395f607bf178d0f32d841cc71" bundled: true description: "Bundled font" note: "Opened on first use of its face; touchHLE panics when it is missing." source_ref: "src/font.rs:70-85, src/font.rs:112-114" - name: "LiberationSerif-Bold.ttf" path: "touchHLE_fonts/LiberationSerif-Bold.ttf" system: apple-ios required: false sha1: "d38816f0b2205dc619c061a60ef5f250b9bdf231" md5: "184a866d565bae797baa39458fde7ac4" bundled: true description: "Bundled font" note: "Opened on first use of its face; touchHLE panics when it is missing." source_ref: "src/font.rs:70-85, src/font.rs:115-117" - name: "LiberationSerif-BoldItalic.ttf" path: "touchHLE_fonts/LiberationSerif-BoldItalic.ttf" system: apple-ios required: false sha1: "7e9704cabad534e2a56b32bbbec89a8d7e4e138f" md5: "23e615c7010f0ad9f1d2817009733cb9" bundled: true description: "Bundled font" note: "Opened on first use of its face; touchHLE panics when it is missing." source_ref: "src/font.rs:70-85, src/font.rs:118-120" - name: "LiberationSerif-Italic.ttf" path: "touchHLE_fonts/LiberationSerif-Italic.ttf" system: apple-ios required: false sha1: "c5f801425d1f93be54e31267813f4367755f096c" md5: "31defdf69fc00c20b9caabe3e76d53e1" bundled: true description: "Bundled font" note: "Opened on first use of its face; touchHLE panics when it is missing." source_ref: "src/font.rs:70-85, src/font.rs:121-123" - name: "NotoSansJP-Regular.otf" path: "touchHLE_fonts/NotoSansJP-Regular.otf" system: apple-ios required: false sha1: "2a167a116b54ecd4f939e47d0ad78cb3402d938c" md5: "f82ef23cfbf8b46a234465b0151ee71f" bundled: true description: "Bundled font" note: "Opened on first use of its face; touchHLE panics when it is missing." source_ref: "src/font.rs:70-85, src/font.rs:124-126" - name: "NotoSansJP-Bold.otf" path: "touchHLE_fonts/NotoSansJP-Bold.otf" system: apple-ios required: false sha1: "a7a997c4c894d2cc691332e7232d909d4f08a552" md5: "77921099a1d3fce6fb64a7b3b678b7dc" bundled: true description: "Bundled font" note: "Opened on first use of its face; touchHLE panics when it is missing." source_ref: "src/font.rs:70-85, src/font.rs:127-129" - name: "touchHLE_default_options.txt" path: "touchHLE_default_options.txt" system: apple-ios required: false sha1: "ee41db73da6e50593fdb95c3dee3bd42783718cf" md5: "e982d067cdcbda507773dd9d4b3d4c07" bundled: true category: game_data description: "Default options per app" note: "Command-line style options keyed by app bundle identifier, applied before the user's own file." source_ref: "src/paths.rs:36, src/lib.rs:319-323"