Changes

Jump to navigation Jump to search

Nintendo Switch emulators

31,621 bytes added, 8 May
no edit summary
|image = nintendo-switch.png
|image2 = switchdocked.png
|imagecaption = The Switch in its two forms, portable handheld (above) and docked (below).
|developer = [[:Nintendo]]
|type = [[:Category:ConsolesHybrid consoles|Home Hybrid video game console]]
|generation = [[:Category:Eighth-generation video game consoles|Eighth generation]]
|release = March 2017|predecessor = [[Wii U emulators|Wii U]]<br/>[[Nintendo 3DS emulators|(new) 3DS]]|emulated = {{~}}
}}
The '''[[wikipedia:Nintendo Switch|Nintendo Switch]]''' is an eighth-generation hybrid gaming console released by Nintendo on March 3, 2017 and retailed for {{Inflation|USD|299.99|2017}}. During its development, the Switch was known as the NX (short for NeXt or Nintendo "Cross") and was widely speculated up until its announcement. Aside from specialized components unique to the console, the hardware is more or less off-the-shelf, being built around a semi-custom variant of Nvidia's Tegra X1 system-on-a-chip which was also used on a number of [[Android emulators|Android devices]]. The Switch contains 4 ARM Cortex-A57 CPUs and 4 ARM Cortex-A53 CPUs running at 1.020 GHz with 4GB of RAM and a proprietary GPU codenamed GM20B.
While Nintendo intended to step up the security of the console, vulnerabilities were still found early on that allowed tons of system files to be dumped, including dumps of games in the form of romfs.istorage archives, an exefs folder, and license files. These game dumps eventually got shared online by scene groups except for their licenses but were missing important files to run and even if they had been completed, there were no custom homebrew apps let alone solutions to load unofficial game dumps {{for the system. A number of prominent hacking teams (starting with shuffle2 and fail0verflow in collaboration) all came across a new exploit independently of each |other emulators that allowed complete control over the system, later officially recognized by Nvidia as CVE-2018-6242.run on Switch hardware|Emulators on Switch}}
The '''[[wikipedia:Nintendo Switch|Nintendo Switch]]''' is an eighth-generation hybrid gaming console released by Nintendo on March 3, 2017, and retailed for {{Inflation|USD|299.99|2017}}. During its development, the Switch was known as the NX (short for NeXt or Nintendo "Cross") and was widely speculated upon until its announcement. Aside from specialized components unique to the console, the hardware is more or less off-the-shelf, being built around a semi-custom variant of NVIDIA's Tegra X1 system-on-a-chip, which was also used on a number of [[Android emulators|Android devices]]. The Switch contains 4 ARM Cortex-A57 CPUs and 4 ARM Cortex-A53 CPUs running at 1.020 GHz with 4 GBs of RAM and a proprietary NVIDIA GPU codenamed GM20B. While Nintendo intended to step up the console's security, vulnerabilities were still found early on that allowed tons of system files to be dumped, including dumps of games in the form of romfs.istorage archives, an exefs folder, and license files. These game dumps eventually got shared online by scene groups except for their licenses but were missing essential files to run. Even if they had been completed, there were no custom homebrew apps, let alone solutions to load unofficial game dumps for the system. A number of prominent hacking teams (starting with shuffle2 and fail0verflow in collaboration) all came across a new exploit independently of each other that allowed complete control over the system, later officially recognized by NVIDIA as CVE-2018-6242. A "debugging emulator" for the Nintendo Switch, CageTheUnicorn (now [https://github.com/reswitched/Mephisto Mephisto]), popped up not long after the first components were dumped. It was designed to emulate sysmodules with "no support for graphics, sound, input, or any kind of even remotely performant processing [...] by design". A couple of months later, members of both the [[Citra]] and [[Dolphin]] teams announced the release of [[yuzu|their own emulator written in cC++]], which was capable of booting some homebrew applications; within a couple of weeks , yet another emulator named [[Ryujinx]], written in cC# by developer gdkchan, was released showing successful booting of commercial Switch games ''Puyo Puyo Tetris '' and ''Sonic 3Mania''. On May 7, 2024, Shuntaro Furukawa, president of Nintendo, officially announced that the company would reveal information about the Nintendo Switch successor within their current fiscal year.[https://twitter.com/NintendoCoLtd/status/1787736518762881197]
==Emulators==
<div style="overflow-x:auto;width:100%">{| class="wikitable" style="text-align:center;width:100%"
! scope="col"|Name
! scope="col"|Platform(s)
! scope="col"|Latest Version
! scope="col"|[[#Hardware_features_and_peripherals|Hardware features<br/>and peripherals]]
! scope="col"|[[#Enhancements|Enhancements]]
! scope="col"|Compatibility
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
! scope="col"|Active
! scope="col"|[[Recommended Emulators|Recommended]]
|-
! colspan="59"|PC / x86
|-
|[[yuzuRyujinx]]|align=left|{{Icon|Windows|Linux|macOS}}|[https://ryujinx.org/download Nightly] <br><abbr title="LDN-enabled builds support local wireless multiplayer across the internet, LAN mode compatibility on local networks with Switch consoles on supported games, and ldn_mitm, which can connect Ryujinx to your CFW switch on the same Local Network.">[https://github.com/Ryujinx/Ryujinx/wiki/Multiplayer-(LDN-Local-Wireless)-Guide LDN builds]</abbr>|{{~}}|{{~}}|[https://github.com/Ryujinx/Ryujinx-Games-List/issues 83%<br/><small>3568 out of 4312 reported titles</small>]|{{✓}}|{{✓}}|{{✓}}|-|Sudachi
|align=left|{{Icon|Windows|Linux}}
|[https://yuzugithub.com/sudachi-emu.org/downloadssudachi/ Nightlyreleases {{SudachiVer}}]|{{✓}}|{{~}}|{{?}}
|{{✓}}
|{{✓}}
|{{~}}
|-
|[[Ryujinxsuyu]]
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://ryujinxgit.orgsuyu.dev/suyu/#suyu/Build Nightlyreleases {{SuyuVer}}]
|{{✓}}
|{{~}}
|{{?}}
|{{✓}}
|{{~}}
|{{~}}
|-
|Torzu
|align=left|{{Icon|Linux}}
|[https://github.com/litucks/torzu/releases {{TorzuVer}}]
|{{?}}
|{{?}}
|{{?}}
|{{?}}
|{{~}}
|{{~}}
|-
|[[yuzu]]
|align=left|{{Icon|Windows|Linux}}
|[https://github.com/pineappleEA/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/ Former website (Last Archived Version)]<ref group=N>Official [[yuzu]] downloads have been taken down due to the [[Yuzu#Lawsuit|Nintendo Lawsuit]]</ref>
|{{✓}}
|{{~}}
|''[[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>
|{{✓}}
|{{✗}}
|{{✗}}
|-
|NSEmu
|align=left|{{Icon|Windows}}
|[https://github.com/RKX1209/nsemu Gitgit]
|{{✗}}
|{{✗}}
|-|[https://gbatemp.net/threads/sphinx-nintendo-switch-emulator.517276/ SphiNX]|align=left|{{Icon|Windows?}}|{{}} (WIP)
|{{✗}}
|{{✗}}
|Mephisto
|align=left|{{Icon|Linux|macOS}}
|[https://github.com/reswitched/Mephisto/releases v1.2.1], [https://github.com/reswitched/Mephisto Gitgit]|{{✗}}|{{✗}}|{{?}}|{{✓}}
|{{✗}}
|{{✗}}
|CageTheUnicorn
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
|[https://github.com/reswitched/CageTheUnicorn Gitgit]|{{✗}}|{{✗}}|{{?}}|{{✓}}
|{{✗}}
|{{✗}}
|-
!colspan="109"|Mobile / ARM
|-
|[[Ryujinx]]|align=left|{{Icon|LinuxARM|macOS}}|[https://eggnsryujinx.wordpressorg/download Nightly]|{{~}}|{{~}}|[https://github.com Egg NS/Ryujinx/Ryujinx-Games-List/issues 83%<br/><small>3568 out of 4312 reported titles</small>]|{{✓}}|{{✓}}|{{✓}}|-|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)|{{✓}}|{{~}}|{{?}}|{{✓}}|{{✓}}|{{~}}|-|[[suyu]]
|align=left|{{Icon|Android}}
|[https://drivegit.googlesuyu.comdev/usuyu/0suyu/ucreleases {{SuyuVer}}]|{{✓}}|{{~}}|?id=15jYpgxZZKcstAqxZYg5_znDiXS41Shep&export=download 1.0.4]
|{{✓}}
|{{~}}
|{{~}}
|-
|[[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)]
|{{✓}}
|{{~}}
|?[https://old.reddit.com/r/yuzu/comments/13xuovh/current_compatibility_list_for_android/ *]
|{{✓}}
|{{✗}}
|{{✗}}
|-
|[[Egg NS]]
|align=left|{{Icon|Android}}
|[https://play.google.com/store/apps/details?id=com.xiaoji.gamesirnsemulator.x.google {{EggNSVer}}]
|{{✗}}
|{{✗}}
|[https://eggns.wordpress.com/2020/08/29/game-compatibility-list/ 78%<br/><small>172 out of 220 reported titles</small>]
|{{✗}}<br/><small>(stolen yuzu code)</small>
|{{✓}}
|{{✗}}
|-
|[[DamonSwitch]]
|align=left|{{Icon|Android}}
|[https://play.google.com/store/apps/details?id=com.damonplay.damonswitch.yuzu.ryujinx.emulator.free 1.0Preview]
|{{✗}}
|{{✗}}
|N/A
|{{✗}}<br/><small>(stolen yuzu)</small>
|{{✗}}
|{{✗}}
|}
 
==Compatibility layers [[Compatibility layers|(...)]]==
<div style="overflow-x:auto;width:100%">
{| class="wikitable" style="text-align:center;width:100%"
! scope="col"|Name
! scope="col"|Platform(s)
! scope="col"|Latest Version
! scope="col"|[[#Hardware_features_and_peripherals|Hardware features<br/>and peripherals]]
! scope="col"|[[#Enhancements|Enhancements]]
! scope="col"|Compatibility
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
! scope="col"|Active
! scope="col"|[[Recommended Emulators|Recommended]]
|-
!colspan="9"|ARM
|-
|[[Strato]]
|align=left|{{Icon|Android}}
|[https://github.com/strato-emu/strato git]
|{{?}}
|{{?}}
|[https://github.com/strato-emu/compat-list/issues 4%<br/><small>58 out of 1426 reported titles</small>]
|{{✓}}
|{{✓}}
|{{~}}
|-
|[https://github.com/skyline-emu/skyline [Skyline]]
|align=left|{{Icon|Android}}
|[https://githubcdn.discordapp.com/skyline-emuattachments/546097900329893911/skyline1104463310256091197/releases 0edge-69.3apk Edge 69]|{{?}}|{{?}}|{{?}}
|{{✓}}
|{{✗}}[https://www.nintendolife.com/news/2023/05/switch-android-emulator-skyline-halts-development-due-to-potential-legal-risks *]
|{{✗}}
|}
;==Emulation focused Linux distros [[yuzuRecommended_Linux_distros#Emulation_focused|(...)]] ==<small div style="overflow-x:auto;width:100%">{| class="plainlinkswikitable" style="fonttext-weightalign:normalcenter;width:100%"! scope="col"|Name! scope="col"|Platform(s)! scope="col"|Latest Version! scope="col"|[[#Hardware_features_and_peripherals|Hardware features<br/>(and peripherals]]! scope="col"|[[#Enhancements|Enhancements]]! scope="col"|Compatibility! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>! scope="col"|Active! scope="col"|[[Recommended Emulators|Recommended]]|-!colspan="9"|ARM|-|Horizon Linux|align=left|{{Icon|Linux}}|[https://yuzu-emugithub.orgcom/kentjhall/game compatibilityhorizon-linux git] |{{✗}}|{{✗}}|{{?}}|{{✓}}|{{✗}}|{{✗}}|}==Comparisons==;Emulators:;[[Ryujinx]])</small>::An open-source emulator made by many of [[CitraHigh/Low_level_emulation|hybrid approach]]emulator that's developersprogrammed 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. As it Separately, Ryujinx has a closed source LDN-enabled build and there is a hard fork of Citra it shares many 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 traitsfocus on compatibility and accuracy, namely cross-platform users often experience more shader stuttering compared to yuzu. Ryujinx also has support for ARM64 Linux and the use of OpenGL (though unlike Citra it also supports Vulkan)macOS[https://web.archive.org/web/20240324024125/https://blog. Many 2D games now render graphics properly and at good speeds; many 3D games are playableryujinx. This emulator currently offers early access builds to $5org/the-impossible-port-macos/month ][[Emulators on Patreon|Patreonhttps://github.com/Ryujinx/Ryujinx/pull/6057]] subscribers which allows them and it's uses alternative approach to utilize new features prior to their eventual release on the mainline build. One of yuzu's notable features is its disk-based shader cache NCE for OpenGL, negating the need to compile shaders improving performance when emulating on the fly on every bootARM systems[https://blog.ryujinx.org/progress-report-january-2024/].
:;[[Ryujinxyuzu]]::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]] <small class=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 "plainlinksearly access" style="font-weightbuilds. 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:normal;">([//web.archive.org/web/20240227234130/https://github.com/Ryujinxyuzu-emu/yuzu/Ryujinx-Games-Listpull/issues compatibility12074 Native Code Execution (NCE)])<and other fixes. Their [https://web.archive.org/web/20240229040019/small>https:An open//github.com/yuzu-source emulator thatemu/yuzu/pull/12579 Device Mapping & SMMU] implementation also further helped reduce yuzu's programmed in C#. Most 2D games are now booting memory footprint and running at comfortable speeds and many 3D games are playableallow possible future optimizations. It also supports resolution upscaling There were even more optimizations exclusive to 4K the Linux-x86 and beyond; custom upscalingAndroid platforms thanks to "[http://web.archive.org/web/20240111173833/https://downscaling ratios are supportedyuzu-emu. Unlike org/entry/yuzu, Ryujinx does not yet have a disk-based shader cacheprogress-report-dec-2023/#android-adventures-and-kernels-with-benefits MADV_REMOVE]", making but despite all the first few moments of gameplay suffer from stutters in certain gamesoptimizations and improvements, only high-end devices are recommended for Android platform. In yuzu's last [https://web.archive.org/web/20240304205731/https://yuzu-emu. Also unlike org/entry/yuzu-progress-report-jan-2024/ progress report for January 2024], Ryujinx does not offer packaged early access builds; however they highlighted ongoing work-in-on "multiprocess" and "services", which is crucial progress towards emulating applets and system functions like some of the [[#Hardware_features_and_peripherals|hardware features can still ]]. Further development would have been required before it could be tested by using Appveyor builds or building locally from unmerged pull requests. Separately, Ryujinx has released a closed source LDN-enabled preview build supporting local wireless multiplayer across the internetconsidered fully implemented.
;SphiNX:A closed-source emulator that :On March 4th 2024, a [[Yuzu#Lawsuit|lawsuit was announced & released in September 2018filed 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. It was shown booting some homebrews as well as Fortunately, it is easy to find an archive of the title screen of one commercial gamelatest version, and its work is likely to be continued by other developers. According to suyu developers: The project appears to be dead at this timeSwitch SDK has been used illegally within the previous Yuzu developer team, with no known updates in over two yearswhich effectively makes the whole code radioactive[https://pastebin.com/6FYdz9Sr].
::;Skyline[[Sudachi]]:::An openexperimental 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-source [[Compatibility layers|compatibility layer]4176] and it has a separate repository for ARMv8 [[Windows and Android]] devicesbuilds. For Requires a paid Apple Developer Account or TrollStore in order to use the sake <code>com.apple.developer.kernel.increased-memory-limit</code> entitlement. Their discord server is shut down (see "2024 - Yuzu (Switch) vs. Nintendo" section of convenience, the team bills the app as an emulator, but it functionally works like [[WineLegal Status of Emulation]], running almost all of the original code on bare metal except for what interfaces with the rest of the system. At the moment Skyline does not have any graphical output, but some games do boot with audio only.page)
::;Egg NS[[suyu]]:Claimed ::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 first spot 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 getting games running 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 Androidr/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. 81 titles are purported to workNintendo" section of the [[Legal Status of Emulation]] page), and the rest are either not working or assumed project could be considered dead. ::;Torzu:::Another fork of yuzu. placeholder text :;[[Egg NS]]::Similar to failDamonPS2, it's a closed-source, payware/malware emulator only for Android. There '''It is NOT recommended to use this emulator''' because there is significant controversy surrounding this emulator for the following reasons: the current version lacks any onscreen buttons and instead requires users touch controls require an expensive monthly membership to purchase a specific controller; use, it expects to run on a high-end /flagship device within the ballpark of a Qualcomm Snapdragon 855/855+/865/865+; 8xx and 8 Gen 1, and it was discovered to have violated GPLv2 licensing requirements by illegally stealing code from yuzu and Skyline. Happy Chick is also a code-stolen emulator by this company. Its icon is edited from Happy Chick with Adobe Photoshop. Its real headquarters location is in mainland China. :;[[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:;[[Skyline]]::Skyline (formerly MonoNX and Lightswitch) is a free [[compatibility layer]] for the Nintendo Switch that runs on Android and is written in C++ and Kotlin. Unfortunately, development of Skyline ceased in May 2023. ::;[[Strato]]:::A fork of Skyline that continues from where that project left off. It's an open-source [[Compatibility layers|compatibility layer]] for ARMv8 [[Android]] devices. For the sake of convenience, the team bills the app as an emulator, but it functionally works like [[Wine]], running almost all the entire original code on bare metal except for what interfaces with the rest of the system. Some titles can go ingame with poor framerate and minor glitches, but the Skyline team has done great work making 3D games, such as ''The Legend of Zelda: Breath of the Wild'', have graphical output, boosting FPS in many titles, and fixing bugs in games. In March 2024, lead developer "Lynx" announced departure from the project and decided to step away from console emulation development[https://old.reddit.com/r/EmulationOnAndroid/comments/1bb6ru8/lynx_lead_strato_dev_leaves_the_emulation_scene/]. The project was then handed over to the other developers. ;Emulation focused Linux distros:; Horizon Linux::Horizon Linux is an open-source ARM64 Linux modified to run Nintendo Switch applications with hypervised CPU & IO, but still mostly relying on yuzu code in its Mizu shim to emulate functions such as the GPU. ''Puyo Puyo Tetris'' is semi-playable with audio output, and the emulator can also run several homebrew applications. ==Hardware features and peripherals==<div style="overflow-x:auto;width:100%">{| class="wikitable" style="text-align:center;vertical-align:middle;width:100%"|- style="font-weight:bold;"! colspan=2 | Name! Ryujinx! Sudachi! 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://github.com/sudachi-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 | [https://en-americas-support.nintendo.com/app/answers/detail/a_id/22378/~/how-to-create-a-mii-on-nintendo-switch Mii Editor]|{{✓}}|{{✓}}|{{✓}}[https://web.archive.org/web/20240228000716/https://github.com/yuzu-emu/yuzu/pull/11569 *]|{{✗}}|-| 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|{{✓}}|{{✓}}|{{✓}}|{{✗}}|-| rowspan=3 | Controllers<ref group=N>See [https://www.pcgamingwiki.com/wiki/Controller:Joy-Con PCGamingWiki: Joy-Con] page for more information about Joy-Con and PC connectivity/compatibility.</ref>| Native Dual Joy-Con Support|{{~}}[https://github.com/Ryujinx/Ryujinx/issues/3293 <abbr title="Only possible with 'BetterJoy' at the moment.">*</abbr>]|{{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}}[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}}<abbr title="Turn on Keyboard and Mouse options from yuzu GUI-Configuration-Controls-Advanced, shouldn't be confused with Mouse Panning.">*</abbr>|?|-| rowspan=4 | Inputs| [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}}[https://web.archive.org/web/20240229133559/https://yuzu-emu.org/entry/yuzu-progress-report-jul-2022/#input-improvements *]|{{N}}|-| [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}}[https://web.archive.org/web/20220408213257/https://twitter.com/yuzuemu/status/1392967822402277376 *]|?|-| Touchscreen|{{Y}}[https://github.com/Ryujinx/Ryujinx/issues/4574 *]|{{Y}}|{{Y}}[https://github.com/yuzu-emu/yuzu/issues/10065 *]|?|}</div>===Connectivity===;Local Wireless Play/LDN: Only works with other users of [https://github.com/Ryujinx/Ryujinx/wiki/Multiplayer-(LDN-Local-Wireless)-Guide Ryujinx's LDN builds] or [http://web.archive.org/web/20240229141439/https://yuzu-emu.org/entry/ldn-is-here// yuzu] users, NOT with native Switch players. However, Ryujinx also allows for connecting to [https://blog.ryujinx.org/introducing-ldn3/ CFW Switch devices that are using the ldn_mitm submodule]. Also, there is a feature tracker for Ryujinx [https://github.com/Ryujinx/Ryujinx/issues/4716 LDN upstreaming].:*Ryujinx: [https://github.com/Ryujinx/Ryujinx/wiki/Multiplayer-(LDN-Local-Wireless)-Guide#animal-crossing-new-horizons LDN compatibility list]:*yuzu: [http://web.archive.org/web/20240229141439/https://yuzu-emu.org/entry/ldn-is-here/#compatibility LDN compatibility list];LAN Play: Not to be confused with Local Wireless Play. This one is similar to [[:Category:Microsoft_consoles|XBOX systems]] System Link feature or [[:Category:Sony_consoles|PlayStation systems]] LAN tunneling feature. Please see XLink Kai's setup guides for [https://www.teamxlink.co.uk/wiki/Ryujinx_XLink_Kai_Setup Ryujinx] and [https://www.teamxlink.co.uk/wiki/Yuzu_XLink_Kai_Setup yuzu]:*Ryujinx: [https://github.com/Ryujinx/Ryujinx/wiki/Multiplayer-(LDN-Local-Wireless)-Guide#lan-mode-games LAN Play compatibility list]:*yuzu: [http://web.archive.org/web/20240229141439/https://yuzu-emu.org/entry/ldn-is-here/#compatibility LAN Play compatibility list];Nintendo Switch Online{{Main|Nintendo Switch Online}}For more information about other revive projects see [[Preservation_projects|Preservation projects]] page. You can play some of the multiplayer titles using code [[Preservation_projects#Private_Game_Servers|revivial private servers]]. ===NSO emulators===*[[Official emulators]]*[[Nintendo Switch Online#List of emulators]]*[[Wikipedia:List_of_Nintendo_Switch_Online_games]]For the Nintendo Switch family of systems, Nintendo distributes retro games to subscribers of their Nintendo Switch Online service. Subscribers have access to games for the Nintendo Entertainment System (NES), Super Nintendo Entertainment System (SNES), Game Boy (GB) and Game Boy Color (GBC). At the more expensive subscription tier, titled "Expansion Pack", players can also access Nintendo 64, Sega Genesis, and Game Boy Advance (GBA) games. :*Ryujinx compatibility for NSO emulators: [https://github.com/Ryujinx/Ryujinx-Games-List/issues/3751 NSO N64], [https://github.com/Ryujinx/Ryujinx-Games-List/issues/67 NSO NES], [https://github.com/Ryujinx/Ryujinx-Games-List/issues/197 NSO SNES], [https://github.com/Ryujinx/Ryujinx-Games-List/issues/3852 NSO Genesis], [https://github.com/Ryujinx/Ryujinx-Games-List/issues/4407 NSO GameBoy], [https://github.com/Ryujinx/Ryujinx-Games-List/issues/4409 NSO GameBoy Advance]. [https://github.com/Ryujinx/Ryujinx/pull/2959 This PR] change allows the JIT service, required by the NSO N64 emulator and Super Mario 3D All Stars (for Super Mario 64) to run.:*yuzu compatibility for NSO emulators: [https://web.archive.org/web/20240304181109/https://yuzu-emu.org/game/nintendo-64-nintendo-switch-online/ NSO N64], [https://web.archive.org/web/20240304181026/https://yuzu-emu.org/game/nintendo-entertainment-system-nintendo-switch-online/ NSO NES], [https://web.archive.org/web/20240304181520/https://yuzu-emu.org/game/super-nintendo-entertainment-system-nintendo-switch-online/ NSO SNES], [https://web.archive.org/web/20240304181426/https://yuzu-emu.org/game/sega-genesis-nintendo-switch-online/ NSO Genesis]. '''It's important to note that, as mentioned in the [[#Emulators]] section, the compatibility list referenced here not up-to-date.'''[https://youtu.be/IG19iNUDQd4] ==Enhancements==<div style="overflow-x:auto;width:100%">{|class="wikitable" style="text-align:center;vertical-align:middle;width:100%"|- style="font-weight:bold;"! colspan=2 | Name! Ryujinx! Sudachi! yuzu! Strato|-| rowspan=7 | Graphics| [[Resolution|Resizable Internal Resolution]]| {{Y}}[https://github.com/Ryujinx/Ryujinx/wiki/Ryujinx-Setup-&-Configuration-Guide#graphics-enhancements *]| {{Y}}| {{Y}}| {{N}}|-| [[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/ *]| {{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=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}}|{{N}}|{{N}}|{{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=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=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}}| ?|-| [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=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]]| {{N}}| {{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}}|-| 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=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: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}}| {{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}}[https://youtu.be/JYXrKnsP44s *]| {{?}}|-| [[Shader_Presets|Shader Chain]]| {{N}}| {{N}}| {{N}}| {{N}}|-|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]| {{?}}| {{Y}}| {{Y}}[https://youtu.be/JYXrKnsP44s *]| {{?}}|-| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]| {{N}}| {{Y}}| {{Y}}[https://web.archive.org/web/20240304195247/https://yuzu-emu.org/help/feature/tas/ *]| {{N}}|-| Rewind| {{N}}| {{N}}| {{N}}| {{N}}|-| Fast-Forward/Turbo Speed| {{~}}[https://github.com/Ryujinx/Ryujinx/pull/6456 *]| {{N}}| {{N}}| {{N}}|-| Savestates| {{N}}| {{N}}| {{N}}[https://web.archive.org/web/20221109060249/https://github.com/yuzu-emu/yuzu/issues/5049 *]| {{N}}|-| [https://tasvideos.org/Movies Movie recording/playback]| {{N}}| {{N}}| {{N}}| {{N}}|-| rowspan=9 | Quality of life| 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 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 [[Cheats_and_patches|Cheat Manager]]| {{Y}}| {{~}}<ref group=N name=PropertiesAddOns></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=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}}|-| Per-Game Profiles| {{Y}}[https://old.reddit.com/r/Ryujinx/comments/mx6x61/custom_user_profiles_is_now_in_the_latest/jkcdyi5/ *]| {{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://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}}[https://web.archive.org/web/20230604180727/https://github.com/yuzu -emu/yuzu/issues/6812 *]| {{?}}|-| [[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}}| {{?}}|-| rowspan=2 | Controls| [[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}}| {{N}}|-| rowspan=4 | Misc| [https://retroachievements.org/game/8988 RetroAchievements]| {{N}}| {{N}}| {{N}}| {{N}}|-| [[Virtual_reality#VR_game_room_simulations|EmuVR support]]| colspan=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>| {{~}}<ref group=N2 name=freelook>Have to be done on a per game basis as the yuzu or Ryujinx didn't have a disallowed manner"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>| {{?}}|-| [[Wikipedia:Category:Debugging|Debug Features]]| {{N}}[https://github.com/Ryujinx/Ryujinx/issues/5486 *]| {{N}}| {{N}}| {{N}}|}</div>
==References==
<references />
;Notes
<references group=N2/>
<references group=N/>
 
==Emulation issues==
For more information about Nintendo Switch hardware and reverse engineering;
* MVG: [https://www.youtube.com/watch?v=xQmN-cxg21M How the Nintendo Switch Security was defeated]
* 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]
* [https://switchbrew.org/wiki/Main_Page SwitchBrew]
* [https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering dekuNukem - Nintendo Switch reverse engineering attempts]
* [https://reswitched.github.io/awesome/ ReSwitched - Awesome Switch: resources]
{{Nintendo}}
[[Category:Consoles|!Switch]][[Category:Handheld consoles|!Switch]][[Category:Home consoles|!Switch]][[Category:Hybrid consoles|!Switch]][[Category:Eighth-generation video game consoles|!Switch]][[Category:Very early emulationNintendo consoles|!Switch]][[Category:Nintendo consolesSwitch emulators|*]][[Category:Nintendo ARM-based|!Switch emulators]]
11,086
edits

Navigation menu