Skip to content
mvis edited this page Aug 20, 2017 · 13 revisions

Installing the Miner

Quick Start

  • Unzip the download package anywhere you like.
  • Move ethminer.ini to either %LocalAppData%/ethminer (Windows) or $HOME/.config/ethminer (Linux). If that folder path does not exist, you will need to create it manually.
  • Windows Only: download and install both the VC 2013 Redistributable and the VC 2015 Redistributable
  • Run ethminer.exe --list-devices -G. Verify your GPUs are recognized. Pay special attention to the PlatformID. If it is anything other than 0, you will need to add --opencl-platform <n> to your command line.
  • Start mining with ethminer.exe -G -N 127.0.0.1:8545 -S 8008. This assumes the node is on the same machine as the miner.

Configuration Details

MVis-ethminer is partially configured via command line parameters, and partially by settings in ethminer.ini. Run ethminer --help to see which settings are available on the command line. Have a look inside the .ini file to see what settings can be configured there. (It is fairly well commented). Some settings can only be set on the command line (legacy ones mostly), some settings can only be set in the .ini file (newer ones mostly), and some can be set in both. For the last group, command line settings take precedence over the .ini file settings.

Command Line Options

Node configuration:
    -N, --node <host:rpc_port>  Host address and RPC port of your node. 
        (default: 127.0.0.1:8545)
    -S, --stratum-port <port>  Stratum port of your node (default: disabled).  Setting 
        this option implicitly enables stratum mode, otherwise polling method is used 
        to obtain work packages (ie. getWork)
    -P, --stratum-pwd <string>  Stratum password (default: disabled)
    -N2, --node2 <host:rpc_port>  Failover node (default: disabled)
    -S2, --stratum-port2 <port>  Stratum port of failover node (default: disabled)
    -P2, --stratum-pwd2 <string>  Stratum password of failover node (default: disabled)
    -I, --polling-interval <n>  If using getWork (polling) to obtain work packages, check 
        for new work every <n> milliseconds (default: 200). Does not apply to stratum 
        mode (-S).
    --work-timeout <n> In stratum mode, if more than <n> seconds go by with no new work 
        package, attempt to reconnect, or, if a failover node is available, switch to 
        the failover.  Defaults to 180. Don't set lower than max. avg. block time
    -R, --farm-retries <n> Number of retries until switch to failover (default: 4)

 Benchmarking mode:
    -M [<n>],--benchmark [<n>] Benchmark for mining and exit; Optionally specify block 
        number to benchmark against specific DAG.
    --benchmark-warmup <seconds>  Set the duration of warmup for the benchmark tests 
      (default: 8).
    --benchmark-trial <seconds>  Set the duration for each trial for the benchmark tests
      (default: 3).
    --benchmark-trials <n>  Set the number of benchmark tests (default: 5).

 Mining configuration:
    -C,--cpu  CPU mining
    -G,--opencl  When mining use the GPU via OpenCL.
    --cl-local-work <n> Set the OpenCL local work size. Default is 128
    --cl-work-multiplier <n> This value multiplied by the cl-local-work value equals 
       the number of hashes computed per kernel run (ie. global work size). (Default: 8192)
    --opencl-platform <n>  When mining using -G/--opencl use OpenCL platform n (default: 0).
    --opencl-device <n>  When mining using -G/--opencl use OpenCL device n (default: 0).
    --opencl-devices <0 1 ..n> Select which OpenCL devices to mine on. Default: all
    -t, --mining-threads <n> Limit number of CPU/GPU miners to n (default: all)
    --allow-opencl-cpu  Allows CPU to be considered as an OpenCL device if 
      the OpenCL platform supports it.
    --list-devices List the detected OpenCL/CUDA devices and exit. Should be 
      combined with -G or -U flag
    -L, --dag-load-mode <mode> DAG generation mode.
            parallel    - load DAG on all GPUs at the same time (default)
            sequential  - load DAG on GPUs one after another. Use this when the 
                          miner crashes during DAG generation
            single <n>  - generate DAG on device n, then copy to other devices
    --cl-extragpu-mem <n> Set the memory (in MB) you believe your GPU requires 
       for stuff other than mining. default: 0

 Miscellaneous Options:
    --export-dag <n>  - Generate DAG for block <n> and save as file in executable folder 
    --verify-dag      - Spot check DAG entries 
    --config <FileSpec>  - Full path to an INI file containing program options. 
       Windows default: %LocalAppData%/ethminer/ethminer.ini.  
       Linux default: $HOME/.config/ethminer/ethminer.ini.  If this option is 
       specified, it must appear before all others.
 
