Changes

Jump to navigation Jump to search

Nintendo Switch emulators

442 bytes added, 17 April
Emulation issues
! scope="col"|[[Recommended Emulators|Recommended]]
|-
!colspan="9"|PC / x86
|-
|[[Ryujinx]]
|-
|Sudachi
|align=left|{{Icon|Windows|Linux}}
|[https://github.com/sudachi-emu/sudachi/releases {{SudachiVer}}]
|{{✓}}
|{{?}}
|{{✓}}
|{{~}}|{{TBD~}}
|-
|[[yuzu]]
|''[[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>
|{{✓}}
|{{✗}}[[History_of_emulation#Lawsuits|*]]
|{{✗}}
|-
|{{✗}}
|-
!colspan="9"|Mobile ARM|-|[[Ryujinx]]|align=left|{{Icon|LinuxARM|macOS}}|[https://ryujinx.org/download Nightly]|{{~}}|{{~}}|[https:/ ARM/github.com/Ryujinx/Ryujinx-Games-List/issues 83%<br/><small>3554 out of 4284 reported titles</small>]|{{✓}}|{{✓}}|{{✓}}
|-
|Sudachi
|?
|{{✓}}
|{{}}|{{TBD}}
|-
|[[yuzu]]
|?[https://old.reddit.com/r/yuzu/comments/13xuovh/current_compatibility_list_for_android/ *]
|{{✓}}
|{{✗}}[[History_of_emulation#Lawsuits|*]]
|{{✗}}
|-|[[Ryujinx]]|align=left|{{Icon|Android|iOS}}|[https://github.com/Ryujinx/Ryujinx/pull/6057 Unreleased]|?|?|?|?|{{✓}}|WIP
|-
|[[Egg NS]]
;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 was a hard fork of Citra, it shared many of its traits, namely cross-platform support and the use of OpenGL and Vulkan. Yuzu 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. Because of this, many people assumed the emulator was strictly closed and paywalled, however, the source code for many of these new features was always publicly available and could even be compiled by anyone. Because of this, some users went as far as to publicly share their own unofficial "early access" builds. One of yuzu's notable features was its decreased shader stuttering compared to Ryujinx, making it ideal for weaker PCs. Yuzu also had both a free and paid version on Android which 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 fixes. Their [https://web.archive.org/web/20240229040019/https://github.com/yuzu-emu/yuzu/pull/12579 Device Mapping & SMMU] implementation also further helped reduce yuzu's memory footprint and allow possible future optimizations. There 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. In yuzu's last [https://web.archive.org/web/20240304205731/https://yuzu-emu.org/entry/yuzu-progress-report-jan-2024/ progress report for January 2024], they highlighted ongoing work on "multiprocess" and "services", which is crucial progress towards emulating applets and system functions like some of the [[#Hardware_features_and_peripherals|hardware features]]. Further development would have been required before it could be considered fully implemented.
::On March 4th 2024, a [[Yuzu#Lawsuit|lawsuit was filed by Nintendo]] against Tropic Haze LLC (aka yuzu) which unfortunately led to their decision to cease all development and official distribution of yuzu and Citra. Fortunately, it is easy to find an archive of the latest version, and it's its work is likely to be continued by other developers. 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 to iOS/iPadOS by Jarrod Norwell, a newer graphical user interface and versions for 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)
::;[[suyu]]
:::A fork of 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 yuzu]]. 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 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]]
! colspan=2 | Name
! Ryujinx
! suyu
! Sudachi
! yuzu
| 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://gitlabgithub.com/suyusudachi-emu/suyusudachi/-releases/merge_requeststag/102v0e54fcf]|{{✓}}[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 | [https://en-americas-support.nintendo.com/app/answers/detail/a_id/22378/~/how-to-create-a-mii-on-nintendo-switch Mii Editor]
|{{✓}}
|{{✓}}
|{{✓}}
|-
| colspan=2 | [[#NSO_emulators|NSO emulators]]
|{{✓}}
|{{✓}}
|{{✓}}
| colspan=2 | [[Amiibo]]
|{{✓}}[https://github.com/Ryujinx/Ryujinx/wiki/Ryujinx-Setup-&-Configuration-Guide#amiibo-emulation *]
|{{✓}}
|{{✓}}
|{{✓}}
| colspan=2 | [[Wikipedia:Nintendo_Labo|Nintendo Labo]]
|{{~}}[https://github.com/Ryujinx/Ryujinx-Games-List/issues?q=is%3Aissue+is%3Aopen+Nintendo+Labo+Toy-Con][https://github.com/Ryujinx/Ryujinx/issues/2500][https://github.com/Ryujinx/Ryujinx/pull/4007]
|{{?}}
|{{?}}
|{{?}}
| rowspan=3 | [[#Connectivity|Connectivity]]
|Nintendo Switch Online
|{{✗}}
|{{✗}}
|{{✗}}
|-
|Local Wireless Play / LDN
|{{~}}
|{{~}}
|{{~}}
|-
|LAN Play
|{{✓}}
|{{✓}}
|{{✓}}
| Native Dual Joy-Con Support
|{{~}}[https://github.com/Ryujinx/Ryujinx/issues/3293 <abbr title="Only possible with 'BetterJoy' at the moment.">*</abbr>]
|{{Y}}
|{{Y}}
|{{Y}}[https://web.archive.org/web/20220408213257/https://twitter.com/yuzuemu/status/1392967822402277376 *]
| [https://switchbrew.org/wiki/Ring-Con Ring-Con]
|{{N}}[https://github.com/Ryujinx/Ryujinx/issues/1713 *]
|{{Y}}
|{{Y}}
|{{Y}}[http://web.archive.org/web/20230726233204/https://github.com/yuzu-emu/yuzu/issues/8489 *]
| [https://www.destructoid.com/which-switch-games-have-mouse-and-keyboard-support-list/ Keyboard & Mouse]
|{{~}}[https://github.com/Ryujinx/Ryujinx/issues/3156 *]
|{{Y}}
|{{Y}}
|{{Y}}<abbr title="Turn on Keyboard and Mouse options from yuzu GUI-Configuration-Controls-Advanced, shouldn't be confused with Mouse Panning.">*</abbr>
| [https://www.nintendo.co.uk/Support/Nintendo-Switch/How-to-Check-the-IR-Motion-Camera-Functionality-1547323.html IR Motion Camera]
|{{N}}[https://github.com/Ryujinx/Ryujinx-Games-List/issues/4798 *]
|{{Y}}
|{{Y}}
|{{Y}}[https://web.archive.org/web/20240229133559/https://yuzu-emu.org/entry/yuzu-progress-report-jul-2022/#input-improvements *]
| [https://en-americas-support.nintendo.com/app/answers/detail/a_id/22721/~/how-to-activate%2Fdeactivate-hd-rumble HD Rumble]
|{{N}}[https://github.com/Ryujinx/Ryujinx/issues/1659 *]
|{{~}}
|{{~}}
|{{~}}[https://web.archive.org/web/20230330125729/https://github.com/yuzu-emu/yuzu/issues/4958#issuecomment-1235894977 *]
| Motion Controls (Gyro)
|{{Y}}[https://github.com/Ryujinx/Ryujinx/wiki/Ryujinx-Setup-&-Configuration-Guide#motion-controls *]
|{{Y}}
|{{Y}}
|{{Y}}[https://web.archive.org/web/20220408213257/https://twitter.com/yuzuemu/status/1392967822402277376 *]
| Touchscreen
|{{Y}}[https://github.com/Ryujinx/Ryujinx/issues/4574 *]
|{{Y}}
|{{Y}}
|{{Y}}[https://github.com/yuzu-emu/yuzu/issues/10065 *]
! colspan=2 | Name
! Ryujinx
! suyu
! Sudachi
! yuzu
| [[Resolution|Resizable Internal Resolution]]
| {{Y}}[https://github.com/Ryujinx/Ryujinx/wiki/Ryujinx-Setup-&-Configuration-Guide#graphics-enhancements *]
| {{Y}}
| {{Y}}
| {{Y}}
|-
| [[Widescreen_hacks#Nintendo_Switch|Ultrawide hack]]<br/><small>Widescreen already supported on Nintendo Switch system.<br/> But there is no support by system for render games in other ratios such as ultrawide 21:9 or super ultrawide 32:9.</small>
| {{Y}}
| {{Y}}
| {{Y}}
| [[Texture_packs#Nintendo_Switch|Texture Replacement]]
| {{~}}<ref group=N2>According to a [https://blog.ryujinx.org/progress-report-april-2023/ Progress Report from April 2023], texture replacement, along with all of the Patreon goal features that have been previously met will be finished and delivered. [https://github.com/Ryujinx/Ryujinx/pull/5632 Implement texture replacement support for Ryujinx].</ref>
| {{~}}
| {{~}}
| {{~}}[https://web.archive.org/web/20240304194925/https://yuzu-emu.org/help/feature/game-modding/ *]
|-
| [[Wikipedia:Category:Anti-aliasing_algorithms|Pre-rendering AA]]<br/><small>(MSAA, SSAA)</small>
|{{N}}
|{{N}}
|{{N}}
|-
| [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
| [[30/60_FPS_cheat_codes#Nintendo_Switch|Internal Framerate Hack]]
| {{Y}}
| {{Y}}
| {{Y}}
|-
| [[Overclocking|Overclock]]
| {{N}}
| {{N}}
| {{N}}
| Preload [[Wikipedia:ROM_image|ROM image]] to RAM<br/><small>For users with sluggish multi-platter HDDs or plagued by horrible seek times, this enhancement '''might''' offer smoother experience, potentially reduced power consumption; it also shines when images reside on a network drive.<br/>Although keep in mind that preloading image would take some time, and it will require additional amount of RAM capacity.</small>
| {{N}}<ref group=N>There is no Preload image to RAM implementation for Ryujinx but it has a kinda similar enhancement called "Profiled Persistent Translation Cache"[https://github.com/Ryujinx/Ryujinx/wiki/Ryujinx-Setup-&-Configuration-Guide#profiled-persistent-translation-cache][https://blog.ryujinx.org/introducing-profiled-persistent-translation-cache/].</ref>
| {{N}}
| {{N}}
| {{N}}
| rowspan=6 | Post-Processing
| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, TXAA and MLAA/SMAA)</small>
| {{Y}}
| {{Y}}
| {{Y}}
|-
| [[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}}
| {{Y}}
|-
| [[Shaders_and_filters|Filters]]
| {{N}}
| {{N}}
| {{N}}
|[[Shaders_and_filters#AI-powered filters|AI-powered filter compatible]]<br/><small>([https://www.nvidia.com/en-us/geforce/news/gfecnt/nvidia-freestyle-ansel-enhancements-geforce-experience-article/ Freestyle])</small>
| {{?}}
| {{Y}}
| {{Y}}
| {{Y}}[https://youtu.be/JYXrKnsP44s *]
|-
| [[Shader_Presets|Shader Chain]]
| {{N}}
| {{N}}
| {{N}}
|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]
| {{?}}
| {{Y}}
| {{Y}}
| {{Y}}[https://youtu.be/JYXrKnsP44s *]
| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]
| {{N}}
| {{Y}}
| {{Y}}
| {{Y}}[https://web.archive.org/web/20240304195247/https://yuzu-emu.org/help/feature/tas/ *]
|-
| Rewind
| {{N}}
| {{N}}
| {{N}}
| Fast-Forward/Turbo Speed
| {{~}}[https://github.com/Ryujinx/Ryujinx/pull/6456 *]
| {{N}}
| {{N}}
| {{N}}
|-
| Savestates
| {{N}}
| {{N}}
| {{N}}
|-
| [https://tasvideos.org/Movies Movie recording/playback]
| {{N}}
| {{N}}
| {{N}}
| {{Y}}[https://github.com/Ryujinx/Ryujinx/pull/4390 *]
| {{~}}<ref group=N name=PropertiesAddOns>yuzu or 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>
| {{~}}<ref group=N name=PropertiesAddOns></ref>
| {{N}}
| Built-in [[Cheats_and_patches|Cheat Manager]]
| {{Y}}
| {{~}}<ref group=N name=PropertiesAddOns></ref>
| {{~}}<ref group=N name=PropertiesAddOns></ref>
| {{~}}<ref group=N name=PropertiesAddOns></ref>
|-
| 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]]
| {{~}}<ref group=N name=Format>There is a [https://github.com/Ryujinx/Ryujinx/pull/6045 pull request] for adding trimming XCI files feature to Ryujinx. It's notable that Ryujinx allows loading .NSP files for both updates and DLCs directly, without installing them to the NAND. In contrast, [https://github.com/yuzu-emu/yuzu/issues/9963 yuzu requires installation of these files to the NAND]. See overview of formats [https://web.archive.org/web/20240301105606/https://yuzu-emu.org/wiki/overview-of-switch-game-formats/ here].</ref>
| {{N}}<ref group=N name=Format></ref>
| {{N}}<ref group=N name=Format></ref>
| {{N}}<ref group=N name=Format></ref>
| Per-Game Profiles
| {{Y}}[https://old.reddit.com/r/Ryujinx/comments/mx6x61/custom_user_profiles_is_now_in_the_latest/jkcdyi5/ *]
| {{Y}}
| {{Y}}
| {{Y}}[https://web.archive.org/web/20240302185515/https://yuzu-emu.org/entry/yuzu-progress-report-dec-2023/#android-specific-ui-and-miscellaneous-changes *]
| Command Line Options
| {{Y}}[https://github.com/Ryujinx/Ryujinx/issues/4981#issuecomment-1550751066 *]
| {{Y}}[https://git.suyu.dev/suyu/suyu/src/branch/dev/src/suyu/main.cpp#L473 *]
| {{Y}}[https://github.com/sudachi-emu/sudachi/blob/main/src/sudachi/main.cpp#L507 *]
| {{Y}}[https://web.archive.org/web/20240229152519/https://github.com/yuzu-emu/yuzu/pull/5229 *]
|-
| On-Screen Display<br/><small>Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.</small>
| {{N}}
| {{N}}
| {{N}}
|-
| [[Wikipedia:Variable_refresh_rate|Variable Refresh Rate compatible]]
| {{Y}}
| {{Y}}
| {{Y}}
| [[Frontends#Graphical_User_Interfaces_.28GUIs.29|Big Picture Mode]]
| {{N}}[https://github.com/Ryujinx/Ryujinx/issues/3725 *]
| {{N}}
| {{N}}
| {{N}}
| [[Controllers#Mouse_Injectors_for_Emulators|Mouse Injector Compatible]]
| {{~}}<abbr title="Currently requires Cheat Engine to work.">[https://gamebanana.com/scripts/11752 *]</abbr>
| {{N}}
| {{N}}
| {{N}}
|-
| [[Input_lag|Input lag-mitigating technique]]
| {{N}}
| {{N}}
| {{N}}
| rowspan=4 | Misc
| [https://retroachievements.org/game/8988 RetroAchievements]
| {{N}}
| {{N}}
| {{N}}
| Free Look<br/><small>Free Look is a enhancement feature that allows manipulation of the in-game camera.</small>
| {{~}}<ref group=N2 name=freelook>Have to be done on a per game basis as the yuzu or Ryujinx didn't have a "Camera" feature like the Dolphin emulator at the moment, so look for game mods like [https://gamebanana.com/mods/480138 TOTK-UltraCam].</ref>
| {{~}}<ref group=N2 name=freelook></ref>
| {{~}}<ref group=N2 name=freelook></ref>
| {{~}}<ref group=N2 name=freelook></ref>
| [[Wikipedia:Category:Debugging|Debug Features]]
| {{N}}[https://github.com/Ryujinx/Ryujinx/issues/5486 *]
| {{N}}
| {{N}}
| {{N}}
* 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,853
edits

Navigation menu