Difference between revisions of "Computer specifications"

From Emulation General Wiki
Jump to navigation Jump to search
(added more information for the system requirements, should be more accurate this time)
(Dolphin)
 
(196 intermediate revisions by 33 users not shown)
Line 1: Line 1:
Generally, emulation runs off the CPU, with the GPU allowing for higher resolutions, AA, etc. If your CPU isn't good enough, you can't emulate a system too well. An '''Intel Core i5 2500K, 3570K '''or '''4670K''' or above is recommended for high end emulation (e.g. [[PlayStation 2|PS2]], [[Wii]]). This page will detail specific information for specific systems, if the above is not a viable option.
+
Most emulators tend to be CPU-dependent in general, meaning that their performance is greatly determined by the CPU's speed. The GPU on the other hand, usually serves as a graphics enhancer by allowing for higher resolutions, anti-aliasing, etc. If your CPU isn't fast enough, you will not likely to be able to emulate a system at full speed. At the very least, a Core i5-2500K or a Ryzen 3 1200 is recommended for high-end emulation (e.g. [[PlayStation 2 emulators|PS2]], [[Wii emulators|Wii]]). This page will explain and state other possible choices to take, provided that the above choices are not feasible.
 
 
Enabling dynarec options also speed things up.
 
  
 
==CPU==
 
==CPU==
 
===Megahertz Myth===
 
===Megahertz Myth===
Just because a CPU has a high clock speed (e.g. in GHz) doesn't mean that it is powerful.<ref>http://www.computer-hardware-explained.com/megahertz-myth.html</ref> For example, a Pentium 4 HT 672 3.8GHz is lightyears less powerful than a Core i5-760 2.8GHz. Though "i5" is quite vague, as that could be any of the generations or models, Pentium 4s are just that weak in comparison. Newer CPUs are almost always better. Though the particular architecture does matter. A common misconception is that a higher CPU clock speed guarantees improved emulation performance. Although clock speed is one of the main factors for good CPU performance, it is not the determining factor. Newer CPUs generally perform better than older ones at similar clock speeds. For example, a Core 2 Duo E6600 2.4GHz processor will generally outperform a Pentium D 940 3.2GHz processor. Even though the Pentium D is clocked higher, the Core 2 Duo is faster due to the reduced amount of pipeline stages with an additional amount of SSE units - along with a massively improved twin-ALU configuration. This improves the instructions per clock cycle performance it can output, which means better performance at a lower clock speed. That is the reason why no Pentium D can touch a Core 2 Duo at the same clock speed. This is also true of many modern Intel vs AMD processors<ref>https://docs.google.com/spreadsheet/ccc?key=0AunYlOAfGABxdFQ0UzJyTFAxbzZhYWtGcGwySlRFa1E#gid=1></ref><ref>https://docs.google.com/spreadsheet/ccc?key=0AunYlOAfGABxdFQ0UzJyTFAxbzZhYWtGcGwySlRFa1E#gid=0</ref><ref>http://forums.pcsx2.net/Thread-CPU-Benchmark-designed-for-PCSX2-based-on-FFX-2?page=107</ref><ref>https://forums.dolphin-emu.org/Thread-new-dolphin-cpu-benchmark-no-game-required?page=15</ref><ref>https://forums.dolphin-emu.org/Thread-new-dolphin-cpu-benchmark-no-game-required?page=15</ref><ref>http://translate.google.com/translate?act=url&depth=1&hl=pl&ie=UTF8&prev=_t&rurl=translate.google.pl&sl=auto&tl=en&u=http://pclab.pl//art55934.html</ref>, as the high-end Intel processors are more efficient than the high-end AMD processors. Main reason for that is because Intel processors have higher performing floating-point units,<ref>http://wccftech.com/ultimate-cpu-gpu-floating-point-performance-battle-amd-intel/</ref><ref>http://www.anandtech.com/show/7711/floating-point-peak-performance-of-kaveri-and-other-recent-amd-and-intel-chips</ref> far greater cache/memory bandwidth/lower latency<ref>http://vr-zone.com/articles/ivy-bridge-e-i7-4960x-vs-amd-fx-9590-battle-2013-flagships/54295.html/2</ref><ref>http://www.extremetech.com/computing/159619-5ghz-showdown-overclocked-5ghz-amd-haswell-ivy-bridge/2</ref>.
+
Whenever a CPU has a high clock speed (e.g: Pentium 4 580 @ 4 GHz), it does not always necessarily mean that it is powerful.<ref>http://www.computer-hardware-explained.com/megahertz-myth.html</ref> This is usually a common misconception, that stems from lack of detailed information on how a CPU works. However, it is true that a higher CPU clock speed guarantees improved emulation performance. While it is true that a high clock speed is one of the main factors for good CPU performance, it is not always the sole determining factor. For example, a Core 2 Duo E6600 @ 2.4 GHz will nearly always outperform a Pentium D 940 @ 3.2 GHz.<ref>http://www.pcstats.com/articleview.cfm?articleid=2097</ref> Even though the Pentium D 940 is clocked significantly higher, the Core 2 Duo E6600 is still faster due to the reduced amount of pipeline stages and a wider execution unit. This improves the amount of instructions it can output per cycle, which means better performance at a lower clock speed. In other words, the particular architecture of the CPU itself matters more than the clock speed.
 +
 
 +
AMD's FX (Bulldozer) CPUs also follows the aforementioned Pentium 4 (NetBurst) example, which has the same issue that the NetBurst-derived CPUs suffer from. They also share the same high clock speed traits, which might cause confusion and misleading performance conclusions. Because of this, it is recommended to completely avoid Bulldozer at all costs. To further discourage the use of  a Bulldozer-derived CPU; its single-threaded performance is somewhat lower when compared to an equally-clocked Phenom II or Core 2,<ref>https://www.overclock.net/photopost/data/1501987/b/b1/b16fb0b4_ScreenShot005.jpeg</ref> though the multi-threaded performance of Bulldozer far exceeds the fastest Phenom II or Core 2 offerings. The actual problem here is Bulldozer's under-average single-threaded performance that will not help in high-end emulation that uses 4 or fewer cores, and the fact that Bulldozer has a shared FPU between 2 cores. What this means, is that a FX-4350 would have 2 FPUs (1 FPU per 2 cores), and a FX-9590 would have 4 FPUs (1 FPU per 2 cores x 4). This will lead to weaker performance in floating-point heavy calculations, which is also another reason why it is not recommended. If you are still not convinced, have a look at the benchmarks.<ref>https://docs.google.com/spreadsheet/ccc?key=0AunYlOAfGABxdFQ0UzJyTFAxbzZhYWtGcGwySlRFa1E#gid=1></ref><ref>https://docs.google.com/spreadsheet/ccc?key=0AunYlOAfGABxdFQ0UzJyTFAxbzZhYWtGcGwySlRFa1E#gid=0</ref><ref>http://forums.pcsx2.net/Thread-CPU-Benchmark-designed-for-PCSX2-based-on-FFX-2?page=107</ref><ref>https://forums.dolphin-emu.org/Thread-new-dolphin-cpu-benchmark-no-game-required?page=15</ref><ref>https://forums.dolphin-emu.org/Thread-new-dolphin-cpu-benchmark-no-game-required?page=15</ref><ref>http://translate.google.com/translate?act=url&depth=1&hl=pl&ie=UTF8&prev=_t&rurl=translate.google.pl&sl=auto&tl=en&u=http://pclab.pl//art55934.html</ref><ref>http://wccftech.com/ultimate-cpu-gpu-floating-point-performance-battle-amd-intel/</ref><ref>http://www.anandtech.com/show/7711/floating-point-peak-performance-of-kaveri-and-other-recent-amd-and-intel-chips</ref><ref>http://vr-zone.com/articles/ivy-bridge-e-i7-4960x-vs-amd-fx-9590-battle-2013-flagships/54295.html/2</ref><ref>http://www.extremetech.com/computing/159619-5ghz-showdown-overclocked-5ghz-amd-haswell-ivy-bridge/2</ref>
 +
 
 +
===AMD vs. Intel===
 +
As of Ryzen (Summit Ridge), AMD's CPUs have similar single-threaded performance when compared to Intel's CPUs,<ref>https://i0.wp.com/www.solidsmack.com/wp-content/uploads/2017/09/AMD-Threadripper-single-thread-competition.png?ssl=1</ref> though it is still not exactly close to an equivalent Intel CPU of the same era. While Summit Ridge is slightly slower than an equally-clocked Kaby Lake in single-threaded applications, it remains as a good budget-friendly alternative for high-end emulation.
 +
 
 +
The release of Pinnacle Ridge has not brought any architectural improvements to Ryzen yet, apart from it being manufactured on a better process that allows for higher clock speeds. Due to that, the instructions-per-cycle performance remains the same as Summit Ridge.
 +
 
 +
Current processors manufactured by both Intel and AMD (including Rocket Lake and Alder lake from Intel and Vermeer from AMD) have significantly improved single-threaded performance compared to previous generations of hardware from both companies. Of these, the Alder Lake architecture displays the best single threaded performance, followed by Vermeer and finally Rocket Lake<ref> https://www.tomshardware.com/amp/features/intel-core-i9-11900K-vs-amd-ryzen-9-5900x</ref>.
 +
 
 +
===Emulation on a non-x86/ARM CPU===
 +
CPUs that are not x86-based, or are not ARM-based <small>(smartphones can run emulators with varying degrees of success)</small>, are not very likely to be good enough for emulation in general. Certain emulators have been ported or programmed for some CPUs that are not ARM or x86-based, but those are generally very old and are possibly no longer in active development. IBM PowerPC CPUs for example, had emulators ported or even programmed for it. However, these are rather outdated emulators and are not recommended for emulation.
 +
 
 +
Some very specific CPU architectures such as the Elbrus, SPARC, MIPS, IA-64 (Itanium), Alpha, PA-RISC, and 68000, are heavily discouraged for emulation. This is mostly due to the lack of support and interest in them, which forces people that utilize these CPUs to resort to x86 emulation. While some of them may be capable of performing x86 emulation, not all of them have the necessary software or hardware capability to do so. Even such emulators that are native to their architecture are extremely hard to find, or non-existent. Therefore, it is strongly recommended to avoid using these CPUs in any way possible.
 +
 
 +
===Desktop vs. Laptop===
 +
Laptop CPUs are typically much weaker than their desktop variants due to lower clock speeds and heat management requirements. They may also come with fewer cores when compared with their desktop variants with similar naming schemes, which may be confusing. Also, please be aware that different laptops with the same CPU may vary in actual performance due to the aforementioned restrictions, as well as manufacturer-implemented settings. This is strongly correlated with cooling capabilities, with thicker and larger laptops typically having better performance. As such, it is strongly recommended to pick a laptop with a decent cooling system if emulation is one of your primary goals.
  
===AMD vs Intel===
+
A limited number of laptops have full desktop processors: however, due to thermal and power requirements, they are relatively heavy and in many cases noisy and expensive. As above, the constraints of a portable system often reduces the performance of the device, so such hybrid devices are not recommended.
As of Ryzen, AMD CPUs have very similar single threaded performance to Intel CPUs, which makes both options a good choice for emulation. Any pre-Ryzen AMD CPUs or pre-Sandy Bridge Intel CPUs will give varied results depending on the emulator.
 
  
===Desktop vs. laptop===
+
===More Cores and Threads===
Laptop CPUs are typically much weaker than their desktop variants due to being clocked lower, for battery and heat reasons. They may also have less cores than desktop processors with similar names. For example, an i7 2-core laptop processor is most often weaker than a decent i3 desktop one. It's a common misconception that an i-whatever laptop is equal in power to i-whatever desktop.
+
Emulators generally only utilize 2 cores, or with hacks, sometimes 3 or 4 cores. Thus, owning a CPU with 6 cores or more with Hyper-Threading/Simultaneous Multi-Threading, does not help or give the said CPU an advantage over a CPU with only 4 cores. Although, there are certain exceptions. One such exception is RPCS3, which can utilize more cores and threads by emulating the system's thread scheduler, that allows it to use as many cores and threads as the game makes threads.
  
===More Cores===
+
While 2-core or 4-core CPUs with very high clock speeds are usually recommended for emulation, most CPUs nowadays feature more than 4 cores with even higher clock speeds. This in comparison to the previously released 6-core or 8-core CPUs with far lower clock speeds, is a fine improvement. Therefore, purchasing a 6-core or an 8-core CPU with said higher clock speeds would hold no disadvantages over a lower core-count CPU, as it no longer forces a clock speed reduction over a similarly clocked 2-core or 4-core CPU.
Emulators generally only utilize 2 cores (sometimes 3 or 4 with hacks), so having a hexa/octacore CPU, or one capable of hyperthreading, won't benefit you anymore than having a similar quadcore CPU.<br>Newer system emulators like RPCS3 can utilize more cores though, by emulating the system's thread scheduler it uses as many cores as a game makes threads.
 
  
 
===Overclocking===
 
===Overclocking===
Not every CPU can be overclocked, nor does every motherboard/BIOS support it. An advantage of the Intel K series is that they are unlocked and can easily be overclocked. Also, certain Intel processors such as their Pentium 20th Anniversary CPU are sold unlocked for a cheaper price than K-series chips, and while they may lack features like hyperthreading, they're capable enough especially for those who would like to overclock on a budget. Keep in mind that budget motherboards e.g. certain Haswell H and B-series boards from ECS and ASUS only have options for setting the processor's multiplier and not voltages. Also, Intel may block overclocking on non-Z series boards in future microcode/BIOS updates. So if it can't play a game currently then you can, in many cases, overclock it until it is playable. Laptop CPUs often cannot be overclocked due to BIOS limitations. Extreme or incorrectly-done overclocking can cause instability and hardware damage. If the emulator starts having problems try again without overclocking. For older desktop motherboards, there is a chance of it supporting overclocking by increasing the FSB clock speed. This might or might not apply to many old motherboards. Generally, they should be capable of changing their FSB clock speed by a small edit in the BIOS. The issue is that those that support changing the FSB might not be capable of changing the processor's voltage without doing wire wrap modifications to the socket, making it difficult to sustain an overclock. There must also be a PCI/AGP lock to prevent the FSB from increasing other clock speeds of different components on the motherboard, this removes the chance of it killing or destroying other crucial components. You can still overclock without it, but try not to cross the 40MHz mark on the PCI bus. Regarding the processor, increasing voltage isn't exactly necessary for certain processors that are well-known to handle increases in clock speeds. Another factor is the motherboard: it depends on its VRMs to supply voltage, so lower-grade motherboards with lower-grade VRMs won't be as powerful enough to supply sufficient power for the processor be stable.
+
Not all CPUs can be overclocked, and the motherboard's BIOS must be additionally capable of supporting overclocking. The CPUs in particular that can be overclocked are the usually the ones that are labeled: OverDrive, FX, Extreme Edition, Black Edition, K, and X. Although, certain engineering or qualification sample CPUs that AMD or Intel has manufactured may also be overclockable, since they were used for testing purposes and were not meant for sale. If you are not sure what kind of a CPU you have, check if it has these overclocking labels. For Intel CPUs, their overclocking labels are OverDrive, Extreme Edition, K, and X. For AMD CPUs, their overclocking labels are FX and Black Edition.
 +
 
 +
