diff --git a/README.md b/README.md index 43de2e6..c1cf297 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -### XMR-Stak-CPU - Monero mining software +# 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 +## HTML reports -#### Usage on Windows +## Usage on Windows 1) Edit the config.txt file to enter your pool login and password. 2) Double click the exe file. @@ -42,22 +42,27 @@ lBoYbHZRpcWUfDO8o2y+ZQIs+yzMoJHHBBXB9fsHlwq62PTtzjsEVwB2aq9ABzk= ``` -#### Usage on Linux (Debian-based distros) +## Compile on Linux (Debian-based distros) + +### GNU Compiler ``` sudo apt-get install libmicrohttpd-dev libssl-dev cmake build-essential cmake . - make + 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. +- 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. -To do a static build for a system without gcc 5.1+ +### To do a static build for a system without gcc 5.1+ ``` - cmake -DCMAKE_BUILD_TYPE=STATIC - make + cmake -DCMAKE_BUILD_TYPE=STATIC . + 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](#advanced-compile-options). + #### CPU mining performance Performance is nearly identical to the closed source paid miners. Here are some numbers: @@ -67,7 +72,7 @@ Performance is nearly identical to the closed source paid miners. Here are some * **Dual X5650** - 466 H/s (depends on NUMA) * **Dual E5640** - 365 H/s (same as above) -#### Default dev donation +## Default dev donation 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 @@ -76,7 +81,7 @@ If you want to donate directly to support further development, here is my wallet 4581HhZkQHgZrZjKeCfCJxZff9E3xCgHGF25zABZz7oR71TnbbgiS7sK9jveE6Dx6uMs2LwszDuvQJgRZQotdpHt1fTdDhk ``` -#### PGP Key +## PGP Key ``` -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2 @@ -110,7 +115,7 @@ c4hC0Yg9Dha1OoE5CJCqVL+ic4vAyB1urAwBlsd/wH8= -----END PGP PUBLIC KEY BLOCK----- ``` -### Common Issues +## Common Issues **SeLockMemoryPrivilege failed** @@ -160,4 +165,38 @@ You can also do it Windows-style and simply run-as-root, but this is NOT recomme 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_BUILD_TYPE` set the build type + - valid options: `Release` or `Debug` + - you should always keep `Release` for your productive miners +- `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`