I have 3 1070 GPUs on Ubuntu 16.04LTS with the Nvidia drivers applied and cuda 8 installed, and I have accessed the xorg.config file to activate Coolbits and set up edid.bin to get the manual fan control option activated on another GPU.

The manual fan control works on the two of the GPU's, but not the 3rd one.

However, whatever I have tried as a coolbits options, it will not bring up the overclocking performance levelling option on x-server?

Using Cuda 8 with 367 drivers.

Does anyone have a fix for this?

I have checked nvclock and it does load any overclock settings either?

11 Dec Update

Have enabled all GPUs fan control with these commands, which set up fake monitor screens for all GPUs.

sudo echo 'GRUB_CMDLINE_LINUX="nomodeset"' >> /etc/default/grub
sudo update-grub
sudo nvidia-xconfig -a --cool-bits=28 --allow-empty-initial-configuration

However Coolbits still does not work with either 28 or 31? So, still need to find a fix for this, please remember this is full desktop installation with full functionality.

12 December Update - Overclocking working on all 3 GPUs!

Need to install Nvidia Driver 375.20. Download from website.

Install Ubuntu 16.04 with enabling software update options for Ubuntu Development team and third parties.

On reboot, after installation open up Ubuntu Software - update the the OS and reboot.

So, first install the default Nvidia driver through Software & Updates , and then Additional Drivers. The Ubuntu Nvidia 367.57 include extra tweaks from the Ubuntu development team for max GPU performance.


Now switch back to the non-Nvidia drivers in Software & Updates.


Now, you can install the latest Nvidia drivers and get the max gpu performance.

Press CtrlAltF2 to get into non-desktop display.

Log in.

Switch off x-server with:

sudo service lightdm stop.

Got to downloads folder with:

cd ~/Downloads

This will display driver name and run with:


There will be two error messages, but ignore them and say yes at the prompts.

Then, switch the x-server back on with:

sudo service lightdm start

Reboot PC.

Then run this in terminal:

sudo update-grub
sudo nvidia-xconfig -a --cool-bits=28 --allow-empty-initial-configuration

Finally, you can enter overclocking settings and fan controls by creating startup .sh file by copying and pasting this into empty document amending for desired fans speed and clocks.

To finish, you will create a startup .sh file for each GPU so the overclocks and fan speed are loaded when you log into Ubuntu 16.04LTS.

Create some empty documents on Ubuntu Desktop and call them whatever you like. Make sure the filename has .sh at the end.

Paste in:


nvidia-settings -a '[gpu:0]/GPUGraphicsMemoryOffset[3]=100'
nvidia-settings -a '[gpu:0]/GPUMemoryTransferRateOffset[3]=100'
nvidia-settings -a '[gpu:0]/GPUFanControlState=1'
nvidia-settings -a '[fan:0]/GPUTargetFanSpeed=80'

Amend the clocks (GPU and Memory) and fan speeds to whatever are you comfortable with. Make separate documents for each GPU by changing the numbers for each card.

Save and open properties and make each file "executable".

Then go to Search Your Computer and find Startup, and add these files to the programs you run when you start up the Ubuntu 16.04LTS Desktop.

Reboot and fans and overclocks will load up with no hassle.

  • 1
    Overclocking and fan control for GPUs on Linux is very hit or miss, unfortunately. – You'reAGitForNotUsingGit Dec 11 '16 at 20:39
  • 1
    Have got it all working and getting good performance levels. – TVUKT Dec 13 '16 at 5:33
  • What would be good perf level in mh/s per 1070 for ethash? 30+? – Samjongenelen Jan 14 '18 at 23:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.