Eth: 0x00cce8E2e56a543abc084920eee3f88eFD0921ea

Wednesday, May 27, 2015

Ethereum GPU Mining: Ubuntu 14.04 LTS From Scratch


----------------------------
11/27/2015
This guide is now OUTDATED and has been updated: The New Guide  

-----------------------------
7/30/2015
Updated Multi-GPU commands
Updated instructions for building cpp-ethereum

7/29/2015 @ 11:46pm
Added instructions on transitioning from testnet to Frontier. 
-----------------------------

I tried for two days to install Ethereum for GPU mining and I was tired of reading the Ethereum.org posts and getting no where. I'm a novice when it comes to all this collaborative code development so I just needed a simple-stupid guide for me! I've collated everything in one place for those that are running Ubuntu. This works from a clean install of Ubuntu 14.04 LTS

Note: I found this works best if you don't have your GPU card in while doing the initial Ubuntu install (this caused issues for me as the on-board video and GPU were fighting for monitor control or I was hallucinating). 

Start Install:

at the command line type:

 sudo apt-get -y update  
 sudo apt-get -y upgrade -f  
go to system& settings>Software&Updates>Updates &click Pre-released updates (trusty proposed)shut down the computer
install the GPU and GPU power
boot up the computer
then go to system & settings > Additional Drivers & your GPU should be listed there, select Using video driver fror the AMD graphics accelerators from fglrx-updates (proprietary)
apply changes and close

back to the command line: 
 sudo apt-get -y install git  
 sudo apt-get -y install software-properties-common  
 sudo add-apt-repository ppa:ethereum/ethereum  
 sudo apt-get update  
 sudo apt-get install -y build-essential libgmp3-dev golang  
 sudo apt-get -y upgrade  
 git clone https://github.com/ethereum/go-ethereum  
 cd go-ethereum  

backup your old key file (if you mined on test net):
 sudo cp -r ~/.ethereum/keystore ~/Desktop/  

Now lets continue with geth install and get the latest version of geth:
 git checkout master 


