If using an Nvidia GPU, install the Nvidia CUDA toolkit:
Download installer type “deb(network)” from:
To install issue the following commands:
$ sudo dpkg -i cuda-repo-ubuntu1604_9.1.85-1_amd64.deb
$ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
$ sudo apt-get update
$ sudo apt-get install cuda
Editing the enviroment to include the CUDA path:
$ sudo nano /etc/environment
Find the PATH variable and include the /usr/local/cuda-9.1/bin folder at the end of the string.
Save the file and reboot.
If using and AMG GPU, install AMD APP SDK 3.0:
Download and install the latest version from:
http://developer.amd.com/amd-accelerated-parallel-processing-app-sdk/
Untar the SDK to a location of your choice.
Decompress the file wit the following command:
$ tar -xvjf AMD-APP-SDKInstaller-v<3.0.x.y>-GA-linux64.tar.bz2
Run the installer:
$ sudo ./AMD-APP-SDKInstaller-v<3.0.x.y>-GA-linux64.sh
To fix libOpenCL issue:
$ cd $AMDAPPSDKROOT/lib/x86_64
$ sudo ln -sf sdk/libOpenCL.so.1 libOpenCL.so
then logout and login again.
Installing amdgpu-pro
Download the latest package from:
https://support.amd.com/en-us/kb-articles/Pages/AMDGPU-PRO-Driver-for-Linux-Release-Notes.aspx
Decompress the file wit the following command:
$ tar -xJvf amdgpu-pro-17.40-492261.tar.xz
$ cd amdgpu-pro-17.40-492261
$ sudo ./amd-pro-install -y
Reference:
https://linuxconfig.org/install-amdgpu-pro-16-50-on-ubuntu-16-04-xenial-xerus-linux
Building xmr-stak from source
Install all dependencies:
$ sudo apt install git libmicrohttpd-dev libssl-dev cmake build-essential libhwloc-dev
Create a directory for the source files and clone the source:
$ mkdir GIT-sources
$ cd GIT-sources
$ git clone https://github.com/fireice-uk/xmr-stak.git
Create a build directory:
$ mkdir xmr-stak/build
$ cd xmr-stak/build
Configuring and building xmr-stak
If building xmr-stak for CPU only mining and without http server support, use the following cmake flags:
$ cmake .. -DCUDA_ENABLE=FALSE -DOpenCL_ENABLE=FALSE -DMICROHTTPD_ENABLE=FALSE
If building xmr-stak for AMD GPU mining and CPU mining, use the following cmake flags:
$ cmake .. -DCUDA_ENABLE=FALSE
If building xmr-stak for Nvidia GPU and CPU mining, use the following cmake flags:
$ cmake .. -DOpenCL_ENABLE=FALSE
If building for all (AMD GPU, Nvidia GPU and CPU mining)
$ cmake ..
After cmake finishes, execute the following to build:
$ make -j4 install
Final system configurations
If using GPU mining (Nvidia GPU or AMD GPU), ensure the user you will use to mine is part of the video group in /etc/group
$ sudo usermod -a -G video $LOGNAME
Enabling Large Page Support for AMDGPU-PRO
Edit /etc/default/grub and add GRUB_CMDLINE_LINUX=”amdgpu.vm_fragment_size=9″
After editing ggrub, do:
$ sudo update-grub
$ sudo reboot
Configuring Large Page Support for Operating system (applies to all GPUs and CPUs)
Create a file named 98-HugePages-miner.conf in /etc/sysctl.d with the following content:
############################
vm.nr_hugepages=128
############################
Add the following lines to /etc/security/limits.conf (where “miner” is the name of your mining account):
############################
miner soft memlock 262144
miner hard memlock 262144
############################
Then reboot with:
$ reboot
You will find the xmr-stak binary in ~/GIT-sources/xmr-stak/build/bin. Run xmr-stak and follow the prompts to begin mining.