XMRig: the RandomX miner, set up and explained

XMRig releases

A flat illustration of a small stationary engine with a large indigo flywheel and an orange housing pierced by a grid of square cells

XMRig is an open-source miner for RandomX and several other proofs of work, published under the GPL 3.0 licence. It mines on the CPU first and foremost, which is what RandomX is for; it can also use AMD graphics cards through OpenCL, and NVIDIA cards through a separate CUDA plugin. Official builds are published for Windows, Linux, macOS and FreeBSD, including arm64 builds for macOS and Windows.

Versions

The newest release on 25 October 2026 was XMRig 6.26.0, of 28 March 2026. Its headline change is support for RandomX v2, alongside faster code for RISC-V processors. Version 6.25.0, of 23 December 2025, had added RISC-V support with a JIT compiler and solo-mining support for Monero's FCMP++ hard fork. Every release is published with SHA256 checksums, and a download is worth checking against them.

The RandomX algorithms

XMRig names each RandomX variant it supports: rx/0 for RandomX as Monero runs it, rx/2 for RandomX v2, and rx/wow, rx/arq, rx/graft, rx/sfx and rx/yada for the variants. It learns which one to run in one of three ways: from the pool, if the pool supports algorithm negotiation; from a pool's coin setting, which saves changing the setting when the coin forks; or from a pool's algo setting. The variants guide has what each name means.

The settings that matter

The pool. -o gives the pool's address and -u the wallet or login. On P2Pool, the address is the local node, -o 127.0.0.1:3333, and the wallet is set in P2Pool rather than in XMRig.

Huge pages. On by default, and switched off with --no-huge-pages. On Linux, --randomx-1gb-pages puts the RandomX dataset in 1 GiB pages. If the system has none reserved, XMRig mines without them, more slowly; the memory guide has why they matter.

The mode. --randomx-mode takes auto, fast or light. Fast mode needs the 2080 MiB dataset and is the one for mining.

Threads. XMRig picks a thread count itself, from the processor's cache, and on most machines that guess is the one to start from: RandomX wants about 2 MiB of L3 cache per thread.

The donation

By default XMRig mines for its developers 1% of the time, one minute in every hundred, which its usage text spells out. The --donate-level option can raise it; in the source the minimum is also 1, so lowering it to zero means changing the source and building XMRig yourself, as the README says.

Before the first share

XMRig has a built-in benchmark, --bench=1M up to --bench=10M, which hashes a fixed number of times and prints a result hash that can be compared with a known one — a quick check that the build computes RandomX correctly on that machine before it is pointed at a pool. After that, the miner's own log says what matters: whether huge pages were allocated, how many threads started, and whether shares are accepted.

XMRig: the RandomX miner, set up and explained: questions

Is XMRig free?

Yes. XMRig is open source under the GPL 3.0 licence. By default it donates 1% of mining time, one minute in a hundred, to its developers; going below that means building it from modified source.

Can XMRig mine RandomX v2?

Yes, from version 6.26.0, released on 28 March 2026, under the algorithm name rx/2. Monero itself still runs rx/0 until its hard fork to v2, for which no date has been set.

Does XMRig run on Apple Silicon Macs?

Yes. XMRig publishes an official macOS arm64 build. Apple Silicon has hardware AES, but macOS does not give the dataset 2 MiB huge pages.

Source: XMRig README, release notes and source code (xmrig/xmrig on GitHub) checked against the source

More RandomX guides