Update README + FAQ.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
diff --git a/README b/README
index a7d41b9..702cc75 100644
--- a/README
+++ b/README
@@ -118,43 +118,20 @@ Usage instructions: Run "cgminer --help" to see options:
Usage: . [-atDdGCgIKklmpPQqrRsTouvwOchnV]
Options for both config file and command line:
---algo|-a <arg> Specify sha256 implementation for CPU mining:
- auto Benchmark at startup and pick fastest algorithm
- c Linux kernel sha256, implemented in C
- 4way tcatm's 4-way SSE2 implementation
- via VIA padlock implementation
- cryptopp Crypto++ C/C++ implementation
- sse2_64 SSE2 64 bit implementation for x86_64 machines
- sse4_64 SSE4.1 64 bit implementation for x86_64 machines (default: sse2_64)
--api-description Description placed in the API status header (default: cgminer version)
--api-listen Listen for API requests (default: disabled)
--api-network Allow API (if enabled) to listen on/for any address (default: only 127.0.0.1)
--api-port Port number of miner API (default: 4028)
--auto-fan Automatically adjust all GPU fan speeds to maintain a target temperature
--auto-gpu Automatically adjust all GPU engine clock speeds to maintain a target temperature
---cpu-threads|-t <arg> Number of miner CPU threads (default: 4)
--debug|-D Enable debug output
---device|-d <arg> Select device to use, (Use repeat -d for multiple devices, default: all)
---disable-gpu|-G Disable GPU mining even if suitable devices exist
--donation <arg> Set donation percentage to cgminer author (0.0 - 99.9) (default: 0.0)
---enable-cpu|-C Enable CPU mining with GPU mining (default: no CPU mining if suitable GPUs exist)
--expiry|-E <arg> Upper bound on how many seconds after getting work we consider a share from it stale (default: 120)
--failover-only Don't leak work to backup pools when primary pool is lagging
---gpu-threads|-g <arg> Number of threads per GPU (1 - 10) (default: 2)
---gpu-engine <arg> GPU engine (over)clock range in Mhz - one value, range and/or comma separated list (e.g. 850-900,900,750-850)
---gpu-fan <arg> GPU fan percentage range - one value, range and/or comma separated list (e.g. 25-85,85,65)
---gpu-memclock <arg> Set the GPU memory (over)clock in Mhz - one value for all or separate by commas for per card.
---gpu-memdiff <arg> Set a fixed difference in clock speed between the GPU and memory in auto-gpu mode
---gpu-powertune <arg> Set the GPU powertune percentage - one value for all or separate by commas for per card.
---gpu-vddc <arg> Set the GPU voltage in Volts - one value for all or separate by commas for per card.
---intensity|-I <arg> Intensity of GPU scanning (d or -10 -> 10, default: d to maintain desktop interactivity)
---kernel-path|-K <arg> Specify a path to where the kernel .cl files are (default: "/usr/local/bin")
---kernel|-k <arg> Select kernel to use (poclbm or phatk - default: auto)
--load-balance Change multipool strategy from failover to even load balance
--log|-l <arg> Interval in seconds between log output (default: 5)
--monitor|-m <arg> Use custom pipe cmd for output messages
--no-longpoll Disable X-Long-Polling support
---no-restart Do not attempt to restart GPUs that hang
--pass|-p <arg> Password for bitcoin JSON-RPC server
--per-device-stats Force verbose mode and output per-device statistics
--protocol-dump|-P Verbose dump of protocol-level activities
@@ -166,31 +143,70 @@ Options for both config file and command line:
--retry-pause|-R <arg> Number of seconds to pause, between retries (default: 5)
--rotate <arg> Change multipool strategy from failover to regularly rotate at N minutes (default: 0)
--round-robin Change multipool strategy from failover to round robin on failure
---scan-serial|-S <arg> Serial port to probe for BitForce device
--scan-time|-s <arg> Upper bound on time spent scanning current work, in seconds (default: 60)
--sched-start <arg> Set a time of day in HH:MM to start mining (a once off without a stop time)
--sched-stop <arg> Set a time of day in HH:MM to stop mining (will quit without a start time)
--shares <arg> Quit after mining N shares (default: unlimited)
--submit-stale Submit shares even if they would normally be considered stale
--syslog Use system log for output messages (default: standard error)
---temp-cutoff <arg> Temperature where a GPU device will be automatically disabled, one value or comma separated list (default: 95)
---temp-hysteresis <arg> Set how much the temperature can fluctuate outside limits when automanaging speeds (default: 3)
---temp-overheat <arg> Overheat temperature when automatically managing fan and GPU speeds (default: 85)
---temp-target <arg> Target temperature when automatically managing fan and GPU speeds (default: 75)
--text-only|-T Disable ncurses formatted screen output
--url|-o <arg> URL for bitcoin JSON-RPC server
--user|-u <arg> Username for bitcoin JSON-RPC server
---vectors|-v <arg> Override detected optimal vector width (1, 2 or 4)
--verbose Log verbose output to stderr as well as status output
---worksize|-w <arg> Override detected optimal worksize (default: 0)
--userpass|-O <arg> Username:Password pair for bitcoin JSON-RPC server
Options for command line only:
--config|-c <arg> Load a JSON-format configuration file
See example.conf for an example configuration.
--help|-h Print this message
---ndevs|-n Enumerate number of detected GPUs and exit
--version|-V Display version and exit
+
+GPU only options:
+
+--auto-fan Automatically adjust all GPU fan speeds to maintain a target temperature
+--auto-gpu Automatically adjust all GPU engine clock speeds to maintain a target temperature
+--device|-d <arg> Select device to use, (Use repeat -d for multiple devices, default: all)
+--disable-gpu|-G Disable GPU mining even if suitable devices exist
+--gpu-threads|-g <arg> Number of threads per GPU (1 - 10) (default: 2)
+--gpu-engine <arg> GPU engine (over)clock range in Mhz - one value, range and/or comma separated list (e.g. 850-900,900,750-850)
+--gpu-fan <arg> GPU fan percentage range - one value, range and/or comma separated list (e.g. 25-85,85,65)
+--gpu-memclock <arg> Set the GPU memory (over)clock in Mhz - one value for all or separate by commas for per card.
+--gpu-memdiff <arg> Set a fixed difference in clock speed between the GPU and memory in auto-gpu mode
+--gpu-powertune <arg> Set the GPU powertune percentage - one value for all or separate by commas for per card.
+--gpu-vddc <arg> Set the GPU voltage in Volts - one value for all or separate by commas for per card.
+--intensity|-I <arg> Intensity of GPU scanning (d or -10 -> 10, default: d to maintain desktop interactivity)
+--kernel-path|-K <arg> Specify a path to where the kernel .cl files are (default: "/usr/local/bin")
+--kernel|-k <arg> Select kernel to use (poclbm or phatk - default: auto)
+--no-restart Do not attempt to restart GPUs that hang
+--temp-cutoff <arg> Temperature where a GPU device will be automatically disabled, one value or comma separated list (default: 95)
+--temp-hysteresis <arg> Set how much the temperature can fluctuate outside limits when automanaging speeds (default: 3)
+--temp-overheat <arg> Overheat temperature when automatically managing fan and GPU speeds (default: 85)
+--temp-target <arg> Target temperature when automatically managing fan and GPU speeds (default: 75)
+--vectors|-v <arg> Override detected optimal vector width (1, 2 or 4)
+--worksize|-w <arg> Override detected optimal worksize (default: 0)
+--ndevs|-n Enumerate number of detected GPUs and exit
+
+
+BitForce only options:
+
+--scan-serial|-S <arg> Serial port to probe for BitForce device
+
+
+CPU only options:
+
+--algo|-a <arg> Specify sha256 implementation for CPU mining:
+ auto Benchmark at startup and pick fastest algorithm
+ c Linux kernel sha256, implemented in C
+ 4way tcatm's 4-way SSE2 implementation
+ via VIA padlock implementation
+ cryptopp Crypto++ C/C++ implementation
+ sse2_64 SSE2 64 bit implementation for x86_64 machines
+ sse4_64 SSE4.1 64 bit implementation for x86_64 machines (default: sse2_64)
+--cpu-threads|-t <arg> Number of miner CPU threads (default: 4)
+--enable-cpu|-C Enable CPU mining with other mining (default: no CPU mining if suitable devices exist)
+
+
+
---
EXECUTIVE SUMMARY ON USAGE:
@@ -652,7 +668,8 @@ does not support it.
Q: The CPU usage is high.
A: The ATI drivers after 11.6 have a bug that makes them consume 100% of one
CPU core unnecessarily so downgrade to 11.6. Binding cgminer to one CPU core on
-windows can minimise it to 100% (instead of more than one core).
+windows can minimise it to 100% (instead of more than one core). Driver version
+11.11 on linux and 11.12 on windows appear to have fixed this issue.
Q: Can you implement feature X?
A: I can, but time is limited, and people who donate are more likely to get
@@ -713,6 +730,35 @@ you request. It does not correlate with efficient use of your hardware, and is
a measure of a combination of hardware speed, block luck, pool design and other
factors.
+Q: What are the best parameters to pass for X pool/hardware/device.
+A: Virtually always, the DEFAULT parameters give the best results. Most user
+defined settings lead to worse performance. The ONLY thing most users should
+need to set is the Intensity.
+
+Q: What happened to CPU mining?
+A: Being increasingly irrelevant for most users, and a maintenance issue, it is
+no longer under active development and will not be supported unless someone
+steps up to help maintain it. No binary builds supporting CPU mining will be
+released but CPU mining can be built into cgminer when it is compiled.
+
+Q: I upgraded my ATI driver/SDK/cgminer and my hashrate suddenly dropped!
+A: The hashrate performance in cgminer is tied to the version of the ATI SDK
+that is installed only for the very first time cgminer is run. This generates
+binaries that are used by the GPU every time after that. Any upgrades to the
+SDK after that time will have no effect on the binaries. However, if you
+install a fresh version of cgminer, and have since upgraded your SDK, new
+binaries will be built. It is known that the 2.6 ATI SDK has a huge hashrate
+penalty on generating new binaries. It is recommended to not use this SDK at
+this time.
+
+Q: Which ATI SDK is the best for cgminer?
+A: At the moment, versions 2.4 and 2.5 work the best. If you are forced to use
+the 2.6 SDK, -v 1 -w 64 might help, along with not decreasing your memroy clock
+speed.
+
+Q: ATI 79XX support?
+A: Pending.
+
Q: GUI version?
A: No. The RPC interface makes it possible for someone else to write one
though.