Overclock.net banner
1 - 20 of 384 Posts

· Registered
117 Posts
Discussion Starter · #1 ·
WattTool: A simple tool that combines overclocking with VRM monitoring/tweaking for RX 400 series

Features (short):
  • (almost) everything WattMan can do
  • VRM monitoring/tweaking
  • profile support
  • small and simple
Known issues:
  • If you get the "Mutex creation failed!" error, you must run WattTool as administrator. This is caused by other monitoring software (e.g. GPU-Z or HWiNFO) already running with admin privileges and owning the synchronization mutex. You can run WattTool as a standard user if you close these tools first (and restart them after WattTool).
  • There is one report that I2C access on some (all?) XFX cards is not working.

Features (long):
  • I dont check input values against the limits that the API provides. The API then limits the values or the call fails and settings dont change.
  • GPU clock and voltage: works similar to WattMan. Clocks are not restricted to 5 MHz increments, but voltage is limited to 6.25 mV steps (rounding mode is up, so 976 mV will result in 981.25 mV).
  • Memory clock and voltage: works similar to WattMan. The voltage is not the actual memory voltage (which is fixed to about 1.5 V or needs a
    ). The voltage controllers second loop is not used, so it is questionable, whether the memory controller has an own dynamic voltage plane. My guess is that the voltage set here simply is a lower limit for the core voltage. If you overclock the memory, always check for memory errors (can be done with HWiNFO)
  • Fan and Power settings: nothing special here. Minimum fan rpm is not limited, I can set values below WattMan's limit of 1040 rpm. Minimum rpm is not used directly. My estimate is that values below 2200 are scaled by 2/3. So 2500 results in 2200 * 2/3 + 300 = 1760 (see screenshot), while 1800 will give 1800 * 2/3 = 1200.
  • Standard monitoring: these values should be identical to the values displayed in WattMan and there is (almost) no performance impact caused by monitoring.
  • I2C access: is currently only working for the IR3567B controller on line 4 address 8 on RX470/RX480 cards. Access is synchronized with other tools like GPU-Z or HWiNFO, which can sometimes result in missing readings. I2C access has a large performance impact and causes stuttering (even for dragging a window on the desktop). Changes to I2C settings are not persistent. They will revert to defaults after the VRM is powered down.
  • VRM monitoring: is disabled by default. Reading the values is not atomic, so VID and VOUT are not always in sync. VDDC resolution is only 7.8 mV.
  • Load Line Calibration: eliminates voltage drop (on my card i get VOUT = VID +- 1mV). Not actually very useful.
  • Phase gain: The reference RX 480 has the first three VRM phases connected to the 6-pin connector and the remaining three phases connected to the slot. After reviews measured power draw above 80 W from the slots, AMD implemented a fix that shifts load the 6-pin connector. The default value for this is DDD000 (Hex). The maximum possible shift would be FFF000. Equal load distribution (000000) slightly increases the VRM efficiency. I get about 3°C lower VRM temps with 000000, power savings might be in the 2-3W range. On non-reference cards all/most phases are probably connected to the 8-pin, so changing this setting is pointless.
  • Current scale: will scale the current reported by the VRM. On the reference RX480 the default value is 60 (hex). If you set it to 20 you will see GPU-Z reporting about half the power draw. This will double the available power, before you reach the power target. But other stuff will also only see half the current. Dont expect over current protection to work with this setting. The encoding of this value is unknown and non-reference cards use different values. If you want to bypass the power limit, it is probably safer to use EMBD or a custom bios (der8auer's unlocked air bios for reference cards is signed by AMD).
  • Voltage offset: is available from -300mV to +300mV (not tested over the whole range). The input is decimal and gets multiplied by 6.25mV. So the valid range is -48 to 48.
  • Profiles can be given as commandline arguments to WattTool or loaded and saved from the GUI.
  • Each card needs its own profile. You can add multiple profiles as commandline arguments.
  • Adapter index is the number from the dropdown listbox.
  • There is a NoGUI option that closes WattTool when set to 1 after all profiles are loaded and does not start the GUI.
  • Profile sections are only active when mode is set to Manual. Mode=Default restores default settings for this section.

Planned features:
  • support for voltage offset on RX 460 with NCP81022 controller
  • automatic scan for I2C line and address
  • RX 400 series card (no feedback on RX 460 so far)
  • Crimson 16.6.3 or later
  • Windows (tested only on Windows 10 pro 64bit, compiled with MinGW)
  • @deeper-blue for VRMtool
  • @gupsterg for publishing IR3567B register mapping
  • @W1zzard for sharing synchronization mutex information
  • everybody who is testing the tool and giving feedback
Use at your own risk! Input values are not checked against WattMan's limits. I2C line and address fixed.

WattTool-0.92.zip (external link)

WattTool-0.92.zip 40k .zip file

Older version:

WattTool-0.91.zip 39k .zip file

WattTool-0.9.zip 38k .zip file

WattTool-0.8.zip 38k .zip file

WattTool-0.7.zip 36k .zip file


· Ultra wide wide wide.....
5,297 Posts
Made in Jamaica.
  • Rep+
Reactions: SoCalMX70

· Registered
117 Posts
Discussion Starter · #14 ·
Originally Posted by blue198444 View Post

If i set the value it is diretly chanhe in the rom ?
The standard settings should behave exactly like WattMan settings. The I2C settings get lost when the system is shut down.

I hacked in some multi-gpu support that i could not test. I will upload it here and put it in the first post after somebody reports that it is working. (removed download, because it was not working)

· Registered
117 Posts
Discussion Starter · #20 ·
Ok, testing multi gpu support is difficult with only one card. With my single card i get 6 adapters. Only one of them is "active", so i filtered for the active ones.

The four numbers are adapter, adapter index, bus number and active flag. Can somebody with multiple cards show a screenshot with expanded combobox from their system with this version (download removed).
Also what is the highest offset possible for core voltage (vddc).

Some tools suggest -/+ 200 mv?!
I limited the value to 40 x 6.25 mV = 250 mV but never tested such extreme values.
What about mvdd voltage control.
Is there actual software access to the memory VRM?
1 - 20 of 384 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.