Jump to content

lolMiner 1.22: AMD Miner for Ethash / BEAM / GRIN / Ae / Tube / Equihash & more

Recommended Posts

-- Announcement Thread --

Hi there,
this is the announcement thread for lolMiner 1.21 / lolMiner 1.22 a multi algorithm Ethash / Equihash / Beam & Grin miner with focus on AMD GPUs (OpenCL based).
Note it will run on most Nvidia GPUs, too but the speed and stability may vary.


lolMiner 1.21 (latest Windows) lolMiner 1.22 (Latest Linux):
[Linux & Windows] Click me (1.22 - February 5th)

Driver Requirement:
Cuda 10 or 11
- Big Navi: amdgpu-pro 20.40 (Linux) / Adrenaline 20.11.2 (Windows) and newer.
- Navi: amdgpu-pro 19.30 (Linux) / Adrenaline 19.10.02 (Windows) and newer.
- Vega: amdgpu-pro 18.50 (Linux) / Adrenaline 18.10 (Windows) and newer.
- older cards: Blockchain drivers and newer.

There is a new online manual with basic examples hosted here.

Supported Algorithms

Algorithm Solvers for Memory Size
Ethash 4G+
Beam Hash I 3G / 4G
Beam Hash II 3G / 4G
Beam Hash III 3G / 4G
Cuckatoo-31 4G / 8G / 16G
Cuckatoo-32 4G / 8G / 16G
Cuckaroo-30CTX 8G
Cuckaroo-29 6G
Cuckoo-29 6G
CuckarooD-29 4G / 6G
CuckarooM-29 6G / 8G
ZelHash 3G / 4G
Equihash 144/5 2G
Equihash 192/7 3G / 4G
Equihash 210/9 2G

* and many others


Version 1.22
Feature Updates:

  • Significantly improved the performance of zombie mode on RX 400 and RX 500 GPUs in Linux, especially for low zombie tune values between 0 and 4 and rather high epochs. Performance increases by 7-11% on epoch 393 (--4g-alloc-size 4080 on a RX 580. 4G) and 15-20% on epoch 400. Re-tuning using the auto-tune is recommended. Also this version might draw a bit more power, but with approximately same total efficiency.

