My laptop is Thinkpad T400 with Ubuntu 12.04. My GPU is ATI graphics module, if I am not mistaken. I wonder how I can scale GPU frequency? software and/or shell script are acceptable.

For cpu frequency, I use cpufreq to set the cpu frequency to the lowest 0.8GHz from five scales, and it also offers several auto-adjusted options (performance, on demand, power save, conservative). Are there alikes for GPU?


The proprietary graphics driver ATI Catalyst Linux (also known as fglrx) supports GPU frequency scaling (ATI Overdrive). You can alter the frequencies via aticonfig command, e.g:

aticonfig --od-setclocks=350,150

Run aticonfig --help or visit this page for the complete documentation.
Also, note that

there is no guarantee that the attempted clock values will succeed even if they lay inside the theoretical range.

Another tool that works with the proprietary driver is AMDOverdriveCtrl:

enter image description here

  • nVidia

The proprietary graphics driver has limited1 support for GPU frequency scaling via Coolbits options. Add

Option "CoolBits" "1"

or, for Fermi and newer cards (see this article)

Option "CoolBits" "8"

to the nVidia device section in xorg.conf (detailed description for each option in the oficial nVidia driver documentation). This practically "unlocks" the Clock Frequencies page in NVIDIA X Server Settings where you can enable overclocking/downclocking:

enter image description here

Alternatively, you can use nvidia-settings in terminal, e.g.

nvidia-settings --assign "[gpu:0]/GPUOverclockingState=1" --assign "[gpu:0]/GPU2DClockFreqs=350,550" --assign="[gpu:0]/GPU3DClockFreqs=500,800"

to enable frequency scaling and set core and memory frequencies for 2D & 3D profiles. Or

nvidia-settings --assign "[gpu:0]/GPUOverclockingState=0"

to revert to default frequencies. Run nvidia-settings --query all to get a list of all the attributes (like this one here).

Another tool that works with the official driver is nvclock:

enter image description here

1. On mobile GPUs, limited clock manipulation support is available when "1" is set in the "Coolbits" option value: clocks can be lowered relative to the default settings, but overclocking is not supported due to the thermal constraints of notebook designs.

  • Intel

Those who have an Intel Sandybridge/Ivybridge GPU and the right hardware should be able to manipulate clock speeds via /sys/class/drm/card0/gt_*_freq_mhz files. Details on Daniel Vetter's page.

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.