Clear out your old blockchain (only if you've run geth on test net previously)
 sudo rm -r ~/.ethereum/extra/  
 sudo rm -r ~/.ethereum/state/  
 sudo rm -r ~/.ethereum/blockchain/  


we need to do some last things to setup for Frontier:

 sudo apt-get install curl    
 cd ~    
 sudo apt-get install -y python-pip python-dev build-essential   
 sudo pip install --upgrade pip   
 sudo pip install --upgrade virtualenv   
 mkdir genfiles  
 cd genfiles  
 curl -O -k https://raw.githubusercontent.com/ethereum/genesis_block_generator/master/mk_genesis_block.py    
 curl -O -k https://bootstrap.pypa.io/get-pip.py    
 sudo python get-pip.py    
 sudo python -m pip install bitcoin  
 cd ..  
 cd go-ethereum   
 make geth    
(if you throw an error on make geth and you go back and try and fix things, make sure to delete the go-ethereum directory before trying to make geth again (error help me!))



now we make a new wallet for Ethereum:


 build/bin/geth account new  

(enter in a password 2x)


now we'll install ethminer

 cd ~  
 sudo apt-get -y install language-pack-en-base  
 sudo dpkg-reconfigure locales  
 wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -   
 sudo add-apt-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty main"  
 sudo add-apt-repository ppa:ethereum/ethereum-qt  
 sudo add-apt-repository ppa:ethereum/ethereum-dev  
 sudo apt-get -y update  
 sudo apt-get -y upgrade  
 sudo apt-get -y install build-essential git cmake libboost-all-dev libgmp-dev libleveldb-dev libminiupnpc-dev libreadline-dev libncurses5-dev libcurl4-openssl-dev libcryptopp-dev libjson-rpc-cpp-dev libmicrohttpd-dev libjsoncpp-dev libargtable2-dev llvm-3.8-dev libedit-dev mesa-common-dev ocl-icd-libopencl1 opencl-headers libgoogle-perftools-dev qtbase5-dev qt5-default qtdeclarative5-dev libqt5webkit5-dev libqt5webengine5-dev ocl-icd-dev libv8-dev  
 git clone https://github.com/ethereum/cpp-ethereum  
 cd cpp-ethereum  
 git checkout master   
 mkdir build   
 cd build  
 cmake .. -DGUI=0 -DETHASHCL=1   
 make -j2  
 sudo make install  
 sudo apt-get install cpp-ethereum  #(Can someone confirm that skipping to this step still works)
 cd ~
 cd go-ethereum   

If cmake .. -DGUI=0 -DETHASHCL=1 fails for you, try this variant:
 cmake .. -DGUI=0 -DETHASHCL=1 -DEVMJIT=0  


 Once the genesis block is release do this: (No Longer Required in go-ethereum later than release/1.0.0)



 python ~/genfiles/mk_genesis_block.py --extradata 0x11bbe8db4e347b4e8c937c1c8370e4b5ed33adb3db69cbdb7a38e1e50b1b82fa > genesis_block.json  
 ./build/bin/geth --genesis ~/genfiles/genesis_block.json  


Sync with the Network & Benchmark:

at the command line type:


 cd go-ethereum  
 build/bin/geth -rpc console  
This will start syncing you up with the network. Once synced (you are only grabbing 1-2 blocks at a time) head back to the command line to benchmark. (Note: Personally I found the results of this benchmarking unreliable. Easier to just skip to the mining part):

Ctrl + C
 build/bin/geth --rpccorsdomain localhost 2>> geth.log &  
 ethminer -G -M --opencl-device 0  
 tail -f geth.log  

I initially had some trouble b/c I had an AMD embeded video card and an AMD GPU. Make sure you are targeting the right GPU card by changing the opencl-device # until you find the right card. Reference this list to see if you are targeting the right card.

 Once your are done benchmarking, post your results here.

Note: benchmarking using the code above causes geth to run in the background and thus if you try mining or running geth again, you might get an errors. Easiest thing to do at this point is close the terminal and open a new one. Or just restart the computer for good measure. Then you should have no problem going on to the mining step.

Mining:

Now we're done installing and benchmarking, lets start freaking MINING!

 build/bin/geth --rpc console 
 
I then open up a second terminal and type:

 ethminer -G --opencl-device X   

Where X is the value given by your benchmarking results. Keep doing the "etheminer -G --opencl-device X", one time for each GPU you have. It will take a few minutes for rpc console to sync up and get ready as well as a few more minutes for the miner to start hashing so be patient.

If you skipped the benchmarking part, at this point you should have a good idea of how fast your machine is mining so go and post the results of your average hashing here.  

If you're experiences errors eith Ethminer at this point check the reference posts below. 

Additionally, some GPUs may required an additional typed at the regular command console (not the geth console):

 export GPU_MAX_ALLOC_PERCENT=95  


One last check after you start mining, make sure your coinbase account (the account where your mining rewards will be deposited) is set. You can check this by typing the following inside the geth javascript console:
 web3.eth.coinbase  

If this returns '0x0' that means you're mining rewards will get sent into a big black hole. Fix this by typing the following inside the geth java scrypt console:
 web3.miner.setEtherbase(web3.eth.accounts[0])  

That will set your mining account to your primary account. 

Multi-GPU Mining: 

You can mine with multiple cards. Plug them both into your board and turn on geth "build/bin/geth -rpc console". Let the chain sync.
Then pop open a second terminal and type:

 ethminer -G -t X 
where X is the number of GPUs you have to mine on.
Cheers!

Updating:

Occasionally you will need to update your copy of geth and cpp by pulling down the latest release from github. You can perform this operation by:

 cd go-ethereum  
 git pull  
 make geth    
 cd ..  
 cd cpp-ethereum  
 git pull  
After pulling the latest revision of Geth, make sure to rebuild it using "make geth" as shown above. If you don't rebuild it, it causes major long-term problems. On rare occasion, you will need to completely wipe your blockchain and re-download it. Perform that operation as follows

 cd go-ethereum  
 build/bin/geth removedb   

References:

This post was put together by reading the following posts:
Mining FAQs Live Update
Frontier GPU guide 
Benchmark
Building on Ubuntu
Final Steps for Frontier 

Code formatting brought to you by codeformatter.

65 comments:

Unknown said...

good job...thanks for effort

got stuck at
sudo apt-get -y install software-properties-common wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
sudo add-apt-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.5-binaries main"

you might want to break up command as we had trouble getting through this point.


we did get to
build/bin/geth --rpc console
gives us
Fatal: blockchain db err: resource temporarily unavailable
Fatal: blockchain db err: resource temporarily unavailable

hmmm? DAG built successfully and blockchain loaded through out the night ...any ideas?

thx

Unknown said...

good job...thanks for effort

got stuck at
sudo apt-get -y install software-properties-common wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
sudo add-apt-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.5-binaries main"

you might want to break up command as we had trouble getting through this point.


we did get to
build/bin/geth --rpc console
gives us
Fatal: blockchain db err: resource temporarily unavailable
Fatal: blockchain db err: resource temporarily unavailable

hmmm? DAG built successfully and blockchain loaded through out the night ...any ideas?

thx

Leo J said...

Was going well till here, thanks for the effort

got to one block

build/bin/geth --rpccorsdomain localhost 2>> geth.log &
bash: geth.log: Permission denied

did sudo su
build/bin/geth --rpccorsdomain localhost 2>> geth.log &

Fatal: blockchain db err: resource temporarily unavailable

Eliot said...

whenever I get a resource temporarily unavailable I usually close the terminal down and then reopen a new one. I think this problem is caused by multiple versions of geth trying to access the same resources at the same time.

Unknown said...

Thanks for your guide; very easy top follow but I'm getting an error when I input 'make geth':

build/env.sh go install -v -ldflags '-X main.gitCommit 9d8b512b27f691fc1980b850e04eb436a3938626' ./cmd/geth
github.com/ethereum/go-ethereum/eth/fetcher
github.com/huin/goupnp
# github.com/ethereum/go-ethereum/eth/fetcher
build/_workspace/src/github.com/ethereum/go-ethereum/eth/fetcher/fetcher.go:197: cannot use &blocks (type *types.Blocks) as type *[]*types.Block in function argument
build/_workspace/src/github.com/ethereum/go-ethereum/eth/fetcher/fetcher.go:320: cannot use &blocks (type *types.Blocks) as type *[]*types.Block in function argument
# github.com/huin/goupnp
build/_workspace/src/github.com/ethereum/go-ethereum/Godeps/_workspace/src/github.com/huin/goupnp/goupnp.go:97: unknown http.Client field 'Timeout' in struct literal
make: *** [geth] Error 2

Any help would be much appreciated.

Eliot said...

Kos, found the same error you encountered. Apparently it's a golang issue. (http://www.reddit.com/r/ethereum/comments/38r6z7/psa_building_the_latest_geth_requires_go_version/)

You'll have to delete your go-ethereum folder and then run the following commands:

sudo apt-get install software-properties-common

sudo add-apt-repository ppa:ethereum/ethereum

sudo apt-get update

sudo apt-get install -y build-essential libgmp3-dev golang

sudo apt-get -y upgrade

git clone https://github.com/ethereum/go-ethereum

cd go-ethereum

make geth

Unknown said...
This comment has been removed by the author.
Unknown said...

thanks.. well needed post!

however iam getting an error at the

build/bin/geth unlock line:

Fatal: extra db err: open /home/a/.ethereum/extra/033581.ldb: too many open files
Fatal: extra db err: open /home/a/.ethereum/extra/033581.ldb: too many open files

fresh install, followed to the T

Unknown said...

Fatal: extra db err: open /home/a/.ethereum/extra/033581.ldb: too many open files
ok, this error is related to an incomplete or corrupt blockchain dir copied over.

Unknown said...

make -j4 !

Unknown said...

Thanks for the guide and the ongoing help.

A couple of people in this thread are running multiple cards and might be able to help me out:

I've followed skithuno's guide and am now successfully mining with a single 290x at a consistent 25-26MH/s.

I've got second card - a 280x. Can I run mine with these cards both at the same time? If so, what alterations do I have to make to the process set out in the guide to get them both running?

Any and all help is much appreciated.

Eliot said...

Kos _ ,

I added comments in the main post about multi-gpu. Cheers

Unknown said...

Hello - I got to the step build/bin/geth -unlock '0' -etherbase '{address}' -rpc console

and thew an error - fatal: genesis block not found

Do you think this could have something to do with switching to the Frontier blockchain?

Thanks for the guide.

Seb said...

Hi,

I am getting stuck at the line
build/bin/geth -unlock '0' -etherbase '0xca9287cbea5f89c67e2893d204948d83e58268d9' -rpc console
But with my address.

It says Fatal: Genesis block not found. Please supply a genesis block with the "--genesis /path/to/file" argument

Eliot said...

@Seb and @David Archer, This is an issue with the Frontier launch, just skip to the next step. I will be adding some additional instructions over the next few days on what to do before the genesis block comes out.

Greg Colbourn said...

It's hanging on:

wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -

Is llvm.org down?

Pressing ahead and trying the cpp-ethereum compilation anyway, and it fails. What is llvm?

Greg Colbourn said...

Got llvm now, but I'm on Utopic (Ubuntu 14.10) and swapping trusty for utopic in the next line doesn't seem to work, despite them looking the same here: http://llvm.org/apt/

Eliot said...

I don't believe 14.10 will work at all. I have not heard of anyone running this build. I suggest you move back to 14.04

Eliot said...

@Greg Colbourn, I just went through the llvm part on 14.04 and it worked fine, no issues.

Unknown said...

On the `make -j2` step i get this error

/home/joe/mining/cpp-ethereum/evmjit/libevmjit/JIT.cpp:7:28: fatal error: llvm/IR/Module.h: No such file or directory
#include
^
compilation terminated.


I tried manually linking like so

sudo ln -s /usr/include/llvm-3.5/llvm/ /usr/include/llvm
sudo ln -s /usr/include/llvm-c-3.5/llvm-c/ /usr/include/llvm-c

but then when running make -j2 i get a TON of compilation errors.

Any advice?

Unknown said...

hey good job dude....thanks for doing all this work....nice to have in one place and in a format that makes sense.


at
cmake .. -DGUI=0 -DETHASHCL=1

iam getting this error

-- Could NOT find rocksdb (missing: ROCKSDB_INCLUDE_DIR ROCKSDB_LIBRARY)
CMake Error at cmake/FindPackageHandleStandardArgs.cmake:138 (message):
Could NOT find v8 (missing: V8_INCLUDE_DIR V8_LIBRARY)
Call Stack (most recent call first):
cmake/FindPackageHandleStandardArgs.cmake:374 (_FPHSA_FAILURE_MESSAGE)

any ideas?

Greg Colbourn said...

@SkithUno I ended up doing a fresh install with 15.04 last night an it worked! Multi-GPU mining with just "ethminer -M -G" (well I recorded 49MH/s anyway, which must be both R9 280Xs :-) Just wondering whether it's worth the risk to add the 3rd now, with just hours away to launch..

Eliot said...

@ldub Dev, did "wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -" execute correctly on your machine or did it throw an error? sounds like this command didn't execute properly.

@Heritic Shmifd, not sure whats wrong here other than you're missing a library. Other than that, I',m not sure. When in doubt, reinstall 14.04 :(

@Greg Colbourn, definitely worth it to add another. cheers

Greg Colbourn said...

@SkitUno I'm just cautious because I've had 1 card blow up already (probably from overheating, but it could also have been from overloading power or just because it was a cheap card sold "untested as spares and repairs"). so I'm wary of overloading/overheating the system! Might wait until I've at least mined a few blocks, and then try adding the 3rd.. Thinking of just getting some more Add2PSU adapters and just having 1 PSU per GPU (I've got a load of cheap 600W ATXs that I use for the 3D printer kits I sell).

Only ~1500 blocks to go.. Good luck everyone! :-)

Unknown said...

@SkitUno I'm stuck at this :

cmake .. -DGUI=0 -DETHASHCL=1

-- Could NOT find rocksdb (missing: ROCKSDB_INCLUDE_DIR ROCKSDB_LIBRARY)
CMake Error at cmake/FindPackageHandleStandardArgs.cmake:138 (message):
Could NOT find v8 (missing: V8_INCLUDE_DIR V8_LIBRARY)
Call Stack (most recent call first):
cmake/FindPackageHandleStandardArgs.cmake:374 (_FPHSA_FAILURE_MESSAGE)
cmake/Findv8.cmake:66 (find_package_handle_standard_args)
cmake/EthDependencies.cmake:59 (find_package)
CMakeLists.txt:324 (include)


-- Configuring incomplete, errors occurred!
See also "/home/cpp-ethereum/build/CMakeFiles/CMakeOutput.log".

How to solve this problem??

Unknown said...

Now I'm stuck at :

I have solved my previous problem using :

sudo apt-get install libv8-dev

But now having this error :

-- CXXFLAGS: -std=c++11 -Wall -Wno-unknown-pragmas -Wextra -Werror -pedantic -DSHAREDLIB -fPIC -fuse-ld=gold
CMake Error at evmjit/CMakeLists.txt:41 (message):
No LLVM package found!

Unknown said...

@SkithUno yes, `wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -` executed correctly.

However, did you realize that you went through all these manual compilation steps only to execute `sudo apt-get install cpp-etherem` right afterwards? Whats the point?

Niko Punin said...

Same here.. Getting:

-- CXXFLAGS: -std=c++11 -Wall -Wno-unknown-pragmas -Wextra -Werror -pedantic -DSHAREDLIB -fPIC -fuse-ld=gold
CMake Error at evmjit/CMakeLists.txt:41 (message):
No LLVM package found!

STech said...
This comment has been removed by the author.
STech said...

If you're stuck on the cmake/DGUI=0 step do the following:

sudo add-apt-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty main"

sudo apt-get -y update

sudo apt-get -y upgrade

sudo apt-get -y install build-essential git cmake libboost-all-dev libgmp-dev libleveldb-dev libminiupnpc-dev libreadline-dev libncurses5-dev libcurl4-openssl-dev libcryptopp-dev libjson-rpc-cpp-dev libmicrohttpd-dev libjsoncpp-dev libargtable2-dev llvm-3.8-dev libedit-dev mesa-common-dev ocl-icd-libopencl1 opencl-headers libgoogle-perftools-dev qtbase5-dev qt5-default qtdeclarative5-dev libqt5webkit5-dev libqt5webengine5-dev ocl-icd-dev libv8-dev

Then when you retry "cmake .. -DGUI=0 -DETHASHCL=1" it'll function correctly.

Took me way too much time to figure this out lol

Unknown said...

sudo apt-get -y update GIVES ERROR

E: Malformed line 67 in source list /etc/apt/sources.list (dist parse)
E: The list of sources could not be read.

anyone else?

Eliot said...

@Ldub Dev, I am not 100% familiar with what exactly each and every command does. I scraped together what I could find from the many many links that have been posted everywhere on how to install it. If you want suggest abbreviations I'm all ears!

Eliot said...

Updated the instructions for building cpp-ethereum. Should cause the "cmake .. -DGUI=0 -DETHASHCL=1" to function properly. Test it out and let me know.

Greg Colbourn said...

So I mined a few blocks, and then when things started to slow down a bit, I thought I'd add the 3rd GPU. Bad move! Had what I think was a "brown out" - the power went off when I started mining. Thought I'd escaped unscathed when the machine came back on again. Went back to the same 2 GPU set-up, and now I'm getting "Bus error (core dumped)" every time I run ethminer, even when putting --opencl-device 0 (so only 1 GPU is called) :-( Anyone got any ideas?

Greg Colbourn said...

P.S. I know the GPUs still work (they can at least power the display).

Greg Colbourn said...

Solved my own problem - was a bad DAG file (that was in the process of being generated for the 3 GPU set-up when the power went out, I think). Deleted it from the .ethash directory. Ethminer then made a new one, and I'm back in business again :-) Will have to stick to 40MH/s for now, until I can get some more components to add more power.

Anonymous said...
This comment has been removed by the author.
Eliot said...

@Eva Shon, Thanks VERY much for the hint on the multi GPU. I've been looking for how to do that for several hours now. Updated the blog on the extra cmake flag as well.
Thanks!

Anonymous said...

Thanks for your blog post SkithUno, was a good complementary guide to the github docs to setting up my first mining rig!

Unknown said...

Wow, thanks so much for doing this! I was getting nowhere trying to follow
the instructions from ethereum.org

BUT I'm hanging up at make -j2

I get

[ 46%] Building CXX object libevm/CMakeFiles/evm.dir/SmartVM.cpp.o
[ 46%] Building CXX object libevm/CMakeFiles/evm.dir/ExtVMFace.cpp.o
Linking CXX shared library libevm.so
/usr/bin/ld.gold: error: CMakeFiles/evm.dir/VMFactory.cpp.o: file is empty
collect2: error: ld returned 1 exit status
make[2]: *** [libevm/libevm.so] Error 1
make[1]: *** [libevm/CMakeFiles/evm.dir/all] Error 2
make: *** [all] Error 2


Anyone know what this means? THanks!

algebra said...
This comment has been removed by the author.
algebra said...

Please, does this mean I am mining?

miner 23:57:52|ethminer Got work package:
miner 23:57:52|ethminer Header-hash: 4aeb0e37d38f0603cb92588f59eeccdbc5017333326294002436701a5c0b4658
miner 23:57:52|ethminer Seedhash: 0000000000000000000000000000000000000000000000000000000000000000
miner 23:57:52|ethminer Target: 00000000011f71a86ca07185fb10f2561b94b00e8c23d48c8f1b7688d2860022
ℹ 23:57:52|gpuminer0 workLoop 1 #00000000… #00000000…
miner 23:57:53|ethminer Mining on PoWhash #4aeb0e37… : 11010048 H/s = 5505024 hashes / 0.5 s
miner 23:57:53|ethminer Mining on PoWhash #4aeb0e37… : 11522813 H/s = 11534336 hashes / 1.001 s
miner 23:57:54|ethminer Mining on PoWhash #4aeb0e37… : 11511313 H/s = 17301504 hashes / 1.503 s

Unknown said...

GREAT JOB
on ubuntu 15.04 works fine up
to genis block command......i got:

\Collected timestamps: 8949
Listed purchases
Computed purchases
Finished, total purchased: 60108506260000000000000000
Foundation wallet creator address: 5abfec25f74cd88437631a7731906932776356f9
Foundation balance: 11901484239480000000000000
a@a ~> ./build/bin/geth --genesis ~/genfiles/genesis_block.json
./build/bin/geth: command not found
a@a ~> cd go-ethereum
a@a ~/go-ethereum> ./build/bin/geth --genesis ~/genfiles/genesis_block.json
I0803 18:02:46.819984 3181 backend.go:289] Protocol Versions: [61 60], Network Id: 1
Fatal: open /home/a/genfiles/genesis_block.json: no such file or directory

cant figure out what i am doing wrong

Unknown said...

GREAT JOB
on ubuntu 15.04 works fine up
to genis block command......i got:

\Collected timestamps: 8949
Listed purchases
Computed purchases
Finished, total purchased: 60108506260000000000000000
Foundation wallet creator address: 5abfec25f74cd88437631a7731906932776356f9
Foundation balance: 11901484239480000000000000
a@a ~> ./build/bin/geth --genesis ~/genfiles/genesis_block.json
./build/bin/geth: command not found
a@a ~> cd go-ethereum
a@a ~/go-ethereum> ./build/bin/geth --genesis ~/genfiles/genesis_block.json
I0803 18:02:46.819984 3181 backend.go:289] Protocol Versions: [61 60], Network Id: 1
Fatal: open /home/a/genfiles/genesis_block.json: no such file or directory

