Overclock your Radeon with a volume knob

Keep a log of a project build here. Be sure to include pictures and as much documentation as possible.

Overclock your Radeon with a volume knob

Postby duffmanff » August 25th, 2011, 2:20 am

Video or it didn't happen: http://www.youtube.com/watch?v=Kfb-RznGoKU

What's the hack?
Ever wanted better FPS/GPU control in the middle of a game? This hack allows you overclock and underclock the ATI Radeon video card by rotating a Griffin PowerMate mulitfunction knob - both GPU clock and Memory clock independently. Clocked too high and see corruption? Press the knob button to reset it back to the original clocks.

Disclaimer
Overclocking your video card can damage it. Overclocking it "this easily" is even more dangerous (i've dropped the knob off the desk and it rebooted my machine when the clocks went super-high). You do so at your own risk. If you really like your video card, don't do this hack. Definitely don't blame me for what happens with any hardware or software - there aren't any training wheels on this bike. Reproduce this project at your own risk; I take no responsibility or liability.

How?
By connecting the PowerMate to AutoHotkey and writing a Autohotkey script to clock the card up in the background, the overclocking can occur while the benchmark or game is running.

Hardware:
ATI Radeon 5800 Series card PCIe 16x
Griffin PowerMate USB Multifunction Knob (~$30-$45)
HP TouchPad 16GB (~$99)

Running Windows 7 Professional SP1 with .NET 4.0 framework

Step 0:
Unlock ATI OverDrive 5 (OD5) via Catalyst Control Center
http://www.youtube.com/watch?v=jmyFk7_cnUY

Step 1:
Install required software - follow necessary instructions from each site:
- Autohotkey - http://www.autohotkey.com/download/
- Griffin PowerMate 3.0 - http://store.griffintechnology.com/powermate
- AMD GPU Clock Tool v0.9.26.0 - http://downloads.guru3d.com/AMD-GPU-Clock-Tool-v0.9.26.0-For-HD-5870-download-2383.html
- Unigine Heaven Benchmark v2.5 - http://unigine.com/products/heaven/

Step 2.
This code is provided without any warranty and may or may not work for you. It's based on the ADL SDK code's poor Managed code example extended to provide more OD5 data via a standalone webserver running on localhost's port 5005 (i.e. http://192.168.1.2:5005). If everything worked (you got lucky), opening the page in a modern browser will show information on your video card's OD5 information. ADL Rant: Interops do not mean you support C#/managed code; it just means it can work messily.

a) Extract the attached GPUWebpage.rar and run Sample-Managed.exe found in the root of the archive
b) Enable port access to software via "vshost.exe" to enable incoming connections

Note: The source code should compile on Visual Studio C# Express 2010 with whatever .NET Framework that uses.

Step 3.
Add support for AutoHotKey to interact with AMD GPU Clock Tool.
After this step, if AutoHotKey and AMD GPU Clock Tool are running the following key presses will perform an action -
Ctrl-Alt-u : increase GPU Engine clocks by 50MHz
Ctrl-Alt-i : decrease GPU Engine clocks by 50MHz
Ctrl-Alt-j : increase GPU Memory clocks by 50MHz
Ctrl-Alt-k : decrease GPU Memory clocks by 50MHz
Ctrl-Alt-o : reset all clocks

a) Launch AutoHotKey, Right-click the AutoHotKey icon in the Windows Systray and click "Edit This Script".
Image
b) When notepad opens the script file, add this to the bottom:
Code: Select all
^!u::
Loop, 50
{
ControlClick, X274 Y131, AMD GPU Clock Tool
Sleep, 10
}
ControlClick, X375 Y171, AMD GPU Clock Tool
Sleep, 10
return

^!i::
Loop, 50
{
ControlClick, X273 Y144, AMD GPU Clock Tool
Sleep, 10
}
ControlClick, X344 Y164, AMD GPU Clock Tool
Sleep, 10
return

^!j::
Loop, 50
{
ControlClick, X579 Y127, AMD GPU Clock Tool
Sleep, 10
}
ControlClick, X344 Y164, AMD GPU Clock Tool
Sleep, 10
return

^!k::
Loop, 50
{
ControlClick, X572 Y141, AMD GPU Clock Tool
Sleep, 10
}
ControlClick, X344 Y164, AMD GPU Clock Tool
Sleep, 10
return

^!o::
ControlClick, X370 Y201, AMD GPU Clock Tool
Sleep, 10
return

c) Save the file.
d) Right-click the AutoHotKey icon in the Windows Systray and click "Reload This Script".

Step 4.
Hook up the Griffin PowerMate with AutoHotKey.
Image
a) Launch the Griffin PowerMate software and set the "Clockwise" rotation to 'Simulate keystrokes' with the key to emulate to be 'ctrl-alt-u'.
b) Repeat the above sub-step with:
"Counter-clockwise" = 'ctrl-alt-i'
"Press and Clockwise" = 'ctrl-alt-j'
"Press and Counter-clockwise" = 'ctrl-alt-k'
"Push button" = 'ctrl-alt-o'

Step 5.
Time to overclock!
a) Launch AMD GPU Clock Tool, Griffin PowerMate software, and AutoHotKey if not already launched. Ensure that AMD GPU Clock Tool is not minimized.
b) Launch game/demo with a FPS count.
c) Use a second computer/monitor/tablet (my case the HP TouchPad) to open up your computer's IP address with port 5005 in a web browser (i.e. 'http://192.168.1.2:5005')
d) Rotate the knob, overclock your card, and hopefully see higher FPS counts!

That's it... for now. In the future, whenever you want to overclock the card through the knob, you must follow Step 5.

What else could I have done?
- reduced the time waiting between emulated keystrokes to change clocks
- configure the MHz changed when knob is rotated (currently set to 50 based on the autohotkey script)
- add changes to marshall overclocking settings through AMD ADL instead of AMD GPU Clock Tool
- would remove Autohotkey and AMD GPU Clock Tool from the equation
- remember the overclocking settings for each application based on what you set it to and automatically set it back when launched
- extend the info webpage to set the clocks instead of only showing the current settings
- pulse the Griffin PowerMate based on the temperature of the video card's main GPU sensor
- extend to control GPU Fan
- Replace the word GPU with CPU or APU above
Attachments
griffinpowermate-setupkeys.jpg
Griffin PowerMate Software setup
(59.89 KiB) Downloaded 2412 times
autohotkey-editthisscript.jpg
AutoHotKey - Edit this script
(14.35 KiB) Downloaded 2412 times
GPUWebpage.rar
Source and Binary for an ADL SDK based app that displays ATI OverDrive 5 settings on a local webserver on port 5005.
(69.06 KiB) Downloaded 310 times
duffmanff
 
Posts: 1
Joined: August 23rd, 2011, 11:52 pm

Re: Overclock your Radeon with a volume knob

Postby Huong » January 14th, 2012, 7:01 pm

Very cool! Thanks for the info!
Huong
 
Posts: 1
Joined: January 14th, 2012, 6:59 pm

Re: Overclock your Radeon with a volume knob

Postby tom61 » January 15th, 2012, 3:30 pm

I think this was already covered on the HAD mainpage. Heh, probably after the OP posted this old thread.
tom61
 
Posts: 41
Joined: August 19th, 2011, 7:42 pm


Return to Project Logs

Who is online

Users browsing this forum: No registered users and 3 guests