General Options:
    -V,--version  Show the version and exit.
    -h,--help  Show this help message and exit.

INI File Settings

;--------------------------------------------------------
[General]

; Random or Linear.  Specifies how to generate the starting nonce for each kernel run. 
; Legacy (and current default) behavior was to simply increment the last nonce from the 
; previous kernel run by one.  When set to Random, a random number generator is used 
; to determine the starting nonce for each kernel run.  Note: within a kernel run, 
; nonces are always incremented in a linear fashion.
NonceGeneration=Linear

;--------------------------------------------------------
[Node]

; IP and RPC port of your primary node.  Note that RPC is required even if you are 
;using stratum.  Defaults to 127.0.0.1 and 8545
Host=127.0.0.1
RPCPort=8545

; Port used for stratum protocol.  Commenting this out activates getWork mode (polling).
StratumPort=8008

; Password for stratum protocol
;StratumPwd=abcd

;--------------------------------------------------------
[Node2]

; Secondary (failover) node, if you have one. Default is disabled.
;Host=127.0.0.1
;RPCPort=8545
;StratumPort=8008
;StratumPwd=abc


;--------------------------------------------------------
[Network]

; UDP port ethminer listens on for connections from MVis
UdpListen=5225

; MVis needs to supply this password in order to be able to connect to this mining rig.
; Leave blank to disable passwords.
UdpPassword=


;--------------------------------------------------------
[ThermalProtection]

; Temperature provider ('amd_adl' or 'speedfan')
TempProvider=amd_adl

; These settings are normally adjusted using the MVis program.  It is not recommended to 
; change them here.

; Default temperature at which GPU throttling is activated. This applies to all GPUs 
; on this mining rig. Note: throttling occurs at the hashing level, not the driver level.
ThrottleTemp=80

; Number of seconds after which the entire mining rig will shutdown if one or more GPUs
; remain at or above ThrottleTemp.
ShutDown=20

Failover Nodes

MVis-ethminer can be configured to work with either one or two nodes. See the -N and -N2 options. If the first node becomes unresponsive, the miner will automatically switch to the failover node.

Screen Output

positioned-output

MVis-ethminer uses positioned output to display useful information regarding your mining rig. The image above shows an example of a mining rig with 3 GPUs.

  • Rates: the total combined rate in MH/s, followed by the individual GPU rates.
  • Temp: GPU temperatures
  • Fan: GPU fan speeds
  • Block #: current network block number as reported by your node
  • Block time: the number of minutes:seconds since the last block was mined on the network, as reported by your node.
  • Target: the upper 64 bits of the current network Target, sometimes referred to as the Boundary. If your miner finds a hash value lower than the target, you will become the miner of the next block, and receive the appropriate reward. This is sometimes referred to in MVis documentation as finding a solution. The target value is inversely proportional to the network difficulty level, according to the formula Target64 = 2^64 / Difficulty
  • Best Hash: the upper 64 bits of the best hash found by this mining rig, since the last block mined by this rig or any other rig in your mining operation. Remember, lower is better.
  • Work Units: the number of work units found by this mining rig. A work unit is similar to a share in pool mining, except there's no reward. It is a solution found for a target value that has been adjusted according to the hashing power of your mining rig. Using default settings, you should expect to see 6 work units per hour / per GPU, on average.
  • Last: the upper 64 bits of the last work unit found by this mining rig
  • Solutions: the number of solutions found (blocks mined) by this mining rig during the current mining run.
  • Hash faults: the number of hash faults that have been detected per GPU during this mining run. A hash fault occurs when a hash value computed by the GPU does not match the hash value computed by the CPU. One hash value per kernel run is checked. So depending on your settings, that means about 10 - 20 hashes are checked per second. Note that this is a much higher frequency of checking compared to the original Genoil miner, so don't be surprised if you see more hash faults than you are used to. Hash faults can be caused by excessive overclocking, overheating, faulty or low quality components, as well an any number of other things.

Limitations

  • CUDA mining is broken. The old code from Genoil is still there, but I don't have an NVidia device so I have been unable to duplicate the features I added in the OpenCL code in the CUDA code. Hopefully I will be able to address this in the near future, or better yet, maybe an experienced CUDA dev will step up and volunteer for this effort. 😃
  • Pool mining is broken.
  • GPU temperatures and fan speeds are unavailable when running under Linux.