Im mining ethereum for quite some time now. I have a collection of lots of RX 4xx/5xx GPUs and many Nvidia Gtx 1060/1070 Gpus and I have helped people on various forums, and had a lot of customers from which Ive gained all of this knowledge. I have written this guide to help you setup your own gpu for mining purposes.
If my guide helped you please send a donation to:
Ethereum Address: 0xC3935595660f16A6549EFd3263673C6a2fb25327
If you need help in setting up your bios for your GPU, send me your original bios through Skype, my ID is: bijac666, but try to check the GPU Bios Guide first, it will teach you how to bios mod with just 1 click, and yes it will 99% mod your bios the proper way, if not contact me.
Please follow all the steps described in this guide by their order! This is a collection of my experiences with fixing various mining problems. I have helped over 500 people with their problems and this guide should have an answer to most or probably all of them
IMPORTANT: You MUST have the latest motherboard bios installed. (you can check your motherboard bios update history, to see what was changed from your bios version till the latest available one. If there are no major changes, then you can skip this step.(Chipset, PCI-E, GPU support changes are the most important ones and you NEED to upgrade your Motherboard BIOS if they came out).
IMPORTANT never use WiFi to connect your mining rigs, from my experiences that can cause big trouble. Higher ping, random disconnects, Wifi freezing at start of mining, shares rejected and so on. For example my Wifi adapter would stop working if it was directly connected to the mining rig, but if I was using an usb extender so I can place Wifi Adapter away from the rig (1-2m) then it would work, as if the rig itself disrupted the Wifi signal, as strange as it sounds. If you want to use Wifi, use the 5G. The more mining rigs you have, the more trouble with Wifi you will get.
RAM
CPU
PSU
Risers
Disk
You can get Windows 10 Pro for FREE at their official website. You can download their Windows tool for making a bootable USB stick(If you are doing this on a PC that has Original Windows already on it) or download the Windows 10 ISO from their site and make yourself a bootable USB, install Windows on your SSD and , you will never have to pay for the license if you dont want to. Still dont have any GPUs connected to your Mining rig! Because the first thing we want is to optimize Windows for our own mining purposes. THIS IS THE MOST IMPORTANT PART THAT PEOPLE DO WRONG!If you want to have original Windows 10, buy them at Kinguin. The only difference from OEM version instead of Retail version is that you can have the Windows activated on only 1 PC (you cant reactivate the key on another PC), this version is used by most miners.
Most people think that Linux is a more stable operating system or because its so lightweight, that it runs better, it can have more GPU support (Windows 10 supports 12 GPU now) and should be a better option for 24/7 mining. It would seem logical, but it isnt:
Because Linux has various problems, such as:
If you have downloaded Windows 10 from the official Microsoft website (never use torrents for this) then your Windows 10 pro is almost up to date.
Download latest.NET Framework 3.5 Offline Installer it is required to run Polaris 1.6 and OverdriveNtool. Windows 10 Comes with 4.x Framework, but that one will not work with Polaris and OverdriveNtool. You need to install the .NET 3.5 manually. Insert the Windows 10 USB stick into the PC (the one you used to install Windows) and set the USB Disc Drive as the Source for installing the .NET 3.5. Here is the Guide how to do it, its very simple.
Download LATEST Drivers for your motherboard, especially latest Chipset driver. This is very important.
Now after Windows is setup properly, download a tool called DDU,That tool will uninstall your current driver (even your integrated GPU) and block Windows from automatically installing GPU drivers. Thats important so that Windows does not install an outdated driver! It will ask you to run in safe mode but that is not necessary. When you run the program just click on Clean and restart. We want to manually download and install the right drivers.
Now turn off your PC and connect onlyONEGPU.
IMPORTANT From AMD Crimson 17.10 driver (and all drivers released after that) they have added the mining mode in the driver and enabled up to 12 AMD GPUs to be able to run on Windows 10.
AMD released Radeon Software Adrenaline Edition, download latest version of it. It will improve hashrate on some cards and in general give you best possible hashrate on all RX 4xx and 5xx cards.
Very rare its possible that you will get better results with the Beta Blockchain Driver , but that driver only supports 8 AMD GPUs and please try first the Adrenaline edition (In the Blockchain driver you will not need to change GPUs to Compute mode, they are there on default).
If Adrenaline or Blockchain driver is not working, your last hope is latest Crimson ReLive Driver release (you need to change in Radeon Settings to compute mode each GPU)
At the beginning of the install process go toCUSTOMinstead of Express and ONLY select AMD Display Driver and AMD Settings. During installSKIP theinstalling of ReLive, because we wont need it.
After you have installed the driver restart your PC. If youve already modified your GPUs before, there might be a possibility that you wont be able to see them anymore. That is most likely a problem with the RX 570 series and its very rare with some RX 580 models. The problem comes from the bios mod, because it changes how the GPUs work and you will need to Patch your drivers to make them work properly or the driver will just end up disabling or hiding the GPUs (Error 43). This is only needed if you cant see your bios modified GPUs in the Windows Device Manager. Download the Pixel Clock Patcher. Run the program, it should give you a message that the values were patched. After that restart your PC and you should have proper working modified GPUs.
Once you successfully installed the driver with just one GPU, shut down your PC and plug in all of the other GPUs. After that, when you turn the PC back on it should automatically detect each of them and it will install the drivers for all of them. Just remember that it will take some time (about 5-10 minutes) for all of the GPUs to be detected properly. You can open up the Device manager, to see if all of the GPUs are listed there. Just turn the PC on and wait 5-10 minutes before doing anything, Windows will do its job.
Now after you have all of your GPUs under the right driver, there is one more important step to make.
Radeon Settings
Radeon Settings Gaming
Radeon Settings Global Settings
Each GPU has its own bios, that tells it how it should work. There are four different memory types that you will encounter on your GPU : Hynix, Elpida, Micron, Samsung
During the mining of ethereum, you will only be using memory of the GPU, that means that the higher quality of the memory is, the better hashrate you can get. While testing all of the memory types, Ive found out that Samsung and Hynix are a little bit better than Elpida and Micron, but the difference is very subtle.
Download a tool called GPU-Z.
This tool allows you to see what memory type your card has as you can see in this picture.
On the Green selection you can see the Memory Type. In this example its Elpida. If you bought your GPUs all at once, and they are the same card type and if you see that they all have the same Memory Type, that means that they allCANUSE THE SAME BIOS.ExportingGPU BIOScan be done with clicking on the Red circle as displayed in the picture above, under the BIOS Version. Now you have your original bios exported, make a backup before going to the next step.
Go to my guide: GPU Bios Mod
IMPORTANT Always work with the original BIOS of your cards, dont download random BIOS online cause you cant be sure they are made for your card type, even if they are the same model that does not mean they have the same bios.Its very important to work with the original card BIOS to reduce the unnecessary risk to the minimum.
First you will need to download a tool for flashing the bios called ATIFlash.
With this tool you can put the custom bios over your current one. Always make a backup for your current bios and store it somewhere safe, you can never know when you are going to need it.
IMPORTANT be very careful what bios you are going to flash on what GPU, I would recommend you to never have different card types plugged in when you are going to flash, so you dont flash by accident a wrong bios to a wrong card (even if this is almost impossible, because if you use the AtiFlash properly (as explained in this guide) it should give you a warning that you cant flash the specific bios, because its a different type than your original card)
Upgraded BIOS
Copy File Path
Run CMD as Admininstrator
Change Directory to AtiWinFlash
Now after all your GPUs are flashed with the right upgraded bios we can move on to the most important step, the mining software part. There are a couple of different popular mining programs, depending on the algorithm they are working with, the most popular are:
This guide is focused on theEthashalgorithm mining, so the settings and the tutorials from this guide are not optimized for the other mining algorithms likeCryptoNight.For this I plan to make another guide or expand this one so that you will understand how to optimize your GPUs for the other algorithms.
Claymore 11.8 is currently the best miner for Ethereum, and it comes with a nice option of dual mining with some other altcoins (Decred, Sia ) that can boost your profit by around 20-30% for 20% more power draw. Even if you have expensive electricity the bonus profit is probably worth it.
Claymore software has a fixed fee of 1% when you are mining ethereum or 2% fee when you are mining decred. There are various problems that can happen due to the way the Fee is working. The fee works in a way that each hour you will be disconnected from your mining process and for about 1-2 minutes, you will mine for the Claymore developers. After that it will connect you again to your pool and start the mining again. By constant disconnecting and reconnecting each hour your GPU cools down and then heats up again, and by doing that you are risking the life of your GPUs. I heard from many people that after some time one of the GPUs would reset to the default clock settings because of the constant disconnecting/reconnecting or it would hang and crash the miner or cause it to recreate the DAG file, and you end up losing valuable time with that. Claymore is a really cool software and I think there could be a better way to support the developers, rather than risking our own miner stability. By using the official Claymore I lost about 3% of my shares compared to using the Claymore without the Developer Fee, everyone can try it for themselves and see the difference.
Recently there is a good source for the NoFee version that is constantly uploaded to the newest version, and from my testing I get exact 1.1% higher hashrate compared to the official Claymore release (calculated by 24hour comparison of found shares on the mining pool Im using nanopool)
Latest Claymore version brings a straight 0.3-0.5% performance increase compared to the previous Claymore versions. This is only for AMD gpus, there is no effect on the hashrate for Nvidia Gpus.
The comparison tested on 12 RX 570 4GB GPU rig (1-2 MH/s more total hashrate):
You can download the Claymore with the developer fee removed:Claymore Ethereum Miner 11.8 No Fee Download Thanks tod33z0r upload.
The Claymore miner software source code is encrypted (if someone would have the source code he could make his own miner and would be much easier to remove the developer fee. Thats why Windows Defender is going mad when he encounters Claymore miner, because it does not know what the Claymore software is doing it will try to remove it and warn you about dangerous file.
The best way to disable Windows Defender (its good in general to disable it cause it can disrupt mining performance or even crash the rig, especially the real-time protection) is to follow those steps:
Opening Local Group Security Policy
Windows Defender Antivirus Disable Option
Turning On the Disable of Windows Defender
Claymore runs through its start.bat file. In the start.bat (you can open it with the notepad) youJUST NEED TO WRITE THE FOLLOWING (NO SETX COMMANDS BEFORE THAT):
EthDcrMiner64.exe -epool yourMiningPool -ewal yourEthAddress -epsw x -dcri 6
-epool is the mining pool you are mining on, its just a persona preference, some people like to use nanopool, some like dwarfpool, ethermine, you can use whatever pool you like. Be careful what pool you are using, it should be based on your location, it would make no sense to mine on an European pool if you are in America because of the high ping. Always use the pool that is close to you (nanopool,dwarfpool,ethermine and others have mostly location specific pools, you cant miss them, they mostly start with eu, us or asia. After that you can write your own ethereum address which is used to collect your ethereum shares. You can view statistics on the mining pool by searching it with your address, for example if you are using the nanopool pool you can see your current active statistics with:https://eth.nanopool.org/yourEthereumAddress.For example using Nanopool:
EthDcrMiner64.exe -epool eth-eu1.nanopool.org:9999 -ewal yourEthAddress -epsw x -dcri 6
Do not add SETX commands at start, they are not needed.
I use nanopool to mine Ethereum, you can use ethermine or dwarfpool also, but ethermine gives most reliable statistics. Go to Chapter 11 to see why I use nanopool.
-ewall is your ethereum address, be careful because you will always need to write only an ETHEREUM wallet address, not a bitcoin or any other address. Most easy way to create an ethereum wallet and keep it safe is to use the exchange sites like Bitfinex or Bittrex. They will offer you high security and you can use the Two Factor Authentication which makes it very secure. For big amounts I would recommend to use offline wallets like Trezor Bitcoin Wallet.
Ethereum is mined just by using the memory of your GPU, so the GPUs core is almost not affected by the ethereum mining at all. This gives a possibility to utilize the GPU core for mining some other coins in the same time as you mine ethereum without affecting its hashrate. Of course if you would mine the dual coin at full potency, it would affect the ethereum hashrate, thats why we will need to optimize the intensity of the dual coin, lowering it at such degree that its not affecting the ethereum hashrate.
DUAL MINING CLAYMORE START.BAT CONFIG:
EthDcrMiner64.exe -epool yourMiningPool -ewal yourEthAddress -epsw x -dpool dualCoinMiningPool -dwal dualCoinWalletAddress -dpsw x -dcri 25
The part before the -dwal is the same as for the solo ethereum mining described above. The -dwal has the same representation as -ewal, it just is the mining pool of the dual coin. I would recommend to mineONLYDecred as a dual coin, because it has the highest efficiency of all of them . As described above the Dual coin uses the GPUs core for mining and not all dual coins give the same results. For RX 5xx cards the best way would be to go with Decred. I use the Supernovadecred mining pool. You need to create an account there, and the account name will serve you as a decred mining pool address. This way it gives you one more security improvement, because you dont show people your address, instead just your account name. On your account you will need to create a worker and give it a name for example: worker1, and leave its password as it is (password). Now to connect properly to the decred mining pool you would need to put -dwal supernovaAccountName.supernovaWorkerName
You can create a decred wallet at Bittrex.Its a very good trading site featuring a lot of altcoins including decred. You can cash out your decred at your account page in supernova, under My Account -> Edit Account -> Payment Address and you need to type your bittrex address there. And now you just need to set Automatic Payout Threshold to your desired value, I use 0.5 as my payout cap. I convert my mined decred to ethereum at a bittrex exchange site, and store my value like that. Its safe if you use a 2FA (authenticator).
IMPORTANT DUAL MINING INFORMATION
As you can see in the dual mining configuration, the last part is -dcri 25. That means that the dual coin is set to mine intensively , and it shows how much GPU core is assigned for that task.Yes its needed for solo mining too, and needs to be set to 6!This is a very important part because itsDEPENDANT ON THE GPU SERIES. The only noticeable difference between theRX 570andRX 580series is theirGPU Core. The memory (used for ethereum mining) is almost the same on those cards, so there is basically no difference in the ethereum hashrate, but the big difference comes in the GPU Core. The RX 580 series can handle around -dcri 25, dont go above that because it can reduce your ethereum hashrate. For RX 570 series the optimal -dcri is around 19-22. For some cards even lower as 13, this needs to be tested by yourself. The proper way would be to start with -dcri 10. Then using your keyboard press + or -, that way you can increase or decrease -dcri by 1, as you will see on the claymore miner. By going up you will see the dual coin hash rate going up, repeat that until you can start to see the ethereum hashrate decrease, then, after you find that spot reduce -dcri by 3, so you are not pushing the GPU to the limit.On the RX 570 series its possible to get a higher hashrate on ethereum with dual mining rather than just solo mining.Optimal for RX 570 is around -dcri 19 , optimal for RX 580 series is around -dcri 25. For some cards its possible to go even further, but its not worth it to stress the GPU too much.
This is the most important part of this guide, its very important for you to learn the right way of overclocking and undervolting to optimize the GPU as much as possible.
Now after your GPUs are at their default settings, well be using OverdriveNtool to handle the overclocking,target the GPUs temperature and its undervolting. There is no other tool where you can have full control of your GPU and the ability to quickly optimize the GPUs. You cant be 100% sure the overclock/undervolt settings are working properly. This is a special software that gives you FULL access to your AMD GPUs and its very easy to use once you know the basics.
This software may seem confusing or complicated at first, but its very easy to understand. I will explain it through the following picture:
GREEN this is the target temperature of your GPU. OverdriveNtool will automatically keep your GPUs at their desired temperature by increasing/decreasing the fan speed, as its needed to stay at those temperatures. The optimal value would be60C. You can check this during the mining in Claymore, by seeing how much the current fan speed is in percentage. If the fans speed goes over70%increase the target temperature to65C, but that can only happen if you have a high room temperature, probably because of no cooling or a weak air flow.
PROFILES This serves to save current overclock settings for further use. For example after you turn on your PC, you can automatically load all the overclock settings to the desired GPUs.We will have1 profile per GPU on your mining rig. First make a new .txt file in the folder in which you have the OverdriveNtool.
After that go to Save As and change the Save as type to All Files and then name the script overclock.bat. That way you will create a Batch file the same type as Claymores start.bat and it will work in very similar way.
Now after that open the overclock.bat file with notepad and write in the following:
OverdriveNTool.exe -r1 -p1gpu1 -r2 -p2gpu2 -r3 -p3gpu3 -r4 -p4gpu4 -r5 -p5gpu5 -r6 -p6gpu6
As you can see in the following picture:
This will make a batch script that will run the OverdriveNtool.exe and set the each gpu (-p) to a predefined profile (profileName)
If you have 10 or more GPUs you need to have double digits to numerize them (-p01,-p02,,-p11,-p12 and -r01,-r02,.,-r11,-r12) or else the 10-12 GPU wont be recognized.
Carefull,as you can see in the displayed image in my case, I have on this mining rig 7 GPUs enabled. The first one is anINTEGRATED GPUand its ID is -p0 , all others are mining gpus (p1,p6). So if you have your integrated GPU disabled or for some reason you use a motherboard that does not have it, then your mining GPU ids start from p0, but you can see the GPUs order as displayed in the picture below. The GPUs order in OverdriveNtool is thesameas in the GPU-Z and Claymore 11.8.
Now make6 Newprofiles and name themgpu1, gpu2 gpu6and each profile will represent the GPU its attached to, so for example, we are using the -p1 GPU to the profile gpu1 and so on. You need to make so many profiles as you have mining GPUs (all GPUs except the Integrated one)
RED this part shows you the real GPUs core clock rates and its voltages. In other overclocking tools you will only see the last one, in this case 1340 Mhz. Asyou noticed there are 8 of them (P0,P1.P7) and that are the GPUs core states. This means the GPU switches automatically to default between those states, depending on how much you use the GPU. From all those 8 states, we dont want the GPU to switch between them, we want it to run stable at the fixed clock rates we put it on. To do that we will need toDISABLEall the GPUs states except the last one (P7). You can disable every state from P0 till P7 simply by double clicking on its name (just go with the mouse over P0 and doubleclick), you will know if you are successful if that state changes colour.
GPU CORE OVERCLOCK/UNDERVOLT we need to do two things to the GPU core. First, we will need to set P7 clock rate and its voltage. You need to remember that the GPUs core is not used to mine ethereum a lot, it just helps the memory to do the hashrate. The GPUs core generates the most heat on the GPU and uses the most power, so our intention is to push the GPUs core down as much as possible to save power and lower the temperature on the GPU without losing ethereum hashrate, or lose some hashrate because we save more on the power cost reduction than the small ethereum hashrate drop. It would be very recommended to haveWattmeterto make your own calculations to see whats more worth for you. In general most optimal clock rates for ALL GPUs is around1150mhz. Some RX 570 can even work at around 1100mhz without losing any, or very low hashrate reduction on ethereum and that will reduce the power draw drastically. Some RX 580 need 1200mhz to have the optimum hashrate, but most of them work best at 1150mhz. In general never go above 1200mhz because it will start to use much more power, and you can will that with your Wattmeter. For the Voltage part, its best to keep them at850mV. You can try to reduce the voltage to 825mV or 800mV if you are going to keep the GPUs at 1100mhz, but it is possible to get a freeze or crash. The best way for you is to test your hashrate with those values described and see what effect it has for your GPU to run it at 1100mhz, 1150mhz, 1200mhz with 850mV voltage in all cases. Then compare the power draw with the hashrate and calculate whats more profitable for you. In most cases1150mhz/ 850mVis optimal.
MEMORY This works identically as the GPU core, except its for the memory. This is the holy grail, this is the most important part of GPU mining and its veryRANDOM. There is no fixed values from which you can know that it will work 100% on your GPU. There is just one proper way of doing it without risking any problems. We will need to disable P0 and P1 by double clicking on them.
HOW TO SET OVERDRIVENTool PROPERLY?
We will need to repeat the process for each GPU individually, its very important to test it that way so if you end up getting a crash or reset, you will know exactly at what part that happened so that you can reverse the crashing settings.
First we will need to test thefirst mining GPUonly, not all at once:
As you can see in the picture, you will need to have values set exactly like that. Apply settings first, then click on the Save button near the profile or else the profile settings wont be applied properly. You have your first GPU all set and ready to make theFINAL STEP
This is the most important question people want to have an answer for and its the most tricky one. There are no optimal or universal values, because on the identical GPUs the same Overclock/Undervolt settings dont work the same way. Each GPU is unique and requires individual testing to optimize it properly.
Download a tool called HWinfo64.
Install it and run it in Sensors only mode as displayed in this picture:
After that scroll all the way down till you see your GPUs, they are located at the end. Now after you found the GPUs, select all sensors except Memory Errors and HIDE them (right click on the sensors and press hide). Ater that, you will have something as in the image below:
In my case there are 6 AMD GPUs and I have disabled all other sensors because they dont interest me.We only want to have GPU Memory Errors displayed, this will tell you if your GPU is overclocked too much.Now this is the way we will test your GPUs optimal settings.
Now after you found the optimal value for your GPU you can do the following:
After you done all that for the FIRST GPU, you can repeat the process for each other GPU, always keep an eye in HWinfo64 for memory errors, so that you dont have an unstable rig. The rig can work with a bunch of memory errors but that can cause:
If all of your GPUs on the RIG are the same, you can try to apply the profile settings that worked for the first GPU to the next GPU and test if it works, then try to adjust the small settings to reduce memory errors if you get them. Its possible that the same GPU with the same settings will crash the PC or cause a freeze, thats why you testone GPU at a time.
Read more here: