Difference between pages "Emulator problems FAQ" and "Nintendo Switch emulators"

From Emulation General Wiki
(Difference between pages)
Jump to navigation Jump to search
(New systems emulated)
 
(Emulators)
(Tags: Mobile edit, Mobile web edit)
 
Line 1: Line 1:
==General==
+
{{Infobox console
===BIOS===
+
|title = Nintendo Switch
Depending on the emulator, BIOSes can be either necessary or an added novelty.  Generally, emulators of more modern/complex consoles will require BIOS files in order to operate.
+
|image = nintendo-switch.png
{{Main|Emulator Files}}
+
|image2 = switchdocked.png
 +
|imagecaption = The Switch in its two forms, portable (above) and docked (below).
 +
|developer = [[:Nintendo]]
 +
|type = [[:Category:Hybrid consoles|Hybrid video game console]]
 +
|generation = [[:Category:Eighth-generation video game consoles|Eighth generation]]
 +
|release = 2017
 +
|predecessor = [[Wii U emulators|Wii U]]
 +
|emulated = {{✓}}
 +
}}
  
===New systems 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.
'''Are there emulators for the PlayStation 4, PlayStation Vita, Xbox 360, or Nintendo Switch?'''
 
  
Yes! See the following pages for more information:
+
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 that allowed complete control over the system, later officially recognized by Nvidia as CVE-2018-6242.
  
*[[PlayStation 4 emulators]]
+
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 c++]], which was capable of booting some homebrew applications; within a couple of weeks yet another emulator named [[Ryujinx]], written in c# by developer gdkchan, was released showing successful booting of commercial Switch games Puyo Puyo Tetris and Sonic Mania.
*[[PlayStation Vita emulators]]
 
*[[Xbox 360 emulators]]
 
