NOTE: This forked repository contains a VS2015 solution and Win32 build of libmicrohttpd library required to build xmr-stak-cpu on Windows. xmr-stak-cpu project is retired - you should upgrade to xmr-stak.
===
XMR-Stak is a universal Stratum pool miner. This is the CPU-mining version; there is also an AMD GPU version and an NVIDA GPU version
- Edit the config.txt file to enter your pool login and password.
- Double click the exe file.
XMR-Stak should compile on any C++11 compliant compiler. Windows compiler is assumed to be MSVC 2015 CE. MSVC build environment is not vendored.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
sha1sum
d34a0ba0dd7b3b1f900a7e02772e197e974b4a73 libeay32.dll
2ee9966a0fc163da58408d91be36b84fa287c10b ssleay32.dll
a03f81d7445005e0d51e3825e67cac8413df1068 xmr-stak-cpu.exe
98bb62cd1f3c7a11a18d6c2b1f1bd6bf4b5b41a3 xmr-stak-cpu-notls.exe
sha3sum
05003137a87313c81d6c348c9b96411c95d48dc22c35f36c39129747 libeay32.dll
133c065d9ef2c93396382e2ba5d8c3ca8c6a57c6beb0159cb9a4b6c5 ssleay32.dll
9666ae2cfa337599282615275ea05f4e6240fd571c86530583ac89aa xmr-stak-cpu.exe
46f633b125907feed2f16fc97dcc8402a67218809fef226a77c0aa70 xmr-stak-cpu-notls.exe
date
Sat 29 Apr 16:59:00 BST 2017
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQEcBAEBCAAGBQJZBLhQAAoJEPsk95p+1Bw0bWYH/0jtGhKqahRGaxAnLLmA9rsK
HUsvIDkAFEshdcUK2yB32JXu4vltG2sbIb/AaY3qifFawhfMPQXGPhJ1YfWlJrI6
icqcPlvHRo88nSfpCfRA3EOjmrNSM4uXb4/FM9ongTgqBKPkSAoQjJfnhXQfOFKb
ULyN0xRRMuqPxnAggzqn5mwcJ1qPFnuUDjcBssnHw21P/p72qrMK/pMp1LeGMpGZ
+kzr7rS2wko7isJuMouddCK3rypxeIry2XfLehRqguhfXLw9Xi+HNmBCY+76bYWi
xXl2Nm/u3cPP/eQVrZz5H8eACwIv+LL1EV+9uLanWUa+IO5hHr3KElvKNKD6vN0=
=vGQV
-----END PGP SIGNATURE-----
sudo apt-get install libmicrohttpd-dev libssl-dev cmake build-essential
cmake .
make install
- GCC version 5.1 or higher is required for full C++11 support. CMake release compile scripts, as well as CodeBlocks build environment for debug builds is included.
cmake -DCMAKE_LINK_STATIC=ON .
make install
Note - cmake caches variables, so if you want to do a dynamic build later you need to specify '-DCMAKE_BUILD_TYPE=RELEASE'
You can find a complete compile guide under Advanced Compile Options.
Performance is nearly identical to the closed source paid miners. Here are some numbers:
- I7-2600K - 266 H/s
- I7-6700 - 276 H/s (with a separate GPU miner)
- Dual X5650 - 466 H/s (depends on NUMA)
- Dual E5640 - 365 H/s (same as above)
By default the miner will donate 1% of the hashpower (1 minute in 100 minutes) to my pool. If you want to change that, edit donate-level.h before you build the binaries.
If you want to donate directly to support further development, here is my wallet
fireice-uk:
4581HhZkQHgZrZjKeCfCJxZff9E3xCgHGF25zABZz7oR71TnbbgiS7sK9jveE6Dx6uMs2LwszDuvQJgRZQotdpHt1fTdDhk
psychocrypt:
43NoJVEXo21hGZ6tDG6Z3g4qimiGdJPE6GRxAmiWwm26gwr62Lqo7zRiCJFSBmbkwTGNuuES9ES5TgaVHceuYc4Y75txCTU
SeLockMemoryPrivilege failed
Please see config.txt under section LARGE PAGE SUPPORT
For Windows 7 pro, or Windows 8 and above see this article (make sure to reboot afterwards!).
For Windows 7 Home :
-
Download and install Windows Server 2003 Resource Kit Tools. Ignore incompatiablity warning during installation.
-
In cmd or power shell:
ntrights -u %USERNAME% +r SeLockMemoryPrivilege
(where %USERNAME% is the user that will be running the program. This command needs to be run as admin) -
Reboot.
Reference: http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?pid=259791#pid259791
Warning: do not download ntrights.exe from any other site other then the offical Microsoft download page.
VirtualAlloc failed
If you set up the user rights properly (see above), and your system has 4-8GB of RAM (50%+ use), there is a significant chance that there simply won't be a large enough chunk of contiguous memory because Windows is fairly bad at mitigating memory fragmentation.
If that happens, disable all auto-staring applications and run the miner after a reboot.
msvcp140.dll and vcruntime140.dll not available errors
Download and install this runtime package from Microsoft. Warning: Do NOT use "missing dll" sites - dll's are exe files with another name, and it is a fairly safe bet that any dll on a shady site like that will be trojaned. Please download offical runtimes from Microsoft above.
Error: MEMORY ALLOC FAILED: mmap failed
From config.txt:
On Linux you will need to configure large page support sudo sysctl -w vm.nr_hugepages=128
and increase your
ulimit -l. To do do this you need to add following lines to /etc/security/limits.conf:
* soft memlock 262144
* hard memlock 262144
Save file. You WILL need to log out and log back in for these settings to take affect on your user (no need to reboot, just relogin in your session).
You can also do it Windows-style and simply run-as-root, but this is NOT recommended for security reasons.
Illegal instruction (core dumped)
This typically means you are trying to run it on a CPU that does not have AES. This only happens on older version of miner, new version gives better error message (but still wont' work since your CPU doesn't support the required instructions).
The build system is CMake, if you are not familiar with CMake you can learn more here.
There are two easy ways to set variables for cmake
to configure xmr-stak-cpu
- use the ncurses GUI
ccmake .
- edit your options
- end the GUI by pressing the key
c
(create) and thang
(generate)
- set Options on the command line
- enable a option:
cmake . -DNAME_OF_THE_OPTION=ON
- disable a option
cmake . -DNAME_OF_THE_OPTION=OFF
- set a value
cmake . -DNAME_OF_THE_OPTION=value
- enable a option:
After the configuration you need to call
make install
for slow sequential build
or
make -j install
for faster parallel build
and install.
CMAKE_INSTALL_PREFIX
install miner to the home foldercmake . -DCMAKE_INSTALL_PREFIX=$HOME/xmr-stak-cpu
- you can find the binary and the
config.txt
file aftermake install
in$HOME/xmr-stak-cpu/bin
CMAKE_LINK_STATIC
link libgcc and libstdc++ libraries static (default OFF)- disable with
cmake . -DCMAKE_LINK_STATIC=ON
-CMAKE_BUILD_TYPE
set the build type - valid options:
Release
orDebug
- you should always keep
Release
for your productive miners
- disable with
MICROHTTPD_REQUIRED
allow to disable/enable the dependency microhttpd- by default enabled
- there is no http interface available if option is disabled:
cmake . -DMICROHTTPD_REQUIRED=OFF
OpenSSL_REQUIRED
allow to disable/enable the dependency OpenSSL- by default enabled
- it is not possible to connect to a https secured pool if optin is disabled:
cmake . -DOpenSSL_REQUIRED=OFF
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2
mQENBFhYUmUBCAC6493W5y1MMs38ApRbI11jWUqNdFm686XLkZWGDfYImzL6pEYk
RdWkyt9ziCyA6NUeWFQYniv/z10RxYKq8ulVVJaKb9qPGMU0ESfdxlFNJkU/pf28
sEVBagGvGw8uFxjQONnBJ7y7iNRWMN7qSRS636wN5ryTHNsmqI4ClXPHkXkDCDUX
QvhXZpG9RRM6jsE3jBGz/LJi3FyZLo/vB60OZBODJ2IA0wSR41RRiOq01OqDueva
9jPoAokNglJfn/CniQ+lqUEXj1vjAZ1D5Mn9fISzA/UPen5Z7Sipaa9aAtsDBOfP
K9iPKOsWa2uTafoyXgiwEVXCCeMMUjCGaoFBABEBAAG0ImZpcmVpY2VfdWsgPGZp
cmVpY2UueG1yQGdtYWlsLmNvbT6JATcEEwEIACEFAlhYUmUCGwMFCwkIBwIGFQgJ
CgsCBBYCAwECHgECF4AACgkQ+yT3mn7UHDTEcQf8CMhqaZ0IOBxeBnsq5HZr2X6z
E5bODp5cPs6ha1tjH3CWpk1AFeykNtXH7kPW9hcDt/e4UQtcHs+lu6YU59X7xLJQ
udOkpWdmooJMXRWS/zeeon4ivT9d69jNnwubh8EJOyw8xm/se6n48BcewfHekW/6
mVrbhLbF1dnuUGXzRN1WxsUZx3uJd2UvrkJhAtHtX92/qIVhT0+3PXV0bmpHURlK
YKhhm8dPLV9jPX8QVRHQXCOHSMqy/KoWEe6CnT0Isbkq3JtS3K4VBVeTX9gkySRc
IFxrNJdXsI9BxKv4O8yajP8DohpoGLMDKZKSO0yq0BRMgMh0cw6Lk22uyulGALkB
DQRYWFJlAQgAqikfViOmIccCZKVMZfNHjnigKtQqNrbJpYZCOImql4FqbZu9F7TD
9HIXA43SPcwziWlyazSy8Pa9nCpc6PuPPO1wxAaNIc5nt+w/x2EGGTIFGjRoubmP
3i5jZzOFYsvR2W3PgVa3/ujeYYJYo1oeVeuGmmJRejs0rp1mbvBSKw1Cq6C4cI0x
GTY1yXFGLIgdfYNMmiLsTy1Qwq8YStbFKeUYAMMG3128SAIaT3Eet911f5Jx4tC8
6kWUr6PX1rQ0LQJqyIsLq9U53XybUksRfJC9IEfgvgBxRBHSD8WfqEhHjhW1VsZG
dcYgr7A1PIneWsCEY+5VUnqTlt2HPaKweQARAQABiQEfBBgBCAAJBQJYWFJlAhsM
AAoJEPsk95p+1Bw0Pr8H/0vZ6U2zaih03jOHOvsrYxRfDXSmgudOp1VS45aHIREd
2nrJ+drleeFVyb14UQqO/6iX9GuDX2yBEHdCg2aljeP98AaMU//RiEtebE6CUWsL
HPVXHIkxwBCBe0YkJINHUQqLz/5f6qLsNUp1uTH2++zhdBWvg+gErTYbx8aFMFYH
0GoOtqE5rtlAh5MTvDZm+UcDwKJCxhrLaN3R3dDoyrDNRTgHQQuX5/opJBiUnVNK
d+vugnxzpMIJQP11yCZkz/KxV8zQ2QPMuZdAoh3znd/vGCJcp0rWphn4pqxA4vDp
c4hC0Yg9Dha1OoE5CJCqVL+ic4vAyB1urAwBlsd/wH8=
=B5I+
-----END PGP PUBLIC KEY BLOCK-----