README 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. This is a multi-threaded multi-pool CPU and GPU miner for bitcoin.
  2. License: GPLv2. See COPYING for details.
  3. Dependencies:
  4. libcurl http://curl.haxx.se/libcurl/
  5. jansson http://www.digip.org/jansson/
  6. (jansson is included in-tree and not necessary)
  7. libncurses5-dev (or libpdcurses on WIN32)
  8. Basic *nix build instructions:
  9. To build with GPU mining support:
  10. Install AMD APP sdk, latest version - there is no official place to
  11. install it so just keep track of where it is if you're not installing
  12. the include files and library files into the system directory.
  13. (Do NOT install the ati amd sdk if you are on nvidia)
  14. The easiest way to install the ATI AMD SPP sdk on linux is to actually put it
  15. into a system location. Then building will be simpler. Download the correct
  16. version for either 32 bit or 64 bit from here:
  17. http://developer.amd.com/sdks/AMDAPPSDK/downloads/Pages/default.aspx
  18. This will give you a file with a name like AMD-APP-SDK-v2.4-lnx64.tgz
  19. Then:
  20. sudo su
  21. cd /opt
  22. tar xf /path/to/AMD-APP-SDK-v2.4-lnx64.tgz
  23. cd /
  24. tar xf /opt/AMD-APP-SDK-v2.4-lnx64/icd-registration.tgz
  25. ln -s /opt/AMD-APP-SDK-v2.4-lnx64/include/CL /usr/include
  26. ln -s /opt/AMD-APP-SDK-v2.4-lnx64/lib/x86_64/* /usr/lib/
  27. ldconfig
  28. If you are on 32 bit, x86_64 in the 2nd last line should be x86
  29. To actually build:
  30. ./autogen.sh # only needed if building from git repo
  31. CFLAGS="-O3 -Wall -march=native" ./configure
  32. or if you haven't installed the ati files in system locations:
  33. CFLAGS="-O3 -Wall -march=native -I<path to AMD APP include>" LDFLAGS="-L<path to AMD APP lib/x86_64> ./configure
  34. make
  35. If it finds the opencl files it will inform you with
  36. "OpenCL: FOUND. GPU mining support enabled."
  37. Basic WIN32 build instructions (on Fedora 13; requires mingw32):
  38. ./autogen.sh # only needed if building from git repo
  39. rm -f mingw32-config.cache
  40. MINGW32_CFLAGS="-O3 -Wall -msse2" mingw32-configure
  41. make
  42. ./mknsis.sh
  43. Native WIN32 build instructions (on mingw32, on windows):
  44. Install AMD APP sdk, latest version
  45. (Do NOT install the ati amd sdk if you are on nvidia)
  46. Install mingw32
  47. Install libcurl, copy libcurl.m4 into /mingw/share/aclocal
  48. Run:
  49. autoreconf -fvi
  50. CFLAGS="-O3 -Wall -msse2 -I<path to AMD APP include>" LDFLAGS="-L<path to AMD APP lib/x86>" ./configure
  51. make
  52. Usage instructions: Run "cgminer --help" to see options.
  53. ---
  54. EXECUTIVE SUMMARY ON USAGE:
  55. Single pool, regular desktop:
  56. cgminer -o http://pool:port -u username -p password
  57. Single pool, dedicated miner:
  58. cgminer -o http://pool:port -u username -p password -I 8
  59. Multiple pool, dedicated miner:
  60. cgminer -o http://pool1:port -u pool1username -p pool1password -o http://pool2:port -u pool2usernmae -p pool2password -I 8
  61. ---
  62. WHILE RUNNING:
  63. The following options are available while running with a single keypress:
  64. [P]ool management [S]ettings [D]isplay options [Q]uit
  65. P gives you:
  66. Current pool management strategy: Failover
  67. [A]dd pool [R]emove pool [D]isable pool [E]nable pool
  68. [C]hange management strategy [S]witch pool [I]nformation
  69. S gives you:
  70. [D]ynamic mode: On
  71. [L]ongpoll: On
  72. [I]ntensity: Dynamic
  73. [Q]ueue: 0
  74. [S]cantime: 60
  75. [R]etries: -1
  76. [P]ause: 5
  77. D gives you:
  78. Toggle: [D]ebug [N]ormal [S]ilent [V]erbose [R]PC debug
  79. [L]og interval [C]lear
  80. and Q quits the application.
  81. ---
  82. Also many issues and FAQs are covered in the forum thread
  83. dedicated to this program,
  84. http://forum.bitcoin.org/index.php?topic=28402.0
  85. The output line shows the following:
  86. [(5s):204.4 (avg):203.1 Mh/s] [Q:56 A:51 R:4 HW:0 E:91% U:2.47/m]
  87. Each column is as follows:
  88. A 5 second exponentially decaying average hash rate
  89. An all time average hash rate
  90. The number of requested work items
  91. The number of accepted shares
  92. The number of rejected shares
  93. The number of hardware erorrs
  94. The efficiency defined as the accepted shares / requested work
  95. The utility defines as the number of shares / minute
  96. The cgminer status line shows:
  97. TQ: 1 ST: 1 LS: 0 SS: 0 DW: 0 NB: 1 LW: 8 LO: 1 RF: 1 I: 2
  98. TQ is Total Queued work items.
  99. ST is STaged work items (ready to use).
  100. LS is Longpoll Staged work items (mandatory new work)
  101. SS is Stale Shares discarded (detected and not submitted so don't count as rejects)
  102. DW is Discarded Work items (work from block no longer valid to work on)
  103. NB is New Blocks detected on the network
  104. LW is Locally generated Work items (during slow server providing work)
  105. LO is Local generation Occasions (server slow to provide work)
  106. RF is Remote Fail occasions (server slow to accept work)
  107. I is current Intensity (changes in dynamic mode).
  108. NOTE: Running intensities above 9 with current hardware is likely to only
  109. diminish return performance even if the hash rate might appear better. A good
  110. starting baseline intensity to try on dedicated miners is 8. Higher values are
  111. there to cope with future improvements in hardware.
  112. FAILOVER STRATEGIES WITH MULTIPOOL:
  113. A number of different strategies for dealing with multipool setups are
  114. available. Each has their advantages and disadvantages so multiple strategies
  115. are available by user choice, as per the following list:
  116. FAILOVER:
  117. The default strategy is failover. This means that if you input a number of
  118. pools, it will try to use them as a priority list, moving away from the 1st
  119. to the 2nd, 2nd to 3rd and so on. If any of the earlier pools recover, it will
  120. move back to the higher priority ones.
  121. ROUND ROBIN:
  122. This strategy only moves from one pool to the next when the current one falls
  123. idle and makes no attempt to move otherwise.
  124. ROTATE:
  125. This strategy moves at user-defined intervals from one active pool to the next,
  126. skipping pools that are idle.
  127. LOAD BALANCE:
  128. This strategy sends work in equal amounts to all the pools specified. If any
  129. pool falls idle, the rest will take up the slack keeping the miner busy.
  130. ---
  131. LOGGING
  132. cgminer will log to stderr if it detects stderr is being redirected to a file.
  133. To enable logging simply add 2>logfile.txt to your command line and logfile.txt
  134. will contain the logged output at the log level you specify (normal, verbose,
  135. debug etc.)
  136. In other words if you would normally use:
  137. ./cgminer -o xxx -u yyy -p zzz
  138. if you use
  139. ./cgminer -o xxx -u yyy -p zzz 2>logfile.txt
  140. it will log to a file called logfile.txt and otherwise work the same.