Computer specifications

From Emulation General Wiki
(Redirected from Computer specs)
Jump to navigation Jump to search

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
  • CPU: x86-64 processor with AVX2 support and at least 4-cores, 8-threads (Intel Core i3-10100 or AMD Ryzen 3 3300X)
  • GPU: NVIDIA GTX 1650 or AMD RX 570
  • RAM: 6 GB
Using enhancements
  • CPU: Latest x86-64 processor with AVX2 or AVX512[7] support and at least 6-cores
  • GPU: NVIDIA RTX 3060Ti or AMD RX 6650 XT or better
  • 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
  • CPU: Latest 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[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[9]
  • CPU: Any AVX2[10][11] (including AVX[12]) and BMI supported[13] x86-64 hardware and at least 4-cores, 8-threads - Intel Core i7-4770 or AMD Ryzen 5 1600AF or better
  • GPU: NVIDIA GTX 1650 or AMD RX 570 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[14].
  • Desktop GPU: Direct3D 11 / OpenGL 4.4 required.
  • Mobile GPU: OpenGL ES 3.0 required
Recommended
  • RAM: 6 GB
  • Desktop CPU: Any AVX2 instruction set supported x86-64 hardware[15] 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"[16][17][18][19] 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
Using enhancements[20][21]
  • RAM: 8 GB or more
  • 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]