Linux Nvidia GPU Mining: The Complete Starter Guide
Step 1: Installing Xubuntu (aka Ubuntu)
If you already have windows, this is a good article to show how to install xubuntu on windows with dual boot.
In case you are wondering why I choose Xubuntu, it is because its a lighter fork of Ubuntu. At the current version 18.x, the Xubuntu download is 1.3GB, whereas Ubuntu is 1.8GB
Since we will be using this only for mining and some light weight stuff, Xubuntu is better. For any resources related to mining and linux settings, you can refer to any instructions provided for Ubuntu, and those will be the same on Xubuntu 99.9% of the times. So Xubuntu for us is Ubuntu for all mining purposes
Step 2: Download and install Nvidia drivers.
You can always go to the Nvidia drivers site and download the linux drivers .run file. However, installing it is not just a simple matter of executing the .run file. You need to start/stop the xserver and somehow it stalled for me. So I found a better way to getting and installing the drivers.
This is a good article that provides the instructions.
Step 3: Download the mining software
There is a lot of choice of what drivers/miners to use. Most of the instructions I found were for claymore, which did not work. I finally decided to use the DSTM zm miner. After a lot of research I have come to a conclusion that this is one of the best miners to be used on Nvidia cards for using Equihash - which is one of the most profitable algorithms to mine. Checkout this link to download the Linux 0.6.1 miner.
This will download a zm_0.6.1.tar.gz file. Extract the mining folder from this .gz file to your home directory in a new subdirectory called mining using the command $mkdir
mining will create a new directory (So the path for this will be $HOME/mining
)
Your new folder/contents should look like this:
Your <$HOME>:~/mining/zm_0.6.1$ ls -l
-rwxrwxr-x 1 d5t d5t 300 May 20 15:05 db.sh
-rw------- 1 d5t d5t 2153 May 12 13:09 json-rpc.txt
-rw------- 1 d5t d5t 6454 May 12 13:09 LICENSE
-rw------- 1 d5t d5t 5107 May 12 13:09 README
-rwx--x--x 1 d5t d5t 1681468 May 12 13:09 zm
-rw------- 1 d5t d5t 2098 May 19 16:13 zm.cfg
Ignore the db.sh file, this will not be listed, we will create this in the next steps
Step 4: Create a new account on mining pools.
This guide uses NiceHash. It’s easy to go to the website and register. After activating your account, go to dashboard. You will see something like this on the right:
YOUR MINING AND BTC DEPOSIT ADDRESS
3CByjFEgChutnqvRrr83q9FnMsaBDetELX
Copy and save this address to some local file on your desktop.
Step 5: Setup your miner
Now go to $HOME/mining/zm_0.6.1
folder and create a new script file to start the miner. I named mine db.sh
mousepad
is the notepad equivalent on xubuntu. So at the prompt,
$mousepad db.sh
This will open the notepad aka mousepad where you can cut paste and edit the below code:
./zm_0.6.1/zm --server=equihash.usa.nicehash.com --port=3357 --user=3CByjFEgChutnqvRrr83q9FnMsaBDetELX --telemetry=0.0.0.0:4001 --color
Replace the user id in bold italic in the above line with the BTC address you got for yourself in step 4. If you use the above line and mine, it will mine to my BTC address. :)
Save and close the new db.sh
file.
Step 6:
Now when you do the following at the prompt:
$ls -l
You should see the new db.sh script file in the list. Next is to make this executable, run the following:
$chmod +x db.sh
Step 7:
Go to your $HOME\mining directory now. At the prompt do a cd ..
$ cd ..
Now you are ready the run the newly created script and start mining. At the prompt run the following:
$./db.sh
You mine should have started now if all went well. You can now visit your Nice Hash dashboard it should start reporting something like Unpaid mining balance: 0.00000005 BTC
Happy mining!