OverdriveNTool - tool for AMD Hawaii, Fiji, Polaris, Vega GPUs Hi all This application is for editing some parameters in the AMD OverdriveN API supported GPUs (currently 290, 290x, 380, 380x, 390, 390x, Fury, Fury X, Nano, 4xx, 5xx series, Vega 56, Vega 64) and Overdrive8 API supported GPUs (currently Radeon VII, RX 5000 series) I've made this because WattTool has stopped working since driver 17.7.2. Requirements: System: Windows 7 or newer GPU: AMD 290, 290x, 380, 380x, 390, 390x, Fury, Fury X, Nano, 4xx, 5xx series, Vega 56, Vega 64, Radeon VII, RX 5000 series Driver: 17.7.2 or newer Command Line: -p[gpu_id]"Name" apply profile "Name" to GPU with id=[gpu_id] -c[gpu_id]"Name" same as above, but with confirmation message that application started and everything went ok. -r[gpu_id] reset GPU with id=[gpu_id] cp[gpu_id]"Name" compare current values of GPU with id=[gpu_id] with profile "Name", and eventually set this profile if not equal cm[gpu_id]"Name" compare current values of GPU with id=[gpu_id] with profile "Name", and eventually set this profile if not equal, with additional message if not equal found co[gpu_id]"Name" only compare current values of GPU with id=[gpu_id] with profile "Name", with message if not equal found -consoleonly displays all messages (eg. errors) in cmd.exe console window, instead of gui messages. Only commands that are put after -consoleonly are affected, example: "OverdriveNTool.exe" -consoleonly -r0 -p0"1" -r1 -p1"1" -r2 -p2"2" - will affect all commands "OverdriveNTool.exe" -r0 -p0"1" -r1 -consoleonly -p1"1" -r2 -p2"2" - will affect -p1"1" -r2 -p2"2" commands only -showgui when added to commandline normal GUI will be displayed after program finishes with all other commands -wait[miliseconds] program waits specified time before parsing next command, useful if you want to add some delay for example on windows startup, can be used multiple times in one commandline example: OverdriveNTool.exe -wait3000 -r0 -wait500 -p0profile1 [gpu_id] - it's the first number taken from GPU description, for single video card it's 0 "Name" - name of the profile that was saved ealier, must be quoted if has spaces inside example: OverdriveNTool.exe -p0myProfile -p1"Profile 2" In this example application starts without gui, then sets "myProfile" to GPU with id=0 and "Profile 2" to GPU with id=1 and then exit. commands can be used all together, for example: OverdriveNTool.exe -p0myProfile -r0 co1"Profile 1" On configs with more than 10 GPUs [gpu_id] must have 2 digits, for GPUs 0-9 leading 0 must be added, example: 00,01,02,03,04,05,06,07,08,09,10,11,12. Usage example: -p05"Name" It's possible to use * as [gpu_id], which means it affects all supported GPUs, example: -r* -p*MyProfile -p2"Custom profile" cm*MyProfile Advanced: -ac[gpu_id] GPU_P[num]=[value];[value][;0] Mem_P[num]=[value];[value][;0] Fan_Min=[value] Fan_Max=[value] Fan_Target=[value] Fan_Acoustic=[value] Power_Temp=[value] Power_Target=[value] -ac is similar to -p command, applies values but without using profiles. Format is identical to ini profile. All not specified values will remain untouched. Can be used with other commands (-consoleonly, * as [gpu_id], -r, -p... etc.) [num] - Pstate number, using # as [num] will apply to highest available Pstate for scpecified GPU [value] – value, for GPU and memory PState first value is clock (MHz), second is voltage (mV), third optional ;0 makes this Pstate disabled. Putting * as Memory or GPU value will skip applying this value, for example: -ac0 GPU_P7=*;800 Mem_P3=1000;* (only applies GPU_P7 voltage=800mV and Memory P3 clock=1000MHZ) -ac0 GPU_P4=*;*;0 (only disables GPU_P4 without changing it’s values) For I2C settings use –ac with Offset=[value] LLC=[value] PhaseGain=[value] CurrentScale=[value] I2C must be enabled and supported for specified GPU, otherwise it will not work. Offset value is multiplied by 6,25mV, so 10 = +62,5mV, -5 = -31,25mV Example: -ac0 Offset=10 LLC=0 -ac0 Offset=-5 LLC=1 PhaseGain=000000 CurrentScale=60 Commands example: -ac0 GPU_P7=1200;800 Mem_P2=1000;850 Fan_Min=1080 Fan_Max=1700 Fan_Target=70 Fan_Acoustic=700 Power_Temp=90 Power_Target=50 -ac1 GPU_P#=1200;800 Mem_P#=1000;850 -ac0 GPU_P7=1200;800;0 Mem_P3=1000;850 Fan_Min=1080 Fan_Max=1700 -consoleonly -r5 -ac5 GPU_P#=1200;800 Mem_P#=1000;850 Fan_Min=1080 Fan_Max=1700 -ac4 Fan_Target=70 Fan_Acoustic=700 Power_Temp=90 Power_Target=50 -ac* Power_Target=-1 GPU_P7=*;*;0 -wait1000 -r0 -ac0 GPU_P7=1200;800 Mem_P1=700;850;0 Mem_P2=750;850;0 Mem_P3=800;850;0 Mem_P4=1000;850 Fan_Min=1080 Fan_Max=1700 Fan_Target=70 Fan_Acoustic=700 Power_Temp=90 Power_Target=50 -ac0 Power_Target=50 -ac1 Power_Target=-50 -ac2 Fan_Max=1700 Fan_Min=1080 -ac1 Fan_Acoustic=700 -getcurrent - prints current values for all supported GPUs in cmd console window. -t[gpu_id] restart GPU with id=[gpu_id]. It's similar to devices manager enable/disable GPU. Useful for immediately apply registry changes done to AMD keys like SoftPowerPlay table. It requires admin rigths to work. Additional info: -Workaround for bug in 17.7.2 drivers, when driver sometimes uses default voltages instead of user settings: use reset and re-apply profile. -It's possible to disable/enable each P state. To do this click on P0, P1.. etc. label. If P state is disabled it will not be used by GPU. -I2C currently supports: IR3567B (RX470, RX480, some RX5xx), up9505 (MSI RX5xx) -If you prefer to not touch fan settings it's possible to deactivate Fan section for each GPU. To do this press Ctrl + double click somewhere on the Fan box. It's saved per gpu_id, so GUI or commandline will not touch fan settings for such GPU. -To open Settings or SoftPowerPlayTable editor left click on top-left program icon, or right click on the titlebar. -To change "friendly name" first enable it in settings, than right click on the gpu list to open menu Current version: 0.2.9 (14.06.2020) Filename: OverdriveNTool.exe MD5: 9D0B0D3CE4B1479EE0AD3AB659691DC9 SHA-1: 2A7D5ADD5ADE9DBC7B03AB6E28B9085D14579C2E Download: dropbox or mirror: zippyshare Version 0.2.7 (for driver 17.7.2 - 18.12.1.1): Filename: OverdriveNTool.exe MD5: 1DDC59F4C8B4675B528F127C5C5D8C84 SHA-1: 94F97A930E12490E634FF09AB10BC5A4B8E8CADD download: dropbox Changelog: 0.2.9 (14.06.2020) -fixed: Application recognizes driver as not installed in 20.5.1 (or newer) -added profiles reordering 0.2.8 (16.04.2019) -support for Fan Curve and Memory timing level introduced in 18.12.2 driver (Removed Fan Min, Fan Max, Fan Target Temp and Power Temp values) -added -wait command -added possibility to apply or reset all supported gpus at once by using Ctrl + Apply or Ctrl + Reset -fixed bug with GPUs and profiles duplication when use -showgui command -added support for Radeon VII 0.2.7 (09.11.2018) -fixed: console messages may not be displayed on Windows 10 -added possibility to open .reg files with SoftPowerPlayTable editor -added optional auto reset before apply -added -t and -showgui commands -added optional displaying an error when values are not as expected after apply -for errors with ErrorCode -1 on apply now current driver limits are displayed 0.2.6 (16.05.2018) -added ini file backup feature -added an option to hide ADL_ERR_NOT_SUPPORTED errors -fixed: console messages may not be displayed on some systems -added -getcurrent and -ac command to apply values without using profile 0.2.5 (13.02.2018) -r command now also resets I2C offset and LLC when I2C is enabled and supported -consoleonly command messages are now coloured -fixed: ini file may lose it's content on PC crash 0.2.4 (18.01.2018) -fixed bug in QEMU PCI passthrough with showing only one GPU on multiGPU configs -updated error messages to give more info 0.2.3 (14.12.2017) -added possibility to use * as gpu_id in commandline 0.2.2 (23.11.2017) -added Friendly name and Registry key to gpu additional info -SoftPowerPlayTable editor can now automatically restart GPU when click "Save" or "Delete" 0.2.1 (19.10.2017) -added SoftPowerPlayTable editor -commandline fix to avoid error messages when driver is not installed -added option to not include unsupported GPUs on the GPU list 0.2.0 (02.10.2017) -added possibility to deactivate Fan section 0.1.9 (25.09.2017) -added -consoleonly command in commandline -added I2C support for up9505 -added Adapter index to gpu additional info -GPU displayed on startup changed to first supported rather than first one -Vega FE support in Pro mode -fixed ini bug with random values for I2C when new profile is created 0.1.8 (08.09.2017) -fixed dpi bug introduced in 0.1.7 -added I2C support for IR3567B 0.1.7 (26.08.2017) -Now additional info about GPU is optional (system menu->settings) -changed Pstate disabling/enabling to single click -commandline support for more than 10 GPUs -Power Target now allows negative values 0.1.6 (19.08.2017) -changed GPU list sorting to be like in other apps, for easier gpu recognition. 0.1.5 (18.08.2017): -changed tab order for edit controls -fixed bug with not listing all GPU's on some configs 0.1.4 (17.08.2017): - added possibility to disable/enable each P state. 0.1.3 (12.08.2017): - added few more commands 0.1.2 (08.08.2017): - added -c command in commandline 0.1.1 (07.08.2017): - prevent using commandline on unsupported cards - fixed bug with showing only first GPU on multiGPU configs 0.1 (06.08.2017): - initial release Older versions can be found here: dropbox Source code: dropbox Screenshot:
This is for all cards supported by Api 7 OverdriveNext (maybe Vega too?), i won't make different app for fury because i don't have possibility to test it
Can't configure fans speed using your tool. Checked some values but seems that default profile is imperative.
I tried it on my 390 and it seems to be working, despite not being listed as one of the supported cards. The changes that I make with your tool are shown as being applied inside Radeon Settings and MSI Afterburner. I like your tool, mainly due to the ability to save a profile + the ability to change State 0. Radeon Settings doesn't let me do so, only State 1 through 7. By changing State 0 I don't need to use Clockblocker anymore, which worked well, but this seems like a more elegant solution to me (unless changing State 0 brings with it some risks I'm unaware of, a possibility). Either way, thank you for the tool!
What you mean, what exactly is not working, is there rpm difference when you use wattman? I just checked and fan speeds change when i change minimum rpm, maximum rpm and target temp values Maybe AMD added 3xx series to support OverdriveNext API which i didn't know about For Polaris P0 states always revert back to default, are you sure they are changed?
If Afterburner and Radeon Settings/Wattman are to be believed, the core clock stays to what I've set it to. If I change every State except 0, my core clock will downclock itself and spike up and down due to activity while I'm idle. And then when I'm playing a game with relatively low requirements it'll sometime be at what I've set it as (1040mhz) and sometime drop down to lower clocks. When I used OverdriveNTool to change every state, including State 0, to 1040mhz, my core clock remains stable at 1040mhz. Even if I'm idle on my desktop, it's at 1040mhz. In games, even after I close a game, it stays there. Afterburner doesn't show the "power limit" changing unless I restart AB, it shows the rest changing. Wattman shows the power limit change. I've tried recording a short video showing it, in it you can see the activity graphs of both AB and Wattman. In AB we see the small spikes and then the solid 1040mhz. In Wattman you can see the orange line, which goes from being low to being solid at a higher level. You can also see the states all being at the same level. I ended up cutting out the end part, where I launched a game, walked around, closed it and looked at the software again before using the "reset all" button to bring everything back to default. When I was doing it everything worked just fine, but the recording software (OBS) stopped recording properly after I opened the game. I think it's because I used the CPU to record and the CPU usage spiked when I opened the game. If it helps you any, I can do the same test later on but record with ReLive + the 'record desktop' option. https://www.youtube.com/watch?v=33_-YYIkFiU
Nice May i ask why you need such high clocks and voltages in all states? It's power uneficient.. And resetting doesn't reset Fan for you?
The 'reset all' button does reset the fan for me, I can hear the fan ramping up or down as I use the tool. The reason I want the high clocks and voltages in all states is only for gaming, I bring them back to default values when I'm not gaming. There are some games where the power requirements can change quite quickly (depending on how much action is happening on screen or how I move the camera around) and when that happens, the card will by default try to change my clocks by itself to give me the power I need while still keeping my clocks low to save power. If the power requirements by the game change too quickly too often, it leads to stutters and I dislike that. I haven't been able to stop that from happening through the drivers themselves, but using your tool to change all of my states (and state 0) fixes that entirely. It'll be inefficient, but it completely fixes the problem and I don't mind being inefficient for as long as I'm gaming. Once I'm done with the game, I bring the values back to default and let the card downclock itself.
Thank you for good utility, but i have some problem. I cant set memory clock with lowest then 800mv, but i need 700 for some cards. Thanks
Great work ,, really we were looking for a tool like this since wattool has stopped developing his tool , so i have an important note !!! GPU is NOT listed the same arrangement of MSI afterburner or new claymore version some for example I tested your tool in 2 rigs 1st rig was like this calymore OverdriveNTool 0 1 1 0 2 3 3 2 4 5 5 4 2nd rig was like this calymore OverdriveNTool 0 5 1 0 2 1 3 2 4 3 5 4 As you see from the previous list there is no constant rule of listing GPUs Please fix it to be the same looks like clyamore listing Thanks for advance
Hi kosho I will sort GPUs by bus number, hopefully it's the correct order. But i need your help with beta-testing, check your PM's later Don't you have P0-P1-P2? I've made this up to P7, that's why there is free space in the memory box Do you have set 0 in P2 Clock or Voltage?
you did not understand. Should be so. http://clip2net.com/s/3MYRS43 sorry, I do not know how to attach a picture.