GTX 970 overclocking 375.66+

Having trouble enabling overclocking on my GTX 970

Tried drivers 375.66, 378.13 and 381.22
Coolbits is set in my Xorg.conf, tried 28 and 31

Powermizer tab on nvidia-settings shows “Editable Performance Levels”, but entering values into them does nothing. Screenshot here http://i.imgur.com/wrodzGQ.png

nvidia-settings does not report attributes I would expect for adjusting memory clock

$ nvidia-settings -q all | grep ‘Memory|Offset’
Attribute ‘GPUMemoryInterface’ (capablanca:0.0): 256.
‘GPUMemoryInterface’ is an integer attribute.
‘GPUMemoryInterface’ is a read-only attribute.
‘GPUMemoryInterface’ can use the following target types: X Screen, GPU.
Attribute ‘GPUOverVoltageOffset’ (capablanca:0.0): 100.
The valid values for ‘GPUOverVoltageOffset’ are in the range 0 - 87500 (inclusive).
‘GPUOverVoltageOffset’ can use the following target types: X Screen, GPU.
Attribute ‘TotalDedicatedGPUMemory’ (capablanca:0[gpu:0]): 4037.
‘TotalDedicatedGPUMemory’ is an integer attribute.
‘TotalDedicatedGPUMemory’ is a read-only attribute.
‘TotalDedicatedGPUMemory’ can use the following target types: GPU.
Attribute ‘UsedDedicatedGPUMemory’ (capablanca:0[gpu:0]): 3407.
‘UsedDedicatedGPUMemory’ is an integer attribute.
‘UsedDedicatedGPUMemory’ is a read-only attribute.
‘UsedDedicatedGPUMemory’ can use the following target types: GPU.
Attribute ‘GPUMemoryInterface’ (capablanca:0[gpu:0]): 256.
‘GPUMemoryInterface’ is an integer attribute.
‘GPUMemoryInterface’ is a read-only attribute.
‘GPUMemoryInterface’ can use the following target types: X Screen, GPU.
Attribute ‘GPUOverVoltageOffset’ (capablanca:0[gpu:0]): 100.
The valid values for ‘GPUOverVoltageOffset’ are in the range 0 - 87500 (inclusive).
‘GPUOverVoltageOffset’ can use the following target types: X Screen, GPU.

Current PCIe Link Width x8 . Does it make any difference if you move card to x16 PCIe slot ?

I moved the card to a x16 slot, made no difference.
Re-installed the 381.22 driver and rebooted again, no change.

Here are some more screenshots of nvidia-settings
http://imgur.com/a/1ygss

Ubuntu 16.04, kernel 4.4.0-81-generic

Relevant section of xorg.conf

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 970"
    Option         "RegistryDwords" "RMUseSwI2c=0x01; RMI2cSpeed=100"
    Option         "Coolbits" "31"
EndSection
Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "metamodes" "DP-0: nvidia-auto-select +0+0, DP-2: nvidia-auto-select +3840+0, DP-4: nvidia-auto-select +7680+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

“nvidia-settings -q all” does not list GPUGraphicsClockOffset or GPUMemoryTransferRateOffset
“nvidia-settings -e” shows the following

$ nvidia-settings -e GPUGraphicsClockOffset

Attribute 'GPUGraphicsClockOffset':
  - Attribute value is an integer.
  - Attribute is not written to the rc file.
  - Attribute not queried in 'query all'.
  This is the offset amount, in MHz, to over- or under-clock the Graphics Clock.  Specify the performance level in square brackets after the attribute name.  E.g.,
  'GPUGraphicsClockOffset[2]'.

$ nvidia-settings -e GPUMemoryTransferRateOffset

Attribute 'GPUMemoryTransferRateOffset':
  - Attribute value is an integer.
  - Attribute is not written to the rc file.
  - Attribute not queried in 'query all'.
  This is the offset amount, in MHz, to over- or under-clock the Memory Transfer Rate.  Specify the performance level in square brackets after the attribute name.  E.g.,
  'GPUMemoryTransferRateOffset[2]'.

Trying to set either of the above attributes throws an error

$ sudo nvidia-settings -a '[gpu:0]/GPUMemoryTransferRateOffset[3]=100'

ERROR: Error assigning value 100 to attribute 'GPUMemoryTransferRateOffset' (capablanca:0[gpu:0]) as specified in assignment '[gpu:0]/GPUMemoryTransferRateOffset[3]=100' (Unknown
       Error).

Please remove reg keys : Option “RegistryDwords” “RMUseSwI2c=0x01; RMI2cSpeed=100”

Is overclocking supported on this card? Please confirm with your card Vendor. May be they will suggest any vbios change. Also did you test with any older nvidia driver?

I tried removing those reg keys, made no difference.
Tried 381, 378, 375 drivers, none worked

My clock seems to be overclockable based on reviews I read on tomshardware.com

EVGA GeForce GTX 970 4GB SSC Gaming ACX 2.0+ (04G-P4-3975-KR)

It has two build in BIOS’s, toggable by a dip switch.
Tried both BIOS’s, neither works.

Having exact same problem with a Zotac GeForce GTX 1060 3GB mini.

Having same problem with 460GTX and 570GTX, both card were overclockable like a year ago, but now it isn’t working. I’ve tried command line overclocking/underclocking and nvidia control panel overclocking. Either way it isn’t working.

>>card were overclockable like a year ago
What do you mean by that? Can you explain more? Please attach nvidia bug report. Is any older driver don’t have this issue for your cards? Who is Vendor of your card?

460GTX is from MSI, 570gtx is from point of view. I was trying this feature like a year ago, I don’t remember which driver I’ve had. I’ve tried this like a week ago and it’s not working. I open nvidia-settings, go to overclocking, set gpu overclock to 10, hit enter and nothing happen. Year ago it was working.
nvidia.log.gz (99.7 KB)

It would be good if you share which driver had worked for your GPUs?

Similar error trying to OC this:

MSI GTX 1060 3GT OC
ubuntu server 16.10
Nvidia v375.66
installed lightdm

$nvidia-smi -i 0 -ac 4004,900
Setting applications clocks is not supported for GPU 0000:01:00.0.
Treating as warning and moving on.
All done.

This card was previously installed in w10 rig & OC with no problem at all, so I don’t think is a firmware/HW issue.

Did you test with nvidia-settings tool and Option “Coolbits” “8” in xorg.conf ?

Did you solve the “Unknown Error” problem with the EVGA GTX 970 SSC trying to overclock on linux?
I have the same problem: tried Coolbits 8 and 12 and with and without “RegistryDwords” “PerfLevelSrc=0x2222”
Ubuntu 14.04 Driver version 375.66
Perhaps a VBIOS update is needed?

I’m sorry but I don’t know which was working and I think it’s impossible to downgrade driver and test it.

Display supported clocks of all GPUs using nvidia−smi -q -d SUPPORTED_CLOCKS