Ethereum Mining

Etherum (https://www.ethereum.org) Mining is an alternatice crypto currency. In Arch Linux you can find parity (https://github.com/paritytech/parity) in the community repository. No need to compile, the client is written in Rust and it should be lightweight.

sudo pacman -Sy parity-ethereum

For details read the wiki https://github.com/paritytech/parity/wiki. Once partity is installed, you can run it from a terminal:

paritiy

Partity has a build-in wallet, you can open it in a web browser via http://127.0.0.1:8180 or via http://web3.site. Create your wallet. Once you have your account id, copy it and stop partiy in the terminal by pressing CTRL + C. Then start partiy again by adding your account id, replace X:

parity –author XXXXXXXXXXXXXXXXXXX

For me the stable ethereum and unstable ethereum-git miners didn’t compile, but the following package did. Only make sure that your opencl installation is up and running already, if not, do this first, if ok run:

yaourt ethereum-genoil-git

To see a list of your GPU devices, I had to add the -G too to see the OpenCL hardware:

ethminer --list-devices -G

My GPU was listed as 0 and 1, as I have one GPU with the Mesa OpenCL drivers (in my case ID 0) and AMDGPU-PRO OpenCL driver (in my case ID 1) extracted. To start mining run and replace X with your GPU id:

ethminer -G --opencl-device X

To see if ethminer is working well and to run a benchmark, add the -M flag in the command above.

The mesa open-cl driver didn’t work, maybe because it provides OpenCL in version 1.1. I tried to install the opencl-amd from AUR which provides OpenCL 1.2 on Linux, but I had no luck either. I even installed solidity as an optional dependency (someone mentioned in a forum), but it didn’t help.

In benchmark mode I got stuck here:

$ ethminer -G --opencl-device 1 -M
ethminer: /opt/cuda/lib64/libOpenCL.so.1: no version information available (required by ethminer)
ethminer: /opt/cuda/lib64/libOpenCL.so.1: no version information available (required by /usr/lib/libethcore.so)
ethminer: /opt/cuda/lib64/libOpenCL.so.1: no version information available (required by /usr/lib/libethash-cl.so)
ethminer: /opt/cuda/lib64/libOpenCL.so.1: no version information available (required by /usr/lib/libethash-cl.so)
Genoil's ethminer 0.9.41-genoil-1.1.7
=====================================================================
Forked from github.com/ethereum/cpp-ethereum
CUDA kernel ported from Tim Hughes' OpenCL kernel
With contributions from nicehash, nerdralph, RoBiK and sp_ 

Please consider a donation to:
ETH: 0xeb9310b185455f863f526dab3d245809f6854b4d

[OPENCL]:Found suitable OpenCL device [AMD POLARIS10 (DRM 3.10.0 / 4.11.3-1-ARCH, LLVM 5.0.0)] with 8588079104 bytes of GPU memory
Benchmarking on platform: CL
Preparing DAG for block #0
Warming up...
  ℹ  12:12:35|openclminer0  set work; seed: #00000000, target:  #000000000000
  ℹ  12:12:35|openclminer0  Initialising miner...
[OPENCL]:Using platform: Clover
[OPENCL]:Using device: AMD POLARIS10 (DRM 3.10.0 / 4.11.3-1-ARCH, LLVM 5.0.0)(OpenCL 1.1 Mesa 17.2.0-devel (git-8d07cb125c))
[OPENCL]:input.cl:97:1: error: OpenCL version 1.1 does not support the 'static' storage class specifier
input.cl:114:1: error: OpenCL version 1.1 does not support the 'static' storage class specifier
input.cl:123:1: error: OpenCL version 1.1 does not support the 'static' storage class specifier
input.cl:209:1: error: OpenCL version 1.1 does not support the 'static' storage class specifier
input.cl:240:1: error: OpenCL version 1.1 does not support the 'static' storage class specifier
input.cl:245:1: error: OpenCL version 1.1 does not support the 'static' storage class specifier
input.cl:250:1: error: OpenCL version 1.1 does not support the 'static' storage class specifier
input.cl:380:1: error: OpenCL version 1.1 does not support the 'static' storage class specifier

[OPENCL]:clEnqueueWriteBuffer(-38)
Trial 1... 0
Trial 2... 0
Trial 3... 0
Trial 4... 0
Trial 5... 0

And in the mining mode I gut stuck here:

$ ethminer -G --opencl-device 1 
ethminer: /opt/cuda/lib64/libOpenCL.so.1: no version information available (required by ethminer)
ethminer: /opt/cuda/lib64/libOpenCL.so.1: no version information available (required by /usr/lib/libethcore.so)
ethminer: /opt/cuda/lib64/libOpenCL.so.1: no version information available (required by /usr/lib/libethash-cl.so)
ethminer: /opt/cuda/lib64/libOpenCL.so.1: no version information available (required by /usr/lib/libethash-cl.so)
Genoil's ethminer 0.9.41-genoil-1.1.7
=====================================================================
Forked from github.com/ethereum/cpp-ethereum
CUDA kernel ported from Tim Hughes' OpenCL kernel
With contributions from nicehash, nerdralph, RoBiK and sp_ 

Please consider a donation to:
ETH: 0xeb9310b185455f863f526dab3d245809f6854b4d

[OPENCL]:Found suitable OpenCL device [AMD POLARIS10 (DRM 3.10.0 / 4.11.3-1-ARCH, LLVM 5.0.0)] with 8588079104 bytes of GPU memory
  m  12:18:58|ethminer  Getting work package...
  m  12:18:58|ethminer  Got work package: #a799acde
  ℹ  12:18:58|openclminer0  set work; seed: #647f6619, target:  #000000000000
  ℹ  12:18:58|openclminer0  Initialising miner...
  m  12:18:59|ethminer  Mining on PoWhash #a799acde : 0.00MH/s [A0+0:R0+0:F0]
  m  12:19:00|ethminer  Mining on PoWhash #a799acde : 0.00MH/s [A0+0:R0+0:F0]
[OPENCL]:Using platform: Clover
[OPENCL]:Using device: AMD POLARIS10 (DRM 3.10.0 / 4.11.3-1-ARCH, LLVM 5.0.0)(OpenCL 1.1 Mesa 17.2.0-devel (git-8d07cb125c))
[OPENCL]:input.cl:97:1: error: OpenCL version 1.1 does not support the 'static' storage class specifier
input.cl:114:1: error: OpenCL version 1.1 does not support the 'static' storage class specifier
input.cl:123:1: error: OpenCL version 1.1 does not support the 'static' storage class specifier
input.cl:209:1: error: OpenCL version 1.1 does not support the 'static' storage class specifier
input.cl:240:1: error: OpenCL version 1.1 does not support the 'static' storage class specifier
input.cl:245:1: error: OpenCL version 1.1 does not support the 'static' storage class specifier
input.cl:250:1: error: OpenCL version 1.1 does not support the 'static' storage class specifier
input.cl:380:1: error: OpenCL version 1.1 does not support the 'static' storage class specifier

[OPENCL]:clEnqueueWriteBuffer(-38)
  m  12:19:00|ethminer  Mining on PoWhash #a799acde : 0.00MH/s [A0+0:R0+0:F0]
  m  12:19:01|ethminer  Mining on PoWhash #a799acde : 0.00MH/s [A0+0:R0+0:F0]
  m  12:19:01|ethminer  Mining on PoWhash #a799acde : 0.00MH/s [A0+0:R0+0:F0]
  m  12:19:02|ethminer  Mining on PoWhash #a799acde : 0.00MH/s [A0+0:R0+0:F0]
  m  12:19:02|ethminer  Mining on PoWhash #a799acde : 0.00MH/s [A0+0:R0+0:F0]
  m  12:19:03|ethminer  Mining on PoWhash #a799acde : 0.00MH/s [A0+0:R0+0:F0]
  m  12:19:03|ethminer  Mining on PoWhash #a799acde : 0.00MH/s [A0+0:R0+0:F0]
  m  12:19:03|ethminer  Got work package: #7c459d47

So when reading the Phoronix OpenCL benchmark comparision https://www.phoronix.com/scan.php?page=article&item=ethminer-linux-gpus&num=1, I knew it must be possible. Phoronix did use the proprietary  AMDGPU-PRO driver. I had already from the proprietary AMDGPU-PRO driver the opencl-amd part installed. I decided to remove the Mesa OpenCL driver. Now ethminer listed just one OpenCL device, the one from the AMDGPU-PRO driver. I started again ethminer, but now for device ID 0.

ethminer -G --opencl-device 0

Luckily now ethminer started to work without any complains and my RX480 as expected 21 to 23 MH/s, like in the Phoronix benchmark.

Multipool mining:

ethminer -G -S eu.alpereum.ch:3002 -O XXXXXXXXXXXXXX.WorkerName

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.