*[[Nintendo Switch emulators]]
 
  
Note that all emulators are very early in their development and though they're always getting better by the day, they are not stable.
+
==Emulators==
 +
{| class="wikitable" style="text-align:center;"
 +
! scope="col"|Name
 +
! scope="col"|Platform(s)
 +
! scope="col"|Latest Version
 +
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 +
! scope="col"|Active
 +
! scope="col"|[[Recommended Emulators|Recommended]]
 +
|-
 +
! colspan="6"|PC / x86
 +
|-
 +
|[[yuzu]]
 +
|align=left|{{Icon|Windows|Linux}}
 +
|[https://yuzu-emu.org/downloads Nightly][https://github.com/yuzu-emu/yuzu git]
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 +
|-
 +
|[[Ryujinx]]
 +
|align=left|{{Icon|Windows|Linux|macOS}}
 +
|[https://ryujinx.org/#/Build Nightly][https://github.com/Ryujinx/Ryujinx git]
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✓}}
 +
|-
 +
|NSEmu
 +
|align=left|{{Icon|Windows}}
 +
|[https://github.com/RKX1209/nsemu git]
 +
|{{✓}}
 +
|{{✗}}
 +
|{{✗}}
 +
|-
 +
|Mephisto
 +
|align=left|{{Icon|Linux|macOS}}
 +
|[https://github.com/reswitched/Mephisto/releases git]
 +
|{{✓}}
 +
|{{✗}}
 +
|{{✗}}
 +
|-
 +
|CageTheUnicorn
 +
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}}
 +
|[https://github.com/reswitched/CageTheUnicorn git]
 +
|{{✓}}
 +
|{{✗}}
 +
|{{✗}}
 +
|-
 +
!colspan="10"|Mobile / ARM
 +
|-
 +
|[[Skyline]]
 +
|align=left|{{Icon|Android}}
 +
|[https://github.com/skyline-emu/skyline/releases git]
 +
|{{✓}}
 +
|{{✓}}
 +
|{{✗}}<small> (WIP)</small>
 +
|-
 +
|[https://eggns.wordpress.com Egg NS]
 +
|align=left|{{Icon|Android}}
 +
|[https://drive.google.com/file/d/1RygOcWDULuwoGSORDrtCXHHof1KoldKO/view 2.1.6 Beta 5]
 +
|{{✗}}
 +
|{{✓}}
 +
|{{✗}}
 +
|}
  
'''Are there emulators for the Xbox One yet?'''
+
;[[yuzu]] <small class="plainlinks" style="font-weight:normal;">([https://yuzu-emu.org/game compatibility])</small>
 +
:An open-source emulator made by many of [[Citra]]'s developers. As it is a hard fork of Citra it shares many of its traits, namely cross-platform support and the use of OpenGL (though unlike Citra it also supports Vulkan). Many 2D games now render graphics properly and at good speeds; many 3D games are playable. This emulator currently offers early access builds to $5/month [[Emulators on Patreon|Patreon]] subscribers which allows them 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 for OpenGL, negating the need to compile shaders on the fly on every boot. Resolution scaler was disabled some time ago due to bugs, but in July 2021 work on reimplementing resolution scaler has started.
  
No. <u>Many that you come across on YouTube videos and the like are scams or malware.</u>
+
;[[Ryujinx]] <small class="plainlinks" style="font-weight:normal;">([https://github.com/Ryujinx/Ryujinx-Games-List/issues compatibility])</small>
 +
:An open-source emulator that's programmed in C#. Most 2D games are now booting and running at comfortable speeds and many 3D games are playable. It also supports resolution upscaling to 4K and beyond; custom upscaling/downscaling ratios are supported. Ryujinx now has a disk-based shader cache. Unlike yuzu, Ryujinx does not offer packaged early access builds; however work-in-progress features can still 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 internet, as well as LAN mode compatibility on local networks with Switch consoles on supported games. As of August 2021, Vulkan API support has been added.
  
===Save states===
+
;Egg NS
'''My save states do not work in the new version of the emulator I downloaded. Why?'''
+
:Claimed the first spot in getting games running on Android. 81 titles are purported to work, and the rest are either not working or assumed to fail. There is significant controversy surrounding this emulator for the following reasons: the current version lacks any onscreen buttons and instead requires users to purchase a specific controller; it expects to run on a high-end device within the ballpark of a Qualcomm Snapdragon 855/855+/865/865+; it was discovered to have violated GPLv2 licensing requirements by using code from yuzu in a disallowed manner. Made by the Chinese illegal market.
  
Save states are not compatible between different versions of emulators, or between different emulators. Don't rely on them. Use real/battery saves which typically can be transferred, even if they need to be converted first.
+
;Skyline
 +
: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 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.
  
==Performance==
+
==See also==
'''Can I run this emulator?'''
+
* [[Emulators on Switch]]
  
See [[Computer specs]].
+
==References==
 +
<references />
 +
 +
{{Nintendo}}
  
'''I got a new version of this emulator, and now it's slower! Can this be fixed?'''
+
[[Category:Consoles]]
 
+
[[Category:Handheld consoles]]
Well, there can be a number of reasons why it can slow down.
+
[[Category:Home consoles]]
 
+
[[Category:Hybrid consoles]]
*Try closing other programs first. While CPU usage is one factor, games are not the only thing that could be using the <u>disk</u>, especially if you're not using a solid state drive.
+
[[Category:Eighth-generation video game consoles]]
*It could have been reset to the default CPU priority, which you could have set to max on the old version.
+
[[Category:Nintendo consoles]]
*The new version didn't detect the previous settings that sped up the games.
+
[[Category:Nintendo Switch emulators|*]]
*The new version may have lost support entirely for settings that sped up the games, probably in favor of [[Emulation_Accuracy|accuracy]].
 
 
 
'''My PC is a toaster. Are there any emulators I can run?'''
 
 
 
Most emulators of the 16-bit era (fourth generation) and earlier consoles (e.g., Sega Genesis, NES, Atari 2600, etc.) can be run on any PC, even one with a CPU clock speed of below 1 GHz. higan is the only exception because it's highly accurate and requires a 3 GHz CPU for optimal performance. Other emulators such as Snes9x, Kega Fusion, Mesen, etc. can be run on any PC that can run Windows.
 
 
 
However, emulators of the fifth generation and later consoles are a different story. While fourth generation and earlier consoles could only display pixel art and, in some cases, very primitive 3D graphics, the move to fifth generation consoles saw a massive jump in consoles' graphical capabilities, with full 3D polygon graphics with texture mapping, lighting and shadows, anti-aliasing, texture filtering, etc. The consoles required much more complex CPUs and GPUs with multiple cores to be able to display these types of graphics. Because of this, emulators of the fifth generation and later consoles require a mid- to high-end gaming PC for optimal performance, with a 3 ~ 3.5 GHz or faster CPU clock speed and at least a mid-range AMD / Nvidia graphics card.
 
 
 
==Filetypes==
 
'''What does this file extension mean?'''
 
 
 
We have a [[list of filetypes]] for information on what's what, and where to use it.
 
 
 
===Archives===
 
'''I downloaded a compressed archive (zip/rar/7z), but it has a lot of files starting with r00/r01, or part1/part2, or 001/002. What are these?'''
 
 
 
It's a split archive in a full archive. Why that happens is beyond us, but all you need to do to use it is to unpack it with whatever software you have, which means WinRAR, WinZip, et cetera. If you do not have either of those and don't have a way to decompress split archives, get [http://www.7-zip.org/ 7-Zip] and extract all the files to a folder nearby. Then, using your software, select the first archive and extract it (some programs insert shell extensions that allow you to extract files straight from the right-click menu), and you should have all the expected files. You can then delete the archives.
 
 
 
===Filenames===
 
'''What does [!] or (NTSC) refer to?'''
 
 
 
[[GoodTools#Good_codes|Codes]]. They mean different things, and we've provided a list telling you their meanings.
 
==[[Controllers|'''Controllers''']]==
 
===[[DualShock 3]]===
 
'''I have connected my DualShock 3 controller to the computer. Why doesn't it work?'''
 
 
 
If you're using Windows, that's because there are no official drivers for it.
 
 
 
Some developers have taken it upon themselves to make these drivers. The first one that ever went public was called [[MotioninJoy|MalwareohJoy]], but it was plagued with issues, [https://web.archive.org/web/20170715032648/http://betterds3.ciebiera.net/why/ as the author of BetterDS3 wrote in 2013].
 
 
 
So we recommend the [[SCP Driver Package]], and we've written up a bit on using it.
 
===DualShock 4===
 
{{Main|DualShock 4}}
 
 
 
==PS1 emulators==
 
===ECM format===
 
'''I downloaded a PS1 game. It's in .ecm format and won't open in an emulator. Why?'''
 
 
 
ECM is a compressed format. You need to decompress using PakkISO or ECM Tools (both provided on the emuparadise download page). It'll output as a .bin usually, which is what the [[Cue sheet (.cue)|.cue]] uses to load the game. Note that recent SVN builds of [[PCSX-Reloaded]] DO allow loading of ECM files, however, it's recommended to unpack them anyway. Linux users can use the ECM Tools which should be included in your repository, which is explained on [https://ubuntuforums.org/showthread.php?t=1472552 Ubuntu Forums]. You then need to use the 'ECM-uncompress' command in terminal.
 
 
 
===Keybinds in lilypad===
 
'''I use PCSX-R with LilyPad, but the ESC key and various others don't work!'''
 
 
 
In the keyboard Input API (radio buttons in the top left of the LilyPad options), choose raw input.
 
 
 
===Multi track games===
 
'''The PlayStation 1 game that I downloaded came with a lot of tracks. How do I play it?'''
 
 
 
You need to create/run the [[cue sheet (.cue)]]. Support for multi-track games can be found in [[Mednafen]], [[RetroArch]], [[PCSX-Reloaded|PCSX-R]] and [[ePSXe]].
 
 
 
These multi-track games are often compressed, the first track is usually ecm'd, the audio files are often converted to the .ape format, to easily extract all of these, use [http://www.theisozone.com/downloads/playstation/tools/pakkiso PakkISO]. Using [http://www.monkeysaudio.com/download.html Monkey's Audio] to decode the ape files sometimes result in files that don't match redump's md5 sum.
 
 
 
===Mednafen memory cards===
 
{{Main|Using RetroArch#Transfer PS1 Memory Card Files]}}
 
To transfer memory cards, follow this guide. Also, in games with multiple discs with saves that carry over, you have to follow the same procedure.
 
 
 
==PS2 emulators==
 
===Blurry PS2 ===
 
'''Why is my PS2 game blurry?'''
 
 
 
It's either interlacing or a filter in the game itself. For the former, switching the de-interlacing mode with F5 may help, and may cause flicker or screen shaking. For the latter, hacks are required. Either Aggressive-CRC if the game is listed there, or skipdraw (toy with the number, 1-100) might work otherwise.
 
 
 
Simply sitting farther back from the screen (similar to how one would normally sit away from a CRT TV) can also reduce the noticeability of the blur filter.
 
 
 
===Black lines in PS2 games===
 
Those lines are caused by scaling to a non-integer internal resolution (anything other than XxNative), texture filtering (Check that shit off or to half at most), improperly offset textures(TC offset hack, Wild Arms hack), or improperly handled texture edges(Sprite hack). Native resolution, for the most part, fixes those. But software rendering may be required as well.
 
 
 
==PSP emulators==
 
===PSP audio===
 
 
 
'''PSP emulation has no audio. '''
 
 
 
See: [[PPSSPP#Common_problems_and_fixes:|PPSSPP common problems and fixes]]
 
==Specific games==
 
{{Main|Game problems FAQ}}
 
 
 
See this article for problems with specific games.
 
[[Category:FAQs]]
 

Revision as of 10:56, 18 September 2021

Nintendo Switch
Nintendo-switch.png
Switchdocked.png
The Switch in its two forms, portable (above) and docked (below).
Developer Nintendo
Type Hybrid video game console
Generation Eighth generation
Release date 2017
Predecessor Wii U
Emulated

The Nintendo Switch is an eighth-generation hybrid gaming console released by Nintendo on March 3, 2017 and retailed for $299.99. 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 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 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 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 their own emulator written in c++, which was capable of booting some homebrew applications; within a couple of weeks yet another emulator named Ryujinx, written in c# by developer gdkchan, was released showing successful booting of commercial Switch games Puyo Puyo Tetris and Sonic Mania.

Emulators

Name Platform(s) Latest Version FLOSS Active Recommended
PC / x86
yuzu Windows Linux Nightlygit
Ryujinx Windows Linux macOS Nightlygit
NSEmu Windows git
Mephisto Linux macOS git
CageTheUnicorn Windows Linux macOS FreeBSD git
Mobile / ARM
Skyline Android git (WIP)
Egg NS Android 2.1.6 Beta 5
yuzu (compatibility)
An open-source emulator made by many of Citra's developers. As it is a hard fork of Citra it shares many of its traits, namely cross-platform support and the use of OpenGL (though unlike Citra it also supports Vulkan). Many 2D games now render graphics properly and at good speeds; many 3D games are playable. This emulator currently offers early access builds to $5/month Patreon subscribers which allows them 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 for OpenGL, negating the need to compile shaders on the fly on every boot. Resolution scaler was disabled some time ago due to bugs, but in July 2021 work on reimplementing resolution scaler has started.
Ryujinx (compatibility)
An open-source emulator that's programmed in C#. Most 2D games are now booting and running at comfortable speeds and many 3D games are playable. It also supports resolution upscaling to 4K and beyond; custom upscaling/downscaling ratios are supported. Ryujinx now has a disk-based shader cache. Unlike yuzu, Ryujinx does not offer packaged early access builds; however work-in-progress features can still 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 internet, as well as LAN mode compatibility on local networks with Switch consoles on supported games. As of August 2021, Vulkan API support has been added.
Egg NS
Claimed the first spot in getting games running on Android. 81 titles are purported to work, and the rest are either not working or assumed to fail. There is significant controversy surrounding this emulator for the following reasons: the current version lacks any onscreen buttons and instead requires users to purchase a specific controller; it expects to run on a high-end device within the ballpark of a Qualcomm Snapdragon 855/855+/865/865+; it was discovered to have violated GPLv2 licensing requirements by using code from yuzu in a disallowed manner. Made by the Chinese illegal market.
Skyline
An open-source 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 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.

See also

References