mirror of
https://github.com/jwinterm/xmr-stak.git
synced 2026-10-29 06:38:39 +01:00
documentation
- add more documentation - split documentation into different files
This commit is contained in:
+201
@@ -0,0 +1,201 @@
|
||||
# XMR-Stak-CPU - Monero mining software
|
||||
|
||||
XMR-Stak is a universal Stratum pool miner. This is the CPU-mining version; there is also an [AMD GPU version](https://github.com/fireice-uk/xmr-stak-amd) and an [NVIDA GPU version](https://github.com/fireice-uk/xmr-stak-nvidia)
|
||||
|
||||
## HTML reports
|
||||
<img src="https://gist.githubusercontent.com/fireice-uk/2da301131ac01695ff79539a27b81d68/raw/4c09cdeee86f94df2e9dd86b927e64aded6184f5/xmr-stak-cpu-hashrate.png" width="260"> <img src="https://gist.githubusercontent.com/fireice-uk/2da301131ac01695ff79539a27b81d68/raw/4c09cdeee86f94df2e9dd86b927e64aded6184f5/xmr-stak-cpu-results.png" width="260"> <img src="https://gist.githubusercontent.com/fireice-uk/2da301131ac01695ff79539a27b81d68/raw/4c09cdeee86f94df2e9dd86b927e64aded6184f5/xmr-stak-cpu-connection.png" width="260">
|
||||
|
||||
## HTML and JSON API report configuraton
|
||||
|
||||
To configure the reports shown above you need to edit the httpd_port variable. Then enable wifi on your phone and navigate to [miner ip address]:[httpd_port] in your phone browser. If you want to use the data in scripts, you can get the JSON version of the data at url [miner ip address]:[httpd_port]/api.json
|
||||
|
||||
## Usage on Windows
|
||||
1) Edit the config.txt file to enter your pool login and password.
|
||||
2) Double click the exe file.
|
||||
|
||||
XMR-Stak should compile on any C++11 compliant compiler.
|
||||
```
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA256
|
||||
|
||||
sha1sum
|
||||
d34a0ba0dd7b3b1f900a7e02772e197e974b4a73 libeay32.dll
|
||||
2ee9966a0fc163da58408d91be36b84fa287c10b ssleay32.dll
|
||||
e4d8a974e58985214de163df0c1ed0f54250d7ee xmr-stak-cpu.exe
|
||||
ae0153ff98df82022b2c392d6a17c5f3614f6a50 xmr-stak-cpu-notls.exe
|
||||
|
||||
sha3sum
|
||||
05003137a87313c81d6c348c9b96411c95d48dc22c35f36c39129747 libeay32.dll
|
||||
133c065d9ef2c93396382e2ba5d8c3ca8c6a57c6beb0159cb9a4b6c5 ssleay32.dll
|
||||
7bfc30b06524dc9139a3157e2661d2a6f5720738dde8e490f05cc8e2 xmr-stak-cpu.exe
|
||||
005fb81fc3711a97b2ce65bad0ca97318d878dc793a8cba99c7d1f6f xmr-stak-cpu-notls.exe
|
||||
|
||||
date
|
||||
Wed 19 Jul 21:18:58 BST 2017
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2
|
||||
|
||||
iQEcBAEBCAAGBQJZb77XAAoJEPsk95p+1Bw0GU4H/26sBwJzYSeWoLwo0LdmOPk3
|
||||
19n+svFYnz6NlxAjs+fvuTK992ilLMy2pa4PHKhot2oyZIgt2rRaFsvRADcHVraG
|
||||
nsIh4Oq31T9epZI0WxIH5FJlDx30fdGkpMTu9xt6ta2JXsmkDiCoZxmETuljB7Rw
|
||||
xvnKeHiuTccp73C6Nd7dkuiemsOw0FZA7XXS/Kmwqm7n8BtCztY70R6SVN7QFbCz
|
||||
C49s0A9cT4UbAUPuu8KvxFozmJHA/wDBYHgkq95Y6n/q116+Sc9BpdF8j+qK4YzZ
|
||||
uM+B10XY0g7Qv376UoJRYKokpVaBxF08nD+JXLdL+zfQvnEfKgrhTnjaTkWFfEY=
|
||||
=jpgE
|
||||
-----END PGP SIGNATURE-----
|
||||
```
|
||||
## Compile guides
|
||||
|
||||
- [Free BSD](FREEBSDCOMPILE.md)
|
||||
- [Linux](LINUXCOMPILE.md)
|
||||
- [Windows](WINCOMPILE.md)
|
||||
|
||||
|
||||
#### CPU mining performance
|
||||
|
||||
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)
|
||||
|
||||
## Default dev donation
|
||||
By default the miner will donate 2% of the hashpower (2 minute in 100 minutes) to my pool. If you want to change that, edit **xmrstak/donate-level.hpp** before you build the binaries.
|
||||
|
||||
If you want to donate directly to support further development, here is my wallet
|
||||
|
||||
fireice-uk:
|
||||
```
|
||||
4581HhZkQHgZrZjKeCfCJxZff9E3xCgHGF25zABZz7oR71TnbbgiS7sK9jveE6Dx6uMs2LwszDuvQJgRZQotdpHt1fTdDhk
|
||||
```
|
||||
|
||||
psychocrypt:
|
||||
```
|
||||
43NoJVEXo21hGZ6tDG6Z3g4qimiGdJPE6GRxAmiWwm26gwr62Lqo7zRiCJFSBmbkwTGNuuES9ES5TgaVHceuYc4Y75txCTU
|
||||
```
|
||||
|
||||
## Common Issues
|
||||
|
||||
**SeLockMemoryPrivilege failed**
|
||||
|
||||
Please see [config.txt](config.txt) under section **LARGE PAGE SUPPORT**
|
||||
|
||||
For Windows 7 pro, or Windows 8 and above see [this article](https://msdn.microsoft.com/en-gb/library/ms190730.aspx) (make sure to reboot afterwards!).
|
||||
|
||||
For Windows 7 Home :
|
||||
|
||||
1) Download and install [Windows Server 2003 Resource Kit Tools](https://www.microsoft.com/en-us/download/details.aspx?id=17657). Ignore incompatiablity warning during installation.
|
||||
|
||||
2) 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)
|
||||
|
||||
3) 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](https://go.microsoft.com/fwlink/?LinkId=746572) 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](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 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](https://en.wikipedia.org/wiki/AES_instruction_set). 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).
|
||||
|
||||
|
||||
## Advanced Compile Options
|
||||
|
||||
The build system is CMake, if you are not familiar with CMake you can learn more [here](https://cmake.org/runningcmake/).
|
||||
|
||||
### Short Description
|
||||
|
||||
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 than `g`(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`
|
||||
|
||||
After the configuration you need to call
|
||||
`make install` for slow sequential build
|
||||
or
|
||||
`make -j install` for faster parallel build
|
||||
and install.
|
||||
|
||||
### xmr-stak-cpu Compile Options
|
||||
- `CMAKE_INSTALL_PREFIX` install miner to the home folder
|
||||
- `cmake . -DCMAKE_INSTALL_PREFIX=$HOME/xmr-stak-cpu`
|
||||
- you can find the binary and the `config.txt` file after `make 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` or `Debug`
|
||||
- you should always keep `Release` for your productive miners
|
||||
- `MICROHTTPD_ENABLE` allow to disable/enable the dependency *microhttpd*
|
||||
- by default enabled
|
||||
- there is no *http* interface available if option is disabled: `cmake . -DMICROHTTPD_ENABLE=OFF`
|
||||
- `OpenSSL_ENABLE` allow to disable/enable the dependency *OpenSSL*
|
||||
- by default enabled
|
||||
- it is not possible to connect to a *https* secured pool if option is disabled: `cmake . -DOpenSSL_ENABLE=OFF`
|
||||
- `HWLOC_ENABLE` allow to disable/enable the dependency *hwloc*
|
||||
- by default enabled
|
||||
- the config suggestion is not optimal if option is disabled: `cmake . -DHWLOC_ENABLE=OFF`
|
||||
|
||||
## PGP Key
|
||||
```
|
||||
-----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-----
|
||||
```
|
||||
@@ -1,69 +1,34 @@
|
||||
# XMR-Stak-CPU - Monero mining software
|
||||
# XMR-Stak - Monero All-in-One Mining Software
|
||||
|
||||
XMR-Stak is a universal Stratum pool miner. This is the CPU-mining version; there is also an [AMD GPU version](https://github.com/fireice-uk/xmr-stak-amd) and an [NVIDA GPU version](https://github.com/fireice-uk/xmr-stak-nvidia)
|
||||
XMR-Stak is a universal Stratum pool miner. This miner supports CPUs, AMD and NVIDIA gpus.
|
||||
|
||||
## HTML reports
|
||||
<img src="https://gist.githubusercontent.com/fireice-uk/2da301131ac01695ff79539a27b81d68/raw/4c09cdeee86f94df2e9dd86b927e64aded6184f5/xmr-stak-cpu-hashrate.png" width="260"> <img src="https://gist.githubusercontent.com/fireice-uk/2da301131ac01695ff79539a27b81d68/raw/4c09cdeee86f94df2e9dd86b927e64aded6184f5/xmr-stak-cpu-results.png" width="260"> <img src="https://gist.githubusercontent.com/fireice-uk/2da301131ac01695ff79539a27b81d68/raw/4c09cdeee86f94df2e9dd86b927e64aded6184f5/xmr-stak-cpu-connection.png" width="260">
|
||||
|
||||
## HTML and JSON API report configuraton
|
||||
## Content Overview
|
||||
* [Features](#features)
|
||||
* [Download](#download)
|
||||
* [Usage](doc/usage.md)
|
||||
* [HowTo Compile](doc/compile.md)
|
||||
* [FAQ](doc/FAQ.md)
|
||||
* [Developer Donation](#default-developer-donation)
|
||||
* [PGP Key](#pgp-key)
|
||||
|
||||
To configure the reports shown above you need to edit the httpd_port variable. Then enable wifi on your phone and navigate to [miner ip address]:[httpd_port] in your phone browser. If you want to use the data in scripts, you can get the JSON version of the data at url [miner ip address]:[httpd_port]/api.json
|
||||
## Features
|
||||
|
||||
## Usage on Windows
|
||||
1) Edit the config.txt file to enter your pool login and password.
|
||||
2) Double click the exe file.
|
||||
- support all common backends (CPU/x86, AMD-GPU and NVIDIA-GPU)
|
||||
- support all common OS (Linux, Windows and MacOS)
|
||||
- easy to use
|
||||
- guided start (no need to edit a config file for the first start)
|
||||
- auto configuration for each backend
|
||||
- open source software (GPLv3)
|
||||
- TLS support
|
||||
- HTML statistics
|
||||
- JSON API for monitoring
|
||||
|
||||
XMR-Stak should compile on any C++11 compliant compiler.
|
||||
```
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA256
|
||||
## Download
|
||||
|
||||
sha1sum
|
||||
d34a0ba0dd7b3b1f900a7e02772e197e974b4a73 libeay32.dll
|
||||
2ee9966a0fc163da58408d91be36b84fa287c10b ssleay32.dll
|
||||
e4d8a974e58985214de163df0c1ed0f54250d7ee xmr-stak-cpu.exe
|
||||
ae0153ff98df82022b2c392d6a17c5f3614f6a50 xmr-stak-cpu-notls.exe
|
||||
|
||||
sha3sum
|
||||
05003137a87313c81d6c348c9b96411c95d48dc22c35f36c39129747 libeay32.dll
|
||||
133c065d9ef2c93396382e2ba5d8c3ca8c6a57c6beb0159cb9a4b6c5 ssleay32.dll
|
||||
7bfc30b06524dc9139a3157e2661d2a6f5720738dde8e490f05cc8e2 xmr-stak-cpu.exe
|
||||
005fb81fc3711a97b2ce65bad0ca97318d878dc793a8cba99c7d1f6f xmr-stak-cpu-notls.exe
|
||||
|
||||
date
|
||||
Wed 19 Jul 21:18:58 BST 2017
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v2
|
||||
|
||||
iQEcBAEBCAAGBQJZb77XAAoJEPsk95p+1Bw0GU4H/26sBwJzYSeWoLwo0LdmOPk3
|
||||
19n+svFYnz6NlxAjs+fvuTK992ilLMy2pa4PHKhot2oyZIgt2rRaFsvRADcHVraG
|
||||
nsIh4Oq31T9epZI0WxIH5FJlDx30fdGkpMTu9xt6ta2JXsmkDiCoZxmETuljB7Rw
|
||||
xvnKeHiuTccp73C6Nd7dkuiemsOw0FZA7XXS/Kmwqm7n8BtCztY70R6SVN7QFbCz
|
||||
C49s0A9cT4UbAUPuu8KvxFozmJHA/wDBYHgkq95Y6n/q116+Sc9BpdF8j+qK4YzZ
|
||||
uM+B10XY0g7Qv376UoJRYKokpVaBxF08nD+JXLdL+zfQvnEfKgrhTnjaTkWFfEY=
|
||||
=jpgE
|
||||
-----END PGP SIGNATURE-----
|
||||
```
|
||||
## Compile guides
|
||||
|
||||
- [Free BSD](FREEBSDCOMPILE.md)
|
||||
- [Linux](LINUXCOMPILE.md)
|
||||
- [Windows](WINCOMPILE.md)
|
||||
|
||||
|
||||
#### CPU mining performance
|
||||
|
||||
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)
|
||||
|
||||
## Default dev donation
|
||||
By default the miner will donate 2% of the hashpower (2 minute in 100 minutes) to my pool. If you want to change that, edit **xmrstak/donate-level.hpp** before you build the binaries.
|
||||
|
||||
If you want to donate directly to support further development, here is my wallet
|
||||
You can find the latest releases and precompiled binaries on GitHub under [Releases](https://github.com/xmr-stak/xmr-stak/releases).
|
||||
|
||||
fireice-uk:
|
||||
```
|
||||
@@ -75,97 +40,6 @@ psychocrypt:
|
||||
43NoJVEXo21hGZ6tDG6Z3g4qimiGdJPE6GRxAmiWwm26gwr62Lqo7zRiCJFSBmbkwTGNuuES9ES5TgaVHceuYc4Y75txCTU
|
||||
```
|
||||
|
||||
## Common Issues
|
||||
|
||||
**SeLockMemoryPrivilege failed**
|
||||
|
||||
Please see [config.txt](config.txt) under section **LARGE PAGE SUPPORT**
|
||||
|
||||
For Windows 7 pro, or Windows 8 and above see [this article](https://msdn.microsoft.com/en-gb/library/ms190730.aspx) (make sure to reboot afterwards!).
|
||||
|
||||
For Windows 7 Home :
|
||||
|
||||
1) Download and install [Windows Server 2003 Resource Kit Tools](https://www.microsoft.com/en-us/download/details.aspx?id=17657). Ignore incompatiablity warning during installation.
|
||||
|
||||
2) 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)
|
||||
|
||||
3) 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](https://go.microsoft.com/fwlink/?LinkId=746572) 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](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 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](https://en.wikipedia.org/wiki/AES_instruction_set). 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).
|
||||
|
||||
|
||||
## Advanced Compile Options
|
||||
|
||||
The build system is CMake, if you are not familiar with CMake you can learn more [here](https://cmake.org/runningcmake/).
|
||||
|
||||
### Short Description
|
||||
|
||||
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 than `g`(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`
|
||||
|
||||
After the configuration you need to call
|
||||
`make install` for slow sequential build
|
||||
or
|
||||
`make -j install` for faster parallel build
|
||||
and install.
|
||||
|
||||
### xmr-stak-cpu Compile Options
|
||||
- `CMAKE_INSTALL_PREFIX` install miner to the home folder
|
||||
- `cmake . -DCMAKE_INSTALL_PREFIX=$HOME/xmr-stak-cpu`
|
||||
- you can find the binary and the `config.txt` file after `make 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` or `Debug`
|
||||
- you should always keep `Release` for your productive miners
|
||||
- `MICROHTTPD_ENABLE` allow to disable/enable the dependency *microhttpd*
|
||||
- by default enabled
|
||||
- there is no *http* interface available if option is disabled: `cmake . -DMICROHTTPD_ENABLE=OFF`
|
||||
- `OpenSSL_ENABLE` allow to disable/enable the dependency *OpenSSL*
|
||||
- by default enabled
|
||||
- it is not possible to connect to a *https* secured pool if option is disabled: `cmake . -DOpenSSL_ENABLE=OFF`
|
||||
- `HWLOC_ENABLE` allow to disable/enable the dependency *hwloc*
|
||||
- by default enabled
|
||||
- the config suggestion is not optimal if option is disabled: `cmake . -DHWLOC_ENABLE=OFF`
|
||||
|
||||
## PGP Key
|
||||
```
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
+61
@@ -0,0 +1,61 @@
|
||||
# FAQ
|
||||
|
||||
## Content Overview
|
||||
* [SeLockMemoryPrivilege failed](#selockmemoryprivilege-failed)
|
||||
* [VirtualAlloc failed](#virtualalloc-failed)
|
||||
* [Error msvcp140.dll and vcruntime140.dll not available](#error-msvcp140dll-and-vcruntime140dll-not-available)
|
||||
* [Error: MEMORY ALLOC FAILED: mmap failed](#error-memory-alloc-failed-mmap-failed)
|
||||
* [Illegal instruction (core dumped)](#illegal-instruction)
|
||||
* [Virus Protection Alert](#virus-protection-alert)
|
||||
|
||||
## SeLockMemoryPrivilege failed
|
||||
|
||||
Please see [config.txt](config.txt) under section **LARGE PAGE SUPPORT**
|
||||
|
||||
For Windows 7 pro, or Windows 8 and above see [this article](https://msdn.microsoft.com/en-gb/library/ms190730.aspx) (make sure to reboot afterwards!).
|
||||
|
||||
For Windows 7 Home :
|
||||
|
||||
1) Download and install [Windows Server 2003 Resource Kit Tools](https://www.microsoft.com/en-us/download/details.aspx?id=17657). Ignore incompatiablity warning during installation.
|
||||
|
||||
2) 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)
|
||||
|
||||
3) 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.
|
||||
|
||||
## Error msvcp140.dll and vcruntime140.dll not available
|
||||
|
||||
Download and install this [runtime package](https://go.microsoft.com/fwlink/?LinkId=746572) 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
|
||||
|
||||
On Linux you will need to configure large page support `sudo sysctl -w vm.nr_hugepages=128` and increase your
|
||||
ulimit -l. To 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
|
||||
|
||||
This typically means you are trying to run it on a CPU that does not have [AES](https://en.wikipedia.org/wiki/AES_instruction_set). 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).
|
||||
|
||||
## Virus Protection Alert
|
||||
|
||||
Some Virus protection software flag the miner binary as *Male Ware*.
|
||||
In this case the binary is moved to the quarantine area of the protection software.
|
||||
This is a wrong alert and not avoid by use.
|
||||
Add the binary to to protection software white list to solve this issue.s
|
||||
@@ -0,0 +1,81 @@
|
||||
# Compile xmr-stak
|
||||
|
||||
## Content Overview
|
||||
* [Build System](#build-system)
|
||||
* [Generic Build Options](#generic-build-options)
|
||||
* [CPU Build Options](#cpu-build-options)
|
||||
* [AMD Build Options](#amd-build-options)
|
||||
* [NVIDIA Build Options](#nvidia-build-options)
|
||||
* [Compile in Windows](compile_Windows.md)
|
||||
* [Compile in Linux](compile_Linux.md)
|
||||
* [Compile in FreeBSD](compile_FreeBSD.md)
|
||||
|
||||
## Build System
|
||||
|
||||
The build system is CMake, if you are not familiar with CMake you can learn more [here](https://cmake.org/runningcmake/).
|
||||
|
||||
By default the miner will be build with all dependencies. Each optional dependency can be disabled (this will reduce the miner features).
|
||||
|
||||
There are two easy ways to set variables for `cmake` to configure *xmr-stak*
|
||||
- use the ncurses GUI
|
||||
- `ccmake .`
|
||||
- edit your options
|
||||
- end the GUI by pressing the key `c`(create) and than `g`(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`
|
||||
|
||||
After the configuration you need to compile the miner, follow the guide for your platform:
|
||||
* [Compile in Windows](compile_Windows.md)
|
||||
* [Compile in Linux](compile_Linux.md)
|
||||
* [Compile in FreeBSD](compile_FreeBSD.md)
|
||||
|
||||
## Generic Build Options
|
||||
- `CMAKE_INSTALL_PREFIX` install miner to the home folder
|
||||
- `cmake . -DCMAKE_INSTALL_PREFIX=$HOME/xmr-stak-cpu`
|
||||
- you can find the binary and the `config.txt` file after `make 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` or `Debug`
|
||||
- you should always keep `Release` for your productive miners
|
||||
- `MICROHTTPD_ENABLE` allow to disable/enable the dependency *microhttpd*
|
||||
- there is no *http* interface available if option is disabled: `cmake . -DMICROHTTPD_ENABLE=OFF`
|
||||
- `OpenSSL_ENABLE` allow to disable/enable the dependency *OpenSSL*
|
||||
- it is not possible to connect to a *https* secured pool if option is disabled: `cmake . -DOpenSSL_ENABLE=OFF`
|
||||
|
||||
## CPU Build Options
|
||||
|
||||
- `CPU_ENABLE` allow to disable/enable the CPU backend of the miner
|
||||
- `HWLOC_ENABLE` allow to disable/enable the dependency *hwloc*
|
||||
- the config suggestion is not optimal if option is disabled: `cmake . -DHWLOC_ENABLE=OFF`
|
||||
- disabling can be reduce the miner performance
|
||||
|
||||
## AMD Build Options
|
||||
|
||||
- `OpenCL_ENABLE` allow to disable/enable the AMD backend of the miner
|
||||
|
||||
## NVIDIA Build Options
|
||||
|
||||
- `CUDA_ENABLE` allow to disable/enable the NVIDIA backend of the miner
|
||||
- `CUDA_ARCH` build for a certain compute architecture
|
||||
- this option needs a semicolon separated list
|
||||
- `cmake . -DCUDA_ARCH=61` or `cmake . -DCUDA_ARCH=20;61`
|
||||
- [list](https://developer.nvidia.com/cuda-gpus) with NVIDIA compute architectures
|
||||
- by default the miner is created for all currently available compute architectures
|
||||
- `CUDA_COMPILER` select the compiler for the device code
|
||||
- valid options: `nvcc` or `clang` if clang 3.9+ is installed
|
||||
```
|
||||
# compile host and device code with clang
|
||||
export CC=/usr/bin/clang
|
||||
export CXX=/usr/bin/clang++
|
||||
cmake . -DCUDA_COMPILER=clang
|
||||
```
|
||||
- `XMR-STAK_LARGEGRID` use `32` or `64` bit integer for on device indices
|
||||
- default is enabled
|
||||
- on old GPUs it can increase the hash rate if disabled: `cmake . -DXMR-STAK_LARGEGRID=OFF`
|
||||
- if disabled it is not allowed to use more than `1000` threads on the device
|
||||
- `XMR-STAK_THREADS` give the compiler information which value for `threads` is used at runtime
|
||||
- default is `0` (compile time optimization)
|
||||
- if the miner is compiled and used at runtime with the some value it can increase the hash rate: `cmake . -DXMR-STAK_THREADS=32`
|
||||
@@ -13,8 +13,6 @@ Type 'y' and hit enter to proceed with installing the packages.
|
||||
git clone https://github.com/fireice-uk/xmr-stak-cpu.git
|
||||
cd xmr-stak-cpu
|
||||
cmake .
|
||||
make
|
||||
make install
|
||||
|
||||
Now you have the binary located at "bin/xmr-stak-cpu". Either move this file to your desired location or run "make install" to install it to your path.
|
||||
|
||||
You can edit the prebuilt [config.txt](config.txt) file found in the root of the repository or you can make your own. This file is required to run xmr-stak-cpu.
|
||||
Now you have the binary located at "bin/xmr-stak" and the needed shared libraries.
|
||||
@@ -37,8 +37,7 @@
|
||||
make install
|
||||
```
|
||||
|
||||
- g++ 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.
|
||||
|
||||
- g++ version 5.1 or higher is required for full C++11 support.
|
||||
If you want to compile the binary without installing libraries / compiler or just compile binary for some other distribution, please check the [build_xmr-stak_docker.sh script](scripts/build_xmr-stak_docker/build_xmr-stak_docker.sh).
|
||||
|
||||
### To do a static build for a system without gcc 5.1+
|
||||
@@ -47,6 +46,3 @@ If you want to compile the binary without installing libraries / compiler or jus
|
||||
make install
|
||||
```
|
||||
Note - cmake caches variables, so if you want to do a dynamic build later you need to specify '-DCMAKE_LINK_STATIC=OFF'
|
||||
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
## Compile
|
||||
|
||||
- download and unzip `xmr-stak-cpu`
|
||||
- download and unzip `xmr-stak
|
||||
- open the command line terminal `cmd`
|
||||
- `cd` to your unzipped source code directory
|
||||
- execute the following commands (NOTE: path to VS2017 can be different)
|
||||
@@ -71,4 +71,3 @@
|
||||
cmake --build . --config Release --target install
|
||||
cd bin\Release
|
||||
```
|
||||
- customize your `config.txt` file by adding the pool, username and password
|
||||
@@ -0,0 +1,67 @@
|
||||
# Tuning Guide
|
||||
|
||||
## Content Overview
|
||||
* [NVIDIA Backend](#nvidia-backend)
|
||||
* [Choose Value for `threads` and `blocks`](#choose-value-for-threads-and-blocks)
|
||||
* [Add more GPUs](#add-more-gpus)
|
||||
* [AMD Backend](#amd-backend)
|
||||
* [Choose `intensity` and `worksize`](#choose-intensity-and-worksize)
|
||||
* [Add more GPUs](#add-more-gpus)
|
||||
|
||||
## NVIDIA Backend
|
||||
|
||||
By default the NVIDIA backend can be tuned in the config file `nvidia.txt`
|
||||
|
||||
### Choose Value for `threads` and `blocks`
|
||||
|
||||
The optimal parameter for the `threads` and `blocks` option in `config.txt` depend on your GPU.
|
||||
For all GPU's with a compute capability `>=2.0` and `<6.0` there is a restriction of the amount of RAM that can be used for the mining algorithm.
|
||||
The maximum RAM that can be used must be less than 2GB (e.g. GTX TITAN) or 1GB (e.g. GTX 750-TI).
|
||||
The amount of RAM used for mining can be changed with `"threads" : T, "blocks : B"`.
|
||||
- `T` = threads used per block
|
||||
- `B` = CUDA blocks started (should be a multiple of the multiprocessors `M` on the GPU)
|
||||
|
||||
For the 2GB limit the equations must be full filled: `T * B * 2 <= 1900` and ` B mod M == 0`.
|
||||
The value `1900` is used because there is a little data overhead for administration.
|
||||
The GTX Titan X has 24 multiprocessors `M`, this means a valid and good starting configuration is `"threads" : 16, "blocks : 48"`
|
||||
and full fill all restrictions `16 * 48 * 2 = 1536` and `48 mod 24 = 0`.
|
||||
|
||||
The memory limit for NVIDIA Pascal GPUs is `16` GiB if the newest CUDA driver is used.
|
||||
|
||||
### Add More GPUs
|
||||
|
||||
To add a new GPU you need to add a new config set to `gpu_threads_conf`.
|
||||
`index` is the number of the gpu, the index order not follow the order from `nvidia-smi` or the order shown in windows.
|
||||
|
||||
```
|
||||
"gpu_threads_conf" :
|
||||
[
|
||||
{ "index" : 0, "threads" : 17, "blocks" : 60, "bfactor" : 0, "bsleep" : 0, "affine_to_cpu" : false},
|
||||
{ "index" : 1, "threads" : 17, "blocks" : 60, "bfactor" : 0, "bsleep" : 0, "affine_to_cpu" : false},
|
||||
],
|
||||
```
|
||||
|
||||
## AMD Backend
|
||||
|
||||
By default the NVIDIA backend can be tuned in the config file `nvidia.txt`
|
||||
|
||||
### Choose `intensity` and `worksize`
|
||||
|
||||
Intensity means the number of threads used to mine.
|
||||
`worksize` is the number of threads working together to increase the miner performance.
|
||||
In the most cases a `worksize` of `16` or `8` is optimal.
|
||||
|
||||
### Add More GPUs
|
||||
|
||||
To add a new GPU you need to add a new config set to `gpu_threads_conf` and increase `gpu_thread_num"` to the number of gpus (entries in `gpu_threads_conf`).
|
||||
`index` is the number of the gpu.
|
||||
|
||||
```
|
||||
"gpu_thread_num" : 2,
|
||||
|
||||
"gpu_threads_conf" :
|
||||
[
|
||||
{ "index" : 0, "intensity" : 1000, "worksize" : 8, "affine_to_cpu" : false },
|
||||
{ "index" : 1, "intensity" : 1000, "worksize" : 8, "affine_to_cpu" : false },
|
||||
],
|
||||
```
|
||||
@@ -0,0 +1,54 @@
|
||||
# HowTo Use xmr-stak
|
||||
|
||||
## Content Overview
|
||||
* [Configuration](#configuration)
|
||||
* [Usage on Windows](#usage-on-windows)
|
||||
* [Usage on Linux](#usage-on-linux)
|
||||
* [Command Line Options](#command-line-options)
|
||||
* [HTML and JSON API report configuraton](#xx)
|
||||
|
||||
## Configurations
|
||||
|
||||
Before you started the miner the first time there are no config files available.
|
||||
Config files will be created at the first start.
|
||||
The number of files depends on the available backends.
|
||||
`config.txt` contains the common miner settings.
|
||||
`amd.txt`, `cpu.txt` and `nvidia.txt` contains miner backend specific settings and can be used for further tuning ([Tuning Guide](tuning.md)).
|
||||
|
||||
|
||||
## Usage on Windows
|
||||
1) Double click the `xmr-stak.exe` file
|
||||
2) Fill in the pool url, username and password
|
||||
|
||||
## Usage on Linux
|
||||
1) Open a terminal within the folder with the binary
|
||||
2) Start the miner with `./xmr-stak`
|
||||
|
||||
## Command Line Options
|
||||
|
||||
The miner allow to overwrite some of the settings via command line options.
|
||||
|
||||
```
|
||||
Usage: xmr-stak [OPTION]... [CONFIGFILE]
|
||||
|
||||
-c, --config common miner configuration file
|
||||
-h, --help show this help
|
||||
--noCPU disable the CPU miner backend
|
||||
--cpu FILE CPU backend miner config file
|
||||
--noAMD disable the AMD miner backend
|
||||
--amd FILE AMD backend miner config file
|
||||
|
||||
The Following options temporary overwrites the config file settings:
|
||||
-o, --url URL pool url and port, e.g. pool.usxmrpool.com:3333
|
||||
-u, --user USERNAME pool user name or wallet address
|
||||
-p, --pass PASSWD pool password, in the most cases x or empty ""
|
||||
|
||||
## HTML and JSON API report configuraton
|
||||
|
||||
To configure the reports shown on the [README](README.md) side you need to edit the httpd_port variable. Then enable wifi on your phone and navigate to [miner ip address]:[httpd_port] in your phone browser. If you want to use the data in scripts, you can get the JSON version of the data at url [miner ip address]:[httpd_port]/api.json
|
||||
|
||||
## Default Developer Donation
|
||||
By default the miner will donate 2% of the hashpower (2 minute in 100 minutes) to my pool. If you want to change that, edit **xmrstak/donate-level.hpp** before you build the binaries.
|
||||
|
||||
If you want to donate directly to support further development, here is my wallet
|
||||
```
|
||||
Reference in New Issue
Block a user