Version 1.21
Feature Updates:

  • slightly improved the performance of Linux zombie mode on Polaris GPUs on medium tune stages (needs re-tuning from previous settings)
  • increased range of accepted zombie tune parameter for GPUs with high interconnect bandwidth
  • slightly decreased GPU load of Polaris GPUs during DAG build
  • Added more control about handling cards that are detected to be non-working any more. Use parameter --watchdog off/exit/script to turn off any action, exit the miner with a specific exit code or to run an external script. See detail description on the 1.21 release page
  • Nvidia cards that experienced a OpenCL driver error (e.g. "CL_OUT_OF_RESOURCES" will now also trigger the watchdog with the configured effect.
  • The --ethstratum parameter can now take two options separated by a ',' to give different options in case the dual or split mining mode is used.
  • The dns resolving and the connection attempt can now timeout (after 10 seconds each) and will re-try to connect afterwards. This fixes an issue when a pool went offline and the following connection attempt takes indefinitely much time. Each timeout event contributes to the counter that will trigger switching to fail-over pools.
  • New option --apihost (default which controls to which host address the api binds. Use to restrict api access to only your computer, is equivalent to everyone can access when rig is reachable on the used apiport. IPV6 ip addresses should be supported, but is untested.


  • Fixed a issue that might cause the rig to drop to 0 hash rate on epoch changes - including changes with activated ZIL caching
  • Fixed the pool hash rate reporting not working correctly in dual & split stratum modes
  • Fixed the dual stratum connection not picking up the correct worker name when --worker is used
  • Fixed miner not loading Ethash / Etchash kernels on Tahiti and Hawaii GPUs when using older then end 2017 drivers.

Version 1.20
Feature Updates:

  • Significantly improved Ethash mining speed on R9 390 (+6 mh/s on stock settings compared to 1.19) and Etchash speed on R9 290.
  • Added new split & dual mining options. This allows more freedom or better latency and stability on ETH+ZIL dual mining as well as split mining, i.e. let some cards mine ETH while other (3 and 4G) cards mine ETC. Read instructions on usage here:
  • The archives for ZIL example files now contain examples how to bypass the ZIL pools. Also an example configuration for ETH / ETC card split is provided.


  • Fixed a bug with 4G cards crash on mining ETC when trying to falsely enter zombie-tune.
  • Fixed R9 380 cards not start mining Beam
  • Fixed "Address already in use" API bug in Linux (that incidentally got introduced in 1.19)

Version 1.19
Feature Updates:

  • Added automatic tuning mode for --zombie-tune. This is default on, so just run the miner with --4g-alloc-size set only to run the zombie mode automatic tuning. At the end it will report the configuration in case you want to use the configuration again. You can also exclude cards from tuning or set their value manually, e.g. --zombie-tune 2,auto,0,auto will run the automatic tuning on the 2nd and 4th GPU while using fixed number 2 for first card and 0 for the 3rd one. The tuning will need about 30 seconds per card in the rig to show first results. The next two phases take about 1 minute per card and followed by a approximately 1.5 minutes fine tune phase.
  • Ethash stratum connection will now reconnect after three pool rejected shares in a row that did pass own CPU verify before. This solves issues with unstable proxy forwarding e.g. in some ZIL pools. Also helps to get quicker to a failover pool if configured.


  • Miner did not start up when "DEVICES" was configured in as a vector in json file, e.g. in some ETHOS configurations.

Version 1.18
Feature Updates:

  • Improved linux zombie mode power draw & speed Polaris GPUs (R9 380, RX Fury, RX 4x0 and RX 5x0). Depending on configuration, the zombie mode now uses 0.5 to 1W less energy and is 0.2 to 0.4 mh/s faster.
  • Added --zombie-tune parameter for Polaris GPUs. This will increase the performance of zombie mode (further up on the general improvement) by an other 5-15%, depending on parameter and epoch (later epochs profit more). Default value is 0 (off), for most cards the value of 2 is optimal. If you see cards getting slower then before, set to 0 or 1. Note: you either can give one value for the whole rig or provide a comma separated list for each card individually. Cards not running zombie mode ignore the parameter.
  • The parameter --4g-alloc-size can now also be set for each card individually
  • Slight rework of Beam Hash III back end. Improves poolside hash rate by approx 0.2 to 0.3% - displayed hashrate and power consume kept equal.
  • Added a 4G_Ethash_Linux_Readme.txt file to the Linux release, giving guidance how to configure for ideal zombie mode performance.


  • Segmentation fault when the dns resolve of a pool fails
  • Miner does not restart after connection loss.
  • Applied potential fix for "address or port already in use" bug.

Version 1.17
Feature Updates:

  • Significantly reduced Ethash power draw on Navi GPUs, Slightly improved performance of 6800 (XT) / 6900
  • Added Cuckoo-29, Cuckaroo-30 CTX, Cuckatoo-31 (MWC) and Cuckatoo-32 (Grin) for RX 6800 family of GPUs
  • Reduced number of stale shares on Cortex algorithm. This will result in a minimally lower displayed hash rate, but higher pool side hash.
  • Added a basic temperature protection mechanism. See notes below for usage.
  • Added parameter --singlethread to work with Ethash and Equihash algorithm. This will disable the 2nd mining thread and slightly reduce performance of the involved cards. Use this option to reduce stumbles when a card does graphic output in parallel. Use --singlethread (equivalent to --singlethread -1) to enable single thread mode for all GPUs, use --singlethread to set the mode for one single card.
  • Added reading of junction temperature on AMD GPUs.
  • The API is now bound to the local host, causing less issues with firewalls.
  • Windows: use --computemode to automatically enable the compute mode on all detected AMD GPUs. Requires higher privileges and a driver restart, see example files.
  • lolMiner.exe Windows executable is now digitally signed.


  • Ethash Ethproxy stratum mode some times loosing worker name.
  • Beam Hash III not starting up in Linux on RX 5000 & RX 6000 series card on amdgpu-pro 20.45 driver.
  • Ethash & Beam not starting up on Radeon R9 380
  • Ethash not starting up on some 6G Nvidia cards
  • Ethash mining frequently trying to start up a card if there was an error during mining.
  • "DEVICES" parameter not working when configuring the miner from json file.

Basic temperature management / overheating protection:
Use --tstop to stop any mining operation on a GPU at the given temperature. Use --tstart to allow a restart of the card below a lower temperature. Further you can use --tmode edge/junction/memory to apply the scheme to edge (chip), junction (hotspot) or memory temperature. If a GPU does not have the required sensors the chip temperature will be used as a back up - if no sensors are available at all the parameters will be ignored.

Note that at the moment the miner has no fan control module and also no throttling to keep a target temperature. This may be included in a future version. Thus you should put the limit high enough so the operation system or the driver has a chance to ramp up the fan speed itself. Currently tstop is supposed to be a overheat protection to prevent hardware damage in extreme cases, e.g. broken fans.

Version 1.16

  • Added support of Ethash and Beam Hash III for RX 6000 generation of GPUs
  • All supported algorithms now show the share difficulty and have best share statistics.
  • New feature: use --rebuild-defect n to trigger a rebuild of DAG if a GPU produced n defect shares on the current one. Default is 3, use 0 to deactivate this feature.
  • New feature: Use --workmulti n to modify the amount of Ethash work a GPU does per batch. Higher values will cause less CPU load but more stale shares, lower values will give less stale shares but higher CPU load. Performance may vary for different values. Default is 128.
  • New feature: if Ethash pool disconnects within 2 seconds from connection attempt (immediate reconnect), then the other stratum mode is tested to login.
  • New feature: AMD Vega and newer cards now display memory temperature in statistics & api (only visible if there is at least one such GPU in the rig).
  • Default ethstratum changed from ETHV1 to ETHPROXY for better pool compatibility.
  • Stratum pool addresses now understand "stratum+tcp://", "stratum+ssl://" and "ssl://" prefixes (turning on or of ssl / tls automatically) for better compatibility with existing configurations.
  • Slightly reduced CPU load when mining Ethash
  • New coloring scheme with more friendly colors. For terminals that do not have rgb colors (e.g. shellinabox) use --basecolor to restrict to a simpler set. Use --nocolor to deactivate coloring completely.
  • Fixed bug: Cards may crash when switching from ZIL cache back to normal mining.
  • Fixed bug: Wavy hashrate - especially for rigs with many AMD Navi GPUs.
  • Fixed bug: (Linux Watchdog not called when a GPU is stuck & extremely high CPU load on crashed GPU. (1)
  • Fixed bug: Hashrate reporting not working on some pools (e.g. sparkpool)
  • Fixed bug: Miner can crash after trying to reconnect to same pool over 5 minutes.
  • Fixed bug: Miner crashes when mixing TLS and non-TLS pools for fail-over.

(1) Note on watchdog use: When the watchdog script is called the miner will stop working on the other cards. If this is not wished use --disablewatchdog. Please make sure the script can be executed with the current user rights / does password-less operations.

Version 1.14

  • Added Ethash Zombie mode for 4G Nvidia GPUs. Use --4g-alloc-size to calibrate the number of MBytes the GPUs are allowed to use.
  • Fixed a segmentation fault on Nvidia & mixed rigs when starting Ethash mining

Version 1.13

  • Ethash: Reduced power draw significantly on non-zombie mode for Rx Fury & Rx 470 - 590, slight reduction for Vega & Navi
  • Ethash: Slightly improved performance on Vega, Navi and Nvidia GPUs. Significantly improved performance on R9 390. (1)
  • Added (Linux) Zombie mode for RX 5300XT & RX 5500 4G cards. Windows users can try it by using "--win4galloc off --4g-alloc-size 4008". (Vary the last number to find out sweet spot)
  • Added ETCHash support for Radeon HD 79x0 / R9 280 (X) & RX 5300 3G. On Linux will be good for ETCHash till epoch ~250 (about July 2022)
  • Added caching of last 5 used light caches. This will reduce the switching time for Nicehash & ZIL dual mining significantly.
  • Added support for extranonce subscription on EthereumStratum/1.0.0 (Nicehash) format - this will stop the miner from frequently reconnecting to Nicehash
  • Added detection of pool not accepting worker name in <wallet.workerName> format when using ETHPROXY stratum. Miner will reconnect with worker name copied into --worker in this case.
  • Added experimental workaround for mining epoch 385+ with RX 470 - 590 and Linux kernel 5.6.x: Note this fix will deactivate the ZIL cache ability and force the miner to create DAG a bit slower. Deactivate it with --disableLinux56fix . Other Linux kernel versions and other GPUs are unchanged.
  • Fixed bug: "conversion of data to type "b" failed" when using ETHPROXY stratum mode on some pools.
  • Fixed potential issue causing GPUs to freeze when a GPU needs to reboot, e.g. epoch change or connection loss.
  • Fixed benchmark mode for ETCHash. Use --benchmark ETCHASH --benchepoch 390 to benchmark performance post fork.
  • Fixed benchmark mode not starting up when called from json type configuration.

(1) (its still not perfect, but way better)

Version 1.12

  • Added support for ETCHash (Ethereum Classic dag size reduction planned for end November). Use --algo ETCHASH to activate it. (See note below).
  • Reworked Ethash codes for late epochs on Windows. See 4G_Windows_Readme.txt for configuring it.
  • Slightly improved Ethash efficiency for GCN 3 (R9 Fury, 470 - 590) & Navi cards
  • Added experimental support for Ethash on Nvidia GPUs (See note below)
  • Added new parameter: --4g-alloc-size to define the memory allowed for Ethash on 4G cards. Maxing out will give more epochs of mining & better Zombie mode performance, lower values may improve compatibility. Suggested values: Linux: 4076 Windows 4008 - 4024
  • Added new parameter: --worker to set the worker in ETHPROXY stratum mode (improves pool compatibility)
  • Overall new Ethash host size back end - hopefully improving stability of mining
  • Fixed bug: Zombie mode generates defect shares in Windows
  • Fixed bug: Logs were not written when "LOG" : 1 was set in json style config file

Note about ETC Mining
Ethereum Classic is going to reduce their DAG file size by end of November. To make the miner compatible either use --algo ETCHASH, --coin ETC or --algo ETHASH --enable-ecip1099. Also it can be activated by the pool when mining Ethash, if the pools sends "algo" : "etchash" with a new work message (this is planned by some pools, e.g. 2Miners).

Note that up to epoch 389 ETCHash and Ethash is identical. If you mine ETC on a 4G card it will have entered Zombie Mode on epoch 382 (in Linux) and will stay in there until epoch 389. When epoch 390 starts it will jump back to normal speed.

If you want to mine the ETC mordor testnet, add special parameter "--ecip1099-activation 82" to configure the miner that it switches on testnet epoch 82 (default is mainnet epoch 390)

Note about Nvidia Mining
lolMiner will use OpenCL also for Nvidia mining. That said if your cards are not shown on miner startup you may need to install cuda-toolkit which includes the OpenCl drivers. Note that Nvidia OpenCl execution only knows busy waits for the GPUs to check if they have completed work. Thus using it give high load one core of your CPUs cores independently of the CPU speed. This is considered normal!

Version 1.11

  • Added experimental ZOMBIE mode for 4G AMD GPUs (Fiji & Polaris). This will allow continue mining Ethash above the 4G DAG size limit with some time memory trade of. This allows efficient ETH mining until ~February in Linux and end of this year in Windows (a), (c) .
  • See https://medium.com/p/ea8f6298f813 about the usage.
  • Complete rework of Ethash memory allocation strategies (see below)
  • Added bestshare display & api output for BeamHashIII
  • Fixed BeamHashIII for R9 380 8G cards (they now use the working 4G code)

New allocation strategies:
For 8G cards:
-> The ZIL cache is now stable and can be safely enabled on all drivers
-> Temporarily fixed allocation issues on 19.x drivers in Linux (b)
-> 8G cards will now allocate up to 5 epochs ahead, so they need to go through this critical phase less often

For 4G cards:
-> Windows: added experimental mem allocation pattern that should allow reaching epoch 375 or 376 at full speed ( * ). It is default on in Windows, you can turn it off with "--win4galloc 0"

(a) The new memory allocation pattern and the Zombie mode are highly experimental in Windows and can occasionally produce defect shares. This will be fixed in next version.
(b) The fix might stop end working on epoch 384. If you see the miner struggling to start up when coming close to that epoch, then consider upgrading your driver or installing a different Linux kernel. The problem only occurs with some amdgpu-pro drivers with version number 19.x (20.x are fine !) and some Linux kernel versions.
(c) On higher epochs the Zombie mode may need a bit more power then for working epochs. If you see crashed loosen your OC / UV settings slightly until it is stable again.

Version 1.09

  • Added support of Vega GPUs on 18.30 and 18.40 drivers on Ethash and BeamHash III
  • Fixed bug: Miner crashes on startup when Ethash coin different to ETH / ETC is mined
  • Fixed bug: Stratum module may crash on epoch change or not amend epoch change
  • Fixed bug: DAG epoch less then 200 should work now (instead of crash)
  • Fixed bug: short statistics show very high hash rate after temporary connection loss. Note: on startup first 30 seconds will show lower hash rate now since it involves DAG generation.
  • Fixed bug / new feature: stratum does no longer crash when EthereumStratum/1.0.0 login request is responded in Ethproxy format. Instead stratum module now tries to change the mode to fit the pools format.

Version 1.08

  • Added support for Ethash on AMD GPUs (R9 380 and newer) at 0.7% fee. Use --algo ETHASH to mine it.
    For Ethash in Linux all 4G cards are supported up to epoch ~380 to 382 (most often: 381). 6G and higher cards are ready to run past passing the 4G barrier - 8G cards are verified to work up to epoch 700. Windows use of 4G cards might work, but can not be guarantied. To test it, use --keepfree parameter.
  • Added support for BeamHash III on 4G Tonga (R9 280(X) ) GPUs
  • New parameter (all algorithms): Use --keepfree (default on Linux 5, Windows 150) to set the number of MBytes the miner should reserve on each GPU for the operation system. On Ethash this will affect the maximum epoch the miner tries to start, on other algorithms the kernel the miner will run (in case a lower memory kernel is available).
  • New ethash specific parameter: Use --benchepoch among with --benchmark ETHASH to run the benchmark mode for a fixed epoch height (default: 350)
  • New ethash specific parameter: Use --ethstratum to set the stratum mode for ethash. Currently available options are ETHV1 (default) and ETHPROXY
  • New ethash specific parameter: Use --dagdelay to put a delay in seconds between allocation of DAG for the single GPUs. May help especially in Windows to get a rig with low system memory and small page file running.
  • Fixed bug: watchdog toggle was inactive although it should be active.

Version 1.07

  • Added support for mining Cuckoo 29 (Aeternity, use -a C29AE) on 6G+ cards
  • Added support for mining Cuckaro 29-48 (Planned Italocoin fork, use -a C29-48 ) on 6G+ cards
  • Minor cosmetic fixes

Version 1.06

  • Added support for Cuckaroo-29B (Bittube, use --algo CR29-40 to mine it) for 6GByte and higher cards
  • Added support for Cuckaroo-29S (Swap, use --algo CR29-32 to mine it) for 6GByte and higher cards
  • New feature: Use "--devicesbypcie" to make "--devices" recognize PCIE-Bus : PCIE-Address pairs instead of the normal numberation
  • Added currently connected pool and total uptime of the miner to the longer statistics
  • Improved Beam stratum: For Beam the miner now can distinguish between stale and normal rejected shares. Requires pool to send block height (currently not on Nicehash, other pools work fine). Also the assignment of shares towards GPUs should now work better then before.
  • Fixed bug: Beam Hash III 3G miner not starting up in 1.05
  • Fixed bug: Beam Hash III not starting up on older revisions of the Blockchain driver
  • Fixed bug: Miner crashed when a CPU only OpenCL platform (e.g. pocl) was found

Version 1.03

  • New Beam Hash III 4G solver, replaces the 6G solver on AMD Vega GPUs and earlier (+5 - 8% performance on RX 580 & Vega GPUs)
  • New Beam Hash III 6G solver on ROCm and for AMD Navi GPUs (+8-10% performance on Navi cards)
  • Fixed a bug with the API (--apiport) crashing the miner in Windows on startup

Version 1.02

  • Disabled Beam Hash III auto switcher. --coin BEAM now pointing to --algo BEAM-III - this should resolve some config problems
  • Fixed a bug that made the miner not starting BEAM-III on RX 550 4G GPUs
  • Fixed a bug that made the miner not start mining Cortex
  • Fixed a bug with Beam Hash I 3G solver (miners did not find it)
  • Fixed a bug not writing a log file when --log on was given
  • Fixed a bug with parameter --digits (was missing in 1.0 and 1.01)
  • Re-Enabled parameter --port, but with a big red deprecation warning. Will resolve some 1.0 config problems

Version 1.01

  • Improved performance of Beam Hash III on all 6G+ cards (by about 4-5%)
  • Added 3G* / 4G solver for Beam Hash III
    (* will not work in Windows 10 and some older AMD cards)
  • Fixed an issue with mining Beam Hash III to NiceHash
  • --tls now allowed to be used multiple times to configure it for each pool separately
  • If found the miner will now load the user_config.json file per default again (fixes issues with minerstat)
  • Fixed temperature and power monitoring for VII and Navi on Windows 10 (Fan speed may still be broken ... work in progress)

Version 1.0

  • lolMiner got a restructure how to configure it and also features a 2nd, more simple config file format.
    Use lolMiner -h to get a list of new supported parameters or visit the new online manual
  • Added optimizes solvers for Beam Hash III for AMD & Nvidia cards. Use --coin BEAM to auto switch from BeamHash II to BeamHash III on fork (approx June 28th, requires 8G card) or select Beam Hash III solver manually with --algo BEAM-III (requires 6G card)
  • Added performance improved (+ >10%) GRIN-C29M solver for 8G GPUs
  • Added Cuckaroo-30 solver to mine Cortex Ai (--coin CTXC or --algo C30CTX) for all 8G and higher GPUs
  • Added support for non-integer difficulty on Grin
  • Reactivated support for Beam Hash I including support for personalization strings.
  • AMD Navi does now work on all supported algorithms
  • Removed Grin Auto-Switcher (C31 is obsolete now and the switcher would not work on next Grin fork)
  • Removed support for MNX (Minex Coin project is dead / abandoned by developers)
  • Added temperature, consumption and fan speed readings in API and long statistics
  • Internal bug fixes
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in

Sign In Now

  • Create New...

Important Information

By using this site, you agree to our Terms of Use.