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 47: Line 47:
 
|{{✓}}
 
|{{✓}}
 
|-
 
|-
|Sudachi<ref group="N" name="yuzufork">Yuzu fork</ref>
+
|Sudachi
 
|align=left|{{Icon|Windows|Linux}}
 
|align=left|{{Icon|Windows|Linux}}
 
|[https://github.com/sudachi-emu/sudachi/releases {{SudachiVer}}]
 
|[https://github.com/sudachi-emu/sudachi/releases {{SudachiVer}}]
Line 55: Line 55:
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
|{{}}
+
|{{~}}
 
|-
 
|-
|Torzu<ref group="N" name="yuzufork"/>
+
|Torzu
 
|align=left|{{Icon|Windows|Linux}}
 
|align=left|{{Icon|Windows|Linux}}
|[https://github.com/litucks/torzu/releases {{TorzuVer}}]<br>[http://y2nlvhmmk5jnsvechppxnbyzmmv3vbl7dvzn6ltwcdbpgxixp3clkgqd.onion/torzu-emu/torzu Dark Git repository (requires Tor)]
+
|[https://github.com/litucks/torzu/releases {{TorzuVer}}]
 
|{{?}}
 
|{{?}}
 
|{{?}}
 
|{{?}}
Line 67: Line 67:
 
|{{~}}
 
|{{~}}
 
|-
 
|-
|[[suyu]]<ref group="N" name="yuzufork"/>
+
|[[suyu]]
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|align=left|{{Icon|Windows|Linux|macOS}}
 
|[https://git.suyu.dev/suyu/suyu/releases {{SuyuVer}}]
 
|[https://git.suyu.dev/suyu/suyu/releases {{SuyuVer}}]
Line 129: Line 129:
 
|{{✓}}
 
|{{✓}}
 
|-
 
|-
|Sudachi<ref group="N" name="yuzufork"/>
+
|Sudachi
 
|align=left|{{Icon|iOS|Android}}
 
|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)
 
|[https://github.com/emuPlace/Sudachi/releases 0.0.1.7.6] (ipa)<br/>[https://github.com/sudachi-emu/sudachi/releases git] (apk)
Line 139: Line 139:
 
|{{~}}
 
|{{~}}
 
|-
 
|-
|[[suyu]]<ref group="N" name="yuzufork"/>
+
|[[suyu]]
 
|align=left|{{Icon|Android}}
 
|align=left|{{Icon|Android}}
 
|[https://git.suyu.dev/suyu/suyu/releases {{SuyuVer}}]
 
|[https://git.suyu.dev/suyu/suyu/releases {{SuyuVer}}]
Line 179: Line 179:
 
|{{✗}}
 
|{{✗}}
 
|}
 
|}
<references group=N />
 
  
 
==Compatibility layers [[Compatibility layers|(...)]]==
 
==Compatibility layers [[Compatibility layers|(...)]]==
Line 217: Line 216:
 
|}
 
|}
  
==Emulation focused Linux distros [[Recommended_Linux_distros#Emulation-focused|(...)]]==
+
==Emulation focused Linux distros [[Recommended_Linux_distros#Emulation_focused|(...)]]==
 
<div style="overflow-x:auto;width:100%">
 
<div style="overflow-x:auto;width:100%">
 
{| class="wikitable" style="text-align:center;width:100%"
 
{| class="wikitable" style="text-align:center;width:100%"
Line 242: Line 241:
 
|{{✗}}
 
|{{✗}}
 
|}
 
|}
 
 
==Comparisons==
 
==Comparisons==
 
;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 uses an 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 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/].
  
 
:;[[yuzu]]
 
:;[[yuzu]]
Line 254: Line 252:
  
 
::;[[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. Their discord server is shut down (see "2024 - Yuzu (Switch) vs. Nintendo" section of the [[Legal Status of Emulation]] page)
  
 
::;[[suyu]]
 
::;[[suyu]]
Line 346: Line 344:
 
| 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}}
|{{}}[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 *]
 
|?
 
|?
 
|-
 
|-
 
| [https://switchbrew.org/wiki/Ring-Con Ring-Con]
 
| [https://switchbrew.org/wiki/Ring-Con Ring-Con]
|{{}}[https://github.com/Ryujinx/Ryujinx/issues/1713 *]
+
|{{N}}[https://github.com/Ryujinx/Ryujinx/issues/1713 *]
|{{}}
+
|{{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 *]
 
|?
 
|?
 
|-
 
|-
 
| [https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9_Ball_Plus Poké Ball Plus]
 
| [https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9_Ball_Plus Poké Ball Plus]
|{{}}
+
|{{N}}
 
|?
 
|?
|{{}}
+
|{{N}}
 
|?
 
|?
 
|-
 
|-
 
| [[List_of_games_with_keyboard_and_mouse_support#Nintendo_Switch_Emulation|USB Keyboard & Mouse]]
 
| [[List_of_games_with_keyboard_and_mouse_support#Nintendo_Switch_Emulation|USB Keyboard & Mouse]]
 
|{{~}}[https://github.com/Ryujinx/Ryujinx/issues/3156 *]
 
|{{~}}[https://github.com/Ryujinx/Ryujinx/issues/3156 *]
|{{}}
+
|{{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>
 
|?
 
|?
 
|-
 
|-
 
| rowspan=4 | Inputs
 
| rowspan=4 | Inputs
 
| [[List_of_games_that_support_IR#Nintendo_Switch_Emulation|IR Motion Camera]]
 
| [[List_of_games_that_support_IR#Nintendo_Switch_Emulation|IR Motion Camera]]
|{{}}[https://github.com/Ryujinx/Ryujinx-Games-List/issues/4798 *]
+
|{{N}}[https://github.com/Ryujinx/Ryujinx-Games-List/issues/4798 *]
|{{}}
+
|{{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 *]
|{{}}
+
|{{N}}
 
|-
 
|-
 
| [[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]]
|{{}}[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 382: Line 380:
 
|-
 
|-
 
| [[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)]]
|{{}}[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}}
|{{}}[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 *]
 
|?
 
|?
 
|-
 
|-
 
| [[List_of_games_that_support_touchscreen#Nintendo_Switch_Emulation|Touchscreen]]
 
| [[List_of_games_that_support_touchscreen#Nintendo_Switch_Emulation|Touchscreen]]
|{{}}[https://github.com/Ryujinx/Ryujinx/issues/4574 *]
+
|{{Y}}[https://github.com/Ryujinx/Ryujinx/issues/4574 *]
|{{}}
+
|{{Y}}
|{{}}[https://github.com/yuzu-emu/yuzu/issues/10065 *]
+
|{{Y}}[https://github.com/yuzu-emu/yuzu/issues/10065 *]
 
|?
 
|?
 
|}
 
|}
 
</div>
 
</div>
 
===Connectivity===
 
===Connectivity===
:[https://www.teamxlink.co.uk/wiki/Nintendo_Switch_XLink_Kai_Setup XLink Kai - Nintendo Switch setup guide]
+
;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].
 
 
Nintendo Switch Local play games are divided into two groups; [https://www.teamxlink.co.uk/wiki/Ryujinx_XLink_Kai_Setup#Local_Wireless_Games games with Local Wireless support], and [https://www.teamxlink.co.uk/wiki/Ryujinx_XLink_Kai_Setup#LAN_Games games with LAN support]. There are different requirements and rules for the two types.[https://www.teamxlink.co.uk/wiki/Ryujinx_XLink_Kai_Setup#Supported_Games] The difference is that Local Wireless is ad-hoc wifi between Switch radios. LAN is when the switches are joined to the same WiFi access point.[https://www.reddit.com/r/Ryujinx/comments/mg1iu5/comment/gt22ebx/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button]
 
 
 
;Local Wireless Play/LDN: Local Wireless games are a bit more restricted but the following can play games together:
 
*Players using modified "CFW" Nintendo Switch systems using ldn_mitm sysmodule
 
*Players using [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]. Ryujinx also allows for connecting to [https://blog.ryujinx.org/introducing-ldn3/ CFW Switch devices that are using the ldn_mitm submodule]. There is a feature tracker for Ryujinx for upstreaming [https://github.com/Ryujinx/Ryujinx/issues/4716 LDN] to main builds.
 
 
:*Ryujinx: [https://github.com/Ryujinx/Ryujinx/wiki/Multiplayer-(LDN-Local-Wireless)-Guide#animal-crossing-new-horizons LDN compatibility list]
 
:*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]
 
:*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]
;LAN Play: LAN games are the most widely supported and the following can play games together:
 
*Players using unmodified "OFW" Nintendo Switch and Nintendo Switch Lite systems.
 
*Players using modified "CFW" Nintendo Switch systems.
 
*Players using Ryujinx or yuzu
 
 
:*Ryujinx: [https://github.com/Ryujinx/Ryujinx/wiki/Multiplayer-(LDN-Local-Wireless)-Guide#lan-mode-games LAN Play compatibility list]
 
:*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]
 
:*yuzu: [http://web.archive.org/web/20240229141439/https://yuzu-emu.org/entry/ldn-is-here/#compatibility LAN Play compatibility list]
 
So in summary, it is possible to play on the same network and LAN multiplayer over the internet with programs like XLink Kai, 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], also see [[Preservation_projects#LAN_Tunneling_Programs|LAN Tunneling programs]] for more information.
 
 
 
;Nintendo Switch Online{{Main|Nintendo Switch Online}}
 
;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 Switch titles using [[Preservation_projects#Private_Game_Servers|revivial private servers]].
+
For more information about other revive projects see [[Preservation_projects|Preservation projects]] page. You can play some of the multiplayer titles using [[Preservation_projects#Private_Game_Servers|revivial private servers]].
  
 
===NSO emulators===
 
===NSO emulators===
Line 438: Line 423:
 
| rowspan=7 | Graphics
 
| rowspan=7 | Graphics
 
| [[Resolution|Resizable Internal Resolution]]
 
| [[Resolution|Resizable Internal Resolution]]
| {{}}[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}}
| {{}}
+
| {{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>
 
| [[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}}
 
| ?
 
| ?
 
|-
 
|-
Line 453: Line 438:
 
| {{~}}
 
| {{~}}
 
| {{~}}[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/ *]
| {{}}
+
| {{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>
 
| 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>
Line 459: Line 444:
 
|-
 
|-
 
| [[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}}
 
|-
 
|-
| Super-resolution techniques<br/><small>([https://github.com/NVIDIA/DLSS/blob/main/doc/DLSS_Programming_Guide_Release.pdf DLSS], [https://github.com/intel/xess/?tab=readme-ov-file XeSS] and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 2+]])</small>
+
| 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>
 
| 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>
 
|-
 
|-
Line 472: Line 457:
 
| 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}}
 
| ?
 
| ?
 
|-
 
|-
 
| [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>
 
| [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 '''LSFG'''<small>[https://youtu.be/vbbdP9ls2GY?t=375][https://youtu.be/mZblX75AbOM?t=442]</small> can be used with yuzu (or forks) or Ryujinx, please be aware that some visual glitches and artifacts may occur at this time.
+
| 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]]
 
| [[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>
 
| 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>
| {{}}<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}}
 
|-
 
|-
 
| 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'''+'''])
 
| 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'''+'''])
Line 497: Line 482:
 
| 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}}
 
| {{?}}
 
| {{?}}
 
|-
 
|-
 
| [[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}}
 
| {{?}}
 
| {{?}}
 
|-
 
|-
 
| [[Shaders_and_filters|Filters]]
 
| [[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>
 
|[[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}}
| {{}}[https://youtu.be/JYXrKnsP44s *]
+
| {{Y}}[https://youtu.be/JYXrKnsP44s *]
 
| {{?}}
 
| {{?}}
 
|-
 
|-
 
| [[Shader_Presets|Shader Chain]]
 
| [[Shader_Presets|Shader Chain]]
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
 
|-
 
|-
 
|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]
 
|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]
| {{}}[https://youtu.be/ksAkIIwhM6s *]
+
| {{?}}
| {{}}
+
| {{Y}}
| {{}}[https://youtu.be/JYXrKnsP44s *]
+
| {{Y}}[https://youtu.be/JYXrKnsP44s *]
 
| {{?}}
 
| {{?}}
 
|-
 
|-
 
| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]
 
| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]
 
| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]
 
| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]
| {{}}
+
| {{N}}
| {{}}
+
| {{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/ *]
| {{}}
+
| {{N}}
 
|-
 
|-
 
| Rewind
 
| Rewind
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
 
|-
 
|-
 
| 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}}
 
|-
 
|-
 
| Savestates
 
| Savestates
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
| {{}}[https://web.archive.org/web/20221109060249/https://github.com/yuzu-emu/yuzu/issues/5049 *]
+
| {{N}}[https://web.archive.org/web/20221109060249/https://github.com/yuzu-emu/yuzu/issues/5049 *]
| {{}}
+
| {{N}}
 
|-
 
|-
 
| [https://tasvideos.org/Movies Movie recording/playback]
 
| [https://tasvideos.org/Movies Movie recording/playback]
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
 
|-
 
|-
 
| rowspan=9 | Quality of life
 
| rowspan=9 | Quality of life
 
| Built-in [[Mods,_hacks_and_fan-translations#Built-in_graphics_mod_editor.2Fmanager_for_emulators|Graphics mod editor/manager]]
 
| Built-in [[Mods,_hacks_and_fan-translations#Built-in_graphics_mod_editor.2Fmanager_for_emulators|Graphics mod editor/manager]]
| {{}}[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>
| {{}}
+
| {{N}}
 
|-
 
|-
 
| Built-in [[Cheats_and_patches|Cheat Manager]]
 
| 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>
 
| {{~}}<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>
 
| 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>
Line 581: Line 566:
 
| [[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>
| {{}}<ref group=N name=Format></ref>
+
| {{N}}<ref group=N name=Format></ref>
| {{}}<ref group=N name=Format></ref>
+
| {{N}}<ref group=N name=Format></ref>
| {{}}
+
| {{N}}
 
|-
 
|-
 
| Per-Game Profiles
 
| Per-Game Profiles
| {{}}[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}}
| {{}}[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 *]
 
| {{?}}
 
| {{?}}
 
|-
 
|-
 
| Command Line Options
 
| Command Line Options
| {{}}[https://github.com/Ryujinx/Ryujinx/issues/4981#issuecomment-1550751066 *]
+
| {{Y}}[https://github.com/Ryujinx/Ryujinx/issues/4981#issuecomment-1550751066 *]
| {{}}[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 *]
| {{}}[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 *]
 
| {{?}}
 
| {{?}}
 
|-
 
|-
 
| 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}}
| {{}}[https://web.archive.org/web/20230604180727/https://github.com/yuzu-emu/yuzu/issues/6812 *]
+
| {{N}}[https://web.archive.org/web/20230604180727/https://github.com/yuzu-emu/yuzu/issues/6812 *]
 
| {{?}}
 
| {{?}}
 
|-
 
|-
 
| [[Wikipedia:Variable_refresh_rate|Variable Refresh Rate compatible]]
 
| [[Wikipedia:Variable_refresh_rate|Variable Refresh Rate compatible]]
| {{}}
+
| {{Y}}
| {{}}
+
| {{Y}}
| {{}}
+
| {{Y}}
 
| {{?}}
 
| {{?}}
 
|-
 
|-
 
| [[Frontends#Graphical_User_Interfaces_.28GUIs.29|Big Picture Mode]]
 
| [[Frontends#Graphical_User_Interfaces_.28GUIs.29|Big Picture Mode]]
| {{}}[https://github.com/Ryujinx/Ryujinx/issues/3725 *]
+
| {{N}}[https://github.com/Ryujinx/Ryujinx/issues/3725 *]
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
 
| {{?}}
 
| {{?}}
 
|-
 
|-
Line 618: Line 603:
 
| [[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}}
 
|-
 
|-
 
| [[Input_lag|Input lag-mitigating technique]]
 
| [[Input_lag|Input lag-mitigating technique]]
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
 
|-
 
|-
| rowspan=5 | Misc
+
| rowspan=4 | Misc
 
| [https://retroachievements.org/game/8988 RetroAchievements]
 
| [https://retroachievements.org/game/8988 RetroAchievements]
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
 
|-
 
|-
 
| [[Virtual_reality#VR_game_room_simulations|EmuVR support]]
 
| [[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.
 
| colspan=5 |  Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores]. So there is no support at the moment.
|-
 
| AI Service<br/><small>With the help of <abbr title="optical character recognition">OCR</abbr> and other techniques, the AI service can provide a live translation of a game, or text-to-speech capabilities for the visually impaired among other things, either on demand or automatically.</small>
 
| colspan=11 | Exclusive to [https://docs.libretro.com/guides/ai-service/ libretro cores] at the moment. So there is no support.
 
 
|-
 
|-
 
| 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>
Line 648: Line 630:
 
|-
 
|-
 
| [[Wikipedia:Category:Debugging|Debug Features]]
 
| [[Wikipedia:Category:Debugging|Debug Features]]
| {{}}[https://github.com/Ryujinx/Ryujinx/issues/5486 *]
+
| {{N}}[https://github.com/Ryujinx/Ryujinx/issues/5486 *]
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
| {{}}
+
| {{N}}
 
|}
 
|}
 
</div>
 
</div>
Line 666: Line 648:
 
* 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]
* Torzu: [https://github.com/litucks/torzu/tree/master/blog Blog]
 
 
* [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)