cant figure out what i am doing wrong

Unknown said...

Do you know how to change this setting on my GPU?

GPU_MAX_ALLOC-PERCENT=95

Having trouble with this. Where in the process and how is it done?

Unknown said...

@SkithUno @David Archer

I have the same question..

Anyone know how to set this??

Thanks!!

jim zee said...

In Linux you can simply issue the following at the command prompt:

export GPU_MAX_ALLOC_PERCENT=100

in windows, I believe you can issue the following command at a command prompt:

setx GPU_MAX_ALLOC_PERCENT 100

Eliot said...

@Heritic Shmifd,
You might want to do a git checkout master, the newest version doesn't require the whole genfile stuff (see updated command line notes in guide)
@ algebra, yes, you're mining! Welcome!

I have not had to use the "export GPU_MAX_ALLOC_PERCENT=95" command, but I will include it in the guide. Thanks @JimZee

Unknown said...

Unable to upgrade to Geth version 1.0.1

I tried with:
sudo apt-get update
sudo apt-get upgrade

Didn't work, so I tried with:
git checkout master

Then:
cd go-ethereum
git pull
make geth
cd ..
cd cpp-ethereum
git pull

Still v.1.0.0 when I use: build/bin/geth version

So, I tried:
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo add-apt-repository -y ppa:ethereum/ethereum-dev
sudo apt-get update
sudo apt-get upgrade

