diff options
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | CONTIBUTING.md | 7 | ||||
-rw-r--r-- | INSTALL.md | 201 | ||||
-rw-r--r-- | doc/compile.md | 6 | ||||
-rw-r--r-- | doc/compile_FreeBSD.md | 7 | ||||
-rw-r--r-- | doc/compile_Linux.md | 25 | ||||
-rw-r--r-- | doc/tuning.md | 6 | ||||
-rw-r--r-- | xmrstak/http/webdesign.cpp | 2 |
8 files changed, 39 insertions, 217 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 3c7a585..5a3df96 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -project(xmr-stak-cpu) +project(xmr-stak) cmake_minimum_required(VERSION 3.0.1) diff --git a/CONTIBUTING.md b/CONTIBUTING.md new file mode 100644 index 0000000..1f0bd1b --- /dev/null +++ b/CONTIBUTING.md @@ -0,0 +1,7 @@ +## Contributing to XMR-Stak + +:+1::tada: First off, thanks for taking the time to contribute! :tada::+1: + +Please make sure your PR is against **dev** branch. Merging PRs directly into master branch would interfere with our workflow. + + diff --git a/INSTALL.md b/INSTALL.md deleted file mode 100644 index d127bb6..0000000 --- a/INSTALL.md +++ /dev/null @@ -1,201 +0,0 @@ -# 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----- -``` diff --git a/doc/compile.md b/doc/compile.md index 04b1fe4..46d39cb 100644 --- a/doc/compile.md +++ b/doc/compile.md @@ -6,9 +6,9 @@ * [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) +* [Compile on Windows](compile_Windows.md) +* [Compile on Linux](compile_Linux.md) +* [Compile on FreeBSD](compile_FreeBSD.md) ## Build System diff --git a/doc/compile_FreeBSD.md b/doc/compile_FreeBSD.md index 6dd1165..34db1ca 100644 --- a/doc/compile_FreeBSD.md +++ b/doc/compile_FreeBSD.md @@ -10,9 +10,10 @@ From the root shell, run the following commands: 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 . + git clone https://github.com/fireice-uk/xmr-stak.git + mkdir xmr-stak/build + cd xmr-stak/build + cmake .. make install Now you have the binary located at "bin/xmr-stak" and the needed shared libraries. diff --git a/doc/compile_Linux.md b/doc/compile_Linux.md index 4947fd2..f0995b6 100644 --- a/doc/compile_Linux.md +++ b/doc/compile_Linux.md @@ -4,24 +4,36 @@ ``` # Ubuntu / Debian sudo apt install libmicrohttpd-dev libssl-dev cmake build-essential libhwloc-dev - cmake . + git clone https://github.com/fireice-uk/xmr-stak.git + mkdir xmr-stak/build + cd xmr-stak/build + cmake .. make install # Arch sudo pacman -S base-devel hwloc openssl cmake libmicrohttpd - cmake . + git clone https://github.com/fireice-uk/xmr-stak.git + mkdir xmr-stak/build + cd xmr-stak/build + cmake .. make install # Fedora sudo dnf install gcc gcc-c++ hwloc-devel libmicrohttpd-devel libstdc++-static make openssl-devel cmake - cmake . + git clone https://github.com/fireice-uk/xmr-stak.git + mkdir xmr-stak/build + cd xmr-stak/build + cmake .. make install # CentOS sudo yum install centos-release-scl epel-release sudo yum install cmake3 devtoolset-4-gcc* hwloc-devel libmicrohttpd-devel openssl-devel make sudo scl enable devtoolset-4 bash - cmake3 . + git clone https://github.com/fireice-uk/xmr-stak.git + mkdir xmr-stak/build + cd xmr-stak/build + cmake3 .. make install # Ubuntu 14.04 @@ -33,7 +45,10 @@ cd /tmp/cmake-3.4.1/ && ./configure && make && sudo make install && cd - sudo update-alternatives --install /usr/bin/cmake cmake /usr/local/bin/cmake 1 --force sudo apt install libmicrohttpd-dev libssl-dev libhwloc-dev - cmake . + git clone https://github.com/fireice-uk/xmr-stak.git + mkdir xmr-stak/build + cd xmr-stak/build + cmake .. make install ``` diff --git a/doc/tuning.md b/doc/tuning.md index 820fab5..806f059 100644 --- a/doc/tuning.md +++ b/doc/tuning.md @@ -43,11 +43,11 @@ To add a new GPU you need to add a new config set to `gpu_threads_conf`. ## AMD Backend -By default the NVIDIA backend can be tuned in the config file `nvidia.txt` +By default the AMD backend can be tuned in the config file `amd.txt` ### Choose `intensity` and `worksize` -Intensity means the number of threads used to mine. +Intensity means the number of threads used to mine. The maximum intensity is GPU_MEMORY_MB / 2 - 128, however for cards with 4GB and more, the optimum is likely to be lower than that. `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. @@ -64,4 +64,4 @@ To add a new GPU you need to add a new config set to `gpu_threads_conf` and incr { "index" : 0, "intensity" : 1000, "worksize" : 8, "affine_to_cpu" : false }, { "index" : 1, "intensity" : 1000, "worksize" : 8, "affine_to_cpu" : false }, ], -```
\ No newline at end of file +``` diff --git a/xmrstak/http/webdesign.cpp b/xmrstak/http/webdesign.cpp index 4dfd3c2..c6fcea6 100644 --- a/xmrstak/http/webdesign.cpp +++ b/xmrstak/http/webdesign.cpp @@ -97,7 +97,7 @@ extern const char sHtmlCommonHeader [] = "<link rel='stylesheet' href='style.css' /><title>%s</title></head>" "<body>" "<div class='all'>" - "<div class='header'><span style='color: rgb(255, 160, 0)'>XMR</span>-Stak-CPU</div>" + "<div class='header'><span style='color: rgb(255, 160, 0)'>XMR</span>-Stak Monero Miner</div>" "<div class='flex-container'>" "<div class='links flex-item'>" |