Although, some special CPUs such as the Pentium E6500K, Pentium G3258, and all Ryzen CPUs are overclockable. But keep in mind that you have to be running the CPU on a motherboard that supports overclocking. The motherboards that tend to support overclocking features, comes with a chipset that also supports overclocking, which is required for the CPU to be overclockable. However, this only applies to the newer motherboards, not the older motherboards as they tend to vary from being overclockable to not overclockable. For Intel, the overclockable chipsets' name starts with an X or a Z. The other chipsets that were not mentioned, are not overclockable (B, C, H, and Q). For AMD, the overclockable chipsets' name starts with an X or a B. The other chipsets that were not mentioned, are not overclockable (A).
 +
 
 +
For older desktop motherboards with older chipsets, there might be overclocking available in the form of a front-side bus setting. Use that setting with caution however, as the front-side bus clock speed gets raised, so does the rest of the other components on the motherboard (which causes instability, data corruption, etc). Unless the motherboard has a PCI/AGP lock, it is advised not to use the front-side bus setting to overclock the CPU. In further depth, there is a safer setting that can be used to overclock without suffering from instability. Called the 'CPU BSEL Select' or similar, it was intended to manually select the proper front-side bus clock speed of the CPU. By using this method, it allows us to use it for overclocking whilst staying within the factory specifications of the motherboard. This does not affect the rest of the other components on the motherboard, as the front-side bus is not overclocked and is only following the rated speeds it can achieve. Therefore, it is safer than the dangerous front-side bus setting. Also, be aware that once the CPU has hit a certain clock speed, it may be no longer capable of scaling to higher clock speeds due to voltage issues. The reasoning behind this is because of how higher clock speeds require more voltage, and these non-overclockable motherboards have a high chance of not having the ability to directly modify the CPU's core voltage.
 +
 
 +
However, if there is no 'CPU BSEL Select', proceed with the front-side bus setting with caution. As a safety precaution, do whatever it takes to not allow the PCI bus' clock speed to reach above 40 MHz. This is because anything higher than the 40 MHz mark will have a very high chance of inducing instability and possible data corruption, or worse. This is also why the front-side bus setting is only recommended for motherboards that are equipped with a PCI/AGP lock, since they prevent the other components on the motherboard from being overclocked. Additionally, please be aware that your motherboard can only supply a limited amount of current before it hits its limits, which will then limit your CPU's overclocking ability. This is due to the weak voltage regulator modules that are not rated to supply a large amount of stable current to keep the CPU and the rest of the other components stable, which is common for motherboards that are not meant for overclocking. The CPU's potential overclock may also be limited by the power supply unit, so a better power supply unit with better efficiency and wattage rating may be required.
 +
 
 +
If you have a laptop, overclocking will be severely limited. Most laptops in circulation do not support overclocking, and may not be capable of handling the extra heat produced from an overclocked CPU. For the few laptops that can be overclocked through the BIOS, it is more or less the same as how a desktop would be configured to overclock the CPU. For the majority that does not officially support overclocking, it may be possible to overclock it in a different approach.
 +
 
 +
A common approach to overclock your laptop's CPU is to use third-party applications, such as ThrottleStop and CPUMSR. However, these applications only work with CPUs with an Extreme Edition/Black Edition/K/X label. Sometimes, special CPUs such as an engineering sample or a qualification sample may also be overclockable. And always remember this, do not overclock your laptop if you are not confident in its cooling system. If you are able to force the cooling system's fan to always run at its maximum speed, it is strongly recommended to do so. Avoid hitting temperatures higher than 100C/212F at all costs, even if the CPU is rated for a maximum of 105C/221F at the transistor-junction level.
  
Some older laptop CPUs can be overclocked. A surefire way to tell if you have an overclockable CPU is to check if it has an "Extreme" label on its name for Intel processors, or a "Black Edition" label on its name for AMD processors. Most laptops don't allow overclocking through the BIOS, so Throttlestop must be used to overclock these processors instead. However, if your laptop does not have enough room for temperatures to rise and stabilize - it is advised to NOT overclock! Otherwise, you will risk a chance of it getting destroyed in the process of mad overclocking. Though, most of the time it is saved by the forced thermal shutdown at 105/100C. If your processor is unfortunately not a Extreme or a Black Edition, you can try the old way of increasing the FSB clock speed through the PLL. The PLL or Phase-Lock-Loop is a chip that controls the FSB internally for desktops and laptops alike, since laptops have less flexibility in overclocking - we can exploit the PLL's advantages. In this case, we use CPUCool or SetFSB. That is, if your laptop's PLL is supported by one of these programs mentioned. This way of overclocking is similar to a desktop's way of overclocking, but with far less overclocking capacity. Remember, the same 40MHz PCI bus mark applies to laptops. They do not include a PCI/AGP lock either, so try not to go above the 40MHz PCI bus mark.
+
For non-overclockable laptop CPUs, you might be able to overclock it in a different way. Certain third-party applications are capable of controlling a chip that generates the clock signal for the front-side bus' clock, which is called the phase-locked loop. This is extremely unsafe and may result in potential data corruption, as it follows the same principle of overclocking the front-side bus. All laptops in existence do not have a PCI/AGP lock either, so keeping the PCI bus below 40 MHz is advised. The applications that can control the phase-locked loop are: ClockGen, CPUCool, SetFSB, SoftFSB, SetPLL, and SysTool. However, there is a catch when using these mentioned programs; none of them supports every phase-locked loop in existence. This means that each one of them has a range of phase-locked loops they support, and you must use the correct matching program that has support for your phase-locked loop. There is also no auto-detection in these programs for the phase-locked loop, as they do not have a standardized way to report their manufacturer and model name, so be careful when selecting the correct phase-locked loop that resides in your laptop.
  
 
==GPU==
 
==GPU==
GPUs are basically just hundreds of underpowered CPUs on the same die. Or you can think of it as a 300 core CPU.
+
GPUs are basically just hundreds of under-powered CPUs on the same die, or better described as a massively parallel CPU with a core count that far exceeds most traditional multi-core CPUs.
 +
 
 +
The thing is, with 3D graphics, you can split the work up into hundreds of different parts and give each operation to a different core on the GPU to work on. Since it doesn't matter which order the pixels are rendered in, as long as they all get rendered for the same frame before moving on to the next frame.
 +
 
 +
File compression/extraction and bitcoin mining are also good examples of programs that can make use of parallel processing. However, most programs can not do this. Dwarf Fortress, for example, can't make use of a graphics card. This is because of how every calculation it does is dependent on the one performed before it. That obviously doesn't work if you try and do them all at the same time.
  
The thing is with 3D graphics is you can split the work up into hundreds of different parts and give each piece to a different core on the GPU since it doesn't matter which order the pixels are rendered in, as long as they all get rendered for the same frame before moving on to the next.
+
Pretty much any emulator is the same; it does not know what comes next until it has done what preceded it. It has to run off a single thread. It still needs some form of graphical output to output the final rendered 2D screen alone. This can be done via a GPU to put the 3D graphics on the screen, but any system capable of being emulated shouldn't be too taxing. This is called 'Hardware Rendering'. Alternatively, all of the graphics processing can be done on the CPU and will be more predictable/consistent for it, but that is also costly. This is called 'Software Rendering'.
  
File compression/extraction and bitcoin mining are also good examples of programs that can make use of parallel processing.
+
Most 3D emulators have hardware and software renderers. Software renderers use more CPU power, which may mostly be slower. They may also run on their own threads separate from other emulator parts, which would likely reduce the performance loss, but the CPU must still be fast enough in the first place.
  
However, most programs can not do this. Dwarf Fortress for example can't make use of a graphics card, because every calculation it does is dependent on the one done before it. That obviously doesn't work if you try and do them all at the same time.
+
==Recommended Specifications==
 +
;Before diving in:
 +
*This list excludes inactive or unsupported emulators as much as possible, see [[History of emulation]] page for older software emulators. For seeing recommended specifications for obsolete, non-active and older emulators, see [https://emulation.gametechwiki.com/index.php?title=Computer_specifications&diff=77290&oldid=77289#Recommended_Specifications this page].
 +
*'''We discourage recommending outdated hardware[https://www.nvidia.com/download/index.aspx][https://www.amd.com/en/support], operating systems, or inactive emulators'''.
 +
::Why? Because active and popular emulators such as Dolphin, Ryujinx, PCSX2 and others[https://old.reddit.com/r/emulation/comments/ucit8l/ryujinx_will_officially_drop_support_for_windows/i6btthj/] implements newest frontends, API related stuff and functions from time to time such as "XAudio2 situation[https://github.com/RPCS3/rpcs3/pull/15248][https://emulation.gametechwiki.com/index.php/PCSX2#Windows_XP.2F7.2F8.1_Compatibility][https://learn.microsoft.com/en-us/windows/win32/xaudio2/xaudio2-versions]", "using [https://learn.microsoft.com/en-us/windows-hardware/test/hlk/testref/d82297bd-09ae-47d2-a40e-02977e6fd773 D3D12]", "[https://github.com/qt/qtbase qt6]" "[https://learn.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-virtualalloc2 VirtualAlloc2]", "[https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-mapviewoffile3 mapviewoffile3]" which usually depends on latest operating system versions (considering using binaries provided by official sources, not building software by yourself without some serious patching).
 +
*Provide only the official system requirements page URL if available (nothing else), but for emulators '''lacking detailed''' official information, we offer unofficial guidelines/data to help you decide.
 +
*Also see [https://www.youtube.com/@natemasterson7274 Nate Masterson's YouTube channel] for benchmarks with emulators using obsolete hardware. [https://github.com/xemu-project/xemu/issues/1492#issuecomment-1646644783 Supported instruction sets for various chips].
  
Pretty much any emulator is the same. It can't know what comes next until it's done what preceded it. It has to run on a single thread. It still needs some form of graphical output to output the final rendered 2D screen alone. This can be done via a GPU to put the 3D graphics on the screen, but any emulatable system shouldn't be too taxing. This is called "Hardware Rendering". Alternatively, all of the graphics processing can be done on the CPU, and will be more predictable/consistent for it, but that is also costly. This is called "Software Rendering".
+
===[[Yuzu]]/[[Suyu]]===
 +
See [https://web.archive.org/web/20240302185354/https://yuzu-emu.org/help/quickstart/#hardware-requirements official requirements page for yuzu]. Also see [https://github.com/MaxLastBreath/TOTK-mods?tab=readme-ov-file#--quick-installation-guide-- TOTK Optimizer recommended specs].
  
Most 3D emulators have hardware and software renderers. Software renderers use much more CPU power, which may be slower. They may also run on their own threads separate from other emulator parts, which would likely reduce the performance loss, but the CPU must still be strong enough in the first place.
+
===[[Ryujinx]]===
 +
See [https://github.com/Ryujinx/Ryujinx/wiki/Ryujinx-Setup-&-Configuration-Guide#system-requirements official requirements page for Ryujinx].
  
==Recommended Specs==
+
===[[Cxbx-Reloaded]]===
 +
See [https://github.com/Cxbx-Reloaded/Cxbx-Reloaded?tab=readme-ov-file#system-requirements official requirements page for CXBX-Reloaded]
 +
 
 +
===[[Xenia]]===
 +
:[https://github.com/xenia-canary/xenia-canary/wiki/Quickstart#system-requirements Official requirements page]
 +
;Minimum:
 +
*Windows: 10 (x64)
 +
*Linux: Distributions based on 64-bit [https://www.kernel.org/category/releases.html active kernel releases/EOL] (you need to use [[Compatibility_layers|Proton]]. If using [[Wrappers|VKD3D]] with D3D12 backend for Linux giving you incompatibility issues, use Vulkan backend, see [[Xenia#Linux_and_SteamOS.2FSteam_Deck|Xenia Linux and Steam Deck guide]].)
 +
*CPU: x86-64 processor with AVX support and 4-cores, 4-threads - ''(Intel Core i5-2300 or overclocked AMD FX-4350)''
 +
*GPU: NVIDIA GeForce GTX 750Ti or AMD RX 460
 +
*RAM: 4 GB
 +
;Recommended and using [[Xbox_360_emulators#Enhancements|enhancements]]:
 +
*CPU: [https://www.cpubenchmark.net/singleThread.html Latest lineup of x86-64 processor] with AVX2 or AVX512[https://github.com/xenia-project/xenia/blob/master/src/xenia/cpu/backend/x64/x64_backend.cc#L29] support and at least 6-cores[https://discord.com/channels/308194948048486401/308194948048486401/1222104538195038228]
 +
*GPU: NVIDIA RTX 3060Ti or AMD RX 6650 XT or better
 +
::''Some of the titles needs the latest lineup of graphics cards to play on 4K internal resolution.''
 +
*RAM: 8 GB or more
 +
 
 +
===[[RPCS3]]===
 +
*[https://rpcs3.net/quickstart#requirements_desktop Official requirements page for RPCS3]
 +
*[https://docs.google.com/spreadsheets/d/1Rpq_2D4Rf3g6O-x2R1fwTSKWvJH7X63kExsVxHnT2Mc/edit#gid=0 CPU Tier List for RPCS3]
 +
*For information on DualShock 3 controller support, see [[SCP Driver Package]].
 +
 
 +
===[[xemu]]===
 +
:[https://xemu.app/docs/about/#system-requirements Official requirements page for xemu]
 +
As mentioned in [[Xbox emulators#Comparisons]] section, some titles require powerful hardware for full-speed emulation, particularly [https://www.cpubenchmark.net/singleThread.html single-threaded performance], is often the bottleneck. Additionally, using demanding graphical [[#Enhancements|enhancements]] may also require a strong GPU.
 +
;Minimum:
 +
*Windows: 10 (x64)
 +
*Linux: Distributions based on 64-bit [https://www.kernel.org/category/releases.html active kernel releases/EOL]
 +
*macOS: [[Wikipedia:Template:MacOS_versions|Still maintained version]]
 +
*CPU: x86-64 processor with SSE4.2 support[https://github.com/xemu-project/xemu/issues/1492#issuecomment-1793758595] and 4-cores, 4-threads - ''(Intel Core i5-750 or AMD FX 4350)''
 +
*GPU: OpenGL 4.0-compatible hardware
 +
*RAM: 4 GB
 +
;Recommended and using [[Xbox_emulators#Enhancements|enhancements]]:
 +
*CPU: [https://www.cpubenchmark.net/singleThread.html Latest lineup of x86-64 processor] with AVX2 or AVX512 support and at least 4-cores, 8-threads
 +
*GPU: NVIDIA GTX 1650 or AMD RX 570
 +
::''Some of the titles needs the latest lineup of graphics cards to play on 4K internal resolution.''
 +
*RAM: 8 GB or more
  
 
===[[PCSX2]]===
 
===[[PCSX2]]===
 +
*[https://pcsx2.net/docs/setup/requirements/#system-requirements Official requirements page for PCSX2]
 +
:*[https://wiki.pcsx2.net/Category:CPU_intensive_games CPU-intensive games (PCSX2 wiki)], [http://forums.pcsx2.net/Thread-LIST-The-Most-CPU-Intensive-Games CPU-intensive games (PCSX2 forum thread)] and [https://wiki.pcsx2.net/Category:Software_rendering_only_games Software rendering only (PCSX2 wiki)]
 +
:*[http://forums.pcsx2.net/Thread-LIST-Games-that-don-t-need-a-strong-CPU-to-emulate Games that don-t need a strong CPU to emulate for weak processors]
 +
:*[https://wiki.pcsx2.net/Category:GPU_intensive_games GPU-intensive games (PCSX2 wiki)], [http://forums.pcsx2.net/Thread-LIST-The-Most-GPU-Intensive-Games GPU-intensive games (PCSX2 forum thread)]
 +
*For information on DualShock 3 controller support, see [[SCP Driver Package]].
 +
*See [[PCSX2#Windows_XP.2F7.2F8.1_Compatibility|Windows XP/7/8.1 compatibility]] section for running specific PCSX2 build with older Windows OSes.
 +
 +
===[[Mednafen]]===
 +
Depends on which core used for emulation.
 +
*[https://mednafen.github.io/documentation/ss.html Official requirements for Saturn core page]
 +
*[https://mednafen.github.io/documentation/psx.html#Section_intro Official requirements for PSX core page]
 +
 +
===[[PPSSPP]]===
 +
See [https://www.ppsspp.org/docs/getting-started/system-requirements/ official requirements page for PPSSPP]. Also see [https://github.com/hrydgard/ppsspp/issues/10560#issuecomment-360733737 this issue page].
 
;Minimum:
 
;Minimum:
*Windows: XP with Service Pack 3 or later
+
*CPU: Any reasonably modern CPU will be just fine.
*CPU: Intel Core 2 Duo E8600 @ 3.33 GHz or AMD Phenom II B57 @ 3.2 GHz or better
+
*GPU: Any GPU that can handle OpenGL 3.0 should have no issue.
*GPU: NVIDIA GeForce 8600 GT or better
+
*RAM: Minimum amount required by the operating system
*RAM: 1 GB (2 GB for Vista or 7) or more
 
 
;Recommended:
 
;Recommended:
*CPU: Intel Core i5-2500K/3570K/4670K
+
*Windows: Windows 10 (64-bit) or later
*RAM: 4GB or more
+
*macOS: Any M1 or later Mac
 +
*Linux: Distributions based on 64-bit [https://www.kernel.org/category/releases.html active kernel releases/EOL]
 +
*CPU: Any AVX2 instruction set supported x86-64 hardware or [[Wikipedia:ARM_architecture_family#Cores|ARM64 v8-A or later]]
 +
*GPU: Any Vulkan 1.3 supported hardware
 +
*RAM: 4 GB or more
  
For information on DualShock 3 controller support, see [[SCP Driver Package]].
+
===[[Cemu]]===
 +
See [https://cemu.info/ official requirements page for cemu]
 +
;Minimum: Similar to [[#PCSX2]] situation, some release titles and 2D games which underutilized the Wii U hardware may run on less powerful hardware, but for the best experience you need something like below.
 +
*CPU: Any SSE4.2 x86-64 hardware and 4-cores, 4-threads - ''i5-750 or AMD FX-4100''
 +
*GPU: OpenGL 4.5 or Vulkan 1.2 required - ''NVIDIA GeForce GTX 750 or AMD RX 460''
 +
*RAM: 4 GB
 +
;Recommended and using enhancements[https://emulation.gametechwiki.com/index.php/Wii_U_emulators#Enhancements]:
 +
*CPU: Any AVX2[https://cemu.info/changelog/cemu_1_11_0.txt][https://cemu.info/changelog/cemu_1_16_1.txt] (including AVX[https://cemu.info/changelog/cemu_1_8_2.txt]) and BMI supported[https://cemu.info/changelog/cemu_1_5_1.txt] x86-64 hardware and at least 4-cores, 8-threads - ''Intel Core i7-4770 or AMD Ryzen 5 1600AF or better''
 +
*GPU: NVIDIA GTX 1660 or AMD RX 580 or better
 +
*RAM: 8 GB or more
  
 
===[[Dolphin]]===
 
===[[Dolphin]]===
 +
See [https://en.dolphin-emu.org/docs/guides/performance-guide/ official requirements page for Dolphin]
 
;Minimum:
 
;Minimum:
*Windows: 7 with Service Pack 1 64-bit or later
+
*Windows: 10 1803 (64-bit)
*macOS: Yosemite (10.10) or later
+
*Linux: Distributions based on 64-bit [https://www.kernel.org/category/releases.html active kernel releases/EOL]
*Ubuntu: Latest LTS or stable
+
*RAM: 4GB
*CPU: Intel Core 2 Duo E8400 @ 3 GHz or AMD Phenom II X2 545 @ 3 GHz or better
+
*Desktop CPU: Intel Core i5-750 or AMD FX 4350
*GPU: NVIDIA GeForce 8800 Ultra or ATI Radeon HD 2900 XT or better
+
*Mobile CPU: Any x86-64 or AArch64 processor
*RAM: 2 GB or more
+
::''Some release titles and 2D games which underutilized the GameCube and Wii hardware may run on even less powerful hardware such as: Core 2 Duo E8400 or AMD Athlon II X2 255 CPUs, on top of that there are several performance and hack options such as "VBI Skip" which is a powerful tool for weaker devices, especially in games that struggle. It's obviously not perfect, but the mixture of slowdown and frameskip keeps the game fairly playable[https://dolphin-emu.org/blog/2023/02/12/dolphin-progress-report-december-2022-january-2023/#50-18271-video-hack-vbi-skip-by-sam-belliveau].
 +
*Desktop GPU: Direct3D 11 / OpenGL 4.4 required.
 +
*Mobile GPU: OpenGL ES 3.0 required
 
;Recommended:
 
;Recommended:
*CPU: Intel Core i5-2500K/3570K/4670K/5675C/6600/7500 or AMD Ryzen 3 1300X @ 3.6 GHz or better
+
*RAM: 8 GB or more
*GPU: NVIDIA GeForce GTX 750 Ti or AMD Radeon R7 260X or better
+
*Desktop CPU: Any AVX2 instruction set supported x86-64 hardware[https://github.com/PCSX2/pcsx2/issues/634#issuecomment-119015467] and at least 4-cores, 4-threads - Intel Core i5-4460 or AMD Ryzen 3 1200
*RAM: 4 GB or more
+
::''Some intensive titles and incompatible ones with performance options such as "[https://en.dolphin-emu.org/docs/guides/performance-guide/#Dolphin_Configuration dual core]"[https://dolphin-emu.org/blog/2022/07/07/dolphin-progress-report-may-and-june-2022/#50-16448-fix-some-dual-core-full-screen-panic-alert-deadlocks-by-josjuice][https://dolphin-emu.org/blog/2022/02/08/dolphin-progress-report-nov-and-dec-2021-jan-2022/#50-15579-delay-single-core-gpu-interrupts-by-phire][https://dolphin-emu.org/blog/2021/08/01/dolphin-progress-report-june-and-july-2021/#50-14359-aarch64-jit-fix-branch-following-optimization-by-josjuice][https://dolphin-emu.org/blog/2021/06/06/dolphin-progress-report-april-and-may-2021/#50-14019-fifo-runsync-with-the-gpu-on-command-processor-register-access-by-stenzek] '''may''' require Intel Core i5-7600 or OC'ed AMD Ryzen 3 2300X level of [https://www.cpubenchmark.net/singleThread.html single thread performance] for running on full speed.''
 +
*Mobile CPU: For Qualcomm devices, processors with 2 or more "big cores" recommended. Snapdragon 700 or newer is typically recommended.
 +
*Desktop GPU: Vulkan 1.1 supported hardware. ''NVIDIA GeForce GTX 750 or AMD RX 460''
 +
*Mobile GPU: OpenGL ES 3.2 / Vulkan 1.1 supported hardware
 +
:;For using enhancements[https://emulation.gametechwiki.com/index.php/GameCube_emulators#Enhancements][https://emulation.gametechwiki.com/index.php/Wii_emulators#Enhancements];
 +
:*Desktop GPU: NVIDIA GTX 1650 or AMD RX 570 or better
 +
:*Mobile GPU: Recent RDNA2 or Snapdragon based graphics processors hardware
  
See the [[Dolphin]] page for further recommendations, such as controller setups.
+
:See the [[Dolphin]] page for further recommendations, such as controller setups.
  
===[[Mednafen|Mednafen PSX]]===
+
===[[Citra]]===
;For good performance:
+
See [http://web.archive.org/web/20240228020658/https://citra-emu.org/wiki/faq/#can-i-expect-_citra_-to-play-game-at-full-speed official requirements page for Citra].
*CPU: Intel Core 2 Duo E4400 @ 2 GHz or AMD Athlon X2 4800+ @ 2.4 GHz or better
 
  
;For accuracy:
+
===[[DeSmuME]]===
*CPU: Intel Core 2 Duo E8200 @ 2.66 GHz or AMD Phenom II X2 545 @ 3 GHz or better
+
See [https://wiki.desmume.org/index.php?title=Faq#What_are_the_minimum_hardware_requirements_for_DeSmuME.3F official requirements page for DeSmuME].
  
===[[Higan]]===
+
===[[mGBA]]===
;For performance and balanced (for most games at full speed)
+
See [https://mgba.io/faq.html#what-are-the-system-requirements-for-mgba official requirements page for mGBA], also see [https://github.com/mgba-emu/mgba?tab=readme-ov-file#system-requirements this section].
  
*CPU: Intel Core 2 Duo E4400 @ 2 GHz or better
+
;Minimum:
 
+
*Linux: Distributions based on 64-bit [https://www.kernel.org/category/releases.html active kernel releases/EOL]
;For accuracy
+
*CPU: Any x86 processor with SSE2 instructions
 
+
*GPU: Any OpenGL 1.1 supported hardware
*CPU: Intel Core i3-3250T @ 3 GHz or better
+
*RAM: Minimum amount required by the operating system
 
 
===[[DeSmuMe]]===
 
*Windows: Vista or later <small>(XP with Service Pack 3 by placing msvcp100.dll and msvcr100.dll in program folder, [https://imgur.com/a/fgWhs proof])</small>
 
*macOS: Snow Leopard (10.6.8) or later
 
*Linux: Any modern Linux distribution using kernels beyond 2.6
 
*CPU: Intel Core 2 Duo E8400 @ 3 GHz or AMD Phenom II X2 545 @ 3 GHz or better
 
*GPU: NVIDIA GeForce2 MX200 or ATI Radeon VE or 3dfx Voodoo4 4500
 
*RAM: 2 GB or more
 
Enable the dynarec option for speedups.
 
 
 
===[[PPSSPP]]===
 
*Windows: XP with Service Pack 3 or later
 
*macOS: Mountain Lion (10.7) or later
 
*CPU: Intel Pentium 4 HT @ 3.4 GHz (Northwood) or AMD Athlon 64 3000+ (Clawhammer) @ 2 GHz or better
 
*GPU: NVIDIA GeForce FX 5100 or ATI Radeon HD 2350 Pro or Intel GMA X3100 or any other OpenGL 2.1-capable GPU (software OpenGL 2.1 will work, but will require a faster CPU)
 
*RAM: 1GB or more
 
Enable the dynarec option for speedups.
 
  
 
==References==
 
==References==

Latest revision as of 11:44, 26 March 2024

Most emulators tend to be CPU-dependent in general, meaning that their performance is greatly determined by the CPU's speed. The GPU on the other hand, usually serves as a graphics enhancer by allowing for higher resolutions, anti-aliasing, etc. If your CPU isn't fast enough, you will not likely to be able to emulate a system at full speed. At the very least, a Core i5-2500K or a Ryzen 3 1200 is recommended for high-end emulation (e.g. PS2, Wii). This page will explain and state other possible choices to take, provided that the above choices are not feasible.

CPU[edit]

Megahertz Myth[edit]

Whenever a CPU has a high clock speed (e.g: Pentium 4 580 @ 4 GHz), it does not always necessarily mean that it is powerful.[1] This is usually a common misconception, that stems from lack of detailed information on how a CPU works. However, it is true that a higher CPU clock speed guarantees improved emulation performance. While it is true that a high clock speed is one of the main factors for good CPU performance, it is not always the sole determining factor. For example, a Core 2 Duo E6600 @ 2.4 GHz will nearly always outperform a Pentium D 940 @ 3.2 GHz.[2] Even though the Pentium D 940 is clocked significantly higher, the Core 2 Duo E6600 is still faster due to the reduced amount of pipeline stages and a wider execution unit. This improves the amount of instructions it can output per cycle, which means better performance at a lower clock speed. In other words, the particular architecture of the CPU itself matters more than the clock speed.

AMD's FX (Bulldozer) CPUs also follows the aforementioned Pentium 4 (NetBurst) example, which has the same issue that the NetBurst-derived CPUs suffer from. They also share the same high clock speed traits, which might cause confusion and misleading performance conclusions. Because of this, it is recommended to completely avoid Bulldozer at all costs. To further discourage the use of a Bulldozer-derived CPU; its single-threaded performance is somewhat lower when compared to an equally-clocked Phenom II or Core 2,[3] though the multi-threaded performance of Bulldozer far exceeds the fastest Phenom II or Core 2 offerings. The actual problem here is Bulldozer's under-average single-threaded performance that will not help in high-end emulation that uses 4 or fewer cores, and the fact that Bulldozer has a shared FPU between 2 cores. What this means, is that a FX-4350 would have 2 FPUs (1 FPU per 2 cores), and a FX-9590 would have 4 FPUs (1 FPU per 2 cores x 4). This will lead to weaker performance in floating-point heavy calculations, which is also another reason why it is not recommended. If you are still not convinced, have a look at the benchmarks.[4][5][6][7][8][9][10][11][12][13]

AMD vs. Intel[edit]

As of Ryzen (Summit Ridge), AMD's CPUs have similar single-threaded performance when compared to Intel's CPUs,[14] though it is still not exactly close to an equivalent Intel CPU of the same era. While Summit Ridge is slightly slower than an equally-clocked Kaby Lake in single-threaded applications, it remains as a good budget-friendly alternative for high-end emulation.

The release of Pinnacle Ridge has not brought any architectural improvements to Ryzen yet, apart from it being manufactured on a better process that allows for higher clock speeds. Due to that, the instructions-per-cycle performance remains the same as Summit Ridge.

Current processors manufactured by both Intel and AMD (including Rocket Lake and Alder lake from Intel and Vermeer from AMD) have significantly improved single-threaded performance compared to previous generations of hardware from both companies. Of these, the Alder Lake architecture displays the best single threaded performance, followed by Vermeer and finally Rocket Lake[15].

Emulation on a non-x86/ARM CPU[edit]

CPUs that are not x86-based, or are not ARM-based (smartphones can run emulators with varying degrees of success), are not very likely to be good enough for emulation in general. Certain emulators have been ported or programmed for some CPUs that are not ARM or x86-based, but those are generally very old and are possibly no longer in active development. IBM PowerPC CPUs for example, had emulators ported or even programmed for it. However, these are rather outdated emulators and are not recommended for emulation.

Some very specific CPU architectures such as the Elbrus, SPARC, MIPS, IA-64 (Itanium), Alpha, PA-RISC, and 68000, are heavily discouraged for emulation. This is mostly due to the lack of support and interest in them, which forces people that utilize these CPUs to resort to x86 emulation. While some of them may be capable of performing x86 emulation, not all of them have the necessary software or hardware capability to do so. Even such emulators that are native to their architecture are extremely hard to find, or non-existent. Therefore, it is strongly recommended to avoid using these CPUs in any way possible.

Desktop vs. Laptop[edit]

Laptop CPUs are typically much weaker than their desktop variants due to lower clock speeds and heat management requirements. They may also come with fewer cores when compared with their desktop variants with similar naming schemes, which may be confusing. Also, please be aware that different laptops with the same CPU may vary in actual performance due to the aforementioned restrictions, as well as manufacturer-implemented settings. This is strongly correlated with cooling capabilities, with thicker and larger laptops typically having better performance. As such, it is strongly recommended to pick a laptop with a decent cooling system if emulation is one of your primary goals.

A limited number of laptops have full desktop processors: however, due to thermal and power requirements, they are relatively heavy and in many cases noisy and expensive. As above, the constraints of a portable system often reduces the performance of the device, so such hybrid devices are not recommended.

More Cores and Threads[edit]

Emulators generally only utilize 2 cores, or with hacks, sometimes 3 or 4 cores. Thus, owning a CPU with 6 cores or more with Hyper-Threading/Simultaneous Multi-Threading, does not help or give the said CPU an advantage over a CPU with only 4 cores. Although, there are certain exceptions. One such exception is RPCS3, which can utilize more cores and threads by emulating the system's thread scheduler, that allows it to use as many cores and threads as the game makes threads.

While 2-core or 4-core CPUs with very high clock speeds are usually recommended for emulation, most CPUs nowadays feature more than 4 cores with even higher clock speeds. This in comparison to the previously released 6-core or 8-core CPUs with far lower clock speeds, is a fine improvement. Therefore, purchasing a 6-core or an 8-core CPU with said higher clock speeds would hold no disadvantages over a lower core-count CPU, as it no longer forces a clock speed reduction over a similarly clocked 2-core or 4-core CPU.

Overclocking[edit]

Not all CPUs can be overclocked, and the motherboard's BIOS must be additionally capable of supporting overclocking. The CPUs in particular that can be overclocked are the usually the ones that are labeled: OverDrive, FX, Extreme Edition, Black Edition, K, and X. Although, certain engineering or qualification sample CPUs that AMD or Intel has manufactured may also be overclockable, since they were used for testing purposes and were not meant for sale. If you are not sure what kind of a CPU you have, check if it has these overclocking labels. For Intel CPUs, their overclocking labels are OverDrive, Extreme Edition, K, and X. For AMD CPUs, their overclocking labels are FX and Black Edition.

Although, some special CPUs such as the Pentium E6500K, Pentium G3258, and all Ryzen CPUs are overclockable. But keep in mind that you have to be running the CPU on a motherboard that supports overclocking. The motherboards that tend to support overclocking features, comes with a chipset that also supports overclocking, which is required for the CPU to be overclockable. However, this only applies to the newer motherboards, not the older motherboards as they tend to vary from being overclockable to not overclockable. For Intel, the overclockable chipsets' name starts with an X or a Z. The other chipsets that were not mentioned, are not overclockable (B, C, H, and Q). For AMD, the overclockable chipsets' name starts with an X or a B. The other chipsets that were not mentioned, are not overclockable (A).

For older desktop motherboards with older chipsets, there might be overclocking available in the form of a front-side bus setting. Use that setting with caution however, as the front-side bus clock speed gets raised, so does the rest of the other components on the motherboard (which causes instability, data corruption, etc). Unless the motherboard has a PCI/AGP lock, it is advised not to use the front-side bus setting to overclock the CPU. In further depth, there is a safer setting that can be used to overclock without suffering from instability. Called the 'CPU BSEL Select' or similar, it was intended to manually select the proper front-side bus clock speed of the CPU. By using this method, it allows us to use it for overclocking whilst staying within the factory specifications of the motherboard. This does not affect the rest of the other components on the motherboard, as the front-side bus is not overclocked and is only following the rated speeds it can achieve. Therefore, it is safer than the dangerous front-side bus setting. Also, be aware that once the CPU has hit a certain clock speed, it may be no longer capable of scaling to higher clock speeds due to voltage issues. The reasoning behind this is because of how higher clock speeds require more voltage, and these non-overclockable motherboards have a high chance of not having the ability to directly modify the CPU's core voltage.

However, if there is no 'CPU BSEL Select', proceed with the front-side bus setting with caution. As a safety precaution, do whatever it takes to not allow the PCI bus' clock speed to reach above 40 MHz. This is because anything higher than the 40 MHz mark will have a very high chance of inducing instability and possible data corruption, or worse. This is also why the front-side bus setting is only recommended for motherboards that are equipped with a PCI/AGP lock, since they prevent the other components on the motherboard from being overclocked. Additionally, please be aware that your motherboard can only supply a limited amount of current before it hits its limits, which will then limit your CPU's overclocking ability. This is due to the weak voltage regulator modules that are not rated to supply a large amount of stable current to keep the CPU and the rest of the other components stable, which is common for motherboards that are not meant for overclocking. The CPU's potential overclock may also be limited by the power supply unit, so a better power supply unit with better efficiency and wattage rating may be required.

If you have a laptop, overclocking will be severely limited. Most laptops in circulation do not support overclocking, and may not be capable of handling the extra heat produced from an overclocked CPU. For the few laptops that can be overclocked through the BIOS, it is more or less the same as how a desktop would be configured to overclock the CPU. For the majority that does not officially support overclocking, it may be possible to overclock it in a different approach.

A common approach to overclock your laptop's CPU is to use third-party applications, such as ThrottleStop and CPUMSR. However, these applications only work with CPUs with an Extreme Edition/Black Edition/K/X label. Sometimes, special CPUs such as an engineering sample or a qualification sample may also be overclockable. And always remember this, do not overclock your laptop if you are not confident in its cooling system. If you are able to force the cooling system's fan to always run at its maximum speed, it is strongly recommended to do so. Avoid hitting temperatures higher than 100C/212F at all costs, even if the CPU is rated for a maximum of 105C/221F at the transistor-junction level.

For non-overclockable laptop CPUs, you might be able to overclock it in a different way. Certain third-party applications are capable of controlling a chip that generates the clock signal for the front-side bus' clock, which is called the phase-locked loop. This is extremely unsafe and may result in potential data corruption, as it follows the same principle of overclocking the front-side bus. All laptops in existence do not have a PCI/AGP lock either, so keeping the PCI bus below 40 MHz is advised. The applications that can control the phase-locked loop are: ClockGen, CPUCool, SetFSB, SoftFSB, SetPLL, and SysTool. However, there is a catch when using these mentioned programs; none of them supports every phase-locked loop in existence. This means that each one of them has a range of phase-locked loops they support, and you must use the correct matching program that has support for your phase-locked loop. There is also no auto-detection in these programs for the phase-locked loop, as they do not have a standardized way to report their manufacturer and model name, so be careful when selecting the correct phase-locked loop that resides in your laptop.

GPU[edit]

GPUs are basically just hundreds of under-powered CPUs on the same die, or better described as a massively parallel CPU with a core count that far exceeds most traditional multi-core CPUs.

The thing is, with 3D graphics, you can split the work up into hundreds of different parts and give each operation to a different core on the GPU to work on. Since it doesn't matter which order the pixels are rendered in, as long as they all get rendered for the same frame before moving on to the next frame.

File compression/extraction and bitcoin mining are also good examples of programs that can make use of parallel processing. However, most programs can not do this. Dwarf Fortress, for example, can't make use of a graphics card. This is because of how every calculation it does is dependent on the one performed before it. That obviously doesn't work if you try and do them all at the same time.

Pretty much any emulator is the same; it does not know what comes next until it has done what preceded it. It has to run off a single thread. It still needs some form of graphical output to output the final rendered 2D screen alone. This can be done via a GPU to put the 3D graphics on the screen, but any system capable of being emulated shouldn't be too taxing. This is called 'Hardware Rendering'. Alternatively, all of the graphics processing can be done on the CPU and will be more predictable/consistent for it, but that is also costly. This is called 'Software Rendering'.

Most 3D emulators have hardware and software renderers. Software renderers use more CPU power, which may mostly be slower. They may also run on their own threads separate from other emulator parts, which would likely reduce the performance loss, but the CPU must still be fast enough in the first place.

Recommended Specifications[edit]

Before diving in
  • This list excludes inactive or unsupported emulators as much as possible, see History of emulation page for older software emulators. For seeing recommended specifications for obsolete, non-active and older emulators, see this page.
  • We discourage recommending outdated hardware[1][2], operating systems, or inactive emulators.
Why? Because active and popular emulators such as Dolphin, Ryujinx, PCSX2 and others[3] implements newest frontends, API related stuff and functions from time to time such as "XAudio2 situation[4][5][6]", "using D3D12", "qt6" "VirtualAlloc2", "mapviewoffile3" which usually depends on latest operating system versions (considering using binaries provided by official sources, not building software by yourself without some serious patching).

Yuzu/Suyu[edit]

See official requirements page for yuzu. Also see TOTK Optimizer recommended specs.

Ryujinx[edit]

See official requirements page for Ryujinx.

Cxbx-Reloaded[edit]

See official requirements page for CXBX-Reloaded

Xenia[edit]

Official requirements page
Minimum
  • Windows: 10 (x64)
  • Linux: Distributions based on 64-bit active kernel releases/EOL (you need to use Proton. If using VKD3D with D3D12 backend for Linux giving you incompatibility issues, use Vulkan backend, see Xenia Linux and Steam Deck guide.)
  • CPU: x86-64 processor with AVX support and 4-cores, 4-threads - (Intel Core i5-2300 or overclocked AMD FX-4350)
  • GPU: NVIDIA GeForce GTX 750Ti or AMD RX 460
  • RAM: 4 GB
Recommended and using enhancements
Some of the titles needs the latest lineup of graphics cards to play on 4K internal resolution.
  • RAM: 8 GB or more

RPCS3[edit]

xemu[edit]

Official requirements page for xemu

As mentioned in Xbox emulators#Comparisons section, some titles require powerful hardware for full-speed emulation, particularly single-threaded performance, is often the bottleneck. Additionally, using demanding graphical enhancements may also require a strong GPU.

Minimum
Recommended and using enhancements
Some of the titles needs the latest lineup of graphics cards to play on 4K internal resolution.
  • RAM: 8 GB or more

PCSX2[edit]

Mednafen[edit]

Depends on which core used for emulation.

PPSSPP[edit]

See official requirements page for PPSSPP. Also see this issue page.

Minimum
  • CPU: Any reasonably modern CPU will be just fine.
  • GPU: Any GPU that can handle OpenGL 3.0 should have no issue.
  • RAM: Minimum amount required by the operating system
Recommended
  • Windows: Windows 10 (64-bit) or later
  • macOS: Any M1 or later Mac
  • Linux: Distributions based on 64-bit active kernel releases/EOL
  • CPU: Any AVX2 instruction set supported x86-64 hardware or ARM64 v8-A or later
  • GPU: Any Vulkan 1.3 supported hardware
  • RAM: 4 GB or more

Cemu[edit]

See official requirements page for cemu

Minimum
Similar to #PCSX2 situation, some release titles and 2D games which underutilized the Wii U hardware may run on less powerful hardware, but for the best experience you need something like below.
  • CPU: Any SSE4.2 x86-64 hardware and 4-cores, 4-threads - i5-750 or AMD FX-4100
  • GPU: OpenGL 4.5 or Vulkan 1.2 required - NVIDIA GeForce GTX 750 or AMD RX 460
  • RAM: 4 GB
Recommended and using enhancements[10]
  • CPU: Any AVX2[11][12] (including AVX[13]) and BMI supported[14] x86-64 hardware and at least 4-cores, 8-threads - Intel Core i7-4770 or AMD Ryzen 5 1600AF or better
  • GPU: NVIDIA GTX 1660 or AMD RX 580 or better
  • RAM: 8 GB or more

Dolphin[edit]

See official requirements page for Dolphin

Minimum
  • Windows: 10 1803 (64-bit)
  • Linux: Distributions based on 64-bit active kernel releases/EOL
  • RAM: 4GB
  • Desktop CPU: Intel Core i5-750 or AMD FX 4350
  • Mobile CPU: Any x86-64 or AArch64 processor
Some release titles and 2D games which underutilized the GameCube and Wii hardware may run on even less powerful hardware such as: Core 2 Duo E8400 or AMD Athlon II X2 255 CPUs, on top of that there are several performance and hack options such as "VBI Skip" which is a powerful tool for weaker devices, especially in games that struggle. It's obviously not perfect, but the mixture of slowdown and frameskip keeps the game fairly playable[15].
  • Desktop GPU: Direct3D 11 / OpenGL 4.4 required.
  • Mobile GPU: OpenGL ES 3.0 required
Recommended
  • RAM: 8 GB or more
  • Desktop CPU: Any AVX2 instruction set supported x86-64 hardware[16] and at least 4-cores, 4-threads - Intel Core i5-4460 or AMD Ryzen 3 1200
Some intensive titles and incompatible ones with performance options such as "dual core"[17][18][19][20] may require Intel Core i5-7600 or OC'ed AMD Ryzen 3 2300X level of single thread performance for running on full speed.
  • Mobile CPU: For Qualcomm devices, processors with 2 or more "big cores" recommended. Snapdragon 700 or newer is typically recommended.
  • Desktop GPU: Vulkan 1.1 supported hardware. NVIDIA GeForce GTX 750 or AMD RX 460
  • Mobile GPU: OpenGL ES 3.2 / Vulkan 1.1 supported hardware
For using enhancements[21][22];
  • Desktop GPU: NVIDIA GTX 1650 or AMD RX 570 or better
  • Mobile GPU: Recent RDNA2 or Snapdragon based graphics processors hardware
See the Dolphin page for further recommendations, such as controller setups.

Citra[edit]

See official requirements page for Citra.

DeSmuME[edit]

See official requirements page for DeSmuME.

mGBA[edit]

See official requirements page for mGBA, also see this section.

Minimum
  • Linux: Distributions based on 64-bit active kernel releases/EOL
  • CPU: Any x86 processor with SSE2 instructions
  • GPU: Any OpenGL 1.1 supported hardware
  • RAM: Minimum amount required by the operating system

References[edit]