But still v.1.0.0

Do you have any idea what I can do now ?

Eliot said...

@Esteban Delgato,

you have to be in the go-ethereum directory to git checkout master:

~/go-ethereum
git checkout master
git pull
make geth

Unknown said...

Resolved my problem with some help:


Go to your go-ethereum directory.
Do git fetch, which should synchronize you with the latest tags and branches.
Checkout out 1.0.1: git checkout v1.0.1.
Build it: make geth.
Check the version: ./build/bin/geth version.

If it can help...

Unknown said...

@SkithUno....thanks. v1.0.1 works now...(see my latest post)

Unknown said...

Thanks again for this awesome guide. I'm mining with your help.

But I have a 4 GPU rig.

I begin mining on device 0 - starts up fine.
I then begin mining on device 1 - starts up fine.
(These 2 GPUs will run stable indefinitely.)
I then begin mining on device 2 - whole system crashes.

I have tried swapping out GPU (thinking a bad GPU might be the reason. Nope. Same issue.

Any of you multi-GPU folks have any pointers?

Unknown said...

Was thinking GPU 3 may not be getting the MAX_ALLOC_PERCENT=95 . Any way to send this command to a particular GPU?

jim zee said...

David - have you successfully mined with all 4 GPUs simultaneously on this rig before? They will each need ~300watts of power, give or take. I've had issues with supplying enough power to the 3rd/4th GPU even w/a beefy PSU - using powered PCI riser cables solved that for me. Good luck!

Unknown said...

Thanks. Yes. I used it to mine litecoin before it became unprofitable. Before I started ethereum, I ran bfgminer (recently) and it showed all GPUs running and working fine, so I really think its a protocol issue somewhere. I think the PS should power 4 but def 3 GPUs. Although these units seem to hash faster on ethereum...maybe they use more power.

jim zee said...

David - How much RAM does the rig have? pretty sure ethminer requires more RAM than X11 etc.

Unknown said...

hey guys, great guide tried others but always come back to here!

I recommend a few additions!

a breakdown of ubuntu "software and update settings" under all tabs...ie canonical on ?, prereleased updates(proposed) on ? auto check for updates off?
a clear recipe for Accounts:import/send/update as well as convert from froniter.
a clear recipe for PM2 install and getting on stats.ethdev.com
a section on ATICONFIG tweaking and monitoring temps.
a section on doing a node set up (cluster)

if these were included the guide would be complete!

My contribution:
I have 2 banks of 5 cards.
-8GB of RAM is more than enough for 5 cards. (GPUDS should have 3GB or more of GDDR)
I pull 1170 W TOTAL on 5-280x with 850EVO SSD. powered by twin 860AIcorsiar(Y adapter)
dont go over total rated PSUW by 70% as effiency steeply drops off from there, you will be doubling your power bill after that, as effiency is rated at 50% under full load sweet spot..so over 50% diminishes your returns.(read the fine print)

-i had better success running drivers from software updates..than by TAR unpack (AMD pack/SDK8)
-start with GPU(display) on MOBO , use TOP PCI16slot,ONBOARD vga off!
-load drivers.1 card only.then run
$ sudo apt-get install fglrx-updates
$ sudo aticonfig --adapter=all --initial
$ aticonfig --list-adapters
INSTALL CARD 2, reboot, repeat last 2 commands,install next GPU, rebooot repeat last to commands, etc.
ENSURE BIOS IS : GEN2, UEFI not legacy, PCI first, and DISABLE ONBOARD VIDEO or you WILL have problems.(that includes "software and drivers"/additional drivers 2nd clause (intel microfirmware) OFF!

powered usb risers=GOOD
get cards out of case and buys some fans....they will have heat! each bank of 5 is the same as running a HAIRDRYER on HOT.

i have spent over a 100 hrs, on troubleshooting, MOBOS,dead GPUS, and finally have 10 UP and will be doing another bank of 10 with an attempt at running a cluster and headless....

cheers!
thanks again for the great guide and
good luck fellow miners!

all hail Buterin!

Unknown said...

For my multi-GPU rig (see just above), I believe my problem is the RAM - I have 4gig and 4 GPUs Might be too much. Just not sure at this point. Heritic? Got any pointers for me?

Unknown said...

@archer yah 1G system RAM card is not enough, i recommend 1.5 min per card...assuming your cards are 3GB gddr or greater.........remember DDR3 has to go in pairs so your next option is add a pair of 1GB for a total of 6 will be fine.....a good indicator is how many windows you can have open while mining and how much lag you have going window to window.....more ram helps this temporary storage of data.

Kapman said...

Hello!
Whenever I run Geth, I get:
Fatal: Error starting Ethereum: listen udp :30303: bind: address already in use

I have no other Terminals running. I have rebooted and I still get this message. Any idea how to eliminate this message?

Thanks!

neowebwallet said...

Bitcoin mining is the use of Hardware to collect Bitcoins.
neo web wallet

Tim Jansen said...


Thanks for this nice detailed post. I have to say your contents are great and one of its kind. I have been following your posts with great interest. Keep up the good work and keep us entertained with all your unique contents.

bitcoin cash news
Bitcoin price rise
Bitcoin volatility

Massimo said...

Since it is asked, here the reply:

This step is necessary:

sudo apt-get install cpp-ethereum #(Can someone confirm that skipping to this step still works)

Without no ethminer is available.

Stevejack55 said...

Ether crypto

Ethereum [ETH] is a decentralized platform that runs smart contracts which runs perfect every time without any problem of downtime and any fraud.

Visit our website by just clicking on - Ether crypto