How To Mine on Linux Using a GPU
Pool mining does not require the garlicoin network to run, but you will need an address to mine to. Pool miners can either use Garlium or follow the Linux Wallet Guide.
Solo mining requires the network to run, so please follow Linux Wallet Guide to set it up.
You most likely will have to build the miners (ccminer for pool mining, ccminer-nanashi for solo mining) and possibly also the drivers and CUDA from the source code.
NVIDIA drivers, CUDA and general setup
Make sure that your GPU can be found in this list (minimum required is
Compute 5.0) and that you have the proprietary nvidia driver installed and running. You can check which driver and version are installed and loaded with
modinfo $(modprobe --resolve-alias nvidia)
If this doens’t show an nvidia driver, you either don’t have it installed or loaded. The driver can be found through your package manager.
For Ubuntu, you can install and load them via the settings as well, which might save you some hassle. You can find this option in
Software & Updates under additional drivers. Your nvidia card should show up here and you can check the box for using the nvidia binary driver.
For Arch you can find instructions here
In order to build the miner for your GPU, you need the nvidia cuda compiler (nvcc) installed. Note that the cuda version has to match with your driver version, as older drivers don’t support newer cuda versions. It is recommended to install cuda through your package manager, as it will handle version matching, or you can build it yourself. On Ubuntu run
sudo apt-get install nvidia-cuda-dev nvidia-cuda-toolkit
If you want to build it yourself, you can download it from the nvidia homepage. You need gcc version 5 or 6 to compile, which are old versions and you distro will most likely come with a newer version. On Ubuntu, install and make your computer use it, run
sudo apt-get install gcc-5 g++-5 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 1 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 1
General setup for compiling
A few additional packages are needed to build the miner: git, gcc, autotools, automake, ssl, jansson. This might vary for you. On Ubuntu run
sudo apt-get install git build-essential libcurl4-openssl-dev libssl-dev libjansson-dev automake autotools-dev
Compiling and running the miners
If you have the newest cuda version (9.1), you do not need to compile anymore! A new release with allium support has been built. You can find it here
If you have cuda 9.0 or lower (8 comes with Ubuntu), clone ccminer (stay on the windows branch), and build
git clone https://github.com/lenis0012/ccminer.git cd ccminer ./build.sh
If it successfully built, you can now run the miner and connect to a pool
./ccminer --algo=allium -o POOL -u ADDRESS --max-temp=85
Be sure to replace
ADDRESS with your wallet address and
POOL with the pool’s address (you can find some available pools here). A safety measure has been added which prevents your graphics card from overheating (
--max-temp=85). Only remove this option if you know what you are doing. You can check out a specific max temperature for your GPU here.
- A guide for this is in the works and will be updated when tested on the mainnet **
This guide was tested on Ubuntu 16.04 with an AMD Radeon R9 290 and AMDGPU-PRO 17.50 drivers.
- Download the latest AMDGPU-PRO Driver from here: AMDGPU-Pro
- Open a terminal and go into the directory where you have downloaded the driver
- Unpack it:
tar -xf amdgpu-pro*
- Install the driver with OpenCL libraries:
- Download the APP-SDK (Version 3.0 worked for me): APP SDK
- Install required dependencies:
apt-get install libcurl4-openssl-dev pkg-config libtool libncurses5-dev
- Clone the nicehash sgminer git repository:
git clone https://github.com/lenis0012/sgminer-gm.gitand cd into the directory
- Download the AMD ADL SDK from here
- Extract the ADL SDK and copy all files from the
includedirectory into the
- Compile sgminer:
git submodule init
git submodule update
CFLAGS="-O2 -Wall -march=native -std=gnu99" ./configure
- Run the miner:
./sgminer --gpu-platform 0 --algorithm allium -o <pool address> -u <your garlicoin address> -p x --thread-concurrency 8193 -I 13
If you get errors with
undefined reference to, it means you miss a library/package, you have the wrong version, or it can’t be found.
- If you don’t have a library/package, install it with your package manager. Be sure to install the dev package (eg libfoobar-dev).
- If you do have the package, check your PATH. It might not be in there, or you might have something installed that is prepended to the PATH (like anaconda), so that the compiler uses the package with the wrong version from there.
If you get errors related to
nvcc_ARCH, there might be wrong settings for your GPU in the makefile. Check this site for help.
get_work errors (solo mining)
If you get any get_work errors, then something is wrong with your network.
Here are some steps to troubleshoot:
- Make sure that your network (
garlicoind) is running
- Check that your network has downloaded all the blockchain (see above)
- Make sure that you have added a .conf file in
.garlicoin/and that its contents match with the arguments you give to the miner.
- If it still doesn’t work, make sure that you are using the correct miner with a correct call. Don’t forget
-p test -u test.
Spamming 0 kH/s
- Disabling DSR factors in nvidia control panel should fix the error.
- If that doesn’t work and you have an old GPU (under 900 series), you’re out of luck. The new miner which supports allium is not compatible with older GPUs (with a Compute Capability lower than 3.0).
Access is denied
Check your port configurations
If the above troubleshooting steps do not work. You can ask in the Discord chat
#posix-mining or contact
Here are a few steps you can take to improve your performances. These might not work for everyone, so feel free to play around with it.
In your bat file, you can try adding
--lookup-gap=2 and running it again This might improve your performances on some Nvidia GPUs, but not all.
The 85C temperature is recommended for most GPUs, but some GPUs can support more.
If you are unable to mine because your GPU temp goes above 85C, you can check the max recommended temperature for your GPU (Nvidia) here: https://www.geforce.com/hardware/desktop-gpus (Search for your GPU, click More Info, then on the left, click Specifications, there should be an entry called
Maximum GPU Temperature (in C)).
You can then edit the
--max-temp to whatever temperature you desire.
We are not responsible for any damage which might happen when mining. Use at your own risk.