Overclocking ATI cards in Linux

on October 30th, 2016 by Hades | No Comments »

This is a small guide for overclocking your ATI card under Linux. This guide targets Ubuntu, but it should be the same for any distro.

Pre-requisites:

– Working fglrx driver
– Card supported by Overdrive (last time I checked only r6xx and up were supported, mobile and integrate chips excluded)

If you type the command aticonfig in a terminal, you will get several config. options that you can use with the driver, including Overdrive options; the proper synthax is aticonfig. This is a list of Overdrive related options:

--od-enable
Enables Overdrive.

–od-disable
Disables Overdrive. You need to restart X for clocks to go back to defaults.

–odgc
List your card’s current core and memory clocks, the current peak clocks, and the range by which you can overclock (Overdrive locks are applicable).

–odgt
Gives out a core temperature reading.

–odsc={NewCoreClock|0,NewMemoryClock|0}
Specify desired clocks fore core and memory.

–odcc
Apply the new clocks specified by the setclocks command

–odrd
Restores default clocks. You need to restart X for changes to take effect.

Steps for overclocking:

1. The first step obviously is to turn on Overdrive:

aticonfig --od-enable

If your card is not supported, you will get a message saying so.

2. Next we get the current clocks and the valid overclocking range for your card:

[email protected]:~# aticonfig --odgc

Default Adapter – AMD Radeon R9 200 Series
Core (MHz) Memory (MHz)
Current Clocks : 300 1000
Current Peak : 300 1000
Configurable Peak Range : [300-1500] [150-2000]
GPU load : 98%

3. Now we can specify valid frequencies for our overclock:

[email protected]:~# aticonfig --odsc=300,1000

Default Adapter – AMD Radeon R9 200 Series
New Core Peak : 300
New Memory Peak : 1000

4. Finally we apply the new frequencies

aticonfig --odcc
Clocks persisted for the Default Adapter - AMD Radeon R9 200 Series

5. Check your new overclock:

[email protected]:~# aticonfig --odgc

Default Adapter – AMD Radeon R9 200 Series
Core (MHz) Memory (MHz)
Current Clocks : 300 1000
Current Peak : 300 1000
Configurable Peak Range : [300-1500] [150-2000]
GPU load : 100%

You can also use Overdrive for Crossfire setups. The process is identical, with the difference that you need to specify the device being overclocked. Example

aticonfig --list-adapters
#each card will be given a number that you append to the normal Overdrive commands

aticonfig –adapter=0 –odgc
#and so on…

Stress Testing:

There is also a stress test available for Overdrive. For me this never works and I have yet to get an answer on this from any ATI dev. But you can try it and see if it works for you:
atiode -P 60 -H localhost:0; echo $?

#runs a stress test for 60 seconds; you can specify whatever time in seconds you want

After the test finishes it will spit out a number. Each number corresponds to a certain status:

0: Test successfully completed.
1: Invalid command-line parameters.
2: Test failed because of rendering errors.
3: Target adapter not found.
4: Test aborted due to unknown reason