Editing Nintendo Switch emulators

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 35: Line 35:
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|-
!colspan="9"|x86
+
!colspan="9"|PC / x86
 
|-
 
|-
 
|[[Ryujinx]]
 
|[[Ryujinx]]
Line 42: Line 42:
 
|{{~}}
 
|{{~}}
 
|{{~}}
 
|{{~}}
|[https://github.com/Ryujinx/Ryujinx-Games-List/issues 83%<br/><small>3568 out of 4312 reported titles</small>]
+
|[https://github.com/Ryujinx/Ryujinx-Games-List/issues 83%<br/><small>3554 out of 4284 reported titles</small>]
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 48: Line 48:
 
|-
 
|-
 
|Sudachi
 
|Sudachi
|align=left|{{Icon|Windows|Linux}}
+
|align=left|{{Icon|Windows}}
 
|[https://github.com/sudachi-emu/sudachi/releases {{SudachiVer}}]
 
|[https://github.com/sudachi-emu/sudachi/releases {{SudachiVer}}]
 
|{{✓}}
 
|{{✓}}
Line 74: Line 74:
 
|{{?}}
 
|{{?}}
 
|{{✓}}
 
|{{✓}}
|{{~}}
+
|{{}}
|{{~}}
+
|{{TBD}}
 
|-
 
|-
 
|[[yuzu]]
 
|[[yuzu]]
 
|align=left|{{Icon|Windows|Linux}}
 
|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>
+
|[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>
 
|''[[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|*]]
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
Line 117: Line 117:
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
!colspan="9"|ARM
+
!colspan="9"|Mobile / ARM
|-
 
|[[Ryujinx]]
 
|align=left|{{Icon|LinuxARM|macOS}}
 
|[https://ryujinx.org/download Nightly]
 
|{{~}}
 
|{{~}}
 
|[https://github.com/Ryujinx/Ryujinx-Games-List/issues 83%<br/><small>3568 out of 4312 reported titles</small>]
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
 
|-
 
|-
 
|Sudachi
 
|Sudachi
Line 146: Line 136:
 
|?
 
|?
 
|{{✓}}
 
|{{✓}}
|{{~}}
+
|{{}}
|{{~}}
+
|{{TBD}}
 
|-
 
|-
 
|[[yuzu]]
 
|[[yuzu]]
Line 156: Line 146:
 
|?[https://old.reddit.com/r/yuzu/comments/13xuovh/current_compatibility_list_for_android/ *]
 
|?[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]]
 
|[[Egg NS]]
Line 244: Line 244:
 
;Emulators
 
;Emulators
 
:;[[Ryujinx]]
 
:;[[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 alternative approach to yuzu's NCE for improving performance when emulating on ARM systems[https://blog.ryujinx.org/progress-report-january-2024/].
+
::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 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]]
 
:;[[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.
 
::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 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].  
+
::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 its work is likely to be continued by other developers.
  
 
::;[[Sudachi]]
 
::;[[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)
+
:::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.
  
 
::;[[suyu]]
 
::;[[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.
+
:::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.
 
  
 
::;Torzu
 
::;Torzu
Line 288: Line 286:
 
!  colspan=2 | Name
 
!  colspan=2 | Name
 
! Ryujinx
 
! Ryujinx
 +
! suyu
 
! Sudachi
 
! Sudachi
 
! yuzu
 
! yuzu
Line 294: Line 293:
 
| colspan=2 | [https://en-americas-support.nintendo.com/app/answers/detail/a_id/22308/~/home-menu-overview Switch HOME Menu]
 
| 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/Ryujinx/Ryujinx/issues/1381]
|{{✓}}[https://github.com/sudachi-emu/sudachi/releases/tag/v0e54fcf][https://github.com/jarrodnorwell/Sudachi/pull/1]
+
|{{✓}}[https://gitlab.com/suyu-emu/suyu/-/merge_requests/102]
 +
|{{✓}}[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]
 
|{{~}}[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 | [https://en-americas-support.nintendo.com/app/answers/detail/a_id/22378/~/how-to-create-a-mii-on-nintendo-switch Mii Editor]
 +
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 305: Line 306:
 
|-
 
|-
 
| colspan=2 | [[#NSO_emulators|NSO emulators]]
 
| colspan=2 | [[#NSO_emulators|NSO emulators]]
 +
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 312: Line 314:
 
| colspan=2 | [[Amiibo]]
 
| colspan=2 | [[Amiibo]]
 
|{{✓}}[https://github.com/Ryujinx/Ryujinx/wiki/Ryujinx-Setup-&-Configuration-Guide#amiibo-emulation *]
 
|{{✓}}[https://github.com/Ryujinx/Ryujinx/wiki/Ryujinx-Setup-&-Configuration-Guide#amiibo-emulation *]
 +
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 318: Line 321:
 
| colspan=2 | [[Wikipedia:Nintendo_Labo|Nintendo Labo]]
 
| 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]
 
|{{~}}[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]
 +
|{{?}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
Line 324: Line 328:
 
| rowspan=3 | [[#Connectivity|Connectivity]]
 
| rowspan=3 | [[#Connectivity|Connectivity]]
 
|Nintendo Switch Online
 
|Nintendo Switch Online
 +
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
Line 330: Line 335:
 
|-
 
|-
 
|Local Wireless Play / LDN
 
|Local Wireless Play / LDN
 +
|{{~}}
 
|{{~}}
 
|{{~}}
 
|{{~}}
 
|{{~}}
Line 336: Line 342:
 
|-
 
|-
 
|LAN Play
 
|LAN Play
 +
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 344: Line 351:
 
| Native Dual Joy-Con Support
 
| Native Dual Joy-Con Support
 
|{{~}}[https://github.com/Ryujinx/Ryujinx/issues/3293 <abbr title="Only possible with 'BetterJoy' at the moment.">*</abbr>]
 
|{{~}}[https://github.com/Ryujinx/Ryujinx/issues/3293 <abbr title="Only possible with 'BetterJoy' at the moment.">*</abbr>]
 +
|{{Y}}
 
|{{Y}}
 
|{{Y}}
 
|{{Y}}[https://web.archive.org/web/20220408213257/https://twitter.com/yuzuemu/status/1392967822402277376 *]
 
|{{Y}}[https://web.archive.org/web/20220408213257/https://twitter.com/yuzuemu/status/1392967822402277376 *]
Line 350: Line 358:
 
| [https://switchbrew.org/wiki/Ring-Con Ring-Con]
 
| [https://switchbrew.org/wiki/Ring-Con Ring-Con]
 
|{{N}}[https://github.com/Ryujinx/Ryujinx/issues/1713 *]
 
|{{N}}[https://github.com/Ryujinx/Ryujinx/issues/1713 *]
 +
|{{Y}}
 
|{{Y}}
 
|{{Y}}
 
|{{Y}}[http://web.archive.org/web/20230726233204/https://github.com/yuzu-emu/yuzu/issues/8489 *]
 
|{{Y}}[http://web.archive.org/web/20230726233204/https://github.com/yuzu-emu/yuzu/issues/8489 *]
Line 356: Line 365:
 
| [https://www.destructoid.com/which-switch-games-have-mouse-and-keyboard-support-list/ Keyboard & Mouse]
 
| [https://www.destructoid.com/which-switch-games-have-mouse-and-keyboard-support-list/ Keyboard & Mouse]
 
|{{~}}[https://github.com/Ryujinx/Ryujinx/issues/3156 *]
 
|{{~}}[https://github.com/Ryujinx/Ryujinx/issues/3156 *]
 +
|{{Y}}
 
|{{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>
 
|{{Y}}<abbr title="Turn on Keyboard and Mouse options from yuzu GUI-Configuration-Controls-Advanced, shouldn't be confused with Mouse Panning.">*</abbr>
Line 363: Line 373:
 
| [https://www.nintendo.co.uk/Support/Nintendo-Switch/How-to-Check-the-IR-Motion-Camera-Functionality-1547323.html IR Motion Camera]
 
| [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 *]
 
|{{N}}[https://github.com/Ryujinx/Ryujinx-Games-List/issues/4798 *]
 +
|{{Y}}
 
|{{Y}}
 
|{{Y}}
 
|{{Y}}[https://web.archive.org/web/20240229133559/https://yuzu-emu.org/entry/yuzu-progress-report-jul-2022/#input-improvements *]
 
|{{Y}}[https://web.archive.org/web/20240229133559/https://yuzu-emu.org/entry/yuzu-progress-report-jul-2022/#input-improvements *]
Line 369: Line 380:
 
| [[List_of_games_that_support_HD_haptic_feedback#Nintendo_Switch_Emulation|HD Rumble]]
 
| [[List_of_games_that_support_HD_haptic_feedback#Nintendo_Switch_Emulation|HD Rumble]]
 
|{{N}}[https://github.com/Ryujinx/Ryujinx/issues/1659 *]
 
|{{N}}[https://github.com/Ryujinx/Ryujinx/issues/1659 *]
 +
|{{~}}
 
|{{~}}
 
|{{~}}
 
|{{~}}[https://web.archive.org/web/20230330125729/https://github.com/yuzu-emu/yuzu/issues/4958#issuecomment-1235894977 *]
 
|{{~}}[https://web.archive.org/web/20230330125729/https://github.com/yuzu-emu/yuzu/issues/4958#issuecomment-1235894977 *]
Line 375: Line 387:
 
| [[List_of_games_that_support_tracked_motion_controllers#Switch_Emulation|Motion Controls (Gyro)]]
 
| [[List_of_games_that_support_tracked_motion_controllers#Switch_Emulation|Motion Controls (Gyro)]]
 
|{{Y}}[https://github.com/Ryujinx/Ryujinx/wiki/Ryujinx-Setup-&-Configuration-Guide#motion-controls *]
 
|{{Y}}[https://github.com/Ryujinx/Ryujinx/wiki/Ryujinx-Setup-&-Configuration-Guide#motion-controls *]
 +
|{{Y}}
 
|{{Y}}
 
|{{Y}}
 
|{{Y}}[https://web.archive.org/web/20220408213257/https://twitter.com/yuzuemu/status/1392967822402277376 *]
 
|{{Y}}[https://web.archive.org/web/20220408213257/https://twitter.com/yuzuemu/status/1392967822402277376 *]
Line 381: Line 394:
 
| [[List_of_games_that_support_touchscreen#Nintendo_Switch_Emulation|Touchscreen]]
 
| [[List_of_games_that_support_touchscreen#Nintendo_Switch_Emulation|Touchscreen]]
 
|{{Y}}[https://github.com/Ryujinx/Ryujinx/issues/4574 *]
 
|{{Y}}[https://github.com/Ryujinx/Ryujinx/issues/4574 *]
 +
|{{Y}}
 
|{{Y}}
 
|{{Y}}
 
|{{Y}}[https://github.com/yuzu-emu/yuzu/issues/10065 *]
 
|{{Y}}[https://github.com/yuzu-emu/yuzu/issues/10065 *]
Line 411: Line 425:
 
! colspan=2 | Name
 
! colspan=2 | Name
 
! Ryujinx
 
! Ryujinx
 +
! suyu
 
! Sudachi
 
! Sudachi
 
! yuzu
 
! yuzu
Line 418: Line 433:
 
| [[Resolution|Resizable Internal Resolution]]
 
| [[Resolution|Resizable Internal Resolution]]
 
| {{Y}}[https://github.com/Ryujinx/Ryujinx/wiki/Ryujinx-Setup-&-Configuration-Guide#graphics-enhancements *]
 
| {{Y}}[https://github.com/Ryujinx/Ryujinx/wiki/Ryujinx-Setup-&-Configuration-Guide#graphics-enhancements *]
 +
| {{Y}}
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
Line 423: Line 439:
 
|-
 
|-
 
| [[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>
 
| [[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}}
 
| {{Y}}
 
| {{Y}}
Line 430: Line 447:
 
| [[Texture_packs#Nintendo_Switch|Texture Replacement]]
 
| [[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>
 
| {{~}}<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/ *]
 
| {{~}}[https://web.archive.org/web/20240304194925/https://yuzu-emu.org/help/feature/game-modding/ *]
Line 438: Line 456:
 
|-
 
|-
 
| [[Wikipedia:Category:Anti-aliasing_algorithms|Pre-rendering AA]]<br/><small>(MSAA, SSAA)</small>
 
| [[Wikipedia:Category:Anti-aliasing_algorithms|Pre-rendering AA]]<br/><small>(MSAA, SSAA)</small>
 +
|{{N}}
 
|{{N}}
 
|{{N}}
 
|{{N}}
 
|{{N}}
Line 447: Line 466:
 
|-
 
|-
 
| [https://github.com/NVIDIAGameWorks/rtx-remix/wiki RTX Remix]
 
| [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>
+
| colspan=9 | <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
 
| rowspan=5 | Performance
 
| [[30/60_FPS_cheat_codes#Nintendo_Switch|Internal Framerate Hack]]
 
| [[30/60_FPS_cheat_codes#Nintendo_Switch|Internal Framerate Hack]]
 +
| {{Y}}
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
Line 460: Line 480:
 
|-
 
|-
 
| [[Overclocking|Overclock]]
 
| [[Overclocking|Overclock]]
 +
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 467: Line 488:
 
| 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>
 
| 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}}<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}}
 
| {{N}}
 
| {{N}}
Line 476: Line 498:
 
| rowspan=6 | Post-Processing
 
| rowspan=6 | Post-Processing
 
| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, TXAA and MLAA/SMAA)</small>
 
| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, TXAA and MLAA/SMAA)</small>
 +
| {{Y}}
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
Line 482: Line 505:
 
|-
 
|-
 
| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br/><small>(Sharp bilinear, Lanczos and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small>
 
| [[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}}
 
| {{Y}}
 
| {{Y}}
Line 488: Line 512:
 
|-
 
|-
 
| [[Shaders_and_filters|Filters]]
 
| [[Shaders_and_filters|Filters]]
 +
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 495: Line 520:
 
|[[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>
 
|[[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}}
 
| {{Y}}[https://youtu.be/JYXrKnsP44s *]
 
| {{Y}}[https://youtu.be/JYXrKnsP44s *]
Line 500: Line 526:
 
|-
 
|-
 
| [[Shader_Presets|Shader Chain]]
 
| [[Shader_Presets|Shader Chain]]
 +
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 507: Line 534:
 
|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]
 
|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]
 
| {{?}}
 
| {{?}}
 +
| {{Y}}
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}[https://youtu.be/JYXrKnsP44s *]
 
| {{Y}}[https://youtu.be/JYXrKnsP44s *]
Line 514: Line 542:
 
| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]
 
| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]
 
| {{N}}
 
| {{N}}
 +
| {{Y}}
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}[https://web.archive.org/web/20240304195247/https://yuzu-emu.org/help/feature/tas/ *]
 
| {{Y}}[https://web.archive.org/web/20240304195247/https://yuzu-emu.org/help/feature/tas/ *]
Line 519: Line 548:
 
|-
 
|-
 
| Rewind
 
| Rewind
 +
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 526: Line 556:
 
| Fast-Forward/Turbo Speed
 
| Fast-Forward/Turbo Speed
 
| {{~}}[https://github.com/Ryujinx/Ryujinx/pull/6456 *]
 
| {{~}}[https://github.com/Ryujinx/Ryujinx/pull/6456 *]
 +
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 531: Line 562:
 
|-
 
|-
 
| Savestates
 
| Savestates
 +
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 537: Line 569:
 
|-
 
|-
 
| [https://tasvideos.org/Movies Movie recording/playback]
 
| [https://tasvideos.org/Movies Movie recording/playback]
 +
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 546: Line 579:
 
| {{Y}}[https://github.com/Ryujinx/Ryujinx/pull/4390 *]
 
| {{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>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>
 
| {{~}}<ref group=N name=PropertiesAddOns></ref>
 
| {{N}}
 
| {{N}}
Line 551: Line 585:
 
| Built-in [[Cheats_and_patches|Cheat Manager]]
 
| Built-in [[Cheats_and_patches|Cheat Manager]]
 
| {{Y}}
 
| {{Y}}
 +
| {{~}}<ref group=N name=PropertiesAddOns></ref>
 
| {{~}}<ref group=N name=PropertiesAddOns></ref>
 
| {{~}}<ref group=N name=PropertiesAddOns></ref>
 
| {{~}}<ref group=N name=PropertiesAddOns></ref>
 
| {{~}}<ref group=N name=PropertiesAddOns></ref>
Line 556: Line 591:
 
|-
 
|-
 
| 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>
 
| 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>
+
| colspan=7 | 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]]
 
| [[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>
 
| {{~}}<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>
 
| {{N}}<ref group=N name=Format></ref>
 
| {{N}}<ref group=N name=Format></ref>
Line 566: Line 602:
 
| Per-Game Profiles
 
| Per-Game Profiles
 
| {{Y}}[https://old.reddit.com/r/Ryujinx/comments/mx6x61/custom_user_profiles_is_now_in_the_latest/jkcdyi5/ *]
 
| {{Y}}[https://old.reddit.com/r/Ryujinx/comments/mx6x61/custom_user_profiles_is_now_in_the_latest/jkcdyi5/ *]
 +
| {{Y}}
 
| {{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 *]
 
| {{Y}}[https://web.archive.org/web/20240302185515/https://yuzu-emu.org/entry/yuzu-progress-report-dec-2023/#android-specific-ui-and-miscellaneous-changes *]
Line 572: Line 609:
 
| Command Line Options
 
| Command Line Options
 
| {{Y}}[https://github.com/Ryujinx/Ryujinx/issues/4981#issuecomment-1550751066 *]
 
| {{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://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 *]
 
| {{Y}}[https://web.archive.org/web/20240229152519/https://github.com/yuzu-emu/yuzu/pull/5229 *]
Line 577: Line 615:
 
|-
 
|-
 
| On-Screen Display<br/><small>Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.</small>
 
| 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}}
 
| {{N}}
 
| {{N}}
Line 583: Line 622:
 
|-
 
|-
 
| [[Wikipedia:Variable_refresh_rate|Variable Refresh Rate compatible]]
 
| [[Wikipedia:Variable_refresh_rate|Variable Refresh Rate compatible]]
 +
| {{Y}}
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
 
| {{Y}}
Line 590: Line 630:
 
| [[Frontends#Graphical_User_Interfaces_.28GUIs.29|Big Picture Mode]]
 
| [[Frontends#Graphical_User_Interfaces_.28GUIs.29|Big Picture Mode]]
 
| {{N}}[https://github.com/Ryujinx/Ryujinx/issues/3725 *]
 
| {{N}}[https://github.com/Ryujinx/Ryujinx/issues/3725 *]
 +
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 597: Line 638:
 
| [[Controllers#Mouse_Injectors_for_Emulators|Mouse Injector Compatible]]
 
| [[Controllers#Mouse_Injectors_for_Emulators|Mouse Injector Compatible]]
 
| {{~}}<abbr title="Currently requires Cheat Engine to work.">[https://gamebanana.com/scripts/11752 *]</abbr>
 
| {{~}}<abbr title="Currently requires Cheat Engine to work.">[https://gamebanana.com/scripts/11752 *]</abbr>
 +
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 602: Line 644:
 
|-
 
|-
 
| [[Input_lag|Input lag-mitigating technique]]
 
| [[Input_lag|Input lag-mitigating technique]]
 +
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 609: Line 652:
 
| rowspan=4 | Misc
 
| rowspan=4 | Misc
 
| [https://retroachievements.org/game/8988 RetroAchievements]
 
| [https://retroachievements.org/game/8988 RetroAchievements]
 +
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 619: Line 663:
 
| Free Look<br/><small>Free Look is a enhancement feature that allows manipulation of the in-game camera.</small>
 
| 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>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>
 
| {{~}}<ref group=N2 name=freelook></ref>
 
| {{~}}<ref group=N2 name=freelook></ref>
Line 625: Line 670:
 
| [[Wikipedia:Category:Debugging|Debug Features]]
 
| [[Wikipedia:Category:Debugging|Debug Features]]
 
| {{N}}[https://github.com/Ryujinx/Ryujinx/issues/5486 *]
 
| {{N}}[https://github.com/Ryujinx/Ryujinx/issues/5486 *]
 +
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
 
| {{N}}
Line 642: Line 688:
 
* Ryujinx: [https://blog.ryujinx.org/ Blog], [https://discord.gg/ryujinx Discord]
 
* 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]
 
* 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://switchbrew.org/wiki/Main_Page SwitchBrew]
 
* [https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering dekuNukem - Nintendo Switch reverse engineering attempts]
 
* [https://github.com/dekuNukem/Nintendo_Switch_Reverse_Engineering dekuNukem - Nintendo Switch reverse engineering attempts]

Please note that all contributions to Emulation General Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Emulation General Wiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)