Skip to content

Requirements

JayDDee edited this page Nov 17, 2023 · 7 revisions

Requirements

Hardware requirements.

CPU

  • A x86_64 architecture CPU with a minimum of SSE2 support. This includes Intel Core2 and newer and AMD equivalents.
  • Arm CPU supporting AArch64 and NEON.

32 bit CPUs are not supported.

Older CPUs are supported by open source cpuminer-multi by TPruvot but at reduced performance.

Mining on mobile devices that meet the requirements is not recommended due to the risk of overheating and damaging the battery. Mining has unlimited demand, it will push any device to or beyond its limits. There is also a fire risk with overheated lithium batteries. Beware of apps claiming "mobile only mining". There is no such thing, they aren't miners. If a mobile CPU can mine it any CPU can.

Memory

Memory requirements are very dependant on the algorithm. Some algorithms require over 100 MB per thread.

Software requirements

Operating system

  • 64 bit Linux OS. Debian and Fedora based distributions, including Ubuntu, Mint, RHEL and clones, are known to work and have all dependencies in their repositories. Others will work but may require more effort.

  • 64 bit Windows OS is supported on x86_64 only with mingw_w64 and msys2 or pre-built binaries. Windows 7 and newer work, XP is YMMV.

FreeBSD and other BSDs may work, YMMV. Alt OSs like Haiku, ReactOS, etc are not supported.

MacOS Does not work natively but will work from a Linux VM.

Virtualization and Emulation

It is possible to run cpuminer-opt in a virtual machine subject to the above requirements but some advanced CPU features may be not be supported by the emulator. CygWin has been known to work but has significantly lower performance than running a Windows binary natively. Virtualbox or VMWare are recommended for x86_64 hosts, UTM/Qemu is recommended for MacOS with AArch64.

Server

Network access to a stratum server for shared mode pool mining. Some pools also offer solo mining.

A full node wallet for the coin to be mined solo using getwork or getblocktemplate (GBT). Some coins may not be suported, YMMV.