Changes

Jump to navigation Jump to search

Nintendo Switch emulators

2,623 bytes added, 17 April
Emulation issues
! scope="col"|[[Recommended Emulators|Recommended]]
|-
!colspan="9"|PC / x86
|-
|[[Ryujinx]]
|{{~}}
|{{~}}
|[https://github.com/Ryujinx/Ryujinx-Games-List/issues 83%<br/><small>3543 3554 out of 4280 4284 reported titles</small>]
|{{✓}}
|{{✓}}
|{{✓}}
|-
|[[yuzu]]Sudachi
|align=left|{{Icon|Windows|Linux}}
|[https://github.com/pineappleEA/pineapple-src/releases Pineapple EA builds]<br/>[https://yuzusudachi-emu.org/ Former website (Offline)]<brsudachi/>[https://web.archive.org/web/20240304212345/https://yuzu-emu.org/ Former website (Last Archived Version)]<ref group=N>Official [[Yuzu]] downloads have been taken down due to the [[History_of_emulation#Lawsuits|Nintendo Lawsuitreleases {{SudachiVer}}]]</ref>
|{{✓}}
|{{~}}
|''[http://web.archive.org/web/20240130155829/https://yuzu-emu.org/game/ 54%<br/><small>1457 out of 2699 reported titles</small>]''<ref group=N>Obsolete list, there was a [http://web.archive.org/web/20240211051434/https://github.com/yuzu-emu/yuzu/pull/11171 ongoing rewrite] project, but yuzu is dead anyway.</ref>{{?}}|{{✓}}
|{{✓}}
|{{✗}}[[History_of_emulation#Lawsuits|*]]
|{{~}}
|-
|[[Suyusuyu]]|align=left|{{Icon|Windows|Linux|macOS}}|[https://git.suyu.dev/suyu/suyu/releases {{SuyuVer}}]|{{✓}}|{{~}}|{{?}}|{{✓}}|{{~}}|{{~}}|-|[[yuzu]]
|align=left|{{Icon|Windows|Linux}}
|[https://gitlabgithub.com/suyupineappleEA/pineapple-src/releases Pineapple EA builds]<br/>[https://yuzu-emu.org/ Former website (Offline)]<br/>[https://web.archive.org/web/20240304212345/https://yuzu-emu.org/suyuFormer website (Last Archived Version)]<ref group=N>Official [[yuzu]] downloads have been taken down due to the [[Yuzu#downloads gitLawsuit|Nintendo Lawsuit]]</ref>
|{{✓}}
|{{~}}
|''[https://gitlab.com/suyu-emu/suyu/-/wikis/Compatibility [Yuzu_Game_Compatibility_List|54%<br/><small>1457 out of 2699 reported titles</small>]]''<ref group=N>Obsolete list, there was a [http://web.archive.org/web/20240211051434/https://github.com/yuzu-emu/yuzu/pull/11171 ongoing rewrite] project, but yuzu is dead anyway.</ref>
|{{✓}}
|{{}}|WIP{{✗}}
|-
|NSEmu
|{{✗}}
|-
!colspan="9"|Mobile / ARM
|-
|[[yuzuRyujinx]]|align=left|{{Icon|AndroidLinuxARM|macOS}}|[https://playryujinx.google.com/store/appsorg/details?id=org.yuzu.yuzu_emu.ea EAdownload Nightly] ($)<br/>|{{~}}|{{~}}|[https://play.googlegithub.com/storeRyujinx/appsRyujinx-Games-List/details?id=org.yuzu.yuzu_emu Mainline (Google Play)]issues 83%<br/>[https:<small>3554 out of 4284 reported titles<//github.com/yuzu-emu/yuzu-android/releases Mainline (GitHub)small>]|{{✓}}
|{{✓}}
|{{~}}
|?[https://old.reddit.com/r/yuzu/comments/13xuovh/current_compatibility_list_for_android/ *]
|{{✓}}
|{{✗}}[[History_of_emulation#Lawsuits|*]]
|{{~}}
|-
|Sudachi
|align=left|{{Icon|iOS|Android}}|[https://github.com/emuPlace/Sudachi/releases 0.0.1.7.6] (ipa)<br/>[https://github.com/sudachi-emu/sudachi/releases git] (apk)|{{?}}|{{?~}}
|{{?}}
|{{✓}}
|{{~}}
|-
|[[Suyusuyu]]
|align=left|{{Icon|Android}}
|WIP[https://git.suyu.dev/suyu/suyu/releases {{SuyuVer}}]
|{{✓}}
|{{~}}
|?
|{{✓}}
|{{✗}}
|{{✗}}
|-
|[[yuzu]]
|align=left|{{Icon|Android}}
|[https://play.google.com/store/apps/details?id=org.yuzu.yuzu_emu.ea EA] ($)<br/>[https://play.google.com/store/apps/details?id=org.yuzu.yuzu_emu Mainline (Google Play)]<br/>[https://github.com/yuzu-emu/yuzu-android/releases Mainline (GitHub)]
|{{✓}}
|WIP|-|[[Ryujinx]]|align=left|{{Icon|Android|iOS~}}|?[https://githubold.reddit.com/Ryujinxr/Ryujinxyuzu/pullcomments/6057 Unreleased13xuovh/current_compatibility_list_for_android/ *]|?|?|?|?
|{{✓}}
|WIP{{✗}}|{{✗}}
|-
|[[Egg NS]]
|{{✗}}
|[https://eggns.wordpress.com/2020/08/29/game-compatibility-list/ 78%<br/><small>172 out of 220 reported titles</small>]
|{{✗}}<br/><small>(stolen yuzucode)</small>
|{{✓}}
|{{✗}}
|{{✗}}
|}
==Comparisons==
;Emulators
:;[[Ryujinx]]
::An open-source [[High/Low_level_emulation|hybrid approach]] emulator that's programmed in C#. Unlike yuzu, Ryujinx does not offer packaged early-access builds. However, work-in-progress features can still be tested by building locally from unmerged pull requests. Separately, Ryujinx has a closed source LDN-enabled build and there is a feature tracker for this [https://github.com/Ryujinx/Ryujinx/issues/4716 LDN build for upstreaming]. As of August 2022, Vulkan API support is available. While Ryujinx is notable for its focus on compatibility and accuracy, users often experience more shader stuttering compared to yuzu. Ryujinx also has support for ARM64 Linux and macOS[https://web.archive.org/web/20240324024125/https://blog.ryujinx.org/the-impossible-port-macos/][https://github.com/Ryujinx/Ryujinx/pull/6057] and it's uses an alternative approach to yuzu's NCE for improving performance when emulating on ARM systems.[https://blog.ryujinx.org/progress-report-january-2024/].
:;[[yuzu]]
::An open-source [[High/Low_level_emulation|HLE approach]] emulator made by many of [[Citra]]'s developers. As it's was a hard fork of Citra, it shares shared many of its traits, namely cross-platform support and the use of OpenGL and Vulkan. Yuzu offers offered early access pre-compiled builds to its $5/month [[Emulators on Patreon|Patreon]] supporters, allowing them to try out new features before they're available in the main build. HoweverBecause of this, many people assumed the emulator was strictly closed and paywalled, however, the source code for many of these new features is was always publicly available and can could even be compiled by anyone. Because of this, with some users went as far as to publicly sharing share their own unofficial "early access " builds. One of yuzu's notable features is was its decreased shader stuttering compared to Ryujinx, making it ideal for weaker PCs. Yuzu also has had both a free and paid version on Android versions which have greatly improved recently later saw greater improvements thanks to their implementation of [https://web.archive.org/web/20240227234130/https://github.com/yuzu-emu/yuzu/pull/12074 Native Code Execution (NCE)] and other improvementsfixes. Recent Their [https://web.archive.org/web/20240229040019/https://github.com/yuzu-emu/yuzu/pull/12579 Device Mapping & SMMU] implementations implementation also further have helped reduce yuzu's memory footprint, allowing and allow possible future optimizations and more. There are were even more optimizations exclusive to the Linux-x86 and Android platforms thanks to "[http://web.archive.org/web/20240111173833/https://yuzu-emu.org/entry/yuzu-progress-report-dec-2023/#android-adventures-and-kernels-with-benefits MADV_REMOVE]" , but despite all the optimizations and improvements, only high-end devices are recommended for Android platform. YuzuIn yuzu's last [https://web.archive.org/web/20240304205731/https://yuzu-emu.org/entry/yuzu-progress-report-jan-2024/ progress report for January 2024 progress report] highlights , they highlighted ongoing work on "multiprocess" and "services", which is crucial progress for towards emulating applets and system functions like some of the [[#Hardware_features_and_peripherals|hardware features]], but further . Further development is would have been required before it's could be considered fully implemented.
::As of On March 4th 2024, the a [[Legal_Status_of_EmulationYuzu#NintendoLawsuit|lawsuit was filed by Nintendo]] against Tropic Haze LLC has (aka yuzu) which unfortunately led to their unfortunate decision to cease all development and official distribution of Yuzu yuzu and Citra. Fortunately, it is easy to find an archive of the latest version, and they are its work is likely to be continued by other peopledevelopers. According to suyu developers: The Switch SDK has been used illegally within the previous Yuzu developer team, which effectively makes the whole code radioactive[https://pastebin.com/6FYdz9Sr].
::;[[Sudachi]]
:::An experimental port of Yuzu yuzu to iOS/iPadOS by Jarrod Norwell, a newer graphical user interface and versions for Android, Linux and macOS are in the plans. [https://github.com/sudachi-emu/sudachi/commit/82ab497ccf277780290b579d1b6f3e719bde179c Rebased on latest EA-4176] and it has a separate repository for Windows and Android builds. Requires a paid Apple Developer Account or TrollStore in order to use the <code>com.apple.developer.kernel.increased-memory-limit</code> entitlement.Their discord server is shut down (see "2024 - Yuzu (Switch) vs. Nintendo" section of the [[Legal Status of Emulation]] page)
::;[[Suyusuyu]]:::A fork of Yuzu yuzu continues from where that project left off ([https://gitlab.com/suyu-emu/suyu/-/blob/dev/README.md?ref_type=heads based on latest EA-4176]) on GitLab instead of Github suggested by the community due to potential takedown attempt. However, GitLab still took down the suyu repository due to the use of raw yuzu code. As a result, the Suyu team is now using their own repository. This decision, along with various precautions[https://old.reddit.com/r/emulation/comments/1bck011/heres_how_the_makers_of_the_suyu_switch_emulator/], suggests a desire to avoid [[Legal_Status_of_Emulation#Nintendo|legal claims similar to those faced by Yuzuyuzu]] (e.g. like older versions of yuzuCurrently, Suyu requires title keys for decryption, in addition to firmware and production keys). Currently the team is recruiting programmers to start studying the code. Thus, there's an adaptation period needed to see some serious advancements. In response to concerns about the project's financial motivations, the Suyu suyu team has emphasized a strict policy against accepting donations. They assure users that there is no intention to profit from the emulator. There have been inexperienced coding criticisms from some in the community directed at the current developers' work. :::Messages from Suyu developers about leaving the project: [https://pastebin.com/6FYdz9Sr kksowo's message on Paste.bin], [https://www.reddit.com/r/suyu/comments/1c1hs3l/the_death_of_suyu/ The Death of Suyu by u/AMA2581 on r/suyu]. The founder, however, states [https://www.reddit.com/r/suyu/comments/1c1tnh5/founder_speaking_future/ they will still maintain the project] as best they can. Their discord server is shut down (see "2024 - Yuzu (Switch) vs. Nintendo" section of the [[Legal Status of Emulation]] page), the project could be considered dead.
:;[[Egg NS]]
:;[[DamonSwitch]]
::Developed by [[DamonPS2]] team. Closed-source, payware/malware emulator for Android only, known to steal code from other emulators. Even worse compatibility than Egg NS, it can barely run anything. '''It is NOT recommended to use this emulator'''. Damon company''' edited the [[yuzu]] icon with Adobe Photoshop for its own use. Its real headquarters location is in mainland China.
 
:;[https://gbatemp.net/threads/sphinx-nintendo-switch-emulator.517276/ SphiNX]
::SphiNX is a inactive closed-source Switch emulator, The emulator was a work in progress project but as of now, there's no public releases.
;Compatibility layers
! colspan=2 | Name
! Ryujinx
! SuyuSudachi
! yuzu
! Strato
|-
| colspan=2 | [https://en-americas-support.nintendo.com/app/answers/detail/a_id/22308/~/home-menu-overview Switch HOME Menu]
|{{✗}}[https://github.com/Ryujinx/Ryujinx/issues/1381 *]|{{✓}}[https://youtugithub.becom/MyGytIMpJ0Isudachi-emu/sudachi/releases/tag/v0e54fcf][https://github.com/jarrodnorwell/Sudachi/pull/1]
|{{~}}[http://web.archive.org/web/20240304205731/https://yuzu-emu.org/entry/yuzu-progress-report-jan-2024/#future-projects]
|{{✗}}
! colspan=2 | Name
! Ryujinx
! SuyuSudachi
! yuzu
! Strato
| {{N}}
|-
| Ray-tracing<br/><small>([https://devblogs.microsoft.com/directx/announcing-microsoft-directx-raytracing/ DXR], [https://www.khronos.org/blog/ray-tracing-in-vulkan VRT] and [https://developer.apple.com/documentation/metal/metal_sample_code_library/accelerating_ray_tracing_using_metal MRT])</small>| colspan=4 5 | <small>Implementing ray-tracing in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.<br/>However you can try "[[Shaders_and_filters#Notable_ReShade_shaders|Screen-Space Ray Traced Global Illumination]]" shader using ReShade.<br/>[https://www.youtube.com/watch?v=-xsAzWZYkO0 (Demonstration)]</small>
|-
| [[Wikipedia:Category:Anti-aliasing_algorithms|Pre-rendering AA]]<br/><small>(MSAA, SSAA)</small>
|{{N}}
|-
| Super-resolution techniques<br/><small>([https://github.com/NVIDIAGameWorks/Streamline/blob/main/docs/ProgrammingGuideDLSS.md DLSS], [https://github.com/intel/xess/?tab=readme-ov-file XeSS ] and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 2+]])</small>| colspan=4 5 | <small>Requires access to the depth buffer and temporal data like motion-vectors so it's quite challenging and unlikely to be feasible in the near future.<br/>[https://github.com/yuzu-emu/yuzu/issues/8061 Enhancement request for yuzu].</small>
|-
| [https://github.com/NVIDIAGameWorks/rtx-remix/wiki RTX Remix]
| colspan=9 5 | <small>Implementing RTX Remix technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.<br/>Besides, yuzu and Ryujinx already supports some of RTX Remix features.<br/>On top of that you can use ReShade for post-processing.</small>
|-
| rowspan=5 | Performance
|-
| [https://blurbusters.com/frame-generation-essentials-interpolation-extrapolation-and-reprojection/ Frame generation technologies]<br/><small>([https://store.steampowered.com/app/993090/Lossless_Scaling/ LSFG], [https://github.com/NVIDIAGameWorks/Streamline/blob/main/docs/ProgrammingGuideDLSS_G.md DLSS-G], [https://www.techpowerup.com/316835/extrass-framework-paper-details-intels-take-on-frame-generation ExtraSS] and [https://community.amd.com/t5/gaming/amd-fluid-motion-frames-is-out-now-on-amd-radeon-rx-7000-series/ba-p/634372 AFMF])</small>
| colspan=4 5 | <small>Implementing frame generation technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future, however post-processing techniques such as [[Wikipedia:Motion_interpolation|motion interpolation]] is quite possible. [[Input_lag|Input latency]] will be a crucial factor, but its impact likely varies depending on the specific technique employed, it's recommended to use '''after applying the "Internal Framerate Hack"'''.<br/>While '''[https://youtu.be/DlZpEuU6IUg AFMF]''' or '''[https://youtu.be/vbbdP9ls2GY?t=375 LSFG]''' can be used with yuzu or Ryujinx, please be aware that some visual glitches and artifacts may occur at this time.
|-
| [[Overclocking|Overclock]]
|-
| Rendering latency reduction technologies<br/><small>([https://github.com/ishitatsuyuki/LatencyFleX LatencyFleX], [https://developer.nvidia.com/performance-rendering-tools/reflex Reflex] and [https://www.amd.com/en/products/software/adrenalin/radeon-software-anti-lag.html Anti-Lag'''+'''])
| colspan=4 5 | <small>While most emulators offer frame pacing or framebuffer latency control options, implementing rendering latency reduction technologies like NVIDIA's Reflex SDK isn't currently feasible. This is due to a combination of factors, including potential licensing issues[https://github.com/yuzu-emu/yuzu/issues/8060] and '''likely''' doesn't offer enough benefit to justify the development effort.</small>
|-
| rowspan=6 | Post-Processing
| {{?}}
|-
| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br/><small>(Sharp bilinear, Lanczos and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small>
| {{Y}}
| {{Y}}
| Built-in [[Mods,_hacks_and_fan-translations#Built-in_graphics_mod_editor.2Fmanager_for_emulators|Graphics mod editor/manager]]
| {{Y}}[https://github.com/Ryujinx/Ryujinx/pull/4390 *]
| {{~}}<ref group=N name=PropertiesAddOns>yuzu or Suyu suyu has no dedicated interface like Ryujinx. All of cheats, updates, DLCs and mods in the Title Properties->Add-Ons column. See [https://github.com/yuzu-emu/yuzu/issues/10202 feature request] for this.</ref>
| {{~}}<ref group=N name=PropertiesAddOns></ref>
| {{N}}
|-
| Built-in [http://forum.arcadecontrols.com/index.php/topic,106405 Custom resolution/CRTSwitchRes]<br/><small>For using this on Windows OS you need [http://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=1009#p1009 CRT Emudriver].<br/>Another option is using EDID editor tool such as "Custom Resolution Utility".</small>
| colspan=7 5 | N/A<br/><small>Eighth gen home consoles and beyond only have digital video output anyway.</small>
|-
| [[Save_disk_space_for_ISOs#Switch|Streamable compression format]]
| Command Line Options
| {{Y}}[https://github.com/Ryujinx/Ryujinx/issues/4981#issuecomment-1550751066 *]
| {{Y}}[https://gitlabgithub.com/suyusudachi-emu/suyu/-sudachi/blob/devmain/src/suyusudachi/main.cpp?ref_type=heads#L492 L507 *]
| {{Y}}[https://web.archive.org/web/20240229152519/https://github.com/yuzu-emu/yuzu/pull/5229 *]
| {{?}}
|-
| [[Virtual_reality#VR_game_room_simulations|EmuVR support]]
| colspan=4 5 | Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores]. So there is no support at the moment.
|-
| Free Look<br/><small>Free Look is a enhancement feature that allows manipulation of the in-game camera.</small>
* Ryujinx: [https://blog.ryujinx.org/ Blog], [https://discord.gg/ryujinx Discord]
* Yuzu: [https://web.archive.org/web/20240304180918/https://yuzu-emu.org/entry/ Blog], [https://discord.gg/yuzu-emu Discord]
* Suyu: [https://discord.gg/2gQRBp44KT Discord]
* [https://switchbrew.org/wiki/Main_Page SwitchBrew]
* [https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering dekuNukem - Nintendo Switch reverse engineering attempts]
10,835
edits

Navigation menu