IOS emulators: Difference between revisions
No edit summary |
|||
| (26 intermediate revisions by 14 users not shown) | |||
| Line 15: | Line 15: | ||
Formerly, iOS was used for both Apple's phones and tablets. Then, the iOS brand was split into two parts in 2019, with iOS now being the OS exclusively used in the iPhone and the now-defunct iPod Touch. The second half, named iPadOS, is a fork of iOS for iPads that makes use of their larger screens, hence its name. Most iOS apps and games work on iPadOS. | Formerly, iOS was used for both Apple's phones and tablets. Then, the iOS brand was split into two parts in 2019, with iOS now being the OS exclusively used in the iPhone and the now-defunct iPod Touch. The second half, named iPadOS, is a fork of iOS for iPads that makes use of their larger screens, hence its name. Most iOS apps and games work on iPadOS. | ||
The official iOS SDK (macOS-only) only allows for running your own projects, i.e., they run code generated for an x86 target rather than ARM code as used by iOS. Similarly to most of the [[Android emulators]], some emulators (e.g., [[BlackThunder]]) use two-step approach, making use of the simulator in the iOS SDK to run a few chosen iOS apps that are recompiled for x86. Unlike previous emulation trails, BlackThunder first loads a highly trimmed Hackintosh image via VirtualBox, which loads Xcode and an iOS simulator into it, then runs decompiled iOS apps recompiled for the x86 architecture. Appetize.io and other tools that claim to emulate iOS on a web browser are in reality just the iOS simulator in XCode wrapped around a cloud stream to the web browser, and like the iOS XCode simulator, need the source code to run. More recently, touchHLE managed to get a few older iPhone OS apps running by recreating some of iOS’s standard libraries and emulating just the iPhone’s CPU, and nearly the same time, QEMU-iOS got released and can successfully emulate iPhone OS 1.0 on an iPod Touch 1st generation, albeit with bugs. | |||
==Emulators== | ==Emulators== | ||
{| class="wikitable" style="text-align:center;width:100%" | {| class="wikitable" style="text-align:center;width:100%" | ||
! | !Name | ||
! | !Platform(s) | ||
! | !Latest version | ||
! | !Compatibility | ||
! | ![[Licensing|License]] | ||
!Active | |||
![[Recommended emulators|Recommended]] | |||
|+Before editing, review the [[Getting involved]] and [[Recommended emulators|Recommended]] pages. See [[Computer_specifications#Recommended_Specifications|system requirements]] page for performance demand of the emulators.<br>See tables for <span style="font-weight: bold; color: #CC0000; border: 1px solid #CC0000; padding: 2px;">[[#Enhancements|enhancements]] and [[#Hardware_features|hardware features]]</span><br>For more details such as [[licensing]], [[Source_code#Language_levels|programming language]], [[High_and_low-level_emulation|emulation method]], visit each emulator’s dedicated page. | |||
|- | |- | ||
!colspan="9"|x86 | !colspan="9"|x86 | ||
|- | |- | ||
|[ | |[[touchHLE]] | ||
|align=left|{{Icon|Windows|macOS|Linux | |align=left|{{Icon|Windows|macOS|Linux}}<ref name=":0">Linux release requires you to build it yourself from source, however unofficial compiled AppImages can be found [https://github.com/pkgforge-dev/TouchHLE-AppImage here].</ref> | ||
|[https://touchhle.org/download/ {{TouchHLEVer}}] | |[https://touchhle.org/download/ {{TouchHLEVer}}] | ||
|{{Emulator compatibility|link=https://appdb.touchhle.org/|398|879}} | |||
|{{Emulator compatibility|link=https://appdb.touchhle.org/| | |||
| | |||
|{{Green}} {{License|MPL2}} ({{License|Copyleft}}) | |{{Green}} {{License|MPL2}} ({{License|Copyleft}}) | ||
|{{✓}} | |{{✓}} | ||
| Line 54: | Line 41: | ||
|align=left|{{Icon|macOS|Linux}} | |align=left|{{Icon|macOS|Linux}} | ||
|[https://github.com/devos50/qemu-ios#running-the-ipod-touch-1g git] | |[https://github.com/devos50/qemu-ios#running-the-ipod-touch-1g git] | ||
|N/A | |N/A | ||
|{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | |{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | ||
| Line 64: | Line 49: | ||
|align=left|{{Icon|macOS|Linux}} | |align=left|{{Icon|macOS|Linux}} | ||
|[https://github.com/ChefKissInc/Inferno git] | |[https://github.com/ChefKissInc/Inferno git] | ||
|N/A | |N/A | ||
|{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | |{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | ||
| Line 73: | Line 56: | ||
|[[BlackThunder]] | |[[BlackThunder]] | ||
|align=left|{{Icon|Windows|macOS}} | |align=left|{{Icon|Windows|macOS}} | ||
|? | |? | ||
|? | |? | ||
| Line 84: | Line 65: | ||
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}} | |align=left|{{Icon|Windows|Linux|macOS|FreeBSD}} | ||
|[http://www.mamedev.org/release.html {{MAMEVer}}] | |[http://www.mamedev.org/release.html {{MAMEVer}}] | ||
|N/A | |N/A | ||
|{{Green}} {{License|GPLv2}}<br>{{License|BSD3}} | |{{Green}} {{License|GPLv2}}<br>{{License|BSD3}} | ||
| Line 94: | Line 73: | ||
|align=left|{{Icon|Windows|macOS|Linux}} | |align=left|{{Icon|Windows|macOS|Linux}} | ||
|[https://github.com/zhkl0228/unidbg/releases/tag/v0.9.8 v0.9.8] | |[https://github.com/zhkl0228/unidbg/releases/tag/v0.9.8 v0.9.8] | ||
|? | |? | ||
|{{Green}} {{License|Apache2}} ({{License|Permissive}}) | |{{Green}} {{License|Apache2}} ({{License|Permissive}}) | ||
| Line 104: | Line 81: | ||
|align=left|{{Icon|macOS}} | |align=left|{{Icon|macOS}} | ||
|Feb 6, 2021 (git) | |Feb 6, 2021 (git) | ||
|Limited (some commercial apps work) | |Limited (some commercial apps work) | ||
|{{Green}} {{License|GPLv2}} & {{License|LGPL-2.1}} ({{License|Copyleft}}) | |{{Green}} {{License|GPLv2}} & {{License|LGPL-2.1}} ({{License|Copyleft}}) | ||
| Line 114: | Line 89: | ||
|align=left|{{Icon|macOS}} | |align=left|{{Icon|macOS}} | ||
|[https://github.com/zydeco/aah git] | |[https://github.com/zydeco/aah git] | ||
|? | |? | ||
|{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | |{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) | ||
| Line 124: | Line 97: | ||
|align=left|{{Icon|Windows}} | |align=left|{{Icon|Windows}} | ||
|[https://github.com/ipasimulator/ipasim/releases/tag/v1.0.1 Patch v1.0.1] | |[https://github.com/ipasimulator/ipasim/releases/tag/v1.0.1 Patch v1.0.1] | ||
|? | |? | ||
|{{Green}} {{License|MIT}} ({{License|Permissive}}) | |{{Green}} {{License|MIT}} ({{License|Permissive}}) | ||
| Line 134: | Line 105: | ||
|align=left|{{Icon|Windows|macOS|Linux}} | |align=left|{{Icon|Windows|macOS|Linux}} | ||
|0.9.7 | |0.9.7 | ||
|? | |? | ||
|{{Green}} {{License|Apache2}} ({{License|Permissive}}) | |{{Green}} {{License|Apache2}} ({{License|Permissive}}) | ||
| Line 144: | Line 113: | ||
|align=left|{{Icon|Linux|macOS}} | |align=left|{{Icon|Linux|macOS}} | ||
|[https://github.com/TrungNguyen1909/qemu-t8030 git] | |[https://github.com/TrungNguyen1909/qemu-t8030 git] | ||
|? | |? | ||
|{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) ||{{✗}} ||{{✗}} | |{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) ||{{✗}} ||{{✗}} | ||
| Line 152: | Line 119: | ||
|align=left|{{Icon|Windows|Linux|macOS}} | |align=left|{{Icon|Windows|Linux|macOS}} | ||
|[https://github.com/alephsecurity/xnu-qemu-arm64 git] | |[https://github.com/alephsecurity/xnu-qemu-arm64 git] | ||
|? | |? | ||
|{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) ||{{✗}} ||{{✗}} | |{{Green}} {{License|GPLv2}} ({{License|Copyleft}}) ||{{✗}} ||{{✗}} | ||
| Line 161: | Line 126: | ||
|[https://github.com/danzatt/QEMU-s5l89xx-port git] | |[https://github.com/danzatt/QEMU-s5l89xx-port git] | ||
|? | |? | ||
|{{?}} ||{{✗}} ||{{✗}} | |||
|- | |||
|[https://github.com/HyperHLE/HyperHLE/ HyperHLE] | |||
|align=left|{{Icon|Windows|macOS|Linux}} | |||
|[https://github.com/HyperHLE/HyperHLE/ git] | |||
|? | |? | ||
| | |{{Green}} {{License|MPL2}} ({{License|Copyleft}}) | ||
|{{ | |{{✓}} | ||
|{{✗}} | |||
|- | |- | ||
!colspan="9"|ARM | !colspan="9"|ARM | ||
|- | |- | ||
|[https://touchhle.org/ touchHLE] | |[https://touchhle.org/ touchHLE] | ||
|align=left|{{Icon|Android}} | |align=left|{{Icon|Android|Mac|LinuxARM}}<ref name=":0" /> | ||
|[https://touchhle.org/download/ 0.2. | |[https://touchhle.org/download/ 0.2.3] | ||
|{{Emulator compatibility|link=https://appdb.touchhle.org/|398|879}} | |||
|{{Emulator compatibility|link=https://appdb.touchhle.org/| | |||
|{{Green}} {{License|MPL2}} ({{License|Copyleft}}) | |{{Green}} {{License|MPL2}} ({{License|Copyleft}}) | ||
|{{✓}} | |{{✓}} | ||
|{{~}} | |{{~}} | ||
|- | |||
|[https://github.com/johnny901901901/Applesauce Applesauce] | |||
| align="left" |{{Icon|iOS|iPadOS}} | |||
|[https://github.com/johnny901901901/Applesauce/releases git] | |||
|? | |||
|MPL 2.0 (Copyleft) | |||
|{{✓}} | |||
| | |||
|- | |||
|[https://github.com/HyperHLE/HyperHLE/ HyperHLE] | |||
| align="left" |{{Icon|Android}} | |||
|[https://github.com/HyperHLE/HyperHLE/ git] | |||
|? | |||
|MPL 2.0 (Copyleft) | |||
|{{✓}} | |||
|{{✗}} | |||
|- | |||
|} | |} | ||
==Hypervisors [[Hypervisors|(...)]]== | ==Hypervisors [[Hypervisors|(...)]]== | ||
{| class="wikitable" style="text-align:center;width:100%" | {| class="wikitable" style="text-align:center;width:100%" | ||
! | !Name | ||
! | !Platform(s) | ||
! | !Latest version | ||
! | !Compatibility | ||
![[Licensing|License]] | |||
!Active | |||
! | ![[Recommended emulators|Recommended]] | ||
! | |||
! | |||
|- | |- | ||
|[https://www.corellium.com/ Corellium] | |[https://www.corellium.com/ Corellium] | ||
|align=left|{{Icon|Web}} | |align=left|{{Icon|Web}} | ||
|[https://www.corellium.com/ Web-based] ($) | |[https://www.corellium.com/ Web-based] ($) | ||
|? | |? | ||
|{{Red}} {{License|Proprietary}} | |{{Red}} {{License|Proprietary}} | ||
| Line 205: | Line 186: | ||
| - | | - | ||
| ? | | ? | ||
|{{Green}} {{License|MIT}} ({{License|Permissive}})<ref group=N>Formerly licensed under {{License|WTFPLv2}}</ref> | |||
|{{Green}} {{License|MIT}}<ref group=N>Formerly licensed under {{License|WTFPLv2}}</ref> | |||
| {{✓}} | | {{✓}} | ||
| {{~}} | | {{~}} | ||
| Line 213: | Line 192: | ||
==Native== | ==Native== | ||
{| class="wikitable" style="text-align:center;width:100%" | {| class="wikitable" style="text-align:center;width:100%" | ||
! | !Name | ||
! | !Platform(s) | ||
! | !Latest version | ||
! | !Compatibility | ||
![[Licensing|License]] | |||
!Active | |||
! | ![[Recommended emulators|Recommended]] | ||
! | |||
! | |||
|- | |- | ||
!colspan="9"|ARM | !colspan="9"|ARM | ||
| Line 230: | Line 206: | ||
|align=left|{{Icon|macOS}}<ref group=N>Requires Mac computers with Apple Silicon (M series) processors.</ref> | |align=left|{{Icon|macOS}}<ref group=N>Requires Mac computers with Apple Silicon (M series) processors.</ref> | ||
|11 Big Sur to 26 Tahoe | |11 Big Sur to 26 Tahoe | ||
|? | |? | ||
|{{Red}} {{License|Proprietary}} | |{{Red}} {{License|Proprietary}} | ||
| Line 240: | Line 214: | ||
|align=left|{{Icon|Android}} | |align=left|{{Icon|Android}} | ||
|Unreleased | |Unreleased | ||
|? | |? | ||
|{{Red}} {{License|Proprietary}} | |{{Red}} {{License|Proprietary}} | ||
| Line 255: | Line 227: | ||
:;[[touchHLE]] | :;[[touchHLE]] | ||
::An approach that aims to run older iOS apps by reimplementing standard libraries instead of internal components. Because of this [[High/Low_level_emulation|very high-level approach]], no dump of the operating system is required. Essentially, it's just kind of like Wine and Rosetta combined. Its initial target was iPhone OS 2.x, and 3.0 support arrived sometime in 2024, although there are plans to support other 32-bit iOS versions, mainly 4.x, as well as the iPad. Development started in December 2022, and its initial 0.1.0 release came out in February 2023. [https://appdb.touchhle.org/ touchHLE supports a handful of apps], with most apps that do not crash on the start working absolutely perfectly. touchHLE supports running IPA files directly. A game controller is required to control the accelerometer. touchHLE has an app archive that currently only has two apps: ''Touch & Go'' and its lite version, ''Touch & Go LITE''. These are both licensed to be free for use with touchHLE. | ::An approach that aims to run older iOS apps by reimplementing standard libraries instead of internal components. Because of this [[High/Low_level_emulation|very high-level approach]], no dump of the operating system is required. Essentially, it's just kind of like Wine and Rosetta combined. Its initial target was iPhone OS 2.x, and 3.0 support arrived sometime in 2024, although there are plans to support other 32-bit iOS versions, mainly 4.x, as well as the iPad. Development started in December 2022, and its initial 0.1.0 release came out in February 2023. [https://appdb.touchhle.org/ touchHLE supports a handful of apps], with most apps that do not crash on the start working absolutely perfectly. touchHLE supports running IPA files directly. A game controller is required to control the accelerometer. touchHLE has an app archive that currently only has two apps: ''Touch & Go'' and its lite version, ''Touch & Go LITE''. These are both licensed to be free for use with touchHLE. | ||
::;HyperHLE | ::;HyperHLE | ||
:::A fork of | :::A fork of touchHLE that supports higher versions of iOS, up to iOS 10. '''This fork uses AI-assisted code, as such, we do <u>NOT</u> recommend it.''' | ||
:: | |||
:: | |||
:;QEMU-iOS | :;QEMU-iOS | ||
::Previously unnamed and referred to as “devos50’s qemu fork”, Based on earlier work emulating the S5L8900 and the iPhone 11 in QEMU. It can emulate an iPod Touch 1G running iOS 1.0, including iBoot, the kernel, and the Springboard, although it requires a modified NOR and NAND image. Some features, such as audio and Wi-Fi, are not emulated, and there are multiple crashes. About a year later, the same user managed to run iPhone OS 2 on an emulated iPod Touch 2G, however internet connectivity is not figured out yet, and a few 3rd-party apps do work via [https://github.com/devos50/qemu-ios/issues/198 filesystem hacks], but both networking and USB (iTunes) are unemulated and cannot be installed regularly. | ::Previously unnamed and referred to as “devos50’s qemu fork”, Based on earlier work emulating the S5L8900 and the iPhone 11 in QEMU. It can emulate an iPod Touch 1G running iOS 1.0, including iBoot, the kernel, and the Springboard, although it requires a modified NOR and NAND image. Some features, such as audio and Wi-Fi, are not emulated, and there are multiple crashes. About a year later, the same user managed to run iPhone OS 2 on an emulated iPod Touch 2G, however internet connectivity is not figured out yet, and a few 3rd-party apps do work via [https://github.com/devos50/qemu-ios/issues/198 filesystem hacks], but both networking and USB (iTunes) are unemulated and cannot be installed regularly. | ||
| Line 335: | Line 309: | ||
{| class="wikitable" style="text-align:center;width:100%" | {| class="wikitable" style="text-align:center;width:100%" | ||
|+Please only include recommended emulators in this table. Do not bump or spam GitHub threads, issues, or feature request pages. | |||
|- style="font-weight:bold;" | |- style="font-weight:bold;" | ||
! colspan=2 | Name | ! colspan=2 | Name | ||
| Line 341: | Line 316: | ||
! Corellium | ! Corellium | ||
|- | |- | ||
| colspan=2 | [[Wikipedia:IOS#Home_screen|Home screen]]<br | | colspan=2 | [[Wikipedia:IOS#Home_screen|Home screen]]<br><small>This shouldn't be confused with emulator frontend/GUI.</small> | ||
| {{✗}} | | {{✗}} | ||
| {{~}} | | {{~}} | ||
| Line 377: | Line 352: | ||
|- | |- | ||
| colspan=2 | [[List_of_console_games_that_support_motion_controls#iOS_Emulation|Motion sensors]] | | colspan=2 | [[List_of_console_games_that_support_motion_controls#iOS_Emulation|Motion sensors]] | ||
| {{✓}}[https://github.com/ | | {{✓}}[https://github.com/touchHLE/touchHLE/blob/trunk/OPTIONS_HELP.txt#L35 *] | ||
| {{✗}} | | {{✗}} | ||
| {{?}} | | {{?}} | ||
| Line 387: | Line 362: | ||
|- | |- | ||
| rowspan=2 | Connectivity | | rowspan=2 | Connectivity | ||
| [[Preservation_projects#Private_Platform_Servers|Game Center]]<br | | [[Preservation_projects#Private_Platform_Servers|Game Center]]<br><small>Achievements, Challenges, Leaderboards etc.</small> | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
| Line 404: | Line 379: | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| colspan=2 | iPhone OS 2<br | | colspan=2 | iPhone OS 2<br><small>iPhone OS 2.2.1 was the last version compatible solely with ARMv6 chips. | ||
| {{✓}} | | {{✓}} | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| colspan=2 | iPhone OS 3<br | | colspan=2 | iPhone OS 3<br><small>Supported both ARMv6 and ARMv7-A chips.<br> | ||
| {{ | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| colspan=2 | iOS 4<br | | colspan=2 | iOS 4<br><small>iOS 4.2.1 was the last version supported ARMv6 chips.</small> | ||
| {{~}} | | {{~}} <br> <small>TouchHLE currently only supports 4.0.x and 4.1.</small> | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
| Line 424: | Line 399: | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| colspan=2 | iOS 6<br | | colspan=2 | iOS 6<br><small>iOS 6.1.6 was the last version compatible solely with 32-bit ARMv7-A chips.</small> | ||
|style="background:skyblue;"|[https://github.com/hikari-no-yume/touchHLE#touchhle-high-level-emulator-for-iphone-os-apps Future goal] | |style="background:skyblue;"|[https://github.com/hikari-no-yume/touchHLE#touchhle-high-level-emulator-for-iphone-os-apps Future goal] | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| colspan=2 | iOS 7 to 10<br | | colspan=2 | iOS 7 to 10<br><small>Supports both 64-bit ARMv8''x''-A and 32-bit ARMv7-A chips. iOS 10.3.4 was the last version that supported 32-bit chips.</small> | ||
|style="background:{{{color|#FFD2D2}}};"|[https://github.com/hikari-no-yume/touchHLE/issues/181#issuecomment-1777098259 Never] | |style="background:{{{color|#FFD2D2}}};"|[https://github.com/hikari-no-yume/touchHLE/issues/181#issuecomment-1777098259 Never] | ||
| {{✗}} | | {{✗}} | ||
| Line 451: | Line 426: | ||
! colspan=5 | [https://developer.apple.com/documentation/xcode/application-binary-interfaces Supported ABIs] | ! colspan=5 | [https://developer.apple.com/documentation/xcode/application-binary-interfaces Supported ABIs] | ||
|- | |- | ||
| colspan=2 | [https://developer.apple.com/documentation/xcode/writing-armv6-code-for-ios ios_armv6] (iPhone OS 1 – iOS 4.2.1)<br | | colspan=2 | [https://developer.apple.com/documentation/xcode/writing-armv6-code-for-ios ios_armv6] (iPhone OS 1 – iOS 4.2.1)<br><small>Supporting ios_armv6 ABI is crucial for emulators due to compatibility and [[Preservation_projects|preservation]] reasons.</small> | ||
| {{✓}}[https://github.com/merryhime/dynarmic?tab=readme-ov-file#supported-guest-architectures *] | | {{✓}}[https://github.com/merryhime/dynarmic?tab=readme-ov-file#supported-guest-architectures *] | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| colspan=2 | [https://developer.apple.com/documentation/xcode/writing-armv7-code-for-ios ios_armv7a] (iPhone OS 3 – iOS 10.3.4)<br | | colspan=2 | [https://developer.apple.com/documentation/xcode/writing-armv7-code-for-ios ios_armv7a] (iPhone OS 3 – iOS 10.3.4)<br><small>Supporting ios_armv7a ABI is crucial for emulators due to compatibility and [[Preservation_projects|preservation]] reasons.<br> Older applications and games often rely on the [[Wikipedia:ARM_architecture_family|ARM 32-bit (Cortex)]] architecture, which isn't used in newer hardware.</small> | ||
| {{✓}}[https://github.com/merryhime/dynarmic?tab=readme-ov-file#supported-guest-architectures *] | | {{✓}}[https://github.com/merryhime/dynarmic?tab=readme-ov-file#supported-guest-architectures *] | ||
| {{✗}} | | {{✗}} | ||
| Line 468: | Line 443: | ||
! colspan=5 | [https://developer.apple.com/documentation/technologies Supported APIs] | ! colspan=5 | [https://developer.apple.com/documentation/technologies Supported APIs] | ||
|- | |- | ||
| colspan=2 | [https://developer.apple.com/documentation/opengles OpenGL ES x.x] (iPhone OS 2 – iOS 12.0)<br | | colspan=2 | [https://developer.apple.com/documentation/opengles OpenGL ES x.x] (iPhone OS 2 – iOS 12.0)<br><small>Supporting OpenGL ES x.x APIs is crucial for emulators due to compatibility and [[Preservation_projects|preservation]] reasons.</small> | ||
| {{~}}[https://github.com/hikari-no-yume/touchHLE?tab=readme-ov-file#development-status *]<br | | {{~}}[https://github.com/hikari-no-yume/touchHLE?tab=readme-ov-file#development-status *]<br><small>TouchHLE currently support only OpenGL ES 1.[https://old.reddit.com/r/emulation/comments/1gqdrwm/touchhle_emulator_development_video/lx26wwu/]</small> | ||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
| Line 482: | Line 457: | ||
==Enhancements== | ==Enhancements== | ||
{| class="wikitable" style="text-align:center;width:100%" | {| class="wikitable" style="text-align:center;width:100%" | ||
|+Please only include recommended emulators in this table. Do not bump or spam GitHub threads, issues, or feature request pages. | |||
! colspan=2 style="width:50%" | Name | ! colspan=2 style="width:50%" | Name | ||
! TouchHLE | ! TouchHLE | ||
| Line 492: | Line 468: | ||
|- | |- | ||
|rowspan=6 | Post-Processing | |rowspan=6 | Post-Processing | ||
| | | {{Enhancements/Post-processing/Shader chain}} | ||
| {{✗}}[https://github.com/touchHLE/touchHLE/issues/532] | | {{✗}}[https://github.com/touchHLE/touchHLE/issues/532] | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| | | {{Enhancements/Post-processing/Filters}} | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| | |{{Enhancements/Post-processing/AI-powered filter compatible}} | ||
| {{?}} | | {{?}} | ||
| {{?}} | | {{?}} | ||
|- | |- | ||
| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br | | [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br><small>(FXAA, TXAA and MLAA/SMAA)</small> | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br | | [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br><small>(Sharp bilinear, Lanczos and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small> | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
| Line 538: | Line 514: | ||
|- | |- | ||
| rowspan=4 | Input | | rowspan=4 | Input | ||
| [[Controllers#Mouse Injectors for Emulators|Keyboard input injection]]<br | | [[Controllers#Mouse Injectors for Emulators|Keyboard input injection]]<br><small>Early versions of iOS didn't support keyboard input.<br>One way an iOS emulator can provide keyboard input for these versions is through the injection method, which sends keystrokes input data directy into emulated memory.</small> | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| [[Controllers#Mouse Injectors for Emulators|Mouse input injection]]<br | | [[Controllers#Mouse Injectors for Emulators|Mouse input injection]]<br><small>Early versions of iOS didn't support mouse input.<br>One way an iOS emulator can provide mouse input for these versions is through the injection method, which sends cursor input data directy into emulated memory.</small> | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| [[Controllers#Mouse Injectors for Emulators|Gamepad input injection]]<br | | [[Controllers#Mouse Injectors for Emulators|Gamepad input injection]]<br><small>Before [[Wikipedia:MFi_Program|MFi]] extended support in iOS 7 (unlocking gamepad compatibility for devices like the [https://blog.logitech.com/2013/11/20/compatible-games-for-logitech-powershell-controller-battery/ Logitech Powershell Controller]).<br> Earlier iOS versions (1-to-6) offered [https://www.gottabemobile.com/ios-6-gaming-ipad-controller-iphone/ no native gamepad support].</small> | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
| Line 571: | Line 547: | ||
| {{?}} | | {{?}} | ||
|- | |- | ||
| On-Screen Display<br | | On-Screen Display<br><small>Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.</small> | ||
| {{✗}} | | {{✗}} | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
| Built-in On-Screen Control<br | | Built-in On-Screen Control<br><small>Simulating touch input on display via keyboard or gamepad. This QoL enhancement is crucial for lots of touch input exclusive games.<br>Also you can use third-party apps such as [https://apps.apple.com/us/app/shootingplus-v3/id1447087625 ShootingPlus V3] for this.</small> | ||
| {{✓}}[https://github.com/hikari-no-yume/touchHLE/blob/trunk/OPTIONS_HELP.txt#L33 *] | | {{✓}}[https://github.com/hikari-no-yume/touchHLE/blob/trunk/OPTIONS_HELP.txt#L33 *] | ||
| {{✗}} | | {{✗}} | ||
| Line 587: | Line 563: | ||
| {{✗}} | | {{✗}} | ||
|- | |- | ||
|[https://www.portablefreeware.com/faq.php#portable Portable] and [https://www.portablefreeware.com/faq.php#stealth Stealth]<br | |[https://www.portablefreeware.com/faq.php#portable Portable] and [https://www.portablefreeware.com/faq.php#stealth Stealth]<br><small>Useful enhancement feature for non-personal computer use or plug-and-play scenarios. However, the software may still require the necessary [[Computer_specifications#Operating_System|prerequisites and dependencies]] for your operating system if it is not statically linked.</small> | ||
| {{✓}} | | {{✓}} | ||
| {{✗}} | | {{✗}} | ||
| Line 599: | Line 575: | ||
| colspan=11 | Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment. So there is no support. | | colspan=11 | Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment. So there is no support. | ||
|- | |- | ||
|Rich Presence (RPC)<br | |Rich Presence (RPC)<br><small>Allows the emulator to share real-time game session details (e.g., current game title, level, boss, playtime, or custom status) with external applications. This enables features such as displaying what you're playing on your profile, inviting friends to spectate, or triggering join-in-progress functionality where supported.</small> | ||
|{{Dunno}} | |{{Dunno}} | ||
|{{Dunno}} | |{{Dunno}} | ||
|- | |- | ||
|Screen translator<br | |Screen translator<br><small>Using optical character recognition (OCR) and other techniques, this feature can provide live translation of in-game text, text-to-speech for visually impaired users, and more — either on demand or automatically.</small></small> | ||
|colspan="11" |You can use [https://docs.libretro.com/guides/ai-service/ RetroArch's AI Service] or the standalone offline [https://github.com/bquenin/interpreter bquenin's Interpreter]. | |colspan="11" |You can use [https://docs.libretro.com/guides/ai-service/ RetroArch's AI Service] or the standalone offline [https://github.com/bquenin/interpreter bquenin's Interpreter]. | ||
|- | |- | ||