# Preliminary view of AMD VEGA Bios



## jstefanop

Cool I just got the card and glanced over the BIOS as well...ill start hacking the crap out of it and see what can be done. Memory can be pushed to about 1075mhz on stock BIOS, so going to see if its possible to control HBM2 voltage.

BTW voltage controller is IR 35217


----------



## gupsterg

Sweet







. Yeah that was last night before bedtime viewing







. Doing some more now







. You got some I2C dumps, etc to share







.


----------



## jstefanop

Quote:


> Originally Posted by *gupsterg*
> 
> *Last update:* 01/07/17
> 
> VddmemLookupTable has 1350mV, no idea if this is HBM voltage or something else. Fiji did not have HBM voltage in PowerPlay, nor was it 1.2V, but 1.3V. Not read about HBM2 at all TBH, but would have expected it lower or 1.3V, perhaps AMD needed to give it a bump if this values is indeed that.
> 
> .


Yes memory at 945mhz is indeed running at 1.36v according to my multimeter. This will be great if we can control memory voltage in bios finally. Dont know how much safe headroom there is for HBM2. Looks like its already pushed pretty high.


----------



## gupsterg

Fiji it was changeable via the voltage control chip using an offset register for loop 2. Fiji never had it in the PowerPlay it was changed via editing VoltagObjectInfo.

You have dual bios on card from when I viewed PCB images of PCPer.

i) When you dump bios using AtiWinFlash what size is it?
ii) Does AtiWinFlash v2.74 allow flashing of a dumped bios?

You could lower HBM2 voltage in PowerPlay and see if it has an effect







.


----------



## jstefanop

Yes there are two bios chips on the board toggle by switch, thankfully one of the chips are accessibly at the back of the PCB. No Atiflash support for vega. Flash image is 256kb pulled directly from chip. GPUZ downloads it as a 60kb image(probably a bug).

BTW haven't dissected the BIOS yet, but doing a quick glance I couldn't find the memory states. (neither the 167mhz base or 945 high state...Below are all the mem states driver returns:

0: 167Mhz *
1: 500Mhz
2: 800Mhz
3: 945Mhz


----------



## gupsterg

PowerPlay header was in OP ~3 days ago.

Code:



Code:


6A 01 (0x16Ah)          USHORT usMclkDependencyTableOffset;        /* points to ATOM_Vega10_MCLK_Dependency_Table */

Once you copy out PowerPlay within it at offset location 16A is Mclk table.



Code:



Code:


01 04 3C 41 00 00 00 00 00 50 C3 00 00 01 00 00 80 38 01 00 02 00 00 24 71 01 00 03 00 00




Spoiler: MCLK_Dependency_Table



Code:



Code:


typedef struct _ATOM_Vega10_MCLK_Dependency_Table {
01    UCHAR ucRevId;
04    UCHAR ucNumEntries;                                         /* Number of entries. */
    ATOM_Vega10_MCLK_Dependency_Record entries[1];            /* Dynamically allocate entries. */
} ATOM_Vega10_MCLK_Dependency_Table;

typedef struct _ATOM_Vega10_MCLK_Dependency_Record {
3C 41 00 00 (167MHz)    ULONG  ulMemClk;                                            /* Clock Frequency */
00                      UCHAR  ucVddInd;                                            /* SOC_VDD index */
00                      UCHAR  ucVddMemInd;                                         /* MEM_VDD - only non zero for MCLK record */
00                      UCHAR  ucVddciInd;                                          /* VDDCI   = only non zero for MCLK record */
} ATOM_Vega10_MCLK_Dependency_Record;

typedef struct _ATOM_Vega10_MCLK_Dependency_Record {
50 C3 00 00 (500MHz)    ULONG  ulMemClk;                                            /* Clock Frequency */
01                      UCHAR  ucVddInd;                                            /* SOC_VDD index */
00                      UCHAR  ucVddMemInd;                                         /* MEM_VDD - only non zero for MCLK record */
00                      UCHAR  ucVddciInd;                                          /* VDDCI   = only non zero for MCLK record */
} ATOM_Vega10_MCLK_Dependency_Record;

typedef struct _ATOM_Vega10_MCLK_Dependency_Record {
80 38 01 00 (800MHz)    ULONG  ulMemClk;                                            /* Clock Frequency */
02                      UCHAR  ucVddInd;                                            /* SOC_VDD index */
00                      UCHAR  ucVddMemInd;                                         /* MEM_VDD - only non zero for MCLK record */
00                      UCHAR  ucVddciInd;                                          /* VDDCI   = only non zero for MCLK record */
} ATOM_Vega10_MCLK_Dependency_Record;

typedef struct _ATOM_Vega10_MCLK_Dependency_Record {
24 71 01 00 (945MHz)    ULONG  ulMemClk;                                            /* Clock Frequency */
03                      UCHAR  ucVddInd;                                            /* SOC_VDD index */
00                      UCHAR  ucVddMemInd;                                         /* MEM_VDD - only non zero for MCLK record */
00                      UCHAR  ucVddciInd;                                          /* VDDCI   = only non zero for MCLK record */
} ATOM_Vega10_MCLK_Dependency_Record;





Nice it has several HBM states







, I did do a Fiji ROM that way as well for testing, video in Fiji thread







. I'll see if I can gain AtiWinFlash with support, otherwise case of waiting







.


----------



## jstefanop

Ahh im an idiot...was searching for 945 instead of 94500









So SM dumps via AIDA and msi show nothing on the IR35217, so either its not exposed or somehow locked.

Either way I can flash directly so no need for atiflash..ill start playing soon and see what can be controlled via BIOS.


----------



## gupsterg

NP







.

I reckon i2c unsupported at present by apps. Even latest AIDA64 does not get i2c on Fiji, only MSI AB has done since that GPU launched. Polaris IIRC is hit'n'miss which app get dumps IIRC, not paid too much attention to Polaris stuff TBH.

I sent the request anyway, if it bears fruit be nice







.

Sweet you have Blackcat or differing flash tool? I gotta get one







.


----------



## xkm1948

Wait so you got a VEGA FE after all? Congrats!


----------



## dagget3450

I probably shouldnt admit this, but i have vega fe headed my way. Should have by end of this week. Thanks to mining craze i have covered most of the cost selling my old cards. I am banking on driver fixes, and possibility of cf with rx vega... Its a gamble but for now its not costing me much, matter of fact i may buy a 1080ti also if funds permit to have both.

I am going to miss my furyx's but bitcoin has blessed resale value 290x and 390x included...


----------



## xkm1948

Any of you getting the AIO version? Kinda strange none of tge AIO version cards show up in reviews


----------



## gupsterg

Nope







, jstefanop Has







.

I'm:-

a) still happy with Fury X .
b) seeing what RX VEGA is.
c) may get several months after release or wait for Navi.

HTH


----------



## jstefanop

Quote:


> Originally Posted by *gupsterg*
> 
> Sweet you have Blackcat or differing flash tool? I gotta get one
> 
> 
> 
> 
> 
> 
> 
> .


Nah I made one with a raspberry pi


----------



## gupsterg

Sweet







.


----------



## ratbuddy

Is anyone able to share the stock BIOS with me? Techpowerup only has the broken 58kb version, and I need a valid copy for my KVM setup - the card BIOS gets overridden when it's in slot one, and I'd need to move the card to another slot and find another card to put in slot one to dump the BIOS myself as in https://pve.proxmox.com/wiki/Pci_passthrough#romfile

Thanks


----------



## gupsterg

GPU-Z only supports dumping the Legacy Section of the ROM, currently.

The Legacy Section is what sets the card up.

AMD ROMs are Hybrid ie have Legacy Section with UEFI/GOP module to support "pure UEFI" environment operation.

So on a motherboard where CSM: [Disabled] the mobo UEFI ref the UEFI/GOP module, but still the Legacy Section is ref'd for card setup.


----------



## tpi2007

Quote:


> Originally Posted by *jstefanop*
> 
> Quote:
> 
> 
> 
> Originally Posted by *gupsterg*
> 
> *Last update:* 01/07/17
> 
> VddmemLookupTable has 1350mV, no idea if this is HBM voltage or something else. Fiji did not have HBM voltage in PowerPlay, nor was it 1.2V, but 1.3V. Not read about HBM2 at all TBH, but would have expected it lower or 1.3V, perhaps AMD needed to give it a bump if this values is indeed that.
> 
> .
> 
> 
> 
> Yes memory at 945mhz is indeed running at 1.36v according to my multimeter. This will be great if we can control memory voltage in bios finally. Dont know how much safe headroom there is for HBM2. Looks like its already pushed pretty high.
Click to expand...

1.36v? That's even higher than the Fury's HBM, which was running at 1.3. In both cases the memory should have been running at 1.2v. I wonder if that is part of the problem in bringing the card to market.

See here at 18:48:


----------



## brucethemoose

Some of the initial Llano APU SKUs like the 3500M could take a 33% overclock _with_ an undervolt. They clearly shipped with waaaay too much stock voltage at every PState.

More recently, the 7950 had very conservative core/memory clocks.

Maybe something similar happened here. AMD chunked FE out the door to meet a release target, so maybe they set the HBM2 (and core?) voltage higher than necessary.


----------



## jstefanop

Here is the full 256kb stock bios.

https://ufile.io/hal0t


----------



## ratbuddy

Thanks, jstefanop, that got rid of one of the problems, just a few more to figure out now


----------



## gupsterg

@jstefanop

+rep for share of full ROM







.

Have you flashed a modded ROM to see if driver checks for signature?

Also be aware a modified ROM can not be run with CSM: Disabled as the UEFI/GOP module must validate signature in Legacy section to know ROM is unmodified. Workaround on Fiji and below was a custom UEFI/GOP module that Lordkag on Fernando's WIN RAID forum made. That UEFI/GOP will not have VEGA support as it's too old. The custom UEFI/GOP allowed CSM: Off, Fast Boot: On, Secure Boot must be off as the signature in UEFI/GOP module wasn't updated by Lordkag, so fails validation by mobo UEFI if On.

Polaris and prior GPU supporting UEFI/GOP version:-

GOP Driver Name: AMD GOP X64 Release Driver Rev.1.60.0.15.50.Feb 1 2016.14:59:32

VEGA UEFI/GOP version:-

GOP Driver Name: AMD GOP X64 Release Driver Rev.2.0.0.0.0.Mar 29 2017.16:44:37
Quote:


> Originally Posted by *tpi2007*
> 
> 1.36v? That's even higher than the Fury's HBM, which was running at 1.3. In both cases the memory should have been running at 1.2v. I wonder if that is part of the problem in bringing the card to market.
> 
> See here at 18:48:
> 
> 
> 
> Spoiler: Warning: Spoiler!


This is

__
https://www.reddit.com/r/6kyag5/radeon_vega_fe_vcore_behemoth_vrm_pcb_analysis/djpw6fw/
 on Reddit where that video was also linked.


----------



## The Stilt

Based on the bios I looked at (300W air cooled), there won't be any voltage adjustments (IR35217) unless the bioses are modified. And no telemetry either (voltage, current, power or temperature readings).


----------



## gupsterg

I was viewing Powetune table a few nights ago, doesn't seem to align perfectly with linux info. Either there are empty bytes after it or table is longer.

Code:



Code:


3E 02 (0x23Eh)               USHORT usPowerTuneTableOffset;
74 02 (0x274h)               USHORT usPCIETableOffset;





Spoiler: PowerTuneTable



Code:



Code:


typedef struct _ATOM_Vega10_PowerTune_Table {
07      UCHAR  ucRevId;
DC 00 (220W)    USHORT usSocketPowerLimit;
DC 00 (220W)    USHORT usBatteryPowerLimit;
DC 00 (220W)    USHORT usSmallPowerLimit;
2C 01 (300A)    USHORT usTdcLimit;
00 00           USHORT usEdcLimit;
59 00 (89°C)    USHORT usSoftwareShutdownTemp;
69 00 (105°C)   USHORT usTemperatureLimitHotSpot;
49 00 (73°C)    USHORT usTemperatureLimitLiquid1;
49 00 (73°C)    USHORT usTemperatureLimitLiquid2;
5F 00 (95°C)    USHORT usTemperatureLimitHBM;
73 00 (115°C)   USHORT usTemperatureLimitVrSoc;
73 00 (115°C)   USHORT usTemperatureLimitVrMem;
64 00 (100°C)   USHORT usTemperatureLimitPlx;
40 00 (64Ω??)   USHORT usLoadLineResistance;
90      UCHAR  ucLiquid1_I2C_address;
92      UCHAR  ucLiquid2_I2C_address;
97      UCHAR  ucVr_I2C_address;
60      UCHAR  ucPlx_I2C_address;
96      UCHAR  ucLiquid_I2C_LineSCL;
00      UCHAR  ucLiquid_I2C_LineSDA;
90      UCHAR  ucVr_I2C_LineSCL;
55      UCHAR  ucVr_I2C_LineSDA;
00      UCHAR  ucPlx_I2C_LineSCL;
00      UCHAR  ucPlx_I2C_LineSDA;
00 00   USHORT usTemperatureLimitTedge;
} ATOM_Vega10_PowerTune_Table;

typedef struct _ATOM_Vega10_PowerTune_Table_V2
{
07      UCHAR  ucRevId;
DC 00   USHORT usSocketPowerLimit;
DC 00   USHORT usBatteryPowerLimit;
DC 00   USHORT usSmallPowerLimit;
2C 01   USHORT usTdcLimit;
00 00   USHORT usEdcLimit;
59 00   USHORT usSoftwareShutdownTemp;
69 00   USHORT usTemperatureLimitHotSpot;
49 00   USHORT usTemperatureLimitLiquid1;
49 00   USHORT usTemperatureLimitLiquid2;
5F 00   USHORT usTemperatureLimitHBM;
73 00   USHORT usTemperatureLimitVrSoc;
73 00   USHORT usTemperatureLimitVrMem;
64 00   USHORT usTemperatureLimitPlx;
40 00   USHORT usLoadLineResistance;
90      UCHAR ucLiquid1_I2C_address;
92      UCHAR ucLiquid2_I2C_address;
97      UCHAR ucLiquid_I2C_Line;
60      UCHAR ucVr_I2C_address;
96      UCHAR ucVr_I2C_Line;
00      UCHAR ucPlx_I2C_address;
90      UCHAR ucPlx_I2C_Line;
55 00 (85°C)    USHORT usTemperatureLimitTedge;
} ATOM_Vega10_PowerTune_Table_V2;


----------



## niko2004x

Quote:


> Originally Posted by *gupsterg*
> 
> I was viewing Powetune table a few nights ago, doesn't seem to align perfectly with linux info. Either there are empty bytes after it or table is longer.


According to get_tdp_table function in vega10_processpptables.c, ATOM_Vega10_PowerTune_Table should be used if ucRevId==5 and ATOM_Vega10_PowerTune_Table_V2 otherwise.
In released vega ucRevId for powertune table is 7.
Probably ATOM_Vega10_PowerTune_Table_V2 should be used if ucRevId==6 and powertune tables with ucRevId==7 just not described in open source linux driver.


----------



## jstefanop

Quote:


> Originally Posted by *The Stilt*
> 
> Based on the bios I looked at (300W air cooled), there won't be any voltage adjustments (IR35217) unless the bioses are modified. And no telemetry either (voltage, current, power or temperature readings).


What do you mean? Im assuming your referring to the fact the IR35217 is new and no one knows register descriptions yet.


----------



## jstefanop

Quote:


> Originally Posted by *gupsterg*
> 
> @jstefanop
> 
> +rep for share of full ROM
> 
> 
> 
> 
> 
> 
> 
> .
> 
> Have you flashed a modded ROM to see if driver checks for signature?
> 
> Also be aware a modified ROM can not be run with CSM: Disabled as the UEFI/GOP module must validate signature in Legacy section to know ROM is unmodified. Workaround on Fiji and below was a custom UEFI/GOP module that Lordkag on Fernando's WIN RAID forum made. That UEFI/GOP will not have VEGA support as it's too old. The custom UEFI/GOP allowed CSM: Off, Fast Boot: On, Secure Boot must be off as the signature in UEFI/GOP module wasn't updated by Lordkag, so fails validation by mobo UEFI if On.
> 
> Polaris and prior GPU supporting UEFI/GOP version:-
> 
> GOP Driver Name: AMD GOP X64 Release Driver Rev.1.60.0.15.50.Feb 1 2016.14:59:32
> 
> VEGA UEFI/GOP version:-
> 
> GOP Driver Name: AMD GOP X64 Release Driver Rev.2.0.0.0.0.Mar 29 2017.16:44:37
> This is
> 
> __
> https://www.reddit.com/r/6kyag5/radeon_vega_fe_vcore_behemoth_vrm_pcb_analysis/djpw6fw/
> on Reddit where that video was also linked.


Ok so first try at modded bios failed at post. So either the bios checksum has changed on this version, or it has something to do with the CSM (I did have CSM on). Will have to do some more digging.


----------



## The Stilt

Quote:


> Originally Posted by *jstefanop*
> 
> What do you mean? Im assuming your referring to the fact the IR35217 is new and no one knows register descriptions yet.


The bios disables communication to the controller (both I2C and PMBUS).
Only SVI2 based control and telemetry remain active.


----------



## dagget3450

On a side note :
got a vega FE in to play with, and apparently VSR on vega appears to support 5k. So 3k on hawaii, 4k on fiji, and 5k vsr on vega.

my 4k monitor over a display port shows this once VSR is turned on:


----------



## jstefanop

Quote:


> Originally Posted by *The Stilt*
> 
> The bios disables communication to the controller (both I2C and PMBUS).
> Only SVI2 based control and telemetry remain active.


Hmm guess thats why I cant find anything over the i2c busses. Any Idea why manually changing PPTable in BIOS causes no post?


----------



## The Stilt

Quote:


> Originally Posted by *jstefanop*
> 
> Hmm guess thats why I cant find anything over the i2c busses. Any Idea why manually changing PPTable in BIOS causes no post?


If changing a single value in PP causes that, I'd guess it is some sort of a new protection.


----------



## jstefanop

Quote:


> Originally Posted by *The Stilt*
> 
> If changing a single value in PP causes that, I'd guess it is some sort of a new protection.


Sigh...could never understand the rational of chipmakers allowing consumers to tune almost any parameter on CPU/RAM, but not even allow a basic clock change via BIOS on GPUs without hacking the crap out of them :/

Going to try and swap some tables around instead of changing values to see if its a simple checksum type validation that I'm missing, or if its a hash based signature check on the legacy ROM.

I am running in legacy mode to avoid any UEFI checks, so if they actually added checks in the Legacy ROM as well were screwed.


----------



## gupsterg

If you have CSM: Enabled as you stated before then UEFI/GOP module in VBIOS shouldn't be ref'd by mobo. If mobo not ref then UEFI/GOP module in VBIOS shouldn't validate Legacy section.

So IMO if there is additional protection now, you have to assess if it's all Legacy ROM or certain area.

Try I change of only the Vendor ID, etc at beginning of ROM and see if card boots. What actual change did you do before?

Looks like I'll be hanging to Fury X longer.


----------



## jstefanop

Quote:


> Originally Posted by *gupsterg*
> 
> If you have CSM: Enabled as you stated before then UEFI/GOP module in VBIOS shouldn't be ref'd by mobo. If mobo not ref then UEFI/GOP module in VBIOS shouldn't validate Legacy section.
> 
> So IMO if there is additional protection now, you have to assess if it's all Legacy ROM or certain area.
> 
> Try I change of only the Vendor ID, etc at beginning of ROM and see if card boots. What actual change did you do before?
> 
> Looks like I'll be hanging to Fury X longer.


Well if this is the case at the very least it covers power play table, but ill try more tests on the header, VOI, and HBM2 timing areas. Worst case I can hack the linux kernel to do what I want, but it sucks for you windows guys, since if the voltage controller is locked according to stilt, and the BIOS is locked as well, the only options for over/underclocking will be whatever wattman allows.


----------



## jstefanop

Quote:


> Originally Posted by *The Stilt*
> 
> The bios disables communication to the controller (both I2C and PMBUS).
> Only SVI2 based control and telemetry remain active.


Is that in the VOI? I want to try and enable it and see if that part of the BIOS is checked.


----------



## The Stilt

Quote:


> Originally Posted by *jstefanop*
> 
> Is that in the VOI? I want to try and enable it and see if that part of the BIOS is checked.


Yes.


----------



## mynm

Is ASIC_ProfilingInfo table working in vega? That table is calculating the svi2 voltages for the powerplay clocks in my r9 380. But it's using the FF0X values at the powrplay and I don't see them on it.

Is this table:


Spoiler: Warning: Spoiler!



88 00 04 01 *E2 04* 00 00 *20 03* 00 00 FB 00 00 00 35 04 00 00 62 00 00 00 1B 00 00 00 00 00 B3 35 FD FF 33 B9 01 00 1D 5A 02 00 1E 43 FD FF 77 74 01 00 86 28 02 00 00 00 00 00 DD 00 00 00 CC FF FF FF 00 00 00 00 9F 00 00 00 DC FF FF FF *88 13* 00 01 00 01 00 01 00 00 00 00 00 00 AC 09 00 00 49 0A 00 00 00 00 00 00 AC 09 00 00 49 0A 00 00 00 00 00 00 9A 01 00 00 00 00 00 00 00 00 00 00 9A 01 00 00 00 00 00 00



The bolded values are acording to this: https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/amd/include/atomfirmware.h

maxvddc: E2 04 = 1250mv
minvddc: 20 03 = 800mv
max_voltage_0_25mv: 88 13 = 5000/4= 1250mv

The weird thing of that table and the FF0X values in the powerplay, is that with my 380 if I change the FF0X values to voltages I need like 50mv more for the same clocks. And I can't change the clocks, if I do that I need 50mv more than if I OC using wattman. It would be interesting to see if it is happening on vega gpus. But I suppose that it won't be possible to change powerplay voltage values to FF0X


----------



## Removed1

Someone can test VRMTool and WattManTool on vega, see if the tool recognize something and get an SMBus/I2C dump please.


----------



## The Stilt

Quote:


> Originally Posted by *Wimpzilla*
> 
> Someone can test VRMTool and WattManTool on vega, see if the tool recognize something and get an SMBus/I2C dump please.


Communications to the controller are disabled, meaning you cannot adjust anything or even recognize the controller by scanning the I2C or PMBUS.


----------



## Removed1

Quote:


> Originally Posted by *The Stilt*
> 
> Communications to the controller are disabled, meaning you cannot adjust anything or even recognize the controller by scanning the I2C or PMBUS.


It is disabled by drivers and could be enabled back?
The controller is not fiscally connected to I2C/PMBus or even worst it had locked access?

There is maybe a JTAG or something like this on the pcb to access to the controller and dump the register?
MSI AB do not recognize the gpu/aux voltage?


----------



## The Stilt

Quote:


> Originally Posted by *Wimpzilla*
> 
> It is disabled by drivers and could be enabled back?
> The controller is not fiscally connected to I2C/PMBus or even worst it had locked access?
> 
> There is maybe a JTAG or something like this on the pcb to access to the controller and dump the register?
> MSI AB do not recognize the gpu/aux voltage?


The controller will behave like it isn't there, plain and simple. That is done intentionally and can only be reversed by modifying the bios.


----------



## Removed1

Quote:


> Originally Posted by *The Stilt*
> 
> The controller will behave like it isn't there, plain and simple. That is done intentionally and can only be reversed by modifying the bios.


Hopefully, thanks for the info, i was scared the controller would be locked internally using a register, good to know.

Maybe on this the vega FE bios the I2C is disabled, it could be restored on vega RX bios, as all the others radeon previously.

Otherwise it would mean edit the bios to access the controller.
I never asked myself if there was an option in the 290 bios to lock read/write on the controller? I thought it was like this by default.


----------



## jstefanop

Quote:


> Originally Posted by *Wimpzilla*
> 
> Hopefully, thanks for the info, i was scared the controller would be locked internally using a register, good to know.
> 
> Maybe on this the vega FE bios the I2C is disabled, it could be restored on vega RX bios, as all the others radeon previously.
> 
> Otherwise it would mean edit the bios to access the controller.
> I never asked myself if there was an option in the 290 bios to lock read/write on the controller? I thought it was like this by default.


Yes I can confirm that the controller has been blocked by the bios...no tool or app on windows can access it currently. The only overclocking tool that semi-works is wattman, and thats bugged as hell for Vega FE.


----------



## Removed1

Can someone please post me a nice picture of the controller to compare it with other IoR chip.
I did not find a decent picture to check if the controller would own a JTAG for the programming or all is done by bios settings.
Did we know which bits you need to edit into the bios to unlock the I2C?

We should maybe wait vega RX before playing with the bios/I2C, maybe it will be unlocked.
Seems AMD locked anything even where it was not, i would have liked that someone put this baby under water and begin to crank up some serious oc as the power stage and die deserve.


----------



## mynm

I see this line in the VOI: 01 07 0C 00 2E 00 01 FF 00 FF 00 00

According to this:


Spoiler: Warning: Spoiler!



ucVoltageType
enum atom_voltage_type
{
VOLTAGE_TYPE_VDDC = 1,
VOLTAGE_TYPE_MVDDC = 2,
VOLTAGE_TYPE_MVDDQ = 3,
VOLTAGE_TYPE_VDDCI = 4,
VOLTAGE_TYPE_VDDGFX = 5,
VOLTAGE_TYPE_PCC = 6,
VOLTAGE_TYPE_MVPP = 7,
VOLTAGE_TYPE_LEDDPM = 8,
VOLTAGE_TYPE_PCC_MVDD = 9,
VOLTAGE_TYPE_PCIE_VDDC = 10,
VOLTAGE_TYPE_PCIE_VDDR = 11,
VOLTAGE_TYPE_GENERIC_I2C_1 = 0x11,
VOLTAGE_TYPE_GENERIC_I2C_2 = 0x12,
VOLTAGE_TYPE_GENERIC_I2C_3 = 0x13,
VOLTAGE_TYPE_GENERIC_I2C_4 = 0x14,
VOLTAGE_TYPE_GENERIC_I2C_5 = 0x15,
VOLTAGE_TYPE_GENERIC_I2C_6 = 0x16,
VOLTAGE_TYPE_GENERIC_I2C_7 = 0x17,
VOLTAGE_TYPE_GENERIC_I2C_8 = 0x18,
VOLTAGE_TYPE_GENERIC_I2C_9 = 0x19,
VOLTAGE_TYPE_GENERIC_I2C_10 = 0x1A,

atom_voltage_object_mode
{
VOLTAGE_OBJ_GPIO_LUT = 0, //VOLTAGE and GPIO Lookup table ->atom_gpio_voltage_object_v4
VOLTAGE_OBJ_VR_I2C_INIT_SEQ = 3, //VOLTAGE REGULATOR INIT sequece through I2C -> atom_i2c_voltage_object_v4
VOLTAGE_OBJ_PHASE_LUT = 4, //Set Vregulator Phase lookup table ->atom_gpio_voltage_object_v4
VOLTAGE_OBJ_SVID2 = 7, //Indicate voltage control by SVID2 ->atom_svid2_voltage_object_v4
VOLTAGE_OBJ_EVV = 8,
VOLTAGE_OBJ_MERGED_POWER = 9,

atom_svid2_voltage_object_v4
{
struct atom_voltage_object_header_v4 header; // voltage mode = VOLTAGE_OBJ_SVID2
uint8_t loadline_psi1; // bit4:0= loadline setting ( Core Loadline trim and offset trim ), bit5=0SI1_L disable =1: PSI1_L enable
uint8_t psi0_l_vid_thresd; // VR PSI0_L VID threshold
uint8_t psi0_enable; //
uint8_t maxvstep;
uint8_t telemetry_offset;
uint8_t telemetry_gain;
uint16_t reserved1;



I think, but I'm no sure of all of them, that the values are:

01 related to vddc
07 related to svid2
0C 00 Size
2E loadline_psi1 ( 0010 1110, bit5=0SI1_L disable, bit4:0= 01110 loadline setting, 011 is LLS trim 3, 10 is offset trim 2 use initial offset. You can see http://www.overclock.net/t/1563409/software-for-r9-285-bios-edit/810#post_25600160 ] here[/URL] how is working in my 380, so you can change the LLS and add a -25mv or +25mv offset)
00 psi0_l_vid_thresd // VR PSI0_L VID threshold
01 psi0_enable
FF maxvstep
00 telemetry_offset
FF telemetry_gain
00 00 reserved1

And this other line 02 07 0C 00 0E 00 00 FF 00 20 00 00 seem to be the same for the MVDDC

If they are SVI2 related, changing them may work.


----------



## Removed1

Quote:


> Originally Posted by *mynm*
> 
> I see this line in the VOI: 01 07 0C 00 2E 00 01 FF 00 FF 00 00
> 
> According to this:
> 
> 
> Spoiler: Warning: Spoiler!
> 
> 
> 
> ucVoltageType
> enum atom_voltage_type
> {
> VOLTAGE_TYPE_VDDC = 1,
> VOLTAGE_TYPE_MVDDC = 2,
> VOLTAGE_TYPE_MVDDQ = 3,
> VOLTAGE_TYPE_VDDCI = 4,
> VOLTAGE_TYPE_VDDGFX = 5,
> VOLTAGE_TYPE_PCC = 6,
> VOLTAGE_TYPE_MVPP = 7,
> VOLTAGE_TYPE_LEDDPM = 8,
> VOLTAGE_TYPE_PCC_MVDD = 9,
> VOLTAGE_TYPE_PCIE_VDDC = 10,
> VOLTAGE_TYPE_PCIE_VDDR = 11,
> VOLTAGE_TYPE_GENERIC_I2C_1 = 0x11,
> VOLTAGE_TYPE_GENERIC_I2C_2 = 0x12,
> VOLTAGE_TYPE_GENERIC_I2C_3 = 0x13,
> VOLTAGE_TYPE_GENERIC_I2C_4 = 0x14,
> VOLTAGE_TYPE_GENERIC_I2C_5 = 0x15,
> VOLTAGE_TYPE_GENERIC_I2C_6 = 0x16,
> VOLTAGE_TYPE_GENERIC_I2C_7 = 0x17,
> VOLTAGE_TYPE_GENERIC_I2C_8 = 0x18,
> VOLTAGE_TYPE_GENERIC_I2C_9 = 0x19,
> VOLTAGE_TYPE_GENERIC_I2C_10 = 0x1A,
> 
> atom_voltage_object_mode
> {
> VOLTAGE_OBJ_GPIO_LUT = 0, //VOLTAGE and GPIO Lookup table ->atom_gpio_voltage_object_v4
> VOLTAGE_OBJ_VR_I2C_INIT_SEQ = 3, //VOLTAGE REGULATOR INIT sequece through I2C -> atom_i2c_voltage_object_v4
> VOLTAGE_OBJ_PHASE_LUT = 4, //Set Vregulator Phase lookup table ->atom_gpio_voltage_object_v4
> VOLTAGE_OBJ_SVID2 = 7, //Indicate voltage control by SVID2 ->atom_svid2_voltage_object_v4
> VOLTAGE_OBJ_EVV = 8,
> VOLTAGE_OBJ_MERGED_POWER = 9,
> 
> atom_svid2_voltage_object_v4
> {
> struct atom_voltage_object_header_v4 header; // voltage mode = VOLTAGE_OBJ_SVID2
> uint8_t loadline_psi1; // bit4:0= loadline setting ( Core Loadline trim and offset trim ), bit5=0SI1_L disable =1: PSI1_L enable
> uint8_t psi0_l_vid_thresd; // VR PSI0_L VID threshold
> uint8_t psi0_enable; //
> uint8_t maxvstep;
> uint8_t telemetry_offset;
> uint8_t telemetry_gain;
> uint16_t reserved1;
> 
> 
> 
> I think, but I'm no sure of all of them, that the values are:
> 
> 01 related to vddc
> 07 related to svid2
> 0C 00 Size
> 2E loadline_psi1 ( 0010 1110, bit5=0SI1_L disable, bit4:0= 01110 loadline setting, 011 is LLS trim 3, 10 is offset trim 2 use initial offset. You can see http://www.overclock.net/t/1563409/software-for-r9-285-bios-edit/810#post_25600160 ] here[/URL] how is working in my 380, so you can change the LLS and add a -25mv or +25mv offset)
> 00 psi0_l_vid_thresd // VR PSI0_L VID threshold
> 01 psi0_enable
> FF maxvstep
> 00 telemetry_offset
> FF telemetry_gain
> 00 00 reserved1
> 
> And this other line 02 07 0C 00 0E 00 00 FF 00 20 00 00 seem to be the same for the MVDDC
> 
> If they are SVI2 related, changing them may work.


Did you find the same HEX value for the telemetry offset/gain settings or each one have is own value? You think all the voltage types/mode have the telemetry disabled?
Or there is maybe some bits that encode the read/write lock on the I2C?

Also there is a protection on the bios? I'm sorry, didn't understood if someone successfully edited and flashed the card.


----------



## dagget3450

I went ahead and made a vega owners(unofficial) thread and linked this thread in the information part of it. This looks to be a good source of information on the Bios and i will be back and forth reading








Thank you Gupsterg for making these AMD bios threads.


----------



## mynm

Quote:


> Originally Posted by *Wimpzilla*
> 
> Did you find the same HEX value for the telemetry offset/gain settings or each one have is own value? You think all the voltage types/mode have the telemetry disabled?
> Or there is maybe some bits that encode the read/write lock on the I2C?
> 
> Also there is a protection on the bios? I'm sorry, didn't understood if someone successfully edited and flashed the card.


Those are the hex values, 00 for elemetry_offset and FF for telemetry_gain. But I don't know what them are doing or how them are working, I don't have a vega fe







and for my r9 380 I don't have the same name for that values, the VOI is using a differnt revision, so I can't test. The loadline_psi1 is working on my r9 380.

Those values seems to be related to the svi2 voltages, and The Stilt says that only svi2 based control and telemetry remain active, and I don't know how to know that.

I have no idea about the read/write lock on the I2C, or if there is a protection on the bios. jstefanop have flashed the bios, but without success.


----------



## The Stilt

RegulatorInit in VoltageObjectInfo doesn't handle anything SVI2 related, since SVI2 registers reside in GMM space. RegulatorInit is for I2C commands only. SVI2 and I2C/PMBUS are two totally different interfaces.


----------



## mynm

Ok thanks.


----------



## Removed1

Dunno from my basic knowledge, there is a couple of simple ways to lock a controller. I presume the controller have a own register that lock the read/write access through I2C/PMBus.
I suppose the lock could be permanent or could be read at the boot through the bios. Still i do not know if you are able to see the controller if scanning I2C/PMBus when it is locked.
Then the bios I2C lock could be some bits, that the controller read or implemented through another of mechanism.

So one should read through I2C the controller settings based on SVID2?
The SVID2 and the I2C are 2 different read of the same thing, if i got it well?

The number of voltages type astonish me, as the voltage object mode: _init sequence through I2C_?! Maybe the lock reside in the _init Vregulator_ sequence at the boot?

Edit: From an old IR35201


Spoiler: Warning: Spoiler!



[
I2C & PMBUS INTERFACE An I2C or PMBus interface is used to communicate with the IR35201. This two-wire serial interface consists of clock and data signals, and operates as fast as 1MHz. The bus provides read and write access to the internal registers for configuration, and for monitoring of operating parameters. The bus is also used to program on-chip non-volatile memory (MTP) to store operating parameters.
To ensure operation with multiple devices on the bus, an exclusive address for the IR35201 is programmed into MTP. The IR35201, additionally, supports pinprogramming of the address.
To protect customer configuration and information, the I2C interface can be configured for either limited access with a 16-bit software password, or completely locked. Limited access includes both write and read protection options. In addition, there is a telemetryonly mode which only allows reads from the telemetry registers.
The IR35201 provides a hardware pin security option to provide extra protection. The protect pin is shared with the ADDR pin and is automatically engaged once the address is read. The pin must be driven high to disable protection. The pin can be enabled or disabled by a configuration setting in MTP.
The IR35201 supports the Packet Error Checking (PEC) protocol and a number of PMBus commands to monitor voltages and currents. For more information, refer to the PMBus Command Codes in Table 56[/QUOTE]



So it seems the bios lock the register for the I2C but allow monitoring using another function, the telemetry cited previously.


----------



## The Stilt

The control registers on IR controllers are adjusted through I2C, while monitoring / changing certain settings takes place through PMBUS. SVI2 is a standard (as well as a bus) of it's own. The controller on Vega is not placed into a protected mode, the I2C and PMBUS communications are just being terminated.

That is a pretty unorthodox method to "protect" the controller and certainly not something that IR originally intended (since they provide separate protection modes to do that). Simple, effective and impossible to reverse without modifying the bios.


----------



## Removed1

Quote:


> Originally Posted by *The Stilt*
> 
> The control registers on IR controllers are adjusted through I2C, while monitoring / changing certain settings takes place through PMBUS. SVI2 is a standard (as well as a bus) of it's own. The controller on Vega is not placed into a protected mode, the I2C and PMBUS communications are just being terminated.
> 
> That is a pretty unorthodox method to "protect" the controller and certainly not something that IR originally intended (since they provide separate protection modes to do that). Simple, effective and impossible to reverse without modifying the bios.


Thank a lot for clarification, i have pretty basic knowledge on these things and could easily mistake.

That's what scared me when i overlooked quickly to the atom bios tables posted.
So if i got it well, everything is now implemented within the bios, even the simple access to the I2C/PMBus is masked by the bios.

The point is to know in which extent this have been implemented.
If it is only some bits that code the access to the coms, quite easy to mod if needed.
Or the bios carefully hide the coms on I2C/PMBus under something more complicated.

Yes it is effectively a simple and unorthodox way to do that.


----------



## The Stilt

This should do the trick:

That's a complete VoltageObjectInfo.dtb which is modified to allow the coms as usual.

Code:



Code:


32010401010396000806600000000000270028003F00630040009E0041006B00420038006B00010061002000760089007700C6002800FF004900D000370014009400B90092000A009300C3009500220043009E004400590045002E00460038006C0001006200A000780060007900F300290040004A00DE0038001E004800FC0047000700E800030051006700E80007009900FC00E8000400FF0001070C002E0001FF00FF0000040322001506A20000000000D3005C00D4008200D5008200D6008200D7008200FF0002070C000E0000FF002000000A0322001506A60000000000D3005C00D4004C00D5004C00D6004C00D7004C00FF0008003C000008000007000000000000000000010000000100020000000200030000000300040000000400050000000500060000000600070000000700

Atikmdag-patcher should be able to take care of the driver signature protection, when executed in "bios only" mode.


----------



## Removed1

Quote:


> Originally Posted by *The Stilt*
> 
> This should do the trick:
> 
> That's a complete VoltageObjectInfo.dtb which is modified to allow the coms as usual.
> 
> Code:
> 
> 
> 
> Code:
> 
> 
> 32010401010396000806600000000000270028003F00630040009E0041006B00420038006B00010061002000760089007700C6002800FF004900D000370014009400B90092000A009300C3009500220043009E004400590045002E00460038006C0001006200A000780060007900F300290040004A00DE0038001E004800FC0047000700E800030051006700E80007009900FC00E8000400FF0001070C002E0001FF00FF0000040322001506A20000000000D3005C00D4008200D5008200D6008200D7008200FF0002070C000E0000FF002000000A0322001506A60000000000D3005C00D4004C00D5004C00D6004C00D7004C00FF0008003C000008000007000000000000000000010000000100020000000200030000000300040000000400050000000500060000000600070000000700
> 
> Atikmdag-patcher should be able to take care of the driver signature protection, when executed in "bios only" mode.


Nice, thanks you, hope someone would give it a try. It a nice starting point.
Hope this will help to begin to map the registers and the various controller functions.
I will try to look further to get some info on the controller itself, to leverage the different functions related registers.

It is good to know that you could enable back the coms, i was somehow scared amd would lock them completely.


----------



## gupsterg

@The Stilt

+rep







.

Below is jstefanop's posted full VEGA FE AIR ROM with the VOI as The Stilt has posted.

VEGA_VOI_UNLOCK.zip 137k .zip file


Any chance of modding UEFI/GOP module like Lordkag did of the Polaris one?

UEFI_GOP.zip 317k .zip file


Cheers







.
Quote:


> Originally Posted by *dagget3450*
> 
> I went ahead and made a vega owners(unofficial) thread and linked this thread in the information part of it. This looks to be a good source of information on the Bios and i will be back and forth reading
> 
> 
> 
> 
> 
> 
> 
> 
> Thank you Gupsterg for making these AMD bios threads.


Subbed there now as well







, will place link in OP







.


----------



## jstefanop

Ill flash the rom and check this later...so far all legacy portions of the rom I have tested are protected, so I doubt this would work either.


----------



## gupsterg

OMG!







.

Cheers for checking







. I just can't believe what's going on with VEGA ROM MOD







.


----------



## deeper-blue

Quote:


> Originally Posted by *The Stilt*
> 
> The control registers on IR controllers are adjusted through I2C, while monitoring / changing certain settings takes place through PMBUS. SVI2 is a standard (as well as a bus) of it's own. The controller on Vega is not placed into a protected mode, the I2C and PMBUS communications are just being terminated.
> 
> That is a pretty unorthodox method to "protect" the controller and certainly not something that IR originally intended (since they provide separate protection modes to do that). Simple, effective and impossible to reverse without modifying the bios.


In the linux drivers we can see that Vega has new SMC commands, these two are probably relevant for getting access to I2C:

Code:



Code:


#define PPSMC_MSG_RequestI2CBus                  0x12
#define PPSMC_MSG_ReleaseI2CBus                  0x13

I assume blocking access to the I2C bus is done to prevent crashing the card from I2C access like it was common with Fiji.

Sending a command to the SMC under windows is no problem, I can try putting together a small program to first send the request I2C command and then dump all I2C devices - but I have no Vega card to test it with.


----------



## gupsterg

Fiji had those commands as well.

As stated before without the VoltageObjectInfo being as The Stilt has has highlighted you will not get the i2c comms up. Whatever protection they have introduced not allowing a modified ROM to function is what needs to be sorted first IMO.


----------



## Removed1

Quote:


> Originally Posted by *gupsterg*
> 
> Fiji had those commands as well.
> 
> As stated before without the VoltageObjectInfo being as The Stilt has has highlighted you will not get the i2c comms up. Whatever protection they have introduced not allowing a modified ROM to function is what needs to be sorted first IMO.


There is plenty of ways to lock the flash, could be hardware and/or software.
In this case everything is almost software/code i suppose. I would not think amd used some kind of fancy hardware pin/signal to lock the bios.

Something you people good at coding are used at like some checksum issue, or some kind of signature protection.
Everything is still new and i'm quite sure than even the FE will receive a bios update soon.
Let's wait Jstefanop answer, if he succeed or not!

Unfortunately i did not find any datasheet regarding the new IoR controller, dunno if new die current/voltage control features have been added.


----------



## deeper-blue

Quote:


> Originally Posted by *gupsterg*
> 
> Fiji had those commands as well.
> 
> As stated before without the VoltageObjectInfo being as The Stilt has has highlighted you will not get the i2c comms up. Whatever protection they have introduced not allowing a modified ROM to function is what needs to be sorted first IMO.


My mistake, I completely missed them in the Fiji definitions. So much for that.

I wonder if one could could manipulate the SMC (or what ever part is controlling the I2C lock) memory during runtime.


----------



## gupsterg

I was not pointing out a mistake







.

I was pointing out that it also had command







. It "hogged" I2C, as SMC communicated with IR3567B a lot. But Fiji did not have I2C / PMBUS comms disabled via ROM. VEGA has.

Registers on IR35217 will not be tweakable, as The Stilt highlighted that is only done via I2C / PMBUS.

Manipulating the SMC to gain I2C comms is futile IMO, as IR35217 has comms disabled for that case. SMC must be communicating with it, yes we could uses messages via OS to do "things" IMO, MSI AB has command line option for SMC messaging. So we message SMC, it then meddle with IR35217. Don't know if MSI AB has support for VEGA, etc or it's driver level thing







. And what messages? no idea, we can only view linux info, I did not explore this with Fiji







.

IMO PowerPlay meddling could be done via "SoftPowerPlay" ie registry.

Ideally I'd want ROM mod on VEGA, like other GPUs.

One thing rattling around my head is what if BIOS_IDTF has something to do with this new protection on ROM? in this post is information about what happened to it on Fiji. As you can see I bounced it at The Stilt and we couldn't fathom the reason for it.

Perhaps when jstefanop is using an external flash tool as that BIOS_IDTF is not being recalculated, modified ROM will not post. As Polaris was also limited to using AtiWinFlash I have no idea if the same recalculation occurred on that. Will search the Polaris bios mod thread if any one noted anything or ask there.


----------



## hellm

it has a bios switch; if AMD managed to build a graphics card with this feature and successfully prevented any bios mods, i wouldn't just make no sense. i would also be totally annoying.. more than this signature driver thing on polaris..

i mean, i could also buy a geforce then. just sad. but i still hope the rx version is different, not only with full 3d power and all the driver thingies.

..ok, it is still possible to mod the complete powerplay table in the registry. until amd pulls the plug..


----------



## SSBrain

I'm wondering if the switch is meant as a safeguard against any possible failure in flashing updated *official* BIOSes that might come out when Vega RX is released.


----------



## gupsterg

@hellm

I just edited my post above yours. On Polaris when you flash a modified ROM and then dump it is there a difference as I noted on Fiji? (BIOS_IDTF)


----------



## hellm

No, i dumped my bios with gpu-z and atiflash. HxD tells there is no difference. wait, i accidently have no mod rom installed at the moment.








for the original one, no difference. wait for the modified rom, as i was about to switch back..

Yes! exact same bytes have changed, plus the CRC byte at offset 21:
modded polaris:

dumped:


----------



## sterlingpickens

Hello, I created an account to tell you guys keep up the good work.
I have a vega FE setup and working in linux now if any of you need me to test anything.


----------



## gupsterg

Quote:


> Originally Posted by *hellm*
> 
> No, i dumped my bios with gpu-z and atiflash. HxD tells there is no difference. wait, i accidently have no mod rom installed at the moment.
> 
> 
> 
> 
> 
> 
> 
> 
> for the original one, no difference. wait for the modified rom, as i was about to switch back..
> 
> Yes! exact same bytes have changed, plus the CRC byte at offset 21:
> modded polaris:
> 
> dumped:


+rep, thank you







.

That is exactly how it happen on Fiji







, but alas we are no closer to solving VEGA protection from ROM mod, yet







.
Quote:


> Originally Posted by *sterlingpickens*
> 
> Hello, I created an account to tell you guys keep up the good work.
> I have a vega FE setup and working in linux now if any of you need me to test anything.


Thank you for the offer. As of now we need members viewing ROM within hex editor to fathom this new protection on ROM mod.


----------



## deeper-blue

double post - sorry


----------



## deeper-blue

Quote:


> Originally Posted by *gupsterg*
> 
> Manipulating the SMC to gain I2C comms is futile IMO, as IR35217 has comms disabled for that case.


I now took a look at the original and modified VoltageObject and know it is clear. So far I interpreted The Stilts post in such a way that the SMC is somehow blocking the I2C/PMBus communication hence my thoughts into trying to convince the SMC to not do so. But what is actually going on is that the I2C init sequence is telling the VRM controller to just disappear/ignore the I2C bus completely.

For anybody interested this is the I2C sequence removed from the modified voltage object:

Code:



Code:


register <- data
7100 <- 0000
7200 <- 0000
2400 <- 8000


----------



## gupsterg

Yes, that is the issue. Plus modified ROM is not posting.

@jstefanop

You have Polaris and external flash tool. One test that would be interesting is take a stock ROM, modify it, flash using external flash tool and see if card post.

As the external flash tool will not recalculate BIOS_IDTF, we may get an idea if this is some form of protection or not. Maybe I'm clutching at straws







.


----------



## Removed1

Quote:


> Originally Posted by *deeper-blue*
> 
> I now took a look at the original and modified VoltageObject and know it is clear. So far I interpreted The Stilts post in such a way that the SMC is somehow blocking the I2C/PMBus communication hence my thoughts into trying to convince the SMC to not do so. But what is actually going on is that the I2C init sequence is telling the VRM controller to just disappear/ignore the I2C bus completely.
> 
> For anybody interested this is the I2C sequence removed from the modified voltage object:
> 
> Code:
> 
> 
> 
> Code:
> 
> 
> register <- data
> 7100 <- 0000
> 7200 <- 0000
> 2400 <- 8000


Thanks for the explanation!
My 1st thought about the vrm_init was not so far away being right!

For the flash protection i don't think there is an hard lock, i supposed too that amd maybe would do not wish that users flash another bios than the FE one.
Nevertheless if there is an hard lock you would not be able to read/write the bios, just update it. This would also mean update the tools used to dump/flash the bios.
It is true that when you need an external programmer, generally it is because the rom is hard locked or encrypted in some ways.


----------



## jstefanop

Quote:


> Originally Posted by *gupsterg*
> 
> Yes, that is the issue. Plus modified ROM is not posting.
> 
> @jstefanop
> 
> You have Polaris and external flash tool. One test that would be interesting is take a stock ROM, modify it, flash using external flash tool and see if card post.
> 
> As the external flash tool will not recalculate BIOS_IDTF, we may get an idea if this is some form of protection or not. Maybe I'm clutching at straws
> 
> 
> 
> 
> 
> 
> 
> .


Im pretty sure I have already directly flashed moded BIOS on Polaris cards with no issues, but I will double check. Haven't had time to check stilt mod yet, but will have some time to play around some more tomorrow.


----------



## sterlingpickens

which portion of the rom is the crc generated from ? everything after the crc feild ?


----------



## jstefanop

No go on stilts mod. The BIOS actually posts, which is a good sign, but fails during windows driver GPU init. Driver does not even throw an error it just freezes the whole system, so either something is wrong with stilt's mod, causing a hard crash, or the patcher mod is not compatible with vega driver and causing hard crash.


----------



## gupsterg

Thank you for test info







.

VEGA AIR Stock where I added The Stilt's VoltageObjectInfo posts for you. This means that checksum portion and VoltageObjectInfo is not protected.

It could also mean the modified ROM tests you did before had an issue, ie malformed ROM. I can not say for certain, as do not know what you did.

ToastyX's patcher mod is not working IMO. Try booting to Linux, as that in the past does no signature check.

I will do you a VEGA AIR with The Stilt's VOI and UEFI/GOP disable, let me make and add to this post, so recheck and test/report back, thank you







.

*** edit ***

VEGA_VOI_UNLOCK_NON_UEFI.zip 137k .zip file


This does not have UEFI/GOP module zero'd, it just has it disabled via edit at top of ROM.

Until we have a modified UEFI/GOP module, no modified ROM will make use of the stock UEFI/GOP in ROM any how, so CSM must be enabled within UEFI of motherboard.


----------



## sterlingpickens

I have an external flash tool ...

with the stock card, no changes I get the following on boot to linux:
[ 3.760665] [drm] BIOS signature incorrect 6d 7
[ 3.760777] amdgpu 0000:0b:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
[ 3.760966] ATOM BIOS: 113-D0501100-109

still boots up no problem it seems


----------



## gupsterg

Quote:


> Originally Posted by *sterlingpickens*
> 
> I have an external flash tool ...


Please test ROMs and report your findings as well







, thank you







.


----------



## jstefanop

Quote:


> Originally Posted by *sterlingpickens*
> 
> I have an external flash tool ...
> 
> with the stock card, no changes I get the following on boot to linux:
> [ 3.760665] [drm] BIOS signature incorrect 6d 7
> [ 3.760777] amdgpu 0000:0b:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
> [ 3.760966] ATOM BIOS: 113-D0501100-109
> 
> still boots up no problem it seems


Which driver are you running under linux?


----------



## Removed1

Quote:


> Originally Posted by *jstefanop*
> 
> No go on stilts mod. The BIOS actually posts, which is a good sign, but fails during windows driver GPU init. Driver does not even throw an error it just freezes the whole system, so either something is wrong with stilt's mod, causing a hard crash, or the patcher mod is not compatible with vega driver and causing hard crash.


Disabling the driver signature feature on windows could work?


----------



## The Stilt

Sounds like driver signature protection indeed, as on some cards it will crash the system once the driver is loaded.
Atikmdag patcher in bios-mode should be able to remedy that.


----------



## sterlingpickens

I'm using the amd-staging-4.11 branch
llvm5 is also required
All the official support won't start being released for awhile

I'm likely to be real slow trying anything out.
I'm still trying to wrap my head around how to calculate the crc from a bios file without relying on someone's .exe.
I guess if I study the kernel/xorg source long enough i'll find some hints.


----------



## jstefanop

Quote:


> Originally Posted by *The Stilt*
> 
> Sounds like driver signature protection indeed, as on some cards it will crash the system once the driver is loaded.
> Atikmdag patcher in bios-mode should be able to remedy that.


BIOS mode? It just runs and patches...dont see any mode options.


----------



## jstefanop

Quote:


> Originally Posted by *sterlingpickens*
> 
> I'm using the amd-staging-4.11 branch
> llvm5 is also required
> All the official support won't start being released for awhile
> 
> I'm likely to be real slow trying anything out.
> I'm still trying to wrap my head around how to calculate the crc from a bios file without relying on someone's .exe.
> I guess if I study the kernel/xorg source long enough i'll find some hints.


Yea your using the wrong kernel. You either have to use the ROCm kernel (based off 4.9), or Ubuntu 16.04 with AMDGPU-Pro 17.2 with ROCm components installed for Vega support.


----------



## SSBrain

A Vega FE Watercooled BIOS was posted here:

https://www.techpowerup.com/vgabios/193486/193486

Source:

__
https://www.reddit.com/r/6n69o1/_/


----------



## sterlingpickens

Quote:


> Originally Posted by *jstefanop*
> 
> Yea your using the wrong kernel. You either have to use the ROCm kernel (based off 4.9), or Ubuntu 16.04 with AMDGPU-Pro 17.2 with ROCm components installed for Vega support.


This works. It was actually the branch recommended to me by some AMD employees for testing vega on the open drivers.


----------



## gupsterg

Quote:


> Originally Posted by *jstefanop*
> 
> BIOS mode? It just runs and patches...dont see any mode options.


Rename atikmdag-patcher.exe to atikmdag-patcher-bios.exe and run.
Quote:


> Originally Posted by *sterlingpickens*
> 
> This works. It was actually the branch recommended to me by some AMD employees for testing vega on the open drivers.


SWEET







.

Which ROMs worked?

1. VEGA FE AIR with VOI Unlock (in post 56 / OP)

2. VEGA FE AIR with VOI Unlock and non UEFI/GOP (in post 77)


----------



## deeper-blue

Quote:


> Originally Posted by *SSBrain*
> 
> A Vega FE Watercooled BIOS was posted here:
> 
> https://www.techpowerup.com/vgabios/193486/193486
> 
> Source:
> 
> __
> https://www.reddit.com/r/6n69o1/_/


Only 58kB? Is GPU-Z already compatible with dumping VEGA bios?


----------



## jstefanop

Quote:


> Originally Posted by *gupsterg*
> 
> Rename atikmdag-patcher.exe to atikmdag-patcher-bios.exe and run.


The newer version already does this by default. Im already running patched version and Polaris modded roms fine. Looks like there is something wierd going on with the vega rom and its not working.


----------



## gupsterg

@deeper-blue

Yes/no, see OP.

@jstefanop

Ok, @ToastyX is here on OCN, perhaps he will comment.

So linux usage AOK? which ROMs work? cheers







.

Also I would assume a shutdown and power up is required after flashing ROM with VOI mod. As IR3567B need that to take VOI change via ROM, so likely IR35217 does IMO. Maybe irrelevant as assume you guys use external flash tool rig powered off, so on power on VOI should take.


----------



## Removed1

Sometimes even if you power down the machine the settings value stay up until some time.
Dunno if it is because of residual current in the circuit, but sometimes you need to let chill the stuff 30min powered off to reset completely the controller settings.

That's what i noticed sometimes when flashing the different modded bios on my 290. Even after flashing and the card and powered it off, the new bios settings were not immediately applied. Black magic, dunno!

I would also suggest to disable at this point the windows drivers signature, it could help with the crashing drivers. Or maybe force another driver, could work?

Some thermal view of the vega vrm doublers, 



.


----------



## Mumak

Quote:


> Originally Posted by *deeper-blue*
> 
> In the linux drivers we can see that Vega has new SMC commands, these two are probably relevant for getting access to I2C:
> 
> Code:
> 
> 
> 
> Code:
> 
> 
> #define PPSMC_MSG_RequestI2CBus                  0x12
> #define PPSMC_MSG_ReleaseI2CBus                  0x13
> 
> I assume blocking access to the I2C bus is done to prevent crashing the card from I2C access like it was common with Fiji.
> 
> Sending a command to the SMC under windows is no problem, I can try putting together a small program to first send the request I2C command and then dump all I2C devices - but I have no Vega card to test it with.


Those commands are for synchronizing access to I2C. I used them on Fiji too, which helped to prevent access collisions (and resulting crashes) just a bit, it didn't solve the problem completely there.
And they won't help to unblock I2C access to VRMs. The method used to block them can only be reverted by a POR, so a VBIOS mod is required to overcome it.


----------



## sterlingpickens

Quote:


> Originally Posted by *gupsterg*
> 
> Rename atikmdag-patcher.exe to atikmdag-patcher-bios.exe and run.
> SWEET
> 
> 
> 
> 
> 
> 
> 
> .
> 
> Which ROMs worked?
> 
> 1. VEGA FE AIR with VOI Unlock (in post 56 / OP)
> 
> 2. VEGA FE AIR with VOI Unlock and non UEFI/GOP (in post 77)


I'm sorry, I meant the kernel. I'm going to step out of this thread, i'm adding confusion.


----------



## gupsterg

It's not a problem, please do not step out of the thread.

Originally your post 78 had only "I have an external flash tool ...". Later you added more info there and I did not see it. When jstefanop guided you to use another kernel and you said it worked, I thought you had a modified ROM working with Linux.

a) there is lack of VEGA owners.
b) ones with external flash tool.

So if you can participate it would be invaluable and appreciated







.


----------



## fewness

What is an "external flash tool"?


----------



## sterlingpickens

Ok, that mess worked ...
now to try it on the $1000 card

Which rom do you guys want me to try first ?


----------



## Removed1

Quote:


> Originally Posted by *fewness*
> 
> What is an "external flash tool"?


It is an external programmer. It allow you to access to the flash memory where the bios is stored without powering on the device.

You can un-solder the chip or use some kind of special tweezers to connect the chip to the programmer.
Then you can read/write the flash memory content even if there is some protections. Like locking the bios with usual flash methods.
I.e the picture above!









@sterlingpickens
You can use something like that. Clean and simple.
Or un-solder the chip, if done properly with the right tools, you will not even notice the difference.
Even if the chip fry, you can order another one and load back the bios.








In the 1st OP post there is the full vega bios, with the I2C/PMBus mod, to begin unlocking the communications with the controller.

Still, i did not fully grasp what is the issue with normal methods, sorry. How we could move further to understand and sort it out?
The driver signature trick worked on windows?
Did Atiflash return you an error when trying to flash the full modded/stock bios?
The issue with Atiflash occur only when trying to dump the full bios?


----------



## jstefanop

Quote:


> Originally Posted by *sterlingpickens*
> 
> 
> Ok, that mess worked ...
> now to try it on the $1000 card
> 
> Which rom do you guys want me to try first ?


haha, well thats a way to do it...don't fry your board though no need to mess with soldering on a 1k gpu.

Here's a bit more elegant solution


----------



## jstefanop

Quote:


> Originally Posted by *Wimpzilla*
> 
> Still, i did not fully grasp what is the issue with normal methods, sorry. How we could move further to understand and sort it out?
> The driver signature trick worked on windows?
> Did Atiflash return you an error when trying to flash the full modded/stock bios?
> The issue with Atiflash occur only when trying to dump the full bios?


Currently driver signature patch does not seem to work with vega drivers. Using stilts i2c unlock rom is causing a crash during driver load on patched driver.

There is no working atiflash for vega. Only way to read/write full rom is through external tool like I posted above.


----------



## fewness

Quote:


> Originally Posted by *Wimpzilla*
> 
> It is an external programmer. It allow you to access to the flash memory where the bios is stored without powering on the device.
> 
> You can un-solder the chip or use some kind of special tweezers to connect the chip to the programmer.
> Then you can read/write the flash memory content even if there is some protections. Like locking the bios with usual flash methods.
> I.e the picture above


Wow....I'll skip that....


----------



## dagget3450

Sorry if this has already been covered, but do these BIOS files look correct?

https://www.techpowerup.com/vgabios/?architecture=Uploads&manufacturer=&model=&interface=&memType=HBM2&memSize=&since=

The water cooled vega FE looks to have a newer version? Also i heard the BIOS is not final, does that make any sense?

Finally, has anyone seen anything posted on bios versions?

My Vega Fe is 8519 like those on TPU.


----------



## Removed1

Quote:


> Originally Posted by *dagget3450*
> 
> Sorry if this has already been covered, but do these BIOS files look correct?
> 
> https://www.techpowerup.com/vgabios/?architecture=Uploads&manufacturer=&model=&interface=&memType=HBM2&memSize=&since=
> 
> The water cooled vega FE looks to have a newer version? Also i heard the BIOS is not final, does that make any sense?
> 
> Finally, has anyone seen anything posted on bios versions?
> 
> My Vega Fe is 8519 like those on TPU.


They are correct in the sense that it is not the whole bios but only the "legacy" part without the UEFI support.
The full bios is the one that you can find on the 1st OP page.

The bios from the FE water/air are different, how much different dunno. I still do not know how the water version work, if there is something else more than just the same card with a water slapped on it with upgraded TDP.

Did atiflash recognize at least the card. But do not recognize the bios, or simply atflash doesn't eve see the card?


----------



## SSBrain

Apparently the previously linked watercooled Vega FE BIOS was a 300W BIOS. The onboard BIOS selector allows to switch to a secondary BIOS with a 375W power limit. Here it is:

https://www.techpowerup.com/vgabios/193513/193513

More context:

__ https://twitter.com/i/web/status/885928175770927107


----------



## sterlingpickens

The problem I have with vega fe (and pretty much any vid card) is just how hot they run stock.
I'm willing to risk damaging this thing and voiding the warranty because it runs so hot the system routinely shuts down from overheating if I fire up a game.
The 5000rpm fan isn't even enough to keep it cool at stock settings.

It is stable with echo "low" > /sys/class/drm/card0/device/power_dpm_force_performance_level
This forces the core to 852Mhz
Also with the open drivers i'm not seeing a way to poll the current voltages

That soic test clip would definitely make things easier on me.


----------



## gupsterg

Quote:


> Originally Posted by *SSBrain*
> 
> Apparently the previously linked watercooled Vega FE BIOS was a 300W BIOS. The onboard BIOS selector allows to switch to a secondary BIOS with a 375W power limit. Here it is:
> 
> https://www.techpowerup.com/vgabios/193513/193513
> 
> More context:
> 
> __ https://twitter.com/i/web/status/885928175770927107%5B%2FURL
> No 1
> 
> Code:
> 
> 
> 
> Code:
> 
> 
> DC 00 (220W)    USHORT usSocketPowerLimit;
> DC 00 (220W)    USHORT usBatteryPowerLimit;
> DC 00 (220W)    USHORT usSmallPowerLimit;
> 2C 01 (300A)    USHORT usTdcLimit;
> 
> No 2
> 
> Code:
> 
> 
> 
> Code:
> 
> 
> 08 01 (264W)    USHORT usSocketPowerLimit;
> 08 01 (264W)    USHORT usBatteryPowerLimit;
> 08 01 (264W)    USHORT usSmallPowerLimit;
> 2C 01 (300A)    USHORT usTdcLimit;
> 
> VEGA AIR is also 220W/220W/220W/300A.
> 
> Don't know where this 375W is coming from?


----------



## hellm

Quote:


> Originally Posted by *sterlingpickens*
> 
> The problem I have with vega fe (and pretty much any vid card) is just how hot they run stock.
> I'm willing to risk damaging this thing and voiding the warranty because it runs so hot the system routinely shuts down from overheating if I fire up a game.
> The 5000rpm fan isn't even enough to keep it cool at stock settings.










silicon lottery..





probably up to 800W with ln2























..sorry, a little OT..


----------



## buildzoid

Has anyone got a custom BIOS to work on VEGA yet?

Also I might be able to get my hands on a VEGA ATiFlash soon but for now I got everything I want with hard mods.


----------



## gupsterg

Quote:


> Originally Posted by *buildzoid*
> 
> Has anyone got a custom BIOS to work on VEGA yet?


Windows freezes on OS load. No one has confirmed yet concerning Linux IIRC.
Quote:


> Originally Posted by *buildzoid*
> 
> Also I might be able to get my hands on a VEGA ATiFlash soon but for now I got everything I want with hard mods.


I spoke to W1zzard few days ago, he said he didn't have a compatible AtiWinFlash yet.


----------



## buildzoid

The AIBs also don't have a compatible ATiFlash yet either.


----------



## hellm

i made a SoftPowerPlayTable regkey. At least it should make the PowerPlay table completely moddable.

you will have to check the [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\, if the card is installed under 0000. if not, edit the file or repair with DDU..


MorePowerVega.zip 1k .zip file


@buildzoid
and here is the powerlimit


and according to this:


Spoiler: gupsterg post#106



Quote:


> Originally Posted by *gupsterg*
> 
> Comparing the AIO switch one and two ROMs we have (ignore filenames I was being lazy
> 
> 
> 
> 
> 
> 
> 
> ) :-
> 
> 
> 
> No 1
> 
> Code:
> 
> 
> 
> Code:
> 
> 
> DC 00 (220W)    USHORT usSocketPowerLimit;
> DC 00 (220W)    USHORT usBatteryPowerLimit;
> DC 00 (220W)    USHORT usSmallPowerLimit;
> 2C 01 (300A)    USHORT usTdcLimit;
> 
> No 2
> 
> Code:
> 
> 
> 
> Code:
> 
> 
> 08 01 (264W)    USHORT usSocketPowerLimit;
> 08 01 (264W)    USHORT usBatteryPowerLimit;
> 08 01 (264W)    USHORT usSmallPowerLimit;
> 2C 01 (300A)    USHORT usTdcLimit;
> 
> VEGA AIR is also 220W/220W/220W/300A.
> 
> Don't know where this 375W is coming from?






DC 00 -> 0xDC -> 220W Socket PowerLimit
DC 00 -> 0xDC -> 220W Battery PowerLimit
DC 00 -> 0xDC -> 220W Small PowerLimit
2C 01 -> 0x12C -> 300A Tdc Limit

..and everything else found in the PowerPlay Info table as seen in post#1.


----------



## fewness

What do socket/battery/small power limit do? Should I change these as well, or just the tdc?


----------



## hellm

battery/small limit had no effect on polaris; at least not that i noticed. but why not changing it.. since AMD raised all of them with the h20 bios, i would do the same.


----------



## Removed1

Quote:


> Originally Posted by *sterlingpickens*
> 
> The problem I have with vega fe (and pretty much any vid card) is just how hot they run stock.
> I'm willing to risk damaging this thing and voiding the warranty because it runs so hot the system routinely shuts down from overheating if I fire up a game.
> The 5000rpm fan isn't even enough to keep it cool at stock settings.
> 
> It is stable with echo "low" > /sys/class/drm/card0/device/power_dpm_force_performance_level
> This forces the core to 852Mhz
> Also with the open drivers i'm not seeing a way to poll the current voltages
> 
> That soic test clip would definitely make things easier on me.


I agree, instead sandbagging adm for useless stuff, why users do not complain on major amd issue: the heatshink!
I advice you to unmount the heatshink carefully and change the thermal paste and check if you got better thermals.
Amd kill it's own product by cheapening on heatshink with their bad engineer vapor chamber that not fulfill the TDP of the card.

It possible to mod the bios to change the ID number of the vega in a 290 die ID?
Maybe it is only a matter of die support? Changing drivers or die ID could allow atiflash to recognize the card?
Both switch have the same behavior? Did someone notice some differences bumping/flashing the bios on different positions?
Is there any descriptor in the bios file that could lock the read/write? Like when you mod the Intel ME. There is a descriptor that block the read/write, you need to assert up a pin on the mb to unlock the descriptor.
Then you can dumb the ME and succrefully edit the descriptor region to unlock the ME even without asserting the pin up.
Could it be something so complicate or we just need to wait amd release something about?
These are just proposition, as i said i try to help software side, but i do have enough knowledge on this topic to be efficient.

Vega water semi-teardown from GN!


----------



## Removed1

GN undervolting vega 



.


----------



## sterlingpickens

silly question here, but is VOI = voltage on init ?


----------



## hellm

nope, voltage object info


----------



## sterlingpickens

Ok, I went back and reread this thread. From my understanding it's just a waiting game now.
Unfortunately I don't have enough time or experience to randomly tinker with the rom and flash over and over testing different things.
Here's to hoping for the best.

EDIT: This card is trash in it's stock config
2 system crashes at the hottest point of the day with it forced in dpm low state, while I was trying to work.

Back to using my 7870 because it's a better card


----------



## hellm

I have found this new version of atiflash in a recent bios update for the Asus Strix RX480.

atiflash_277.zip 1189k .zip file


----------



## asder00

Quote:


> Originally Posted by *hellm*
> 
> I have found this new version of atiflash in a recent bios update for the Asus Strix RX480.
> 
> atiflash_277.zip 1189k .zip file


Nice find, you can clearly find the strings for vega in the executable: Vega10..29EE512.29LE512 and Vega10 (Slave)..SST39SF512
The (Slave) naming is for dual cards, so i guess a dual vega is in the works...


----------



## hellm

Quote:


> Originally Posted by *asder00*
> 
> Quote:
> 
> 
> 
> Originally Posted by *hellm*
> 
> I have found this new version of atiflash in a recent bios update for the Asus Strix RX480.
> 
> atiflash_277.zip 1189k .zip file
> 
> 
> 
> 
> Nice find, you can clearly find the strings for vega in the executable: Vega10..29EE512.29LE512 and Vega10 (Slave)..SST39SF512
> The (Slave) naming is for dual cards, so i guess a dual vega is in the works...
Click to expand...

Finally! A card that can pull up to 1000W!


----------



## jstefanop

Cool stuff...will test flashing over atiflash instead of my hardware flash to see if that is what was causing the BIOS mods not to post. Will update soon.


----------



## gupsterg

@hellm

+rep, TK







.

@jstefanop

Will add to OP once you confirm flash went well.


----------



## jstefanop

Can confirm that the VOI mod does not work for both Windows and Linux, with BIOS flashed both by hardware and atiflash.

@thestilt is the only part that is supposed to change what is highlighted in green? There are more values past that which are changed form the original BIOS, so want to make sure that VOI is not copied from another ROM.


----------



## fewness

Does anyone know how to force installl 17.7.2 correctly to Vega? I copied all display folder files to 17.6 the same folder, driver can be installed but I lost game mode in the setting panel....


----------



## deeper-blue

https://www.heise.de/newsticker/meldung/AMD-Treiber-Radeon-Pro-17-8-fuer-Vega-Hardware-Sicherheit-und-On-the-Fly-Treiberwechsel-3784816.html?view=zoom;zoom=1

Vega has a security processor that verifies firmware/bios... this might mean no bios modifications for Vega.


----------



## gupsterg

Damn







.


----------



## hellm

they are gone nvidia.









ok just unsoldering won't do the job i guess, so what now? build our own graphic cards?


----------



## deeper-blue

Quote:


> Originally Posted by *gupsterg*
> 
> Damn
> 
> 
> 
> 
> 
> 
> 
> .


Let's hope it is only enforced on pro cards and not on rx vega.


----------



## The Stilt

Quote:


> Originally Posted by *deeper-blue*
> 
> Let's hope it is only enforced on pro cards and not on rx vega.


AMD could do that through the driver as well, if they really wanted. I can't see AIBs implementing this protection in the custom cards (controller config).


----------



## deeper-blue

Quote:


> Originally Posted by *The Stilt*
> 
> AMD could do that through the driver as well, if they really wanted. I can't see AIBs implementing this protection in the custom cards (controller config).


Good points.
Making it harder / more annoying for AIBs to get custom cards done is certainly not in the interest of AMD (but there could also be ways to exclude certain parts of the bios from signature checking).


----------



## hellm

oh, it is on the GPU..should have read the link..

i fear it is not too much effort to implement this "feature" in the BIOS? is there even any work involved, since it is already done by AMD? (and what's a AIB again?)
Nvidia has a chip on their cards for power control, isn't that much more annoying or expensive?

no mods would be a major downside. if they cut SoftPowerPlay, and i think that would be easy, all the fun would be gone.


----------



## sterlingpickens

it's basically a custom arm cpu on die
I remember them talking about putting them ondie maybe 2yrs ago


----------



## buildzoid

I can also confirm that the card completely refuses to post if you give it a modded BIOS. Looks like the FE cards definitely have a hardware level BIOS verification.


----------



## hellm

Makes sense. But i think they don't want to let you mod a RX card to a FE, either. I'm almost sure this verification also applies to the RX cards.

Did someone tried SoftPowerTable?

update:
what was i thinking.. no modded BIOS doesn't mean you can't flash a signed RX BIOS on a FE card..
if they didn't do that for RX<->FE flashing, just to prevent BIOS-modding, i will buy a Geforce.


----------



## sterlingpickens

There has to be something more to this story
Maybe something we are missing.
It's a shame AMD employees aren't giving us some hints


----------



## buildzoid

Eh I think the FE might have the FirePro safety treatment in which case having unapproved BIOS flashing locked at a hardware level makes perfect sense.

I just hope the RX cards don't do this.


----------



## hellm

I hope u get a RX card for testing very soon. I would have to buy a new psu and extend my custom loop by doubling the cooling performance somehow, than i could run a card under water that pulls way over 300W with overclocking.

If they did cut modding and i2c on the RX, i could also buy a boost x.0 Geforce. And i have almost the same opinion about nvidia cards as u do.. so i might not do that and buy a 56 anyway, but than it is the fear that someday even SoftPowerPlay regkey doesn't work anymore.

there is still hope to have a graphics card i really own myself, can burn my house down if i want to. fingers crossed..

..oh, and all this with the hope that miners don't make Vega unattainable.


----------



## gupsterg

Added AtiWinFlash v2.77 to OP, cheers helm







.
Quote:


> Originally Posted by *wolf9466*
> 
> To all the people (like me) who are going to mod the VBIOS on their Vega - Linux or go home. Why?
> 
> Vega is checking sigs (apparently in HW) early in boot - you mod it, at the very least, no video from it. So... how do you do it on Linux?
> 
> Simple - patch your kernel to load an unsigned VBIOS file (if present) at a specific location... Vega's internal HW can't check what the DRIVER loads... only what's on its own ROM.


Seems like we have confirmed VEGE FE with mod BIOS on Linux.


----------



## wolf9466

Quote:


> Originally Posted by *gupsterg*
> 
> Added AtiWinFlash v2.77 to OP, cheers helm
> 
> 
> 
> 
> 
> 
> 
> .
> Quote:
> 
> 
> 
> Originally Posted by *wolf9466*
> 
> To all the people (like me) who are going to mod the VBIOS on their Vega - Linux or go home. Why?
> 
> Vega is checking sigs (apparently in HW) early in boot - you mod it, at the very least, no video from it. So... how do you do it on Linux?
> 
> Simple - patch your kernel to load an unsigned VBIOS file (if present) at a specific location... Vega's internal HW can't check what the DRIVER loads... only what's on its own ROM.
> 
> 
> 
> Seems like we have confirmed VEGE FE with mod BIOS on Linux.
Click to expand...

Err... confirmed Vega FE with a modded VBIOS flashed to the GPU's ROM? Cause... I'd have to sign it to do that (tried it - no sign, no party.)


----------



## gupsterg

Ahhh, OK, from your post in VEGA owners thread I thought you cracked it.

I'm sorta doubtful that RX VEGA will have the security chip disabled. I reckon this way how unlocks which were possible on Hawaii/Fiji is also crushed for VEGA 56.


----------



## wolf9466

Quote:


> Originally Posted by *gupsterg*
> 
> Ahhh, OK, from your post in VEGA owners thread I thought you cracked it.
> 
> I'm sorta doubtful that RX VEGA will have the security chip disabled. I reckon this way how unlocks which were possible on Hawaii/Fiji is also crushed for VEGA 56.


I did! But it needs a kernel patch!


----------



## wolf9466

Code:



Code:


[[email protected] ~/Desktop/VBIOS]$ ohgodatool -f VEGA-stock.rom --show-core --show-mem --show-tdc --show-max-core-clock --show-max-mem-clock
OhGodATool - v1.3 (OGAC Confidential)

Max OverDrive core clock: 2400Mhz
Max OverDrive memory clock: 1500Mhz
Memory state 0:
        VDDC: 800mV
        VDDCI: 900mV
        MVDDC: 1350mV
        Memory clock: 167Mhz
Memory state 1:
        VDDC: 900mV
        VDDCI: 900mV
        MVDDC: 1350mV
        Memory clock: 500Mhz
Memory state 2:
        VDDC: 950mV
        VDDCI: 900mV
        MVDDC: 1350mV
        Memory clock: 800Mhz
Memory state 3:
        VDDC: 1000mV
        VDDCI: 900mV
        MVDDC: 1350mV
        Memory clock: 945Mhz

GFXClk state 0:
        VDDC: 800mV
        Clock: 852Mhz
        CKSVOffsetandDisable: 0x00008000
        AVFSOffset: 0
GFXClk state 1:
        VDDC: 900mV
        Clock: 991Mhz
        CKSVOffsetandDisable: 0x00000000
        AVFSOffset: 0
GFXClk state 2:
        VDDC: 950mV
        Clock: 1138Mhz
        CKSVOffsetandDisable: 0x00000000
        AVFSOffset: 0
GFXClk state 3:
        VDDC: 1000mV
        Clock: 1269Mhz
        CKSVOffsetandDisable: 0x00000000
        AVFSOffset: 0
GFXClk state 4:
        VDDC: 1050mV
        Clock: 1348Mhz
        CKSVOffsetandDisable: 0x00000000
        AVFSOffset: 0
GFXClk state 5:
        VDDC: 1100mV
        Clock: 1440Mhz
        CKSVOffsetandDisable: 0x00000000
        AVFSOffset: 0
GFXClk state 6:
        VDDC: 1150mV
        Clock: 1528Mhz
        CKSVOffsetandDisable: 0x00000000
        AVFSOffset: 0
GFXClk state 7:
        VDDC: 1200mV
        Clock: 1600Mhz
        CKSVOffsetandDisable: 0x00000000
        AVFSOffset: 0

TDC = 300A

Not gonna decode the memory timings publically (as obviously dumping the values and their fields would give away the format of their encoding), though.


----------



## gupsterg

Sweet







.

So it as I thought from you post.

Have stock VBIOS on card, Linux Kernel with a patch to load a modded VBIOS is route currently.


----------



## wolf9466

Quote:


> Originally Posted by *gupsterg*
> 
> Sweet
> 
> 
> 
> 
> 
> 
> 
> .
> 
> So it as I thought from you post.
> 
> Have stock VBIOS on card, Linux Kernel with a patch to load a modded VBIOS is route currently.


Yes indeed! Patching the kernel is also an excellent way to force a max VID (although you can do this in the AVFS **** in the VBIOS itself, too, now!)


----------



## gupsterg

OK sweet







.

Have you tried SoftPowerPlay modification on windows?

I'm not a VEGA owner so can not do any testing.


----------



## wolf9466

Quote:


> Originally Posted by *gupsterg*
> 
> OK sweet
> 
> 
> 
> 
> 
> 
> 
> .
> 
> Have you tried SoftPowerPlay modification on windows?
> 
> I'm not a VEGA owner so can not do any testing.


I don't use Win.


----------



## hellm

what about i2c?

in windows.. if someone would have the knowledge to get behind the SoftPowerPlay thing, we could copy every table to the registry. as far as i understood, it is the same what wolf9466 told linux, read the bios from a different source.


----------



## wolf9466

Quote:


> Originally Posted by *hellm*
> 
> what about i2c?
> 
> in windows.. if someone would have the knowledge to get behind the SoftPowerPlay thing, we could copy every table to the registry. as far as i understood, it is the same what wolf9466 told linux, read the bios from a different source.


No, not the same - being able to do soft PowerPlay is... well... I guess kinda useful... but all the good **** is in other sections of the VBIOS (like timings.)


----------



## hellm

Yes, i know. that was what i meant. read the other tables from registry, too.

you tried that get- i2c-back-stuff from the Stilt?


----------



## wolf9466

Quote:


> Originally Posted by *hellm*
> 
> Yes, i know. that was what i meant. read the other tables from registry, too.
> 
> you tried that get- i2c-back-stuff from the Stilt?


Uh... it doesn't work like that. The ONLY reason patching the linux kernel works easily is because it's open source...

And no, not yet. I did run wolfamdbg on the Vega under Linux, though - apparently it really doesn't show up without the fix.


----------



## hellm

right.. we would have to hack a non-open-source driver. might be difficult, but since someone removed signature check, nothing's impossible i think. we would have to know how the SoftPowerPlay thing is done, and "add" other tables, anyway just a thought.

i still have hope, since noone knows yet about the RX cards for sure.. but not much..


----------



## wolf9466

Quote:


> Originally Posted by *hellm*
> 
> right.. we would have to hack a non-open-source driver. might be difficult, but since someone removed signature check, nothing's impossible i think. we would have to know how the SoftPowerPlay thing is done, and "add" other tables, anyway just a thought.
> 
> i still have hope, since noone knows yet about the RX cards for sure.. but not much..


I probably *could* do the RE work on the driver, and I STILL wouldn't. That's WAAAAY too much effort.


----------



## hellm

totally understood.
Quote:


> Originally Posted by *gupsterg*
> 
> Any chance of modding UEFI/GOP module like Lordkag did of the Polaris one?
> 
> UEFI_GOP.zip 317k .zip file


i never received that verification mail from fernandos's win-raid. i would have asked someone.. i don't think it's done the stupid way. but i have done it anyway.







maybe someone is willing to give it a try (i know, no way to flash a mod anyway.. so kind of pointless.. until RX doesn't have that check)
*removed*


----------



## gupsterg

The UEFI/GOP is backward compatible, it has support for previous cards.

Lordkag modified the Polaris UEFI/GOP module as it was latest at the time, so Fiji, Hawaii, etc is supported. It just can't be used on VEGA as it does not have support for VEGA.

So I'll test this mod VEGA UEFI/GOP module on Fury X in 'pure UEFI' mode.


----------



## hellm

But please don't kill me if i was wrong. i really just copy-pasted the modded bytes. fingers crossed.









update:
have to fix header first..


----------



## Vento041

Hi, guys... Joining this conversation quite late xD 16 pages of information is quite a lot xD

Btw, I'll probably will not buy a Vega card (I'm not that rich xD) sadly, but I'd like to help... I've an external programmer (a raspberry) and my Polaris card ready to get programmed.

Is that BIOS_IDTF thing already been solved? Do the chip support the usual SPI protocol? Do you think that flashrom will be enough?


----------



## The Stilt

Quote:


> Originally Posted by *hellm*
> 
> what about i2c?
> 
> in windows.. if someone would have the knowledge to get behind the SoftPowerPlay thing, we could copy every table to the registry. as far as i understood, it is the same what wolf9466 told linux, read the bios from a different source.


What about the I2C?
For the time being, neither I2C or PMBUS practically exist on this card. The comms to the controller are terminated as the card boots, and there is no way to restore them. Unless we're able to modify the bioses or receive a bios which doesn't do that. Technically it is possible to perform a HW modification to the card, which would prevent the bios disabling the comms. Or alternatively the MTP of the controller could be reprogrammed externally, so that the bios could not communicate (and block the further communications) to begin with. The question is, is it worth doing? In my opinion, it's not.


----------



## hellm

thx for clearing things up. i think anyone would concur.

anyone bought a RX already? i want to be sure about modding..


----------



## Darklyric

Quote:


> Originally Posted by *hellm*
> 
> thx for clearing things up. i think anyone would concur.
> 
> anyone bought a RX already? i want to be sure about modding..


Not sure if you've seen GNs video but here you go 



 and thanks for the work you guys have been doing here.


----------



## rancor

Does anyone know if it was possible to flash the water cooling bios on an air cooled card?


----------



## hellm

Quote:


> Originally Posted by *Darklyric*
> 
> Not sure if you've seen GNs video but here you go
> 
> 
> 
> and thanks for the work you guys have been doing here.


thx. i'm gonna stick with Polaris for a while.

for a new SoftPowerPlayTable i need a RX BIOS. If it works with FE, there should be no reason that it doesn't work with RX.


----------



## buildzoid

VEGA 56 BIOS

https://drive.google.com/file/d/0B0hMUOsZVm2FUm54dXFxX3pwTW8/view?usp=sharing


----------



## hellm

PowerPlay table on Vega RX is a few bytes longer than the FE version. So, everything should work fine with this new SoftPowerPlay registry binary.









Again, you will have to check [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\, if the card is installed under 0000. if not, edit the file or repair with DDU..

MorePowerVega56.zip 1k .zip file


max powerlimit

32 00 -> 0x32 -> +50%


A5 00 -> 0xA5 -> 165W Socket PowerLimit
A5 00 -> 0xA5 -> 165W Battery PowerLimit
A5 00 -> 0xA5 -> 165W Small PowerLimit
2C 01 -> 0x12C -> 300A Tdc Limit


----------



## rancor

Quote:


> Originally Posted by *hellm*
> 
> PowerPlay table on Vega RX is a few bytes longer than the FE version. So, everything should work fine with this new SoftPowerPlay registry binary.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Again, you will have to check [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\, if the card is installed under 0000. if not, edit the file or repair with DDU..
> 
> MorePowerVega56.zip 1k .zip file
> 
> 
> max powerlimit
> 
> 32 00 -> 0x32 -> +50%
> 
> 
> A5 00 -> 0xA5 -> 165W Socket PowerLimit
> A5 00 -> 0xA5 -> 165W Battery PowerLimit
> A5 00 -> 0xA5 -> 165W Small PowerLimit
> 2C 01 -> 0x12C -> 300A Tdc Limit


Can you modify the power and current limits or just the max power( +50%)? Since we know the VRMs are pretty strong could I up the current limit to 400A and corresponding power limits assuming I have the cooling? Or is this just a readout of the bios and changes in the registry have no impact of the function?


----------



## hellm

It is the same PowerPlay table as in the BIOS. The driver just reads the info from another source. As good as a BIOS-mod.

so u can mod everything and it will have an effect. Either max power or current limit and corresponding power limits or all of them.

Just have a look at OP, gupsterg postet all info about the PowerPlay table. You can find clockrates and what not, but overvolting doesn't work anymore for Polaris since 17.4.1; Vega has a different structure, i don't know what is possible.


----------



## wolf9466

Quote:


> Originally Posted by *hellm*
> 
> PowerPlay table on Vega RX is a few bytes longer than the FE version. So, everything should work fine with this new SoftPowerPlay registry binary.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Again, you will have to check [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\, if the card is installed under 0000. if not, edit the file or repair with DDU..
> 
> MorePowerVega56.zip 1k .zip file
> 
> 
> max powerlimit
> 
> 32 00 -> 0x32 -> +50%
> 
> 
> A5 00 -> 0xA5 -> 165W Socket PowerLimit
> A5 00 -> 0xA5 -> 165W Battery PowerLimit
> A5 00 -> 0xA5 -> 165W Small PowerLimit
> 2C 01 -> 0x12C -> 300A Tdc Limit


That's gotta be rough reading it like that!


----------



## hellm

regedit has a tiny hex-editor, if you want another view.









..i know you don't


----------



## Y0shi

Here's the RX Vega 64 Liquid BIOS: https://www.techpowerup.com/vgabios/194226/194226


----------



## deeper-blue

Quote:


> Originally Posted by *Y0shi*
> 
> Here's the RX Vega 64 Liquid BIOS: https://www.techpowerup.com/vgabios/194226/194226


This is only a part of the BIOS. 59kB is to small. Did you use gpu-z? I think gpu-z still can't extract the complete image.


----------



## Y0shi

It's not mine, I just posted the link. ;-) I "just" own a Vega FE.


----------



## buildzoid

You need to use ATiFlash 2.7.7 to pull the BIOS from the card. The BIOS for VEGA is 256KB not 59KB


----------



## gupsterg

@buildzoid

+rep for RX VEGA 56 VBIOS. Seems like the lowered HBM voltage reduces HBM2 clocks, I do reckon they are using 1.3V/1.35V to achieve the clocks they need.

I had a member share RX VEGA Liquid VBIOS in the other VEGA thread using, AtiWinFlash v2.77 but it was not full VBIOS. Did you use command line to dump or GUI?

@subscribers

RX VEGA Liquid is 1750MHz, @WannaBeOCer shared VBIOS and results, posts start here.

PL in RX VEGA 64 Liquid is higher than VEGA FE AIR, but same as VEGA FE AIO. Temp limits have been lowered in Liquid/AIO vs AIR.



Spoiler: VEGA FE AIR PowerTune



Code:



Code:


typedef struct _ATOM_Vega10_PowerTune_Table_V2
{
07      UCHAR  ucRevId;
DC 00 (220W)    USHORT usSocketPowerLimit;
DC 00 (220W)    USHORT usBatteryPowerLimit;
DC 00 (220W)    USHORT usSmallPowerLimit;
2C 01 (300A)    USHORT usTdcLimit;
00 00           USHORT usEdcLimit;
59 00 (89°C)    USHORT usSoftwareShutdownTemp;
69 00 (105°C)   USHORT usTemperatureLimitHotSpot;
49 00 (73°C)    USHORT usTemperatureLimitLiquid1;
49 00 (73°C)    USHORT usTemperatureLimitLiquid2;
5F 00 (95°C)    USHORT usTemperatureLimitHBM;
73 00 (115°C)   USHORT usTemperatureLimitVrSoc;
73 00 (115°C)   USHORT usTemperatureLimitVrMem;
64 00 (100°C)   USHORT usTemperatureLimitPlx;
40 00 (64O??)   USHORT usLoadLineResistance;
90      UCHAR ucLiquid1_I2C_address;
92      UCHAR ucLiquid2_I2C_address;
97      UCHAR ucLiquid_I2C_Line;
60      UCHAR ucVr_I2C_address;
96      UCHAR ucVr_I2C_Line;
00      UCHAR ucPlx_I2C_address;
90      UCHAR ucPlx_I2C_Line;
55 00 (85°C)    USHORT usTemperatureLimitTedge;
} ATOM_Vega10_PowerTune_Table_V2;







Spoiler: RX VEGA Liquid



Code:



Code:


typedef struct _ATOM_Vega10_PowerTune_Table_V2
{
07      UCHAR  ucRevId;
08 01 (264W)    USHORT usSocketPowerLimit;
08 01 (264W)    USHORT usBatteryPowerLimit;
08 01 (264W)    USHORT usSmallPowerLimit;
2C 01 (300A)    USHORT usTdcLimit;
00 00           USHORT usEdcLimit;
4A 00 (74°C)    USHORT usSoftwareShutdownTemp;
69 00 (105°C)   USHORT usTemperatureLimitHotSpot;
4A 00 (74°C)    USHORT usTemperatureLimitLiquid1;
4A 00 (74°C)    USHORT usTemperatureLimitLiquid2;
5F 00 (95°C)    USHORT usTemperatureLimitHBM;
73 00 (115°C)   USHORT usTemperatureLimitVrSoc;
73 00 (115°C)   USHORT usTemperatureLimitVrMem;
64 00 (100°C)   USHORT usTemperatureLimitPlx;
40 00 (64O??)   USHORT usLoadLineResistance;
90      UCHAR ucLiquid1_I2C_address;
92      UCHAR ucLiquid2_I2C_address;
97      UCHAR ucLiquid_I2C_Line;
60      UCHAR ucVr_I2C_address;
96      UCHAR ucVr_I2C_Line;
00      UCHAR ucPlx_I2C_address;
90      UCHAR ucPlx_I2C_Line;
46 00 (70°C)    USHORT usTemperatureLimitTedge;
} ATOM_Vega10_PowerTune_Table_V2;


----------



## buildzoid

I used the command line. Gave me a 256KB BIOS that worked just fine when I flashed it after checking to see what happens with a modded ROM.

VEGA 56 runs 1.3V HBM. This was checked with a DMM. It seems to cost about 70-120MHz compared to the 1.35V cards.

VEGA FE is 1.35V checked with DMM. HBM VRM maxes out at 20W under Timespy even clocked to 1050MHz

I tested power limit up to 510W on my FE using the modded registry. I think the 300A current limit kicks in after 360W VRM output power. 510W is also a thermal nightmare. The cards hate going over I think 60C as the card crashes if I run 1700 1.25V on 510W(saw a 480W peak power draw on 12V) but runs fine with sub 400W power limits.

The power limits in the BIOS are VRM output power. VRM is tuned for about 90% efficiency at stock. The 220W pulls around 245W through the 8 pins. 255W pulls around 285W.

I think the stock current limit on the cards is low. If you have good VRM cooling I'd say 350 or even 400A current limit is safe. This might be helpful when going for 1700+ on more than 1.23V.

The card does scale with voltage. I haven't noticed any negative performance scaling with voltage yet though 1.25V is giving me some testing issues. Also these things are even more temperature sensitive than Polaris and getting a good cooler mount is a pain because the die + HBM are massive and really don't make good contact with curved heatsink base.

BTW is it possible to extend the frequency ranges somehow? The latest RX VEGA driver for the public only goes to 1980 core and I want to run the card on LN2 soon and I'm 99% sure it can go past 2G on cold.


----------



## gupsterg

+rep for info







.

In OP I will add info to do command line dumps







.

Must be a driver/Wattman limitation







. I lack skills to check or do anything, perhaps @asder00 or another can look into this.

OverDrive limits in VBIOS are GPU: 2400MHz and HBM: 1500MHz from last time I checked (info in OP).


----------



## buildzoid

Quote:


> Originally Posted by *gupsterg*
> 
> +rep for info
> 
> 
> 
> 
> 
> 
> 
> .
> 
> In OP I will add info to do command line dumps
> 
> 
> 
> 
> 
> 
> 
> .
> 
> Must be a driver/Wattman limitation
> 
> 
> 
> 
> 
> 
> 
> . I lack skills to check or do anything, perhaps @asder00 or another can look into this.
> 
> OverDrive limits in VBIOS are GPU: 2400MHz and HBM: 1500MHz from last time I checked (info in OP).


On the Frontier Edition driver I could set clock as high as 2080MHz in Afterburner however there is a glitch with the card so basically any clock above 1990MHz will "run" even on air just at lower than stock performance. The RX driver basically removes the glitch by limiting me to 1980MHz in Afterburner so I guess we just gotta wait for AMD to patch this. HBM is limited to 1230MHz on both FE and RX driver.

I won't touch Wattman with a 10 foot pole no matter how much AMD insists that it doesn't suck anymore.

I guess I'll check if Wattool can set 2G on RX driver but I kinda doubt it.


----------



## hellm

and +rep for the info from me









gupsterg is right, still 2400MHz ulMaxODEngineClock; driver/wattman related..
if that cap didn't applied to FE as well, AMD did some other stuff..

I'm sure it would be totally annoying, but if you try to set a higher frequency in the SoftPowerPlay:

Code:



Code:


typedef struct _ATOM_Vega10_GFXCLK_Dependency_Record {
00 18 6D 02 (1590MHz)   ULONG  ulClk;                                               /* Clock Frequency */
07      UCHAR  ucVddInd;                                            /* SOC_VDD index */
00 00   USHORT usCKSVOffsetandDisable;                              /* Bits 0~30: Voltage offset for CKS, Bit 31: Disable/enable for the GFXCLK level. */
00 00   USHORT usAVFSOffset;                                        /* AVFS Voltage offset */
} ATOM_Vega10_GFXCLK_Dependency_Record;



it should work.. OR..maybe, it is some % related to the last P-State clockrate; so maybe just raising it a bit also changes the max oc clock?

and thanx for making me famous







..still a big fan of your channel


----------



## skullbringer

Could not find a vega 64 air bios yet, so here you go: https://drive.google.com/open?id=0B8buX4V66v94YTlUR0htdV9yQjA

md5: 479728ec13d7598f70a3226331f4cf32

Edit: to clarify, this is from a Sapphire RX Vega 64 with switch position 1 (near pcie bracket)


----------



## hellm

already got one from the Vega owners thread, but thx anyway









Again, you will have to check [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\, if the card is installed under 0000. if not, edit the file or repair with DDU..

MorePowerVega64.zip 1k .zip file


max powerlimit

32 00 -> 0x32 -> +50%


DC 00 -> 0xDC -> 220W Socket PowerLimit
DC 00 -> 0xDC -> 220W Battery PowerLimit
DC 00 -> 0xDC -> 220W Small PowerLimit
2C 01 -> 0x12C -> 300A Tdc Limit


----------



## gupsterg

Quote:


> Originally Posted by *skullbringer*
> 
> Could not find a vega 64 air bios yet, so here you go: https://drive.google.com/open?id=0B8buX4V66v94YTlUR0htdV9yQjA
> 
> md5: 479728ec13d7598f70a3226331f4cf32


Thx, it's identical to switch position 1 as Sicness posted here.

Switch towards display output is higher PL, 220W. Towards PCi-E plugs is 200W.


----------



## deeper-blue

Quote:


> Originally Posted by *gupsterg*
> 
> Thx, it's identical to switch position 1 as Sicness posted here.
> 
> Switch towards display output is higher PL, 220W. Towards PCi-E plugs is 200W.


Are dumps from both switch position already posted? I want to take a look at the signature/hash/checksum and if only the PL is changed that would be a nice minimal change in the rom that allows to see where/how the vbios check might work.

EDIT: ok, just saw that both roms are behind the link. Awesome


----------



## gupsterg

Added links to OP as well







.

Seems like boost clocks differ from what is in reviews, quickly marked an Anandtech review image.



Making a table with all and including VEGA FE versions, will add to OP when done. Gonna add PL info as well.

VEGA FE AIR is 200/220W.

VEGA AIO is 220W/264W.

RX VEGA 56 AIR 165W (@buildzoid any chance of other switch position of VEGA 56)

RX VEGA 64 AIR is 200/220W.

RX VEGA 64 AIO is 220W/264W.

All have TDC as 300A.


----------



## skullbringer

Quote:


> Originally Posted by *hellm*
> 
> 
> 
> Spoiler: Warning: Spoiler!
> 
> 
> 
> already got one from the Vega owners thread, but thx anyway
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Again, you will have to check [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\, if the card is installed under 0000. if not, edit the file or repair with DDU..
> 
> MorePowerVega64.zip 1k .zip file
> 
> 
> max powerlimit
> 
> 32 00 -> 0x32 -> +50%
> 
> 
> DC 00 -> 0xDC -> 220W Socket PowerLimit
> DC 00 -> 0xDC -> 220W Battery PowerLimit
> DC 00 -> 0xDC -> 220W Small PowerLimit
> 2C 01 -> 0x12C -> 300A Tdc Limit


+rep, cheers man!

So I modded the table to allow for +100% power with 295W socket power limit and 400W total limit. Started 3DMark to check possible performance increases ... aaand OCP triggered on the Corsair HX850i. Holy crap!









Going to try my trusty old RM1000 and separate pcie power leads.


----------



## buildzoid

Quote:


> Originally Posted by *gupsterg*
> 
> RX VEGA 56 AIR 165W (@buildzoid any chance of other switch position of VEGA 56)


I think we might have wiped out one of the BIOSs on Steve's card.

I had no idea they could differ.


----------



## hellm

The Vega 64 AIO BIOS has a different PowerPlay table..!? i didn't thought of that.. SoftPowerPlay coming up soon..

it is a few bytes shorter..??

anyway:

MorePowerVega64AIO.zip 1k .zip file


----------



## rancor

Quote:


> Originally Posted by *gupsterg*
> 
> Added links to OP as well
> 
> 
> 
> 
> 
> 
> 
> .
> 
> Seems like boost clocks differ from what is in reviews, quickly marked an Anandtech review image.
> 
> 
> 
> Making a table with all and including VEGA FE versions, will add to OP when done. Gonna add PL info as well.
> 
> VEGA FE AIR is 200/220W.
> 
> VEGA AIO is 220W/264W.
> 
> RX VEGA 56 AIR 165W (@buildzoid any chance of other switch position of VEGA 56)
> 
> RX VEGA 64 AIR is 200/220W.
> 
> RX VEGA 64 AIO is 220W/264W.
> 
> All have TDC as 300A.


I think AMD said would be marketing the boost clock differently for the RX series vs the FE. Instead of stating the Max boost clock it would be the average boost the card should see sort of like pascal. Programs are reporting the max boost clock not the current clock speed of the chip.


----------



## gupsterg

@deeper-blue

The other VEGA roms do have other changes which would affect Signature, etc. These 290 Tri-X ROMs have the least changes across whole of legacy section to affect signature, etc.

290OC_TRI-X.zip 142k .zip file


@buildzoid

Ahh, cheers for swift reply







. We'll probably snag set from an owner.

@rancor

No idea







. The member with RX VEGA Liquid is getting sustained clocks of 1750MHz.

@hellm

Will add your reg mods in OP ASAP







.


----------



## Vento041

With the reg trick you can mod everything that is described inside here

Just keep counting bytes, the first 4 are the atom header and after that you have only UCHAR (1 byte), USHORT (2 byte), ULONG (4 bytes). I could make a full lookup guide for each value but it's quite long xD. Remember the Endianness (the byte is written from left to right but the order of the bytes is reversed)!!!!!!

Btw with the reg trick, the "second line" of values contains some nice variables:

Code:



Code:


"PP_PhmSoftPowerPlayTable"=hex:B6,02,08,01,00,5C,00,E1,06,00,00,EE,2B,00,00,1B,\
  00,48,00,00,00,80,A9,03,00,F0,49,02,00,32,00,08,00,00,00,00,00,00,00,00,00,\
  00,00,00...   ^- from here ............. to here -^

80,A9,03,00,F0,49,02,00,32,00,08,00

80,A9,03,00 = ulMaxODEngineClock
F0,49,02,00 = ulMaxODMemoryClock
32,00 = usPowerControlLimit
08,00 = usUlvVoltageOffset


----------



## Blameless

Quote:


> Originally Posted by *Vento041*
> 
> With the reg trick you can mod everything that is described inside here
> 
> Just keep counting bytes, the first 4 are the atom header and after that you have only UCHAR (1 byte), USHORT (2 byte), ULONG (4 bytes). I could make a full lookup guide for each value but it's quite long xD. Remember the Endianness (the byte is written from left to right but the order of the bytes is reversed)!!!!!!
> 
> Btw with the reg trick, the "second line" of values contains some nice variables:
> 
> Code:
> 
> 
> 
> Code:
> 
> 
> "PP_PhmSoftPowerPlayTable"=hex:B6,02,08,01,00,5C,00,E1,06,00,00,EE,2B,00,00,1B,\
> 00,48,00,00,00,80,A9,03,00,F0,49,02,00,32,00,08,00,00,00,00,00,00,00,00,00,\
> 00,00,00...   ^- from here ............. to here -^
> 
> 80,A9,03,00,F0,49,02,00,32,00,08,00
> 
> 80,A9,03,00 = ulMaxODEngineClock
> F0,49,02,00 = ulMaxODMemoryClock
> 32,00 = usPowerControlLimit
> 08,00 = usUlvVoltageOffset


Well this is very promising. Thanks for the info. Looking at the variables available it should even be possible to manipulate the memory voltage via registry.

A full lookup guide to simplify the process would certainly be appreciated, if you, or anyone else were willing to write one up.


----------



## hellm

according to buildzoid, ulMaxODEngineClock doesn't apply (read^^ above); usUlvVoltageOffset did nothing on Polaris; so someone has to test all the stuff..
Quote:


> Originally Posted by *Vento041*
> 
> With the reg trick you can mod everything that is described inside here
> 
> Just keep counting bytes, [..]


Quote:


> Originally Posted by *wolf9466*
> 
> That's gotta be rough reading it like that!


it is.. regedit has a tiny hex-editor, where the bytes at least have a offset number. or, if you know how the bytes look, search is an easy option.

A full lookup guide is what gupsterg did in OP; rest is up to Vega owners; happy to help, though.


----------



## hellm

Quote:


> Originally Posted by *The Stilt*
> 
> What about the I2C?
> For the time being, neither I2C or PMBUS practically exist on this card. The comms to the controller are terminated as the card boots, and there is no way to restore them. Unless we're able to modify the bioses or receive a bios which doesn't do that. Technically it is possible to perform a HW modification to the card, which would prevent the bios disabling the comms. Or alternatively the MTP of the controller could be reprogrammed externally, so that the bios could not communicate (and block the further communications) to begin with. The question is, is it worth doing? In my opinion, it's not.


Quote:


> Originally Posted by *The Stilt*
> 
> This should do the trick:
> 
> That's a complete VoltageObjectInfo.dtb which is modified to allow the coms as usual.
> 
> Code:
> 
> 
> 
> Code:
> 
> 
> 32010401010396000806600000000000270028003F00630040009E0041006B00420038006B00010061002000760089007700C6002800FF004900D000370014009400B90092000A009300C3009500220043009E004400590045002E00460038006C0001006200A000780060007900F300290040004A00DE0038001E004800FC0047000700E800030051006700E80007009900FC00E8000400FF0001070C002E0001FF00FF0000040322001506A20000000000D3005C00D4008200D5008200D6008200D7008200FF0002070C000E0000FF002000000A0322001506A60000000000D3005C00D4004C00D5004C00D6004C00D7004C00FF0008003C000008000007000000000000000000010000000100020000000200030000000300040000000400050000000500060000000600070000000700


i believe these were the registers that fried i2c?
71 00 00 00
72 00 00 00
24 00 80 00

did not find them in the 56 voi table:

Code:



Code:


46 01 04 01 01 03 AA 00 08 06 60 00 00 00 00 00 27 00 28 00 3F 00 63 00 40 00 9E 00 41 00 6B 00 42 00 38 00 6B 00 01 00 61 00 20 00 76 00 89 00 77 00 C6 00 28 00 FF 00 49 00 D0 00 37 00 14 00 94 00 53 00 92 00 0A 00 93 00 C3 00 95 00 22 00 43 00 9E 00 44 00 59 00 45 00 2E 00 46 00 38 00 6C 00 01 00 62 00 A0 00 78 00 60 00 79 00 F3 00 29 00 40 00 4A 00 DE 00 38 00 1E 00 48 00 FC 00 47 00 07 00 E8 00 03 00 51 00 67 00 E8 00 07 00 99 00 FC 00 4B 00 40 00 4C 00 44 00 5E 00 44 00 5C 00 40 00 5D 00 14 00 66 00 CC 00 FF 00 01 07 0C 00 2E 00 01 FF 00 FF 00 00 04 03 22 00 15 06 A2 00 00 00 00 00 D3 00 5C 00 D4 00 82 00 D5 00 82 00 D6 00 82 00 D7 00 82 00 FF 00 02 07 0C 00 2E 00 01 FF 00 20 00 00 0A 03 22 00 15 06 A6 00 00 00 00 00 D3 00 5C 00 D4 00 4C 00 D5 00 4C 00 D6 00 4C 00 D7 00 4C 00 FF 00 08 00 3C 00 00 08 00 00 07 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 02 00 00 00 02 00 03 00 00 00 03 00 04 00 00 00 04 00 05 00 00 00 05 00 06 00 00 00 06 00 07 00 00 00 07 00

so, any hope for i2c?


----------



## wolf9466

Quote:


> Originally Posted by *hellm*
> 
> according to buildzoid, ulMaxODEngineClock doesn't apply (read^^ above); usUlvVoltageOffset did nothing on Polaris; so someone has to test all the stuff..
> Quote:
> 
> 
> 
> Originally Posted by *Vento041*
> 
> With the reg trick you can mod everything that is described inside here
> 
> Just keep counting bytes, [..]
> 
> 
> 
> Quote:
> 
> 
> 
> Originally Posted by *wolf9466*
> 
> That's gotta be rough reading it like that!
> 
> 
> 
> 
> 
> 
> 
> 
> Click to expand...
> 
> it is.. regedit has a tiny hex-editor, where the bytes at least have a offset number. or, if you know how the bytes look, search is an easy option.
> 
> A full lookup guide is what gupsterg did in OP; rest is up to Vega owners; happy to help, though.
Click to expand...

He's right (buildzoid) - I modified those in the Linux kernel to no effect - finally found something (that is not just in the driver, but the VBIOS, too) that it will respect as a max/min VID.


----------



## wolf9466

Quote:


> Originally Posted by *wolf9466*
> 
> Quote:
> 
> 
> 
> Originally Posted by *hellm*
> 
> according to buildzoid, ulMaxODEngineClock doesn't apply (read^^ above); usUlvVoltageOffset did nothing on Polaris; so someone has to test all the stuff..
> Quote:
> 
> 
> 
> Originally Posted by *Vento041*
> 
> With the reg trick you can mod everything that is described inside here
> 
> Just keep counting bytes, [..]
> 
> 
> 
> Quote:
> 
> 
> 
> Originally Posted by *wolf9466*
> 
> That's gotta be rough reading it like that!
> 
> 
> 
> 
> 
> 
> 
> 
> Click to expand...
> 
> it is.. regedit has a tiny hex-editor, where the bytes at least have a offset number. or, if you know how the bytes look, search is an easy option.
> 
> A full lookup guide is what gupsterg did in OP; rest is up to Vega owners; happy to help, though.
> 
> Click to expand...
> 
> He's right (buildzoid) - I modified those in the Linux kernel to no effect - finally found something (that is not just in the driver, but the VBIOS, too) that it will respect as a max/min VID.
Click to expand...

This is from what I believe to be an early engineering sample:

Code:



Code:


ohgodatool -f D0501192.006 --show-max-core-clock --show-max-mem-clock --show-tdc --show-core --show-mem
OhGodATool - v1.3 (OGAC Confidential)

Max OverDrive core clock: 2200Mhz
Max OverDrive memory clock: 1500Mhz
Memory state 0:
        VDDC: 800mV
        VDDCI: 900mV
        MVDDC: 1350mV
        Memory clock: 167Mhz
Memory state 1:
        VDDC: 800mV
        VDDCI: 900mV
        MVDDC: 1350mV
        Memory clock: 500Mhz
Memory state 2:
        VDDC: 950mV
        VDDCI: 900mV
        MVDDC: 1350mV
        Memory clock: 800Mhz
Memory state 3:
        VDDC: 1000mV
        VDDCI: 900mV
        MVDDC: 1350mV
        Memory clock: 945Mhz

GFXClk state 0:
        VDDC: 800mV
        Clock: 852Mhz
        CKSVOffsetandDisable: 0x00008000
        AVFSOffset: 0
        ACGEnable: 0
GFXClk state 1:
        VDDC: 900mV
        Clock: 991Mhz
        CKSVOffsetandDisable: 0x00000000
        AVFSOffset: 0
        ACGEnable: 0
GFXClk state 2:
        VDDC: 950mV
        Clock: 1138Mhz
        CKSVOffsetandDisable: 0x00000000
        AVFSOffset: 0
        ACGEnable: 0
GFXClk state 3:
        VDDC: 1000mV
        Clock: 1269Mhz
        CKSVOffsetandDisable: 0x00000000
        AVFSOffset: 0
        ACGEnable: 0
GFXClk state 4:
        VDDC: 1050mV
        Clock: 1348Mhz
        CKSVOffsetandDisable: 0x00000000
        AVFSOffset: 0
        ACGEnable: 0
GFXClk state 5:
        VDDC: 1100mV
        Clock: 1399Mhz
        CKSVOffsetandDisable: 0x00000000
        AVFSOffset: 0
        ACGEnable: 0
GFXClk state 6:
        VDDC: 1150mV
        Clock: 1440Mhz
        CKSVOffsetandDisable: 0x00000000
        AVFSOffset: 0
        ACGEnable: 0
GFXClk state 7:
        VDDC: 1200mV
        Clock: 1500Mhz
        CKSVOffsetandDisable: 0x00000000
        AVFSOffset: 0
        ACGEnable: 0

TDC = 300A
[[email protected] ~/Dropbox/Programming/AMD/GPU/VBIOS/ROMs/Vega]$


----------



## skullbringer

Quote:


> Originally Posted by *jstefanop*
> 
> Here is the full 256kb stock bios.
> 
> https://ufile.io/hal0t


could you maybe reupload the fe air bios, please? the "free download period" seems to have expired.

Would like to try flash it on my 64 to test for performance improvements upon changing clock (non existent on stock bios)


----------



## gupsterg

Here you go, will add attachments in OP instead of links to post on next update.

VEGA_FE_AIR.zip 137k .zip file


Please report back if it works for you.


----------



## skullbringer

Quote:


> Originally Posted by *gupsterg*
> 
> Here you go, will add attachments in OP instead of links to post on next update.
> 
> VEGA_FE_AIR.zip 137k .zip file
> 
> 
> Please report back if it works for you.


I tried a few different vega bioses, vega 64 aio, some vega fe from techpowerup, now this vega fe, none of them work as in system is not able to post after flashing. I assume hardware and bios device id have to match.
So Vega 64 XT, Vega 64 XTX and Vega 64 XTX 16GB can only use their respective bioses. Still have to try Vega 56 bios, though at this point I have 0 hopes.

EDIT: Oh would you look at that, the 56 bios on a 64 actually posts! (56 is called Vega XL btw) How generous, AMD, we are allowed to downgrade our video cards, but not upgrade.


Spoiler: Warning: Spoiler!







They dont check if the hardware and bios device ids match, they check if the bios device id is lower or equal to hardware device id. So the whole "need to comply with Windows Secure Boot" justification for preventing bios flashing is complete BS!









The driver is still completely broken when it comes to overclocking. But at least I can now enter a value for memory voltage which was not possible on the 64 bios (probably a bug, AMD forgot to enter a fake monitoring value LUL). I can also apply this value and it is reported to be set, though it still runs at the stock 950mV for Vega 56 meaning the highest stable memory clock now is 960MHz, compared to the 1105MHz on 64 bios and volts.

Core clock and voltage can also be set and monitoring tools report it to be set, but as already tested on the 64 bios they do not acually apply as performance does not change.

People calling this behavior a "glitch" I can not agree with, since I have never seen my card actually change core clock, no matter what bios and what frequency offset, +1%, +2%, +5%, +10%, +22%, does not matter.

The launch driver 17.30 beta is flat out lying when it comes to core clocks, core voltage and memory voltage.

Will do some more performance testing on the 56 bios to find out if 8 compute units are actually disabled now...

EDIT: Did some more testing and as it turns out I can not be sure if compute units are disabled, since I can not test the "cards" clock for clock. This is what I have:
64 on 64 bios with stock clocks, maxed out power and fan: *7166*


Spoiler: Warning: Spoiler!







64 on 56 bios with 1590 MHz core clock (56 stock) and 945 MHz memory clock: *6892*


Spoiler: Warning: Spoiler!







64 on 56 bios with +2.5% = 1632 MHz core clock (not actually) and 945 MHz memory clock: *6889*


Spoiler: Warning: Spoiler!






(all on i7 4930k system)

So is the difference between the 56 and 64 bios now clock speed, compute unit count or both? I dont know.
At least it performs really consistently...


----------



## gupsterg

+rep for info







.

All the VBIOS on TechPowerUp last time I looked at lack UEFI/GOP module, only Legacy section (~64KB VBIOS size). Doubt they will pass security check as incomplete.

Your GPU-Z screenshots show 4096SP regardless of which VBIOS used. Last time I used a Fury ROM (which has relevant table to lock SP) it will not do so on Fury X. So I would believe the same would occur on VEGA 64 flashed with VEGA 56.

No idea why the scores differ when 64 flashed as 56 and clocked same as 64.

Subsystem ID is the same between VEGA FE AIR/AIO and RX VEGA 56/64 AIR and 64 AIO. Device ID on VEGA FE AIR/AIO is 1002 6863 , but VEGA 56/64 AIR and AIO is 1002 687F.

I think the reason VEGA FE AIR/AIO did not work is there may be a fused ASIC ID, so security feature knew wrong VBIOS for GPU.

RX VEGA 64 AIO is only Legacy section, we need @WannaBeOCer to redo a VBIOS dump. That may have been cause of VBIOS not working.


----------



## Newbie2009

Quote:


> Originally Posted by *skullbringer*
> 
> I tried a few different vega bioses, vega 64 aio, some vega fe from techpowerup, now this vega fe, none of them work as in system is not able to post after flashing. I assume hardware and bios device id have to match.
> So Vega 64 XT, Vega 64 XTX and Vega 64 XTX 16GB can only use their respective bioses. Still have to try Vega 56 bios, though at this point I have 0 hopes.
> 
> EDIT: Oh would you look at that, the 56 bios on a 64 actually posts! (56 is called Vega XL btw) How generous, AMD, we are allowed to downgrade our video cards, but not upgrade.
> 
> 
> Spoiler: Warning: Spoiler!
> 
> 
> 
> 
> 
> 
> 
> They dont check if the hardware and bios device ids match, they check if the bios device id is lower or equal to hardware device id. So the whole "need to comply with Windows Secure Boot" justification for preventing bios flashing is complete BS!
> 
> 
> 
> 
> 
> 
> 
> 
> 
> The driver is still completely broken when it comes to overclocking. But at least I can now enter a value for memory voltage which was not possible on the 64 bios (probably a bug, AMD forgot to enter a fake monitoring value LUL). I can also apply this value and it is reported to be set, though it still runs at the stock 950mV for Vega 56 meaning the highest stable memory clock now is 960MHz, compared to the 1105MHz on 64 bios and volts.
> 
> Core clock and voltage can also be set and monitoring tools report it to be set, but as already tested on the 64 bios they do not acually apply as performance does not change.
> 
> People calling this behavior a "glitch" I can not agree with, since I have never seen my card actually change core clock, no matter what bios and what frequency offset, +1%, +2%, +5%, +10%, +22%, does not matter.
> 
> The launch driver 17.30 beta is flat out lying when it comes to core clocks, core voltage and memory voltage.
> 
> Will do some more performance testing on the 56 bios to find out if 8 compute units are actually disabled now...
> 
> EDIT: Did some more testing and as it turns out I can not be sure if compute units are disabled, since I can not test the "cards" clock for clock. This is what I have:
> 64 on 64 bios with stock clocks, maxed out power and fan: *7166*
> 
> 
> Spoiler: Warning: Spoiler!
> 
> 
> 
> 
> 
> 
> 
> 64 on 56 bios with 1590 MHz core clock (56 stock) and 945 MHz memory clock: *6892*
> 
> 
> Spoiler: Warning: Spoiler!
> 
> 
> 
> 
> 
> 
> 
> 64 on 56 bios with +2.5% = 1632 MHz core clock (not actually) and 945 MHz memory clock: *6889*
> 
> 
> Spoiler: Warning: Spoiler!
> 
> 
> 
> 
> 
> 
> (all on i7 4930k system)
> 
> So is the difference between the 56 and 64 bios now clock speed, compute unit count or both? I dont know.
> At least it performs really consistently...


AWESOME, WE CAN ALL DOWNGRADE


----------



## DMatthewStewart

@wolf9466 Same w0lf from btctalk?


----------



## wolf9466

Quote:


> Originally Posted by *DMatthewStewart*
> 
> @wolf9466 Same w0lf from btctalk?


I am. Why?


----------



## DMatthewStewart

Quote:


> Originally Posted by *Newbie2009*
> 
> AWESOME, WE CAN ALL DOWNGRADE


SICK!!

@skullbringer Question: Just curious, what was the point of even forcing us to patch and sign drivers after bios mod? I could be wrong but when I had a buggy bios and got a mismatch device id on flashing, I just went back and copied the device and subsystem id from the stock bios (on rx 4 series) and it flashed and never needed a patching. It runs and is identified correctly. My second question would be: How bad was that of me to do?


----------



## Newbie2009

Quote:


> Originally Posted by *rancor*
> 
> Does anyone know if it was possible to flash the water cooling bios on an air cooled card?


NOPE ,U SUCKER


----------



## DMatthewStewart

Quote:


> Originally Posted by *wolf9466*
> 
> I am. Why?


Just curious. Ive been on there since the beginning and remember the only person with a similar username creating those great things we all needed and used.


----------



## rancor

Quote:


> Originally Posted by *Newbie2009*
> 
> NOPE ,U SUCKER


Are you drunk right now or just super mad at amd? You know the registry soft mods do work for now?


----------



## Newbie2009

Quote:


> Originally Posted by *rancor*
> 
> Are you drunk right now or just super mad at amd? You know the registry soft mods do work for now?


I cannot flash my air 64 to a watercooled bios, period. I have already ordered a block. So yeah I'm pissed. and drunk


----------



## rancor

Quote:


> Originally Posted by *Newbie2009*
> 
> I cannot flash my air 64 to a watercooled bios, period. I have already ordered a block. So yeah I'm pissed. and drunk


Well as long as the softmod is still allowed in newer drivers you can just modify the power limits to match the water cooled bios. Clocks won't be by default but not the end of the world. It's a stupid situation but it shouldn't hold overclocking back.


----------



## gupsterg

You should be able to edit the SoftPowerPlay to have the clocks you want as well. I have not looked at Hellm's files yet as been snowed with things of my own. I will add section in OP over weekend with his files and some guidance.


----------



## Newbie2009

Quote:


> Originally Posted by *rancor*
> 
> Well as long as the softmod is still allowed in newer drivers you can just modify the power limits to match the water cooled bios. Clocks won't be by default but not the end of the world. It's a stupid situation but it shouldn't hold overclocking back.


The fact AMD allows 64 users to flash to 56 shows the respect amd has for its customers. Literally two fingers.


----------



## wolf9466

Timings for the 1000Mhz+ range in my Vega FE (Air):

0x11 - 0x20 - 0x14 - 0x0E - 0x42

(CAS Latency - tRCDRD - tRCDWR - tRP - tRAS)


----------



## gupsterg

Quote:


> Originally Posted by *Newbie2009*
> 
> The fact AMD allows 64 users to flash to 56 shows the respect amd has for its customers. Literally two fingers.


The RX VEGA 64 Liquid VBIOS that @WannaBeOCer has provided is incomplete. So at present we really can't say it is verified failure to use.
Quote:


> Originally Posted by *wolf9466*
> 
> Timings for the 1000Mhz+ range in my Vega FE (Air):
> 
> 0x11 - 0x20 - 0x14 - 0x0E - 0x42
> 
> (CAS Latency - tRCDRD - tRCDWR - tRP - tRAS)


+rep







.


----------



## hellm

Quote:


> Originally Posted by *gupsterg*
> 
> You should be able to edit the SoftPowerPlay to have the clocks you want as well. I have not looked at Helms files yet as been snowed with things of my own. I will add section in OP over weekend with his files and some guidance.


who the frak is Helm?

btw.. i had to learn some more about the UEFI Header.. 1.63.xx.xx is now working, but i still have to fix 2.00.xx.xx; and then it's a *if* lordkag's hack can be applied to that version..


----------



## gupsterg

LOL sorry my bad







, too many inter thread activity







. Corrected now and updated grammar mistake







.

Yeah 1.63 before not worked for me, not tried 2.00. You updated your post or reattaching 1.63.


----------



## hellm

you are forgiven









..my thread post#3.. i shouldn't post it here..

i checked it with atiflash -ai, all fine; have it on my 480 right now; but my old ivy board didn't find my ssd when i was trying to boot uefi only. so i can't say 1000% sure.. would be great if you could test it as well.

i will have a look at 2.00.xx.xx tomorrow.


----------



## gupsterg

I will retest for sure tomorrow







and report back







.

If CSM: Off Secure Boot: Off within bios of mobo and you had display output at post then it has passed 'pure UEFI mode' check. SSD not being detected shouldn't be effect from using modded UEFI/GOP module in VBIOS.


----------



## hellm

cool. then it is working.









remember to change the device id at offset 22-23.

here is version 2.0.0.. lordkag's bytes are where they belong; no idea if the magic still applies..

AMDGOP2.0.0.0.0.MA_signed_8599CEFD_compr.efirom.zip 42k .zip file

..or if it works with other cards as well.

@buildzoid
i just read steve has some problems going over 400W. i think i might have an idea..

in the PowerPlay Header we find this:

Code:



Code:


48 00 00 00             ULONG  ulPlatformCaps;                     /* See ATOM_Vega10_CAPS_* */

Code:



Code:


#define ATOM_VEGA10_PP_PLATFORM_CAP_POWERPLAY                   0x1
#define ATOM_VEGA10_PP_PLATFORM_CAP_SBIOSPOWERSOURCE            0x2
#define ATOM_VEGA10_PP_PLATFORM_CAP_HARDWAREDC                  0x4
#define ATOM_VEGA10_PP_PLATFORM_CAP_BACO                        0x8

Code:



Code:


#define ATOM_PP_PLATFORM_CAP_GEMINIPRIMARY 64
#define PP_PLATFORM_CAPS_GEMINI_PRIMARY BIT(6)

7654 3210 (Bytes numbering)
0100 1000 -> 0x48

so.. we change CAP_BACO to CAP_POWERPLAY
it might work if we set ulPlatformCaps to 0x41:
41 00 00 00

or i am totally wrong..?
maybe 0x49? 0x40? 0x44? 0x4C?
or it does nothing? might be worth a shot..


----------



## gupsterg

BACO is acronym for “Bus Alive Chip Off.” A low-power inactive graphics-device state where the bus interface is powered on, and the PCI configuration space is exposed to the operating system.


----------



## hellm

kk, thx









then it is all bull.. and i think the caps are capabilities? sorry, was tired, i can't think of any data table or whatsoever that could cut powerdraw to max 400W; and why? since there is PowerTune table in PowerPlay?


----------



## Vento041

Quote:


> Originally Posted by *hellm*
> 
> kk, thx
> 
> 
> 
> 
> 
> 
> 
> 
> 
> then it is all bull.. and i think the caps are capabilities? sorry, was tired, i can't think of any data table or whatsoever that could cut powerdraw to max 400W; and why? since there is PowerTune table in PowerPlay?


Which Voltage Regulator does VEGA card have (if they share the same, probably)?


----------



## hellm

U mean the IR35217? Maybe it has some default max 400W? i2c on the RX cards should work..


----------



## Vento041

Quote:


> Originally Posted by *hellm*
> 
> U mean the IR35217? Maybe it has some default max 400W? i2c on the RX cards should work..


Warning: All that I say in this post is pure speculation, and could be bulls****

There could be a limit to the output voltage, but this can be easily verified by pocking directly through the card (and maybe bulzoid already did it right?). There could also be something else, right now we do not know what every register inside the controller does. I know this is a blind bet, but if something is limiting the power could be voltage controller.

There is also the _ATOM_Vega10_Hard_Limit_Record table (sub table of vega powerplay table) that could limit things (i think):

Code:



Code:


typedef struct _ATOM_Vega10_Hard_Limit_Record {
    ULONG  ulSOCCLKLimit;
    ULONG  ulGFXCLKLimit;
    ULONG  ulMCLKLimit;
    USHORT usVddcLimit;
    USHORT usVddciLimit;
    USHORT usVddMemLimit;
} ATOM_Vega10_Hard_Limit_Record;

typedef struct _ATOM_Vega10_Hard_Limit_Table
{
    UCHAR ucRevId;
    UCHAR ucNumEntries;
    ATOM_Vega10_Hard_Limit_Record entries[1];
} ATOM_Vega10_Hard_Limit_Table;


----------



## hellm

Quote:


> Originally Posted by *Vento041*
> 
> Warning: All that I say in this post is pure speculation, and could be bulls****
> 
> There could be a limit to the output voltage, but this can be easily verified by pocking directly through the card (and maybe bulzoid already did it right?). There could also be something else, right now we do not know what every register inside the controller does. I know this is a blind bet, but if something is limiting the power could be voltage controller.
> 
> There is also the _ATOM_Vega10_Hard_Limit_Record table (sub table of vega powerplay table) that could limit things (i think):
> 
> Code:
> 
> 
> 
> Code:
> 
> 
> typedef struct _ATOM_Vega10_Hard_Limit_Record {
> ULONG  ulSOCCLKLimit;
> ULONG  ulGFXCLKLimit;
> ULONG  ulMCLKLimit;
> USHORT usVddcLimit;
> USHORT usVddciLimit;
> USHORT usVddMemLimit;
> } ATOM_Vega10_Hard_Limit_Record;
> 
> typedef struct _ATOM_Vega10_Hard_Limit_Table
> {
> UCHAR ucRevId;
> UCHAR ucNumEntries;
> ATOM_Vega10_Hard_Limit_Record entries[1];
> } ATOM_Vega10_Hard_Limit_Table;


We would have to add those tables, in the FE and 56 BIOS the pointer usHardLimitTableOffset is "00 00". Doesn't exist. Was the same with Polaris, btw.

if AMD managed to cap the PowerLimit somehow in the BIOS other than with the PowerPlay table, i will definitely buy a geforce..
but i don't think they did. wouldn't make any sense, why the need for PowerTune table in PowerPlay? no, i think best guess is the controller.

that is all fishing in troubled water..

or, maybe, it is the current limit.. just maybe; we would know if anything changes with higher voltage or raising the current a little more.
on the other hand, i did'nt have trouble with high +% and low TDC with Polaris, but again..just guessing here..


----------



## gupsterg

@hellm

Cap could mean Cap as in limit or be short for Capabilities, I have no idea.

The restriction could be a driver thing. For example I had helped a member with Nano on WC block, we increased PL higher than what I use on my Fury X and in 3DM FS he would not have nice solid GPU MHz line as I did, he also had i7 4690K, where as I had i5 4690K, so 'platform' was not issue or temps, etc.

@Vento041

As Hellm said, All RX VEGA and VEGA FE VBIOS viewed so far do not have table HardLimitTable.


----------



## ba1b0a

I'd like to add the full Vega FE AIO bios to this post. If possible I'd like to see a powerplay table made for it so I can start tweaking.

https://drive.google.com/open?id=0B0hQssF59UZWaHFzakptX0ZVb3c


----------



## hellm

Quote:


> Originally Posted by *gupsterg*
> 
> @hellm
> 
> Cap could mean Cap as in limit or be short for Capabilities, I have no idea.
> 
> The restriction could be a driver thing. For example I had helped a member with Nano on WC block, we increased PL higher than what I use on my Fury X and in 3DM FS he would not have nice solid GPU MHz line as I did, he also had i7 4690K, where as I had i5 4690K, so 'platform' was not issue or temps, etc.


that would make sense.








Quote:


> Originally Posted by *ba1b0a*
> 
> I'd like to add the full Vega FE AIO bios to this post. If possible I'd like to see a powerplay table made for it so I can start tweaking.


sure..
..wonder how many tables are out there








wait for it.. 5min


----------



## ba1b0a

Thanks, no rush. I'll switch the bios back to primary and pull it using atiflash.


----------



## hellm

i misread, it was a 64 AIO BIOS, u clearly wrote FE AIO..

but still, interesting to the the difference.

here u go:

MorePowerVegaFEAIO.zip 1k .zip file


----------



## IvantheDugtrio

Quote:


> Originally Posted by *hellm*
> 
> i misread, it was a 64 AIO BIOS, u clearly wrote FE AIO..
> 
> but still, interesting to the the difference.
> 
> here u go:
> 
> MorePowerVegaFEAIO.zip 1k .zip file


Would this work in my Vega FE Air card?

If anyone needs it I can upload my stock bios.


----------



## hellm

in OP is a complete guide to what the bytes mean. If there is some difference, it might be for a reason, it might be adaptable, it might not because of other tables, i don't know.

if it is because of clockrates or power limits, you can mod that anyway.


----------



## IvantheDugtrio

Quote:


> Originally Posted by *hellm*
> 
> in OP is a complete guide to what the bytes mean. If there is some difference, it might be for a reason, it might be adaptable, it might not because of other tables, i don't know.
> 
> if it is because of clockrates or power limits, you can mod that anyway.


Since I'm still on the stock cooler I guess I'll keep the power limits at stock until I get a waterblock.

Also it looks like the latest beta FE driver removed the switch between gaming mode and pro mode. It looks like tools like Afterburner can't adjust/monitor core voltage with this driver either.


----------



## hellm

17.7.2? yeah, that is a common issue; everyone is complaining about this driver.. AMD changed some stuff..

oh, beta FE? might already have those changes implemented..


----------



## IvantheDugtrio

Quote:


> Originally Posted by *hellm*
> 
> 17.7.2? yeah, that is a common issue; everyone is complaining about this driver.. AMD changed some stuff..
> 
> oh, beta FE? might already have those changes implemented..


It's 17.8.1 beta 6 (17.30.1051-b6-aug11). I'll probably switch back to the launch driver and bear with the Wattman issues.


----------



## hellm

try using the latest Afterburner beta or RTSS 7.0 beta..

or just edit clockrates with SoftPowerPlay


----------



## ba1b0a

I've highlighted changes made to the table that hellm made earlier. Even though I use a hex value of C8 (200% power limit) wattman won't go higher than 100%. Are there other variables that need to be addressed?


----------



## ba1b0a

Figured out the issue, have to raise the tdp limit.


----------



## hellm

@buildzoid
regarding the voltages, i think they are moddable.

There are no pointers found in VddcLookup table or VddmemLookup table; Fiji and Polaris had pointers, 0xFF02 to 0xFF08; and since 17.4.1 it isn't possible anymore to change these. However, Vega has actual voltages inside these subtables. So, there is a pretty good chance this works.

basically, this work is already done by @gupsterg in OP

VDDC lookup table:

Code:



Code:


01 08 20 03 84 03 B6 03 E8 03 1A 04 4C 04 7E 04 B0 04

01 Revision Id
08 Number of entries
20 03 -> 0x320 -> 800mV (P0)
84 03 -> 0x384 -> 900mV (P1)
B6 03 -> 0x3B6 -> 950mV (P2)
E8 03 -> 0x3E8 -> 1000mV (P3)
1A 04 -> 0x4A1 -> 1050mV (P4)
4C 04 -> 0x44C -> 1100mV (P5)
7E 04 -> 0x47E -> 1150mV (P6)
B0 04 -> 0x4B0 -> 1200mV (P7)

VDDMem lookup table

Code:



Code:


01 01 46 05

01 Revision Id
01 Number of entries
46 05 -> 0x546 -> 1350mV

it is the same for the FE and the RX 56/64, also found in the same place: (here FE version)


*update:*
i had a look at ASIC_ProfilingInfo:

88 00 04 01 *E2 04* 00 00 *20 03* 00 00 FB 00 00 00 35 04 00 00 62 00 00 00 1B 00 00 00 00 00 B3 35 FD FF 33 B9 01 00 1D 5A 02 00 1E 43 FD FF 77 74 01 00 86 28 02 00 00 00 00 00 DD 00 00 00 CC FF FF FF 00 00 00 00 9F 00 00 00 DC FF FF FF 88 13 00 01 00 01 00 01 00 00 00 00 00 00 AC 09 00 00 49 0A 00 00 00 00 00 00 AC 09 00 00 49 0A 00 00 00 00 00 00 9A 01 00 00 00 00 00 00 00 00 00 00 9A 01 00 00 00 00 00 00

and there is a maximum (second is the min voltage). AMD was generous, the maximum is 1250mV.
so, VDDC should be moddable +50mV with SoftPowerPlay.

With updates on OC Software there might also be an offset, and it would add to 1250mV. Well, we don't know yet, but i hope this is the case.
What i have seen so far, i don't think anyone (except buildzoid, who will have the _hard_ way and LN2) will gain something from more than +50mV (coooooling). And, the HBM2 voltage doesn't have a cap.. at least not in the BIOS..

so, this should be the max voltage with SoftPowerPlay
E2 04 -> 0x4E2 -> 1250mV


----------



## wolf9466

Quote:


> Originally Posted by *hellm*
> 
> @Buildzoid
> regarding the voltages, i think they are moddable.
> 
> There are no pointers found in VddcLookup table or VddmemLookup table; Fiji and Polaris had pointers, 0xFF02 to 0xFF08; and since 17.4.1 it isn't possible anymore to change these. However, Vega has actual voltages inside these subtables. So, there is a pretty good chance this works.
> 
> basically, this work is already done by @gupsterg in OP
> 
> VDDC lookup table:
> 
> Code:
> 
> 
> 
> Code:
> 
> 
> 01 08 20 03 84 03 B6 03 E8 03 1A 04 4C 04 7E 04 B0 04
> 
> 01 Revision Id
> 08 Number of entries
> 20 03 -> 0x320 -> 800mV (P0)
> 84 03 -> 0x384 -> 900mV (P1)
> B6 03 -> 0x3B6 -> 950mV (P2)
> E8 03 -> 0x3E8 -> 1000mV (P3)
> 1A 04 -> 0x4A1 -> 1050mV (P4)
> 4C 04 -> 0x44C -> 1100mV (P5)
> 7E 04 -> 0x47E -> 1150mV (P6)
> B0 04 -> 0x4B0 -> 1200mV (P7)
> 
> VDDMem lookup table
> 
> Code:
> 
> 
> 
> Code:
> 
> 
> 01 01 46 05
> 
> 01 Revision Id
> 01 Number of entries
> 46 05 -> 0x546 -> 1350mV
> 
> it is the same for the FE and the RX 56/64, also found in the same place: (here FE version)
> 
> 
> *update:*
> i had a look at ASIC_ProfilingInfo:
> 
> 88 00 04 01 *E2 04* 00 00 *20 03* 00 00 FB 00 00 00 35 04 00 00 62 00 00 00 1B 00 00 00 00 00 B3 35 FD FF 33 B9 01 00 1D 5A 02 00 1E 43 FD FF 77 74 01 00 86 28 02 00 00 00 00 00 DD 00 00 00 CC FF FF FF 00 00 00 00 9F 00 00 00 DC FF FF FF 88 13 00 01 00 01 00 01 00 00 00 00 00 00 AC 09 00 00 49 0A 00 00 00 00 00 00 AC 09 00 00 49 0A 00 00 00 00 00 00 9A 01 00 00 00 00 00 00 00 00 00 00 9A 01 00 00 00 00 00 00
> 
> and there is a maximum (second is the min voltage). AMD was generous, the maximum is 1250mV.
> so, VDDC should be moddable +50mV with SoftPowerPlay.
> 
> With updates on OC Software there might also be an offset, and it would add to 1250mV. Well, we don't know yet, but i hope this is the case.
> What i have seen so far, i don't think anyone (except buildzoid, who will have the _hard_ way and LN2) will gain something from more than +50mV (coooooling). And, the HBM2 voltage doesn't have a cap.. at least not in the BIOS..
> 
> so, this should be the max voltage with SoftPowerPlay
> E2 04 -> 0x4E2 -> 1250mV


It won't work. Well - I know it won't on Linux... the Win driver sometimes does honor PowerPlayInfo changes, but... I kinda doubt it. Worth a shot, though (on Win.)


----------



## hellm

Quote:


> Originally Posted by *wolf9466*
> 
> It won't work. Well - I know it won't on Linux... the Win driver sometimes does honor PowerPlayInfo changes, but... I kinda doubt it. Worth a shot, though (on Win.)


what is the max voltage on Linux? Can't think of another table than PowerPlay and ASIC_ProfilingInfo where voltages are stored..?
Both Vcore and HBM2 voltage don't respond to this?


----------



## wolf9466

Quote:


> Originally Posted by *hellm*
> 
> Quote:
> 
> 
> 
> Originally Posted by *wolf9466*
> 
> It won't work. Well - I know it won't on Linux... the Win driver sometimes does honor PowerPlayInfo changes, but... I kinda doubt it. Worth a shot, though (on Win.)
> 
> 
> 
> what is the max voltage on Linux? Can't think of another table than PowerPlay and ASIC_ProfilingInfo where voltages are stored..?
> Both Vcore and HBM2 voltage don't respond to this?
Click to expand...

Uh... what max voltage <3

I'm half kidding - if I use I2C ****, I can tell the VRM to happily set anything up to 1.55V and it'll probably do it.

Your second table guess though... well... you're onto something.


----------



## hellm

if it was 1200mV.. it is pptable, if it was 1250mV, it is ASIC_Profiling..

I can tell from Polaris, change the ASIC_Profiling and tata.. but max voltage isn't 1250mV, right? i don't have a Vega, therefore i have to ask..

and there really are no FF 0x pointers in pptable.. real values..

but they changed something with Vega, ASIC_InternalSS_Info/ASIC_MVDDC_Info is gone..


----------



## wolf9466

Quote:


> Originally Posted by *hellm*
> 
> if it was 1200mV.. it is pptable, if it was 1250mV, it is ASIC_Profiling..
> 
> I can tell from Polaris, change the ASIC_Profiling and tata.. but max voltage isn't 1250mV, right? i don't have a Vega, therefore i have to ask..
> 
> and there really are no FF 0x pointers in pptable.. real values..
> 
> but they changed something with Vega, ASIC_InternalSS_Info/ASIC_MVDDC_Info is gone..


Unfortunately, I'm kinda putting a toe over the line by telling you what I did. Been telling everyone who's PM'd me & messaged me in real time over various mediums this: https://pastebin.com/quEBCFg8


----------



## hellm

Quote:


> Originally Posted by *wolf9466*
> 
> Unfortunately, I'm kinda putting a toe over the line by telling you what I did. Been telling everyone who's PM'd me & messaged me in real time over various mediums this: https://pastebin.com/quEBCFg8


what line? u didn't tell me anything.. u have a contract with AMD now?

if you know something you aren't able to share, don't share.. i guess many other people don't. someone has to write those BIOS files, i guess.


----------



## wolf9466

Quote:


> Originally Posted by *hellm*
> 
> Quote:
> 
> 
> 
> Originally Posted by *wolf9466*
> 
> Unfortunately, I'm kinda putting a toe over the line by telling you what I did. Been telling everyone who's PM'd me & messaged me in real time over various mediums this: https://pastebin.com/quEBCFg8
> 
> 
> 
> what line? u didn't tell me anything.. u have a contract with AMD now?
> 
> if you know something you aren't able to share, don't share.. i guess many other people don't. someone has to write those BIOS files, i guess.
Click to expand...

No, *I* don't have a contract with AMD - and I didn't mean to imply anything of that sort. I'm not going to share *her* business, though.

The hint I meant was that in the previous post, I pointed out that Linux does indeed honor something for max/min voltages - assuming you play by the rules and let the driver stack do its thing. The SMU will honor max/min VIDs - these are sourced from AVFS info in the VBIOS (in the format of 16-bit mV values.)


----------



## Vento041

We could try a "Soft" ASIC_ProfilingInfo mod in the registry (if the key exist / can be created / is readed), changing the mx voltage alone in the "Soft" ASIC_ProfilingInfo will mess up with the voltage calculation.

That's basically what I did on my bios (v 0.03 V2) to allow WattMan to reach 1.300 Max I messed up ASIC_ProfilingInfo... I also hat to fix the core voltages to "stock" values directly, because WattMan selected 1.260 volts as automatic voltage for the last step (usuallly is 1.150 1175).

I do not know if the ASIC_ProfilingInfo table calculates the voltage and apply it, or given the applied raw voltages will calculate the "readable" voltage (like a translator)... does someone has some insight on the ASIC_ProfilingInfo table?

Also, another idea, for the max power draw issue, if the reg trick works with other tables, we could change the VoltageObjectInfo table to modify a, I2C register. If it works like the IR3567B the 0x4D and 0x4E control the scale on the two loops, if we change the scale the reported power draw value will change but the real one will be different.


----------



## hellm

Quote:


> Originally Posted by *wolf9466*
> 
> No, *I* don't have a contract with AMD - and I didn't mean to imply anything of that sort. I'm not going to share *her* business, though.
> 
> The hint I meant was that in the previous post, I pointed out that Linux does indeed honor something for max/min voltages - assuming you play by the rules and let the driver stack do its thing. The SMU will honor max/min VIDs - these are sourced from AVFS info in the VBIOS (in the format of 16-bit mV values.)


i see








..and you probably shouldn't.

And there is my hint. Let's see what we can make out of this. I'm sure we windows-rats won't affect anything Linux related. thx









Quote:


> Originally Posted by *Vento041*
> 
> We could try a "Soft" ASIC_ProfilingInfo mod in the registry (if the key exist / can be created / is readed), changing the mx voltage alone in the "Soft" ASIC_ProfilingInfo will mess up with the voltage calculation.
> 
> That's basically what I did on my bios (v 0.03 V2) to allow WattMan to reach 1.300 Max I messed up ASIC_ProfilingInfo... I also hat to fix the core voltages to "stock" values directly, because WattMan selected 1.260 volts as automatic voltage for the last step (usuallly is 1.150 1175).
> 
> I do not know if the ASIC_ProfilingInfo table calculates the voltage and apply it, or given the applied raw voltages will calculate the "readable" voltage (like a translator)... does someone has some insight on the ASIC_ProfilingInfo table?


i was about to ask u, since i already put too much time into it








Quote:


> Originally Posted by *Vento041*
> 
> Also, another idea, for the max power draw issue, if the reg trick works with other tables, we could change the VoltageObjectInfo table to modify a, I2C register. If it works like the IR3567B the 0x4D and 0x4E control the scale on the two loops, if we change the scale the reported power draw value will change but the real one will be different.


we can't? no mods on windows?
i2c should work on RX, though.
gupsterg meant it could be a driver thing, he experienced the same with a fiji nano.


----------



## Vento041

@hellm

If I2C works on RX, we could simply change 2 registry values. My other Idea was to use the registry trick again with another table (if even possible).

Example, VoltageObjectInfo table from @Buildzoid's RX 56 bios:

Code:



Code:


46 01 04 01 01 03 AA 00 08 06 60 00 00 00 00 00
27 00 28 00 3F 00 63 00 40 00 9E 00 41 00 6B 00
42 00 38 00 6B 00 01 00 61 00 20 00 76 00 89 00
77 00 C6 00 28 00 FF 00 49 00 D0 00 37 00 14 00
94 00 53 00 92 00 0A 00 93 00 C3 00 95 00 22 00
43 00 9E 00 44 00 59 00 45 00 2E 00 46 00 38 00
6C 00 01 00 62 00 A0 00 78 00 60 00 79 00 F3 00
29 00 40 00 4A 00 DE 00 38 00 1E 00 48 00 FC 00
47 00 07 00 E8 00 03 00 51 00 67 00 E8 00 07 00
99 00 FC 00 4B 00 40 00 4C 00 44 00 5E 00 44 00
5C 00 40 00 5D 00 14 00 66 00 CC 00 FF 00 01 07
0C 00 2E 00 01 FF 00 FF 00 00 04 03 22 00 15 06
A2 00 00 00 00 00 D3 00 5C 00 D4 00 82 00 D5 00
82 00 D6 00 82 00 D7 00 82 00 FF 00 02 07 0C 00
2E 00 01 FF 00 20 00 00 0A 03 22 00 15 06 A6 00
00 00 00 00 D3 00 5C 00 D4 00 4C 00 D5 00 4C 00
D6 00 4C 00 D7 00 4C 00 FF 00 08 00 3C 00 00 08
00 00 07 00 00 00 00 00 00 00 00 00 01 00 00 00
01 00 02 00 00 00 02 00 03 00 00 00 03 00 04 00
00 00 04 00 05 00 00 00 05 00 06 00 00 00 06 00
07 00 00 00 07 00

The first voltage object is AA bytes long!!!

The reg key probably could be called: "PP_PhmSoftVoltageObjectInfoTable"

Btw the "updated" table with the Iscale register is:

Code:



Code:


4E 01 04 01 01 03 B2 00 08 06 60 00 00 00 00 00
27 00 28 00 3F 00 63 00 40 00 9E 00 41 00 6B 00
42 00 38 00 6B 00 01 00 61 00 20 00 76 00 89 00
77 00 C6 00 28 00 FF 00 49 00 D0 00 37 00 14 00
94 00 53 00 92 00 0A 00 93 00 C3 00 95 00 22 00
43 00 9E 00 44 00 59 00 45 00 2E 00 46 00 38 00
6C 00 01 00 62 00 A0 00 78 00 60 00 79 00 F3 00
29 00 40 00 4A 00 DE 00 38 00 1E 00 48 00 FC 00
47 00 07 00 E8 00 03 00 51 00 67 00 E8 00 07 00
99 00 FC 00 4B 00 40 00 4C 00 44 00 5E 00 44 00
5C 00 40 00 5D 00 14 00 66 00 CC 00 4D 00 FF 00
4E 00 FF 00 FF 00 01 07 0C 00 2E 00 01 FF 00 FF
00 00 04 03 22 00 15 06 A2 00 00 00 00 00 D3 00
5C 00 D4 00 82 00 D5 00 82 00 D6 00 82 00 D7 00
82 00 FF 00 02 07 0C 00 2E 00 01 FF 00 20 00 00
0A 03 22 00 15 06 A6 00 00 00 00 00 D3 00 5C 00
D4 00 4C 00 D5 00 4C 00 D6 00 4C 00 D7 00 4C 00
FF 00 08 00 3C 00 00 08 00 00 07 00 00 00 00 00
00 00 00 00 01 00 00 00 01 00 02 00 00 00 02 00
03 00 00 00 03 00 04 00 00 00 04 00 05 00 00 00
05 00 06 00 00 00 06 00 07 00 00 00 07 00

End of 11th row "4D 00 FF 00" Loop 1
Beginning of the 12th row "4E 00 FF 00" Loop 2

FF are placeholders value you need to put values that makes sense. Setting it to 0x20 should make the card read half power been drawn.

Of course with the I2C communication everything is easier, and probably this hole think with the regtrick will not work I do not think that a reg key called "PP_PhmSoftVoltageObjectInfoTable" exist (also because PP may be PowerPlay and the VoltageObejectInfo table != PP).

Are there some already made tools to use I2C comms? Do VRMTool work?


----------



## Vento041

I just remembered that we can use Afterburner to set i2c register!

Code:



Code:


MSIAfterburner.exe /wi<i2c_bus>,<i2c_device>,<register>,


----------



## hellm

*bullcrap removed*

i am using 17.7.2 here, you have to switch to manual voltage in Wattman; the maximum still applies, so you can't raise the voltage there. Though, the voltage written in the VDDCLookup table shows up in Wattman, and will be applied. (rebootable)









so far only confirmed for Polaris, but this regkey should make this moddable:

VDDC lookup table:

Code:



Code:


01 08 20 03 84 03 B6 03 E8 03 1A 04 4C 04 7E 04 B0 04

01 Revision Id
08 Number of entries
20 03 -> 0x320 -> 800mV (P0)
84 03 -> 0x384 -> 900mV (P1)
B6 03 -> 0x3B6 -> 950mV (P2)
E8 03 -> 0x3E8 -> 1000mV (P3)
1A 04 -> 0x4A1 -> 1050mV (P4)
4C 04 -> 0x44C -> 1100mV (P5)
7E 04 -> 0x47E -> 1150mV (P6)
B0 04 -> 0x4B0 -> 1200mV (P7)

VDDMem lookup table

Code:



Code:


01 01 46 05

01 Revision Id
01 Number of entries
46 05 -> 0x546 -> 1350mV


----------



## Vento041

@hellm having a vega would make easier for us to try things xD I even have an external flasher, I'd like to mess with the bios trying to find a way to bypass the stupid bios block.


----------



## Blameless

Quote:


> Originally Posted by *hellm*
> 
> 
> 
> 
> 
> 
> 
> 
> i was blind! now i can see!
> 
> 
> 
> 
> 
> 
> 
> 
> 
> thx to you, i made SoftPowerPlay overvoltage possible again! For Polaris, at least, i hope it does the same for Vega.
> 
> EnablePPVoltage.zip 0k .zip file
> 
> 
> this regkey makes the VDDCLookup table moddable again.


That's pretty odd...

Why would disabling voltage islands, which is a power saving feature, enable overvoltage?


----------



## hellm

Quote:


> Originally Posted by *Vento041*
> 
> @hellm having a vega would make easier for us to try things xD I even have an external flasher, I'd like to mess with the bios trying to find a way to bypass the stupid bios block.


Yes, for us, it is like the Death Star.


----------



## hellm

Quote:


> Originally Posted by *Blameless*
> 
> That's pretty odd...
> 
> Why would disabling voltage islands, which is a power saving feature, enable overvoltage?


maybe it didn't and overvoltage is renabled by AMD? OMG.. still, Polaris SoftPowerPlay overvoltage is working.. i check if it was me or not









thx for telling me









update:
and it wasn't me.. i works again. ok, no need for that key then, but it wasn't all bull....

you have to hit manual voltage on wattman, and apply. afterwards, you can mod the VDDCLookup table, and on the next reboot, this will be the maximum voltage. But not before manual voltage is triggered.

again, i don't have a Vega.. someone needs to test this

update2:
still this is for the new 17.7.2 driver

..and AMD might have thrown us some candy.

as soon as manual setting is triggered in wattman, SoftPowerPlay completely overrides it all. This has the side effect, that clockrates can not be changed! Only by editing the SoftPowerPlay registry binary.

Means, if you want to run a high voltage with a high clockrate, you have to apply the voltage first, reboot, hit manual voltage, and then edit the core clock in the SoftPowerPlay table. but it works.


----------



## Blameless

Thanks for the retest and clarification, hellm.

Hopefully I'll be getting my hands on a Vega 56 soon. When I do I'll be happy to test any registry modifications in question. Ideally I'd like to be able to control power limits, VID per DPM, clocks, and HBM voltage. I've been doing this on my Hawaii and Fiji parts with the firmware editing tools provided by gupsterg and others, but have been discouraged about the chances of being able to do the same with Vega due to the firmware lock. These discoveries about the extent of what the softpowerplay tables are capable of is giving me renewed hope.


----------



## hellm

First of all, you will have to check [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\, if the card is installed under 0000.
*fix this*


Spoiler



Run a clean deinstall with DDU in safe mode (Safe Mode W10)
Open regedit (right click start -> run) and goto HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}. If there is more than the 0000 entry, use DDU again and select intel or/and nvidia driver to be removed.


 Of course, you could also edit the .reg file.

The following SoftPowerPlay registry files are unmodified copies of the PowerPlay Table found in the BIOS.

MorePowerVega56.zip 1k .zip file 
MorePowerVega64.zip 1k .zip file 
MorePowerVega64LC.zip 1k .zip file 

MorePowerVegaFE.zip 1k .zip file 
MorePowerVegaFELC.zip 1k .zip file 

MorePowerVega64devil.zip 1k .zip file 
MorePowerVega64strix.zip 1k .zip file 
MorePowerVega64nitro.zip 1k .zip file 
MorePowerVega64giga.zip 1k .zip file 

MorePowerVega56nitro.zip 1k .zip file 
MorePowerVega56devil.zip 1k .zip file 
MorePowerVega56giga.zip 1k .zip file 
MorePowerVega56strix.zip 1k .zip file 
MorePowerVega56msi.zip 1k .zip file 
MorePowerVega56pulse.zip 1k .zip file 
MorePowerVega56nano.zip 1k .zip file 

Open the file by right click -> edit.

the header points to the sub tables


Spoiler






Code:


typedef struct _ATOM_Vega10_POWERPLAYTABLE {
    struct atom_common_table_header sHeader;
    UCHAR  ucTableRevision;
    USHORT usTableSize;                        /* the size of header structure */
    ULONG  ulGoldenPPID;                       /* PPGen use only */
    ULONG  ulGoldenRevision;                   /* PPGen use only */
    USHORT usFormatID;                         /* PPGen use only */
    ULONG  ulPlatformCaps;                     /* See ATOM_Vega10_CAPS_* */
    ULONG  ulMaxODEngineClock;                 /* For Overdrive. */
    ULONG  ulMaxODMemoryClock;                 /* For Overdrive. */
    USHORT usPowerControlLimit;
    USHORT usUlvVoltageOffset;                 /* in mv units */
    USHORT usUlvSmnclkDid;
    USHORT usUlvMp1clkDid;
    USHORT usUlvGfxclkBypass;
    USHORT usGfxclkSlewRate;
    UCHAR  ucGfxVoltageMode;
    UCHAR  ucSocVoltageMode;
    UCHAR  ucUclkVoltageMode;
    UCHAR  ucUvdVoltageMode;
    UCHAR  ucVceVoltageMode;
    UCHAR  ucMp0VoltageMode;
    UCHAR  ucDcefVoltageMode;
    USHORT usStateArrayOffset;                 /* points to ATOM_Vega10_State_Array */
    USHORT usFanTableOffset;                   /* points to ATOM_Vega10_Fan_Table */
    USHORT usThermalControllerOffset;          /* points to ATOM_Vega10_Thermal_Controller */
    USHORT usSocclkDependencyTableOffset;      /* points to ATOM_Vega10_SOCCLK_Dependency_Table */
    USHORT usMclkDependencyTableOffset;        /* points to ATOM_Vega10_MCLK_Dependency_Table */
    USHORT usGfxclkDependencyTableOffset;      /* points to ATOM_Vega10_GFXCLK_Dependency_Table */
    USHORT usDcefclkDependencyTableOffset;     /* points to ATOM_Vega10_DCEFCLK_Dependency_Table */
    USHORT usVddcLookupTableOffset;            /* points to ATOM_Vega10_Voltage_Lookup_Table */
    USHORT usVddmemLookupTableOffset;          /* points to ATOM_Vega10_Voltage_Lookup_Table */
    USHORT usMMDependencyTableOffset;          /* points to ATOM_Vega10_MM_Dependency_Table */
    USHORT usVCEStateTableOffset;              /* points to ATOM_Vega10_VCE_State_Table */
    USHORT usReserve;                          /* No PPM Support for Vega10 */
    USHORT usPowerTuneTableOffset;             /* points to ATOM_Vega10_PowerTune_Table */
    USHORT usHardLimitTableOffset;             /* points to ATOM_Vega10_Hard_Limit_Table */
    USHORT usVddciLookupTableOffset;           /* points to ATOM_Vega10_Voltage_Lookup_Table */
    USHORT usPCIETableOffset;                  /* points to ATOM_Vega10_PCIE_Table */
    USHORT usPixclkDependencyTableOffset;      /* points to ATOM_Vega10_PIXCLK_Dependency_Table */
    USHORT usDispClkDependencyTableOffset;     /* points to ATOM_Vega10_DISPCLK_Dependency_Table */
    USHORT usPhyClkDependencyTableOffset;      /* points to ATOM_Vega10_PHYCLK_Dependency_Table */
} ATOM_Vega10_POWERPLAYTABLE;




to read:
UCHAR 00
USHORT 00 00
ULONG 00 00 00 00
and the data is stored in little endian. this means the hex value 0x10C is found as 0C 01 
*Vega64 PP table header*


Spoiler






Code:


typedef struct _ATOM_Vega10_POWERPLAYTABLE {
    typedef struct _ATOM_COMMON_TABLE_HEADER
    {
    B6 02 (0x2B6)  USHORT usStructureSize;
    08             UCHAR  ucTableFormatRevision;   /*Change it when the Parser is not backward compatible */
    01             UCHAR  ucTableContentRevision;  /*Change it only when the table needs to change but the firmware */
                                                   /*Image can't be updated, while Driver needs to carry the new table! */
    } ATOM_COMMON_TABLE_HEADER;
00                      UCHAR  ucTableRevision;
5C 00                   USHORT usTableSize;                        /* the size of header structure */
E1 06 00 00             ULONG  ulGoldenPPID;                       /* PPGen use only */
EE 2B 00 00             ULONG  ulGoldenRevision;                   /* PPGen use only */
1B 00                   USHORT usFormatID;                         /* PPGen use only */
48 00 00 00             ULONG  ulPlatformCaps;                     /* See ATOM_Vega10_CAPS_* */
80 A9 03 00 (2400MHz)   ULONG  ulMaxODEngineClock;                 /* For Overdrive. */
F0 49 02 00 (1500MHz)   ULONG  ulMaxODMemoryClock;                 /* For Overdrive. */
32 00                   USHORT usPowerControlLimit;
08 00                   USHORT usUlvVoltageOffset;                 /* in mv units */
00 00                   USHORT usUlvSmnclkDid;
00 00                   USHORT usUlvMp1clkDid;
00 00                   USHORT usUlvGfxclkBypass;
00 00                   USHORT usGfxclkSlewRate;
00                      UCHAR  ucGfxVoltageMode;
00                      UCHAR  ucSocVoltageMode;
00                      UCHAR  ucUclkVoltageMode;
00                      UCHAR  ucUvdVoltageMode;
00                      UCHAR  ucVceVoltageMode;
02                      UCHAR  ucMp0VoltageMode;
01                      UCHAR  ucDcefVoltageMode;
5C 00 (0x5C)            USHORT usStateArrayOffset;                 /* points to ATOM_Vega10_State_Array */
4F 02 (0x24F)           USHORT usFanTableOffset;                   /* points to ATOM_Vega10_Fan_Table */
46 02 (0x246)           USHORT usThermalControllerOffset;          /* points to ATOM_Vega10_Thermal_Controller */
94 00 (0x94)            USHORT usSocclkDependencyTableOffset;      /* points to ATOM_Vega10_SOCCLK_Dependency_Table */
9E 01 (0x19E)           USHORT usMclkDependencyTableOffset;        /* points to ATOM_Vega10_MCLK_Dependency_Table */
BE 00 (0xBE)            USHORT usGfxclkDependencyTableOffset;      /* points to ATOM_Vega10_GFXCLK_Dependency_Table */
28 01 (0x128)           USHORT usDcefclkDependencyTableOffset;     /* points to ATOM_Vega10_DCEFCLK_Dependency_Table */
7A 00 (0x7A)            USHORT usVddcLookupTableOffset;            /* points to ATOM_Vega10_Voltage_Lookup_Table */
8C 00 (0x8C)            USHORT usVddmemLookupTableOffset;          /* points to ATOM_Vega10_Voltage_Lookup_Table */
BC 01 (0x1BC)           USHORT usMMDependencyTableOffset;          /* points to ATOM_Vega10_MM_Dependency_Table */
00 00                   USHORT usVCEStateTableOffset;              /* points to ATOM_Vega10_VCE_State_Table */
00 00                   USHORT usReserve;                          /* No PPM Support for Vega10 */
72 02 (0x272)           USHORT usPowerTuneTableOffset;             /* points to ATOM_Vega10_PowerTune_Table */
00 00                   USHORT usHardLimitTableOffset;             /* points to ATOM_Vega10_Hard_Limit_Table */
90 00 (0x90)            USHORT usVddciLookupTableOffset;           /* points to ATOM_Vega10_Voltage_Lookup_Table */
A8 02 (0x2A8)           USHORT usPCIETableOffset;                  /* points to ATOM_Vega10_PCIE_Table */
6D 01 (0x16D)           USHORT usPixclkDependencyTableOffset;      /* points to ATOM_Vega10_PIXCLK_Dependency_Table */
43 01 (0x143)           USHORT usDispClkDependencyTableOffset;     /* points to ATOM_Vega10_DISPCLK_Dependency_Table */
97 01 (0x197)           USHORT usPhyClkDependencyTableOffset;      /* points to ATOM_Vega10_PHYCLK_Dependency_Table */
} ATOM_Vega10_POWERPLAYTABLE;[/Spoiler]

*max power limit* (+50% = 0x32) for all Vega cards:

*TDP, TDC...*


Spoiler



56:

A5 00 -> 0xA5 -> 165W Socket PowerLimit
A5 00 -> 0xA5 -> 165W Battery PowerLimit
A5 00 -> 0xA5 -> 165W Small PowerLimit
2C 01 -> 0x12C -> 300A Tdc Limit
64:

FE:

DC 00 -> 0xDC -> 220W Socket PowerLimit
DC 00 -> 0xDC -> 220W Battery PowerLimit
DC 00 -> 0xDC -> 220W Small PowerLimit
2C 01 -> 0x12C -> 300A Tdc Limit
64 LC:

FE LC:

08 01 -> 0x108 -> 264W Socket PowerLimit
08 01 -> 0x108 -> 264W Battery PowerLimit
08 01 -> 0x108 -> 264W Small PowerLimit
2C 01 -> 0x12C -> 300A Tdc Limit


*Vega64 PowerTune Table*


Spoiler






Code:


typedef struct _ATOM_Vega10_PowerTune_Table_V2 {
07      UCHAR  ucRevId;
DC 00 (220W)    USHORT usSocketPowerLimit;
DC 00 (220W)    USHORT usBatteryPowerLimit;
DC 00 (220W)    USHORT usSmallPowerLimit;
2C 01 (300A)    USHORT usTdcLimit;
00 00           USHORT usEdcLimit;
59 00 (89°C)    USHORT usSoftwareShutdownTemp;
69 00 (105°C)   USHORT usTemperatureLimitHotSpot;
4A 00 (75°C)    USHORT usTemperatureLimitLiquid1;
4A 00 (75°C)    USHORT usTemperatureLimitLiquid2;
5F 00 (95°C)    USHORT usTemperatureLimitHBM;
73 00 (115°C)   USHORT usTemperatureLimitVrSoc;
73 00 (115°C)   USHORT usTemperatureLimitVrMem;
64 00 (100°C)   USHORT usTemperatureLimitPlx;
40 00 (64Ω??)   USHORT usLoadLineResistance;
90      UCHAR ucLiquid1_I2C_address;
92      UCHAR ucLiquid2_I2C_address;
97      UCHAR ucLiquid_I2C_Line;
60      UCHAR ucVr_I2C_address;
96      UCHAR ucVr_I2C_Line;
00      UCHAR ucPlx_I2C_address;
90      UCHAR ucPlx_I2C_Line;
55 00 (85°C)    USHORT usTemperatureLimitTedge;
} ATOM_Vega10_PowerTune_Table_V2;
[/Spoiler]

The voltages are found at the exact same place for all of the Vega cards.


Spoiler






Code:


typedef struct _ATOM_Vega10_Voltage_Lookup_Record {
    USHORT usVdd;                                               /* Base voltage */
} ATOM_Vega10_Voltage_Lookup_Record;

typedef struct _ATOM_Vega10_Voltage_Lookup_Table {
    UCHAR ucRevId;
    UCHAR ucNumEntries;                                          /* Number of entries */
    ATOM_Vega10_Voltage_Lookup_Record entries[1];             /* Dynamically allocate entries */
} ATOM_Vega10_Voltage_Lookup_Table;[/Spoiler]

For P-State 7 Vcore:

B0 04 -> 0x4B0 -> 1200mV
examples:
C9 04 -> 0x4C9 -> 1225mV
E2 04 -> 0x4E2 -> 1250mV
FB 04 -> 0x4FB -> 1275mV
...

the *clockrates*, easiest way is to search for the hex-value, i guess. P-State 7 clockrate should also be followed by 00 07.

00 71 02 -> 0x27100 -> 160000 -> 1600MHz (FE)
18 6D 02 -> 0x26D18 -> 159000 -> 1590MHz (56)
You have to multiplicate with 100, take the hex value and reverse it to "little endian".
HBM:
Vega 56:
80 38 01 -> 0x13880 -> 80000 -> 800MHz
Vega 64, FE:
24 71 01 -> 0x17124 -> 94500 -> 945MHz

*Fan Table*
always starts with "0B" (RevId), after "01 18 00 00 00 00 00 00 00" which is the thermal controller table.


Spoiler






Code:


typedef struct _ATOM_Vega10_Fan_Table {
UCHAR ucRevId; /* Change this if the table format changes or version changes so that the other fields are not the same. */
USHORT usFanOutputSensitivity; /* Sensitivity of fan reaction to temepature changes. */
USHORT usFanRPMMax; /* The default value in RPM. */
USHORT usThrottlingRPM;
USHORT usFanAcousticLimit; /* Minimum Fan Controller Frequency Acoustic Limit. */
USHORT usTargetTemperature; /* The default ideal temperature in Celcius. */
USHORT usMinimumPWMLimit; /* The minimum PWM that the advanced fan controller can set. */
USHORT usTargetGfxClk; /* The ideal Fan Controller GFXCLK Frequency Acoustic Limit. */
USHORT usFanGainEdge;
USHORT usFanGainHotspot;
USHORT usFanGainLiquid;
USHORT usFanGainVrVddc;
USHORT usFanGainVrMvdd;
USHORT usFanGainPlx;
USHORT usFanGainHbm;
UCHAR ucEnableZeroRPM;
USHORT usFanStopTemperature;
USHORT usFanStartTemperature;
} ATOM_Vega10_Fan_Table;

typedef struct _ATOM_Vega10_Fan_Table_V2 {
UCHAR ucRevId;
USHORT usFanOutputSensitivity;
USHORT usFanAcousticLimitRpm;
USHORT usThrottlingRPM;
USHORT usTargetTemperature;
USHORT usMinimumPWMLimit;
USHORT usTargetGfxClk;
USHORT usFanGainEdge;
USHORT usFanGainHotspot;
USHORT usFanGainLiquid;
USHORT usFanGainVrVddc;
USHORT usFanGainVrMvdd;
USHORT usFanGainPlx;
USHORT usFanGainHbm;
UCHAR ucEnableZeroRPM;
USHORT usFanStopTemperature;
USHORT usFanStartTemperature;
UCHAR ucFanParameters;
UCHAR ucFanMinRPM;
UCHAR ucFanMaxRPM;
} ATOM_Vega10_Fan_Table_V2;

typedef struct _ATOM_Vega10_Thermal_Controller {
UCHAR ucRevId;
UCHAR ucType; /* one of ATOM_VEGA10_PP_THERMALCONTROLLER_*/
UCHAR ucI2cLine; /* as interpreted by DAL I2C */
UCHAR ucI2cAddress;
UCHAR ucFanParameters; /* Fan Control Parameters. */
UCHAR ucFanMinRPM; /* Fan Minimum RPM (hundreds) -- for display purposes only.*/
UCHAR ucFanMaxRPM; /* Fan Maximum RPM (hundreds) -- for display purposes only.*/
UCHAR ucFlags; /* to be defined */
} ATOM_Vega10_Thermal_Controller;
[/Spoiler]

*Devil64 fan table*


Spoiler






Code:


typedef struct _ATOM_Vega10_Fan_Table_V2 {
0B UCHAR ucRevId;
E4 12 (0x12E4 = 4836)     USHORT usFanOutputSensitivity;
AC 0D (0xDAC = 3500 RPM)  USHORT usFanAcousticLimitRpm;
AC 0D (0xDAC = 3500 RPM)  USHORT usThrottlingRPM;
46 00 (0x46 = 70°C)       USHORT usTargetTemperature;
23 00 (0x23 = 35)         USHORT usMinimumPWMLimit;
54 03 (0x354 = 852)       USHORT usTargetGfxClk;
90 01 (0x190 = 400)       USHORT usFanGainEdge;
90 01 (0x190 = 400)       USHORT usFanGainHotspot;
90 01 (0x190 = 400)       USHORT usFanGainLiquid;
90 01 (0x190 = 400)       USHORT usFanGainVrVddc;
90 01 (0x190 = 400)       USHORT usFanGainVrMvdd;
90 01 (0x190 = 400)       USHORT usFanGainPlx;
90 01 (0x190 = 400)       USHORT usFanGainHbm;
01 (01 = on / 00 = off)   UCHAR ucEnableZeroRPM;
28 00 (0x28 = 40°C)       USHORT usFanStopTemperature;
32 00 (0x32 = 50°C)       USHORT usFanStartTemperature;
02                        UCHAR ucFanParameters;
08 (800 RPM)              UCHAR ucFanMinRPM;
23 (0x23 = 35 = 3500 RPM) UCHAR ucFanMaxRPM;
} ATOM_Vega10_Fan_Table_V2;
[/Spoiler]

 
For the *voltages*, you have to switch to manual voltage and apply them first, or everything will be at stock.

To adjust voltages just edit the SoftPowerPlay again and add it to the registry. For the clockrates, you have to reset with Wattman first and then apply manual voltage setting again.

+142% power limit, 220W, 400A
MorePowerVega56_142.zip 1k .zip file 
MorePowerVega64_142.zip 1k .zip file 

only for very good cooling solutions, not stock aio, the lower shutdown temp is to prevent the pump from taking damage!
+142% power limit, 264W, 400A, shutdown temp 89°C (=56,64)
MorePowerVega64LC_142.zip 1k .zip file 

There is also an editor now:
Vega64SoftPowerTableEditor
with FE it is still buggy, afaik


----------



## ba1b0a

Thanks Hellm for the help. I can verify that these reg edits work with the latest beta FE driver. I have no way to really test whether or not the voltage increase is doing anything though, but it is applying and showing in watttool. Since the latest beta driver does not include wattman I have been using the latest afterburner beta to adjust fan curves, which is also showing clock speeds set in registry. At 1.3Volts and 200% power limit I still can't hit 1750mhz stable, my guess is that the voltage setting isn't actually doing anything but I have not probed the card to verify, either that or my gpu maxes out around 1730mhz. I'll continue testing.


----------



## hellm

WattTool is also able to set those voltages. At least with Polaris. You can't change the voltage u entered in SoftPowerPlay there, too.
Again, you first have to apply them, before this works.


----------



## jstefanop

Does anyone on here have an RX Vega yet? Need to confirm whether RX series has (hopefully does not have) same hardware BIOS check that Vega FE does.


----------



## buildzoid

Quote:


> Originally Posted by *ba1b0a*
> 
> Thanks Hellm for the help. I can verify that these reg edits work with the latest beta FE driver. I have no way to really test whether or not the voltage increase is doing anything though, but it is applying and showing in watttool. Since the latest beta driver does not include wattman I have been using the latest afterburner beta to adjust fan curves, which is also showing clock speeds set in registry. At 1.3Volts and 200% power limit I still can't hit 1750mhz stable, my guess is that the voltage setting isn't actually doing anything but I have not probed the card to verify, either that or my gpu maxes out around 1730mhz. I'll continue testing.


What temps are you hitting?

For 1750 I think you will need like 40-50C on the core.


----------



## ba1b0a

Ah, they might explain why it is stable at first but crashes after a little warmup. My fan profiles are keeping temps below 65 under heavy load.


----------



## Nuke33

Thank you very much hellm !









I can confirm those regmods work on Vega64 with the latest 17.8.1 driver from 22.08.
I have got a Vega 64 Liquid and did not overclock but undervolted and kept its clockrates at default.

Managed to get as low as [email protected] Checked it with the power monitor of my AX760i.
I had to set all clocks down to the lowest wanted voltage or it would not undervolt any further. In case of Vega64 P5 is 1050mv, so nothing lower than that applies. You can set it but it does not do anything. If you modify the powerplay entry for P5 so it is 1000mv, P6 and P7 can be undervolted to 1000mv, If you want to go even lower you have to change P4 to 950mv and so on.

Power consumption improved drastically.
It now consumes around 280W at uncapped OCCT 2560x1080 DirectX11 Level7 Errorcheck. Before undervolt it would consume 390W and downclock to 1402mhz
If anyone knows a program that can squeeze even more power from graphicscards, please let me know. To my knowledge this is the highest I can get.
Clocks are 1750mhz and +50% PT with no dips, steady flat line.

Battlefield 1 maxed out at 99%GPU load consumes around 200W.









My lowest was [email protected] stable but then HBM downclocks to 800mhz and can´t be raised again. At least not really only cosmetically. It shows 945mhz if you exchange the next lowest HBM clocks with the max HBM clock in the powerplay table. But comparing performance it is the same as 800mhz HBM.
My guess is that HBM voltage is somehow linked to minimal core voltage, since at 900mv core wattman sets 900mv HBM voltage automatically.
Maybe the driver thinks it is a Vega56 now?


----------



## Nuke33

*deleted - double post*


----------



## Steven185

Quote:


> Originally Posted by *Nuke33*
> 
> Thank you very much hellm !
> 
> 
> 
> 
> 
> 
> 
> 
> 
> I can confirm those regmods work on Vega64 with the latest 17.8.1 driver from 22.08.
> I have got a Vega 64 Liquid and did not overclock but undervolted and kept its clockrates at default.
> 
> Managed to get as low as [email protected] Checked it with the power monitor of my AX760i.
> I had to set all clocks down to the lowest wanted voltage or it would not undervolt any further. In case of Vega64 P5 is 1050mv, so nothing lower than that applies. You can set it but it does not do anything. If you modify the powerplay entry for P5 so it is 1000mv, P6 and P7 can be undervolted to 1000mv, If you want to go even lower you have to change P4 to 950mv and so on.
> 
> Power consumption improved drastically.
> It now consumes around 280W at uncapped OCCT 2560x1080 DirectX11 Level7 Errorcheck. Before undervolt it would consume 390W and downclock to 1402mhz
> If anyone knows a program that can squeeze even more power from graphicscards, please let me know. To my knowledge this is the highest I can get.
> Clocks are 1750mhz and +50% PT with no dips, steady flat line.
> 
> Battlefield 1 maxed out at 99%GPU load consumes around 200W.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> My lowest was [email protected] stable but then HBM downclocks to 800mhz and can´t be raised again. At least not really only cosmetically. It shows 945mhz if you exchange the next lowest HBM clocks with the max HBM clock in the powerplay table. But comparing performance it is the same as 800mhz HBM.
> My guess is that HBM voltage is somehow linked to minimal core voltage, since at 900mv core wattman sets 900mv HBM voltage automatically.
> Maybe the driver thinks it is a Vega56 now?


Basically all I want is to steady the clock (both memory and core) ... default bios, default drivers and it is a wild ride.

If you really did manage to keep 1750 Mhz *constant* then you already solved a big issue that Vegas are plagued with ... it would be weird too ... all those months of testing from AMD and a random guy from a forum can/could steady the clocks. It's possible that they are as bad at creating software solutions as they are in creating great hardware. From my experience my card is a big fat slab of metal and silicon that does nothing unless poked ... and I *reaaally* want to poke it in the right direction.

If you were able to steady your clocks you should be seeing better scores in benchmarks too (also a quick heads-up to a how-to would be much appreciated as this is my 1st AMD card - yeah I know...)


----------



## gupsterg

Quote:


> Originally Posted by *jstefanop*
> 
> Does anyone on here have an RX Vega yet? Need to confirm whether RX series has (hopefully does not have) same hardware BIOS check that Vega FE does.


RX VEGA also does not allow edited VBIOS. Looking at VOI it seems i2c is not blocked though on RX VEGA. I did ask in VEGA thread for members to give i2c dumps but none have.


----------



## hellm

Quote:


> Originally Posted by *Steven185*
> 
> If you really did manage to keep 1750 Mhz *constant* then you already solved a big issue that Vegas are plagued with ... it would be weird too ... all those months of testing from AMD and a random guy from a forum can/could steady the clocks.


since this is your first AMD card.. it doesn't have Nvidia's Boost. A Radeon only clocks down if power or temperature target is reached. So, yes, you don't have to be special to accomplish this.


----------



## Steven185

Quote:


> Originally Posted by *hellm*
> 
> since this is your first AMD card.. it doesn't have Nvidia's Boost. A Radeon only clocks down if power or temperature target is reached. So, yes, you don't have to be special to accomplish this.


Apparently they're constantly reached on mine. I have a Liquid cooled 64 running at 60c, yet never keeps the clocks steady. For example run a game and on a second monitor keep an eye on clocks. They never stay set at the default values, as I wrote before ... it's a wild ride.

On nVidia they never stay at stock either, but actually they boost by quite a lot. So my watercooled Titan X (for example) would reach 20% above default value on its own without even trying to overclock it, just because I'm giving it good temperatures and good voltages.

On AMD cards it was opposite thus far. I'm trying to undervolt, but nothing works. Lowering the power targets lets my clocks to be even less steady, upping them allows the core to hit the volt limiits (I assume) so again, underclocking.

The user I've quoted though managed 1750 Mhz steady. That's probably greater performance than GTX 1080 and that's exactly the type of performance that I'm targetting. I merely don't know what exactly he did.

Undervolting the core via Wattman does next to nothing (still undeclocks). Can't succeed in having steady 1650 Mhz. Obviously some modding has to take place. It's unfortunate but I'm willing to do it if it is what it takes to get the real power out of this card...


----------



## 113802

Quote:


> Originally Posted by *hellm*
> 
> I will try to make this easy for everyone. Here is a little How-to.
> 
> First of all, you need the 17.7.2 (or 17.8.1) driver. You will have to check [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\, if the card is installed under 0000.
> 
> 
> Spoiler: fix this
> 
> 
> 
> Run a clean deinstall with DDU in safe mode (Safe Mode W10)
> Open regedit (right click start -> run) and goto HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}. If there is more than the 0000 entry, use DDU again and select intel or/and nvidia driver to be removed.
> 
> 
> Of course, you could also edit the .reg file.


I guess mine is showing more than the 0000 entry? I used DDU and removed every single driver.


----------



## hellm

Quote:


> Originally Posted by *Steven185*
> 
> ^^


It is not comparable to a Geforce card. It is a Radeon. Apparently there are plenty of temperature targets found in the PowerPlay table. (didn't look further.. no time)

For the cooling, a Radeon "spits out heat", at least Polaris does (when ov+oc), and Vega does so, too. Only Vega is huge GPU, capable of much more power draw. The AIO cooling solution might be better than air, but it has only a tiny 120mm radiator on it. This wouldn't work for heavy Polaris oc..
Quote:


> Originally Posted by *WannaBeOCer*
> 
> I guess mine is showing more than the 0000 entry? I used DDU and removed every single driver.


can be the case. if you had other cards installed, a geforce, a igpu..
we don't know unless u take a look..
there:


----------



## 113802

Double post


----------



## 113802

Quote:


> Originally Posted by *hellm*
> 
> can be the case. if you had other cards installed, a geforce, a igpu..
> we don't know unless u take a look..
> there:


Thanks, just checked it shows 0000 entry. Does the Registry entry you provided change the power target or do I have to modify it to increase the power target? Thanks.


----------



## hellm

I made no changes to the SoftPowerPlay registry binary, so anyone who wants to mod it don't have to worry about what i have done.

so, if u add those files, nothing changes unless u mod them.


----------



## Steven185

Quote:


> Originally Posted by *hellm*
> 
> It is not comparable to a Geforce card. It is a Radeon. Apparently there are plenty of temperature targets found in the PowerPlay table. (didn't look further.. no time)
> 
> For the cooling, a Radeon "spits out heat", at least Polaris does (when ov+oc), and Vega does so, too. Only Vega is huge GPU, capable of much more power draw. The AIO cooling solution might be better than air, but it has only a tiny 120mm radiator on it. This wouldn't work for heavy Polaris oc..


I understand that Radeons are different that Geforces ... I didn't buy one expecting it to be comparable to a Geforce. What I do expect though is to find a way to maximize its performance. The constant dipping of the core clock IMO is unacceptable and seriously impacts perfromance. Better it had 2/3rds of the clock yet stable than having 1650 Mhz that constantly dips.

The reason of reading this thread (and similar ones) is so that I may figure a way to actually utilize this arch to the best it can give. Given that AMD seems unable or unwilling to give us constant clocks (even with relatively good cooling), I have to look for it elsewhere. One such place is this place. Apparently I'd have to do a lot of reading before unlocking RX Vega's full power.

Thanks for the heads-ups though.

Cheers.


----------



## hellm

It has nothing to do with AMD not willing, it is just physics.

It is like i said, no throttling until power or temp target hit. for constant clockrate, even stock, you need a lot of cooling, and a lot of power. For higher clockrates even more.


----------



## kundica

I added this to the wrong thread. Posting it here now.

@gupsterg

Sapphire Vega 64 AIO bios. This is the default power setting which should be the high power mode. I need to dump the other one still but it'll have to be a bit later tonight.

Sapphire_Vega64_AIO_HP.zip 135k .zip file


----------



## Steven185

Quote:


> Originally Posted by *hellm*
> 
> It has nothing to do with AMD not willing, it is just physics.
> 
> It is like i said, no throttling until power or temp target hit. for constant clockrate, even stock, you need a lot of cooling, and a lot of power. For higher clockrates even more.


My experience is that I have plenty of throttling even at stock clocks w + 50% power targets and temperatures never hitting above 60C (well below the temp limit).

So that may be the case (no throttling until the limits are hit), but it is not the case in my card. I may just be unlucky, but something tells me that it is more widespread than that. I understand the theory, but the practice has been different thus far.

Now there was a user that I've quoted who claimed that he managed constant clocks via undervolting. I asked him how he managed to do so so that I may duplicate his settings, but in the meanwhile he deleted his post, meaning that his end results were probably as disappointing as expected ... anyway, I'll continue trying. The arch seems very capable, but the situation concerning the relation between clocks and limits is rather disheartening.

For example I managed to keep my mem clocks steady when using the latest beta drivers , but not with older ones ... telling me that the issues are (at least partly) software, not mere physics. Again, those are my personal experiences. Obviously the experience of other people may differ...


----------



## gupsterg

Quote:


> Originally Posted by *kundica*
> 
> I added this to the wrong thread. Posting it here now.
> 
> @gupsterg
> 
> Sapphire Vega 64 AIO bios. This is the default power setting which should be the high power mode. I need to dump the other one still but it'll have to be a bit later tonight.
> 
> Sapphire_Vega64_AIO_HP.zip 135k .zip file


+rep







, I appreciate the share







.

Yes it is the higher PL VBIOS, when you have the other it will be handy, thank you







.


----------



## kundica

Quote:


> Originally Posted by *gupsterg*
> 
> Quote:
> 
> 
> 
> Originally Posted by *kundica*
> 
> I added this to the wrong thread. Posting it here now.
> 
> @gupsterg
> 
> Sapphire Vega 64 AIO bios. This is the default power setting which should be the high power mode. I need to dump the other one still but it'll have to be a bit later tonight.
> 
> Sapphire_Vega64_AIO_HP.zip 135k .zip file
> 
> 
> 
> 
> +rep
> 
> 
> 
> 
> 
> 
> 
> , I appreciate the share
> 
> 
> 
> 
> 
> 
> 
> .
> 
> Yes it is the higher PL VBIOS, when you have the other it will be handy, thank you
> 
> 
> 
> 
> 
> 
> 
> .
Click to expand...

The user was able to successfully flash his air 64 card. It ran fine on balanced mode but crashed on turbo and +50% power limit on driver 17.8.1

My LC 64 crashes while gaming on any driver when set to +50% as well. I plan to test turbo and UV tomorrow. My temps don't exceed 61 and my PSU is a Seasonic 1000w Prime Platinum.

Sent from my ONEPLUS A3000 using Tapatalk


----------



## gupsterg

Thank you very much for information







.

When you have time, may you also try to gain a i2c dump for RX VEGA 64 AIO, do state what VBIOS you are on when you do it, also use defaults of driver.

There are 2 methods that may work if SW support it. 1st is MSI AB, 



, 2nd is AIDA64, even an evaluation version will work, to have the status menu to right click as 



, enable status bar via menu > view.

Also if you have time please run AIDA64 registers dump and provide if you gain it, 



. I believe like past cards the PowerPlay VIDs I have shown in OP, section Vddc/Vddmem LookupTable, are not what the card will be at, as 'ASIC profiling' will determine what VID to use. Again do a dump at stock and state what VBIOS you are on. Repeat test by also changing say highest DPM VID in WattMan and gain another dump.

Thank you, no rush







.


----------



## Nuke33

Quote:


> Originally Posted by *Steven185*
> 
> My experience is that I have plenty of throttling even at stock clocks w + 50% power targets and temperatures never hitting above 60C (well below the temp limit).
> 
> So that may be the case (no throttling until the limits are hit), but it is not the case in my card. I may just be unlucky, but something tells me that it is more widespread than that. I understand the theory, but the practice has been different thus far.
> 
> Now there was a user that I've quoted who claimed that he managed constant clocks via undervolting. I asked him how he managed to do so so that I may duplicate his settings, but in the meanwhile he deleted his post, meaning that his end results were probably as disappointing as expected ... anyway, I'll continue trying. The arch seems very capable, but the situation concerning the relation between clocks and limits is rather disheartening.
> 
> For example I managed to keep my mem clocks steady when using the latest beta drivers , but not with older ones ... telling me that the issues are (at least partly) software, not mere physics. Again, those are my personal experiences. Obviously the experience of other people may differ...


Hi Steven, i did not delete my post it was just a mistake. I double posted due to moderation holding back my original post.
My results still stand: 1750mhz +50%PT @ 950mv , no dips even under powerbenchmarks like furmark and occt.

Below are the contents of the modified regfile for [email protected] with stock AIO clocks, since for some reason i get an ajax error when trying to attach a file.
Just copy them into a "xxxx.reg" file and execute.
Reboot and then set your wattman to manual voltage and +50% Powertarget. Then you should be ready to go.

Code:



Code:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
"PP_PhmSoftPowerPlayTable"=hex:9D,02,08,01,00,5C,00,37,07,00,00,EC,2B,00,00,1B,\
  00,48,00,00,00,80,A9,03,00,F0,49,02,00,32,00,08,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,02,01,5C,00,36,02,2D,02,94,00,85,01,AF,00,19,01,7A,00,8C,00,\
  A3,01,00,00,00,00,59,02,00,00,90,00,8F,02,54,01,2A,01,7E,01,00,71,02,00,71,\
  02,02,02,00,00,00,00,00,00,08,00,00,00,00,00,00,00,04,00,07,00,03,00,05,00,\
  00,00,00,00,00,00,01,08,20,03,84,03,B6,03,B6,03,B6,03,B6,03,B6,03,B6,03,01,\
  01,46,05,01,01,84,03,00,05,60,EA,00,00,00,DC,4A,01,00,01,00,77,01,00,02,90,\
  91,01,00,03,6C,B0,01,00,04,01,08,D0,4C,01,00,00,00,80,00,00,00,00,00,00,88,\
  BC,01,00,01,00,00,00,00,00,00,00,00,98,FC,01,00,02,00,00,00,00,00,00,00,00,\
  90,0E,02,00,03,00,00,00,00,00,00,00,00,00,26,02,00,04,00,00,00,00,00,00,00,\
  00,60,61,02,00,05,00,00,00,00,01,00,00,00,90,8B,02,00,06,00,00,00,00,01,00,\
  00,00,98,AB,02,00,07,00,00,00,00,01,00,00,00,00,03,60,EA,00,00,00,DC,4A,01,\
  00,00,90,5F,01,00,00,00,08,28,6E,00,00,00,2C,C9,00,00,01,F8,0B,01,00,02,80,\
  38,01,00,03,90,5F,01,00,04,F4,91,01,00,05,D0,B0,01,00,06,C0,D4,01,00,07,00,\
  08,6C,39,00,00,00,24,5E,00,00,01,FC,85,00,00,02,AC,BC,00,00,03,34,D0,00,00,\
  04,68,6E,01,00,05,08,97,01,00,06,EC,A3,01,00,07,00,01,68,3C,01,00,00,01,04,\
  3C,41,00,00,00,00,00,50,C3,00,00,00,00,00,80,38,01,00,01,00,00,24,71,01,00,\
  02,00,00,01,08,00,98,85,00,00,78,B4,00,00,60,EA,00,00,50,C3,00,00,01,78,FF,\
  00,00,40,19,01,00,B4,27,01,00,50,C3,00,00,02,80,38,01,00,DC,4A,01,00,DC,4A,\
  01,00,50,C3,00,00,03,DC,4A,01,00,90,5F,01,00,90,5F,01,00,50,C3,00,00,04,90,\
  5F,01,00,00,77,01,00,90,5F,01,00,50,C3,00,00,05,00,77,01,00,90,91,01,00,90,\
  5F,01,00,50,C3,00,00,06,6C,B0,01,00,6C,B0,01,00,00,77,01,00,50,C3,00,00,07,\
  C0,D4,01,00,C0,D4,01,00,90,91,01,00,50,C3,00,00,01,18,00,00,00,00,00,00,00,\
  0B,E4,12,DC,05,FC,08,41,00,0F,00,54,03,90,01,90,01,90,01,90,01,90,01,90,01,\
  90,01,00,00,00,00,00,02,04,21,07,08,01,08,01,08,01,2C,01,00,00,4A,00,69,00,\
  4A,00,4A,00,5F,00,73,00,73,00,64,00,40,00,90,92,97,60,96,00,90,46,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,02,D4,30,00,00,02,10,60,EA,00,\
  00,02,10


----------



## hellm

i just read the HBM2 tends to get a little hot, and 95°C is the max temp for it. If that limit is reached, not the HBM2 itself is throttled, but the GPU clock is lowered. That way, the load and thus also the power consumption as well as the temperature of the memory is reduced.


----------



## Nuke33

@hellm

Nice info, very helpful.

Would be interesting to design a 2 part coldplate which cools HBM and GPU separately.


----------



## aliquis

Thanks for all the information shared in this thread. I also used the registry edit explained by @hellm to modify my p5 and p4 voltage to a lower value. My card is now running at 1650MHz maxboost and at max vcore of 1000mV. What i dont understand is,although i am measuring proper numbers with a wattmeter at the wall, and the power consumption goes back as i lower the voltage, yet it is simply hard to swallow that these numbers are true for me.

I haven't tried a lower undervolt yet, but if it is really true that you can run your card stable at as low as 950mV at stock clocks (thats 250mV reduction from default voltage) , that sounds a bit much, but i won't complain if it works...

But my card won't boost to the max clock i set anymore since the driver update to 17.8.2 (1650MHz) but instead to about 1600MHz on average, it shouldn't be the temps (always at about 50C, liquid edition) power limit is unlocked (and the consumed power is overall rather low (low for a rx vega card







) with my current settings, measuring about 330-350W total system power consumption during heavy gaming)

edit: Did modify and test with 950mV voltage settings on p7 to p3. The total system power consumption is now around 300W(sometimes it dips below 300W, depends on what load), which is very good, and the card appears to be stable, but now the max boost clock is even lower (before it was 1600MHz, now it is 1500MHz). Seems the more i undervolt it the less higher it boosts (but it seems to remain stable anyway)


----------



## Nuke33

Quote:


> Originally Posted by *aliquis*
> 
> Thanks for all the information shared in this thread. I also used the registry edit explained by @hellm to modify my p5 and p4 voltage to a lower value. My card is now running at 1650MHz maxboost and at max vcore of 1000mV. What i dont understand is,although i am measuring proper numbers with a wattmeter at the wall, and the power consumption goes back as i lower the voltage, yet it is simply hard to swallow that these numbers are true for me.
> 
> I haven't tried a lower undervolt yet, but if it is really true that you can run your card stable at as low as 950mV at stock clocks (thats 250mV reduction from default voltage) , that sounds a bit much, but i won't complain if it works...
> 
> But my card won't boost to the max clock i set anymore since the driver update to 17.8.2 (1650MHz) but instead to about 1600MHz on average, it shouldn't be the temps (always at about 50C, liquid edition) power limit is unlocked (and the consumed power is overall rather low (low for a rx vega card
> 
> 
> 
> 
> 
> 
> 
> ) with my current settings, measuring about 330-350W total system power consumption during heavy gaming)
> 
> edit: Did modify and test with 950mV voltage settings on p7 to p3. The total system power consumption is now around 300W(sometimes it dips below 300W, depends on what load), which is very good, and the card appears to be stable, but now the max boost clock is even lower (before it was 1600MHz, now it is 1500MHz). Seems the more i undervolt it the less higher it boosts (but it seems to remain stable anyway)


I didn´t trust those low undervolts either at first. But as I monitored thePCIe rails consumption, there was an undeniable reduction.
I noticed that too with the new 17.8.2 driver. You can increase clock offset though.

With 17.8.1 it did not downclock or at least not show in wattman or any other monitoring tool.
But my performance seemed to stay consistent even with undervolts to 950mv with that driver.


----------



## aliquis

I just did some more testing/ and measuring:

at 950mV max voltage , my card can keep a maxclock of 1500MHz. at this point (obviously the scaling changes as the numbers change), if i increase the voltage by 20mV, the boost clock increased by 30MHz and the powerconsumption/wattmeter rises by 15-20W.

Obviously, the scaling gets worse (the higher the clock you want the more vcore you need) and 20mV for a 30MHz increase and almost 20W more power consumption , that looks like it is beyond the efficiency point already.

With the 1500MHz @ 950mV i currently use, the card performs almost the same (will run some benchmarks to get precise number soon).

I wonder where the real performance / power consumption sweetspot for this card lies? My bet is that it is fairly lower (at about 1300 -1400MHz with appropriate low voltage)


----------



## kundica

Quote:


> Originally Posted by *gupsterg*
> 
> Thank you very much for information
> 
> 
> 
> 
> 
> 
> 
> .
> 
> When you have time, may you also try to gain a i2c dump for RX VEGA 64 AIO, do state what VBIOS you are on when you do it, also use defaults of driver.
> 
> There are 2 methods that may work if SW support it. 1st is MSI AB,
> 
> 
> 
> , 2nd is AIDA64, even an evaluation version will work, to have the status menu to right click as
> 
> 
> 
> , enable status bar via menu > view.
> 
> Also if you have time please run AIDA64 registers dump and provide if you gain it,
> 
> 
> 
> . I believe like past cards the PowerPlay VIDs I have shown in OP, section Vddc/Vddmem LookupTable, are not what the card will be at, as 'ASIC profiling' will determine what VID to use. Again do a dump at stock and state what VBIOS you are on. Repeat test by also changing say highest DPM VID in WattMan and gain another dump.
> 
> Thank you, no rush
> 
> 
> 
> 
> 
> 
> 
> .


Here are both bios files, high power(HP) and low power(LP). I haven't done the other things you asked but I'll get to them later today.

Sapphire_Vega64_AIO_bios.zip 269k .zip file


While I was dumping the LP bios I decided to run some benches. Results are pretty much the same using +50% power limit with stock clock on the core and 1100 HBM. I noticed with the low power bios the clock dips to 1668 every so often while the high power bios sustains 1750. I'm currently using the beta launch driver.

HP bios - 8185, GS 8072 - https://www.3dmark.com/3dm/21764905
LP bios - 8176, GS 8062 - https://www.3dmark.com/3dm/21796571


----------



## gupsterg

+rep







, no rush







, thank you for your time and shares







.


----------



## kundica

Quote:


> Originally Posted by *gupsterg*
> 
> +rep
> 
> 
> 
> 
> 
> 
> 
> , no rush
> 
> 
> 
> 
> 
> 
> 
> , thank you for your time and shares
> 
> 
> 
> 
> 
> 
> 
> .


It fails to dump with either app. I'm currently on the beta driver in Low Power bios.

Sapphire_Vega64_AIO_ABDUMP_LP.txt 24k .txt file


Sapphire_Vega64_AIO_AIDADUMP_LP.txt 2k .txt file


----------



## 113802

Quote:


> Originally Posted by *Nuke33*
> 
> Hi Steven, i did not delete my post it was just a mistake. I double posted due to moderation holding back my original post.
> My results still stand: 1750mhz +50%PT @ 950mv , no dips even under powerbenchmarks like furmark and occt.
> 
> Below are the contents of the modified regfile for [email protected] with stock AIO clocks, since for some reason i get an ajax error when trying to attach a file.
> Just copy them into a "xxxx.reg" file and execute.
> Reboot and then set your wattman to manual voltage and +50% Powertarget. Then you should be ready to go.


Thanks, but it still doesn't run at 1750mhz. It mostly stays at 1720 which is better than 1668Mhz. I never hit 1750Mhz since the correct frequency reading. I believe the card is power throttling. I will have to increase the power limit.

Make sure you use 17.8.2 to monitor the frequency.


----------



## Nuke33

@WannaBeOCer

Are you using AIR or LC model ?


----------



## gupsterg

Quote:


> Originally Posted by *kundica*
> 
> It fails to dump with either app. I'm currently on the beta driver in Low Power bios.
> 
> Sapphire_Vega64_AIO_ABDUMP_LP.txt 24k .txt file
> 
> 
> Sapphire_Vega64_AIO_AIDADUMP_LP.txt 2k .txt file


Thanks







.

Try latest AIDA64 beta when you can. Besides ATI SMBus dump, does ATI GPU registers dump work?


----------



## kundica

Quote:


> Originally Posted by *gupsterg*
> 
> Thanks
> 
> 
> 
> 
> 
> 
> 
> .
> 
> Try latest AIDA64 beta when you can. Besides ATI SMBus dump, does ATI GPU registers dump work?


Beta gives the same result for SMBus. Here are the GPU registers.

Sapphire_Vega64_AIO_GPURegDUMP_HP.txt 4k .txt file


----------



## 113802

Quote:


> Originally Posted by *Nuke33*
> 
> @WannaBeOCer
> 
> Are you using AIR or LC model ?


LC version.


----------



## gupsterg

Quote:


> Originally Posted by *kundica*
> 
> Beta gives the same result for SMBus. Here are the GPU registers.
> 
> Sapphire_Vega64_AIO_GPURegDUMP_HP.txt 4k .txt file


Thank you







. Nothing useful at all, it's pretty much incomplete







.

I have noted on OCuk members are discussing differing HBM IC manufacturers there should be only one.

In the VBIOS is a table, VRAM_Info, this contains info on RAM IC, timings, straps, etc all RX VEGA VBIOS are identical. RAM IC text ID string:- KHA843801B is in all RX VEGA VBIOS. VEGA FE has slightly differing VRAM_Info than RX VEGA, RAM IC text ID string:- KHA883901B_CL17_WL6.


----------



## Sicness

Quote:


> Originally Posted by *kundica*
> 
> The user was able to successfully flash his air 64 card. It ran fine on balanced mode but crashed on turbo and +50% power limit on driver 17.8.1


Did anyone else to flash the LC BIOS to their Air? I keep running into "cannot erase ROM" errors with ATIWinflash 2.77. Tried atiwinflash -unlockrom and flashing using the -f flag, too ... to no avail.


----------



## gupsterg

You had nothing running in the background like monitoring tools, OS OC SW, etc, etc?


----------



## Sicness

I have AB installed but not running at the time. FWIW, I'm on Win 10 x64 and driver 17.8.2.


----------



## gupsterg

As you know not got VEGA







, v2.77 is working for me in W7/W10 latest or older driver with Fury X. MSI AB, TriXX, etc installed on rig is non issue, just shouldn't be running in background/run at OS load, etc when doing a flash. Same with anything to do with monitoring, like HWINFO, AIDA64, etc.

So GUI and CLI do same message? have you tried running shortcut/command prompt as admin?


----------



## Sicness

Pretty much the same message, yes.



Both were run as admin, I have no monitoring tool running and had my malware scanner disabled. Mind you, this is the same system I extracted the Vega BIOS files with and flashed the Fury with the modified BIOS files you kindly provided a few weeks back.


----------



## gupsterg

Try moving AtiWinFlash to say C:\ , shorter filename for VBIOS and running it and or differing driver.

Other than that no idea, sorry.


----------



## kundica

Quote:


> Originally Posted by *Sicness*
> 
> Quote:
> 
> 
> 
> Originally Posted by *kundica*
> 
> The user was able to successfully flash his air 64 card. It ran fine on balanced mode but crashed on turbo and +50% power limit on driver 17.8.1
> 
> 
> 
> Did anyone else to flash the LC BIOS to their Air? I keep running into "cannot erase ROM" errors with ATIWinflash 2.77. Tried atiwinflash -unlockrom and flashing using the -f flag, too ... to no avail.
Click to expand...

Try flashing the high power bios to the HP slot but backup your bios first. There shouldn't be a difference between the Low Power LC 64 bios and the high power Air 64, at least with allowed power draw. The clock are different if course.

Sent from my ONEPLUS A3000 using Tapatalk


----------



## Sicness

Quote:


> Originally Posted by *gupsterg*
> 
> Try moving AtiWinFlash to say C:\ , shorter filename for VBIOS and running it and or differing driver.
> 
> Other than that no idea, sorry.


Didn't help, thanks for your suggestions though!

Quote:


> Originally Posted by *kundica*
> 
> Try flashing the high power bios to the HP slot but backup your bios first. There shouldn't be a difference between the Low Power LC 64 bios and the high power Air 64, at least with allowed power draw. The clock are different if course.
> 
> Sent from my ONEPLUS A3000 using Tapatalk


I have backups of the original files (even posted in the Vega owners thread). The other slot doesn't seem to work either, same errors. Thanks though.


----------



## Nuke33

Quote:


> Originally Posted by *aliquis*
> 
> I just did some more testing/ and measuring:
> 
> at 950mV max voltage , my card can keep a maxclock of 1500MHz. at this point (obviously the scaling changes as the numbers change), if i increase the voltage by 20mV, the boost clock increased by 30MHz and the powerconsumption/wattmeter rises by 15-20W.
> 
> Obviously, the scaling gets worse (the higher the clock you want the more vcore you need) and 20mV for a 30MHz increase and almost 20W more power consumption , that looks like it is beyond the efficiency point already.
> 
> With the 1500MHz @ 950mV i currently use, the card performs almost the same (will run some benchmarks to get precise number soon).
> 
> I wonder where the real performance / power consumption sweetspot for this card lies? My bet is that it is fairly lower (at about 1300 -1400MHz with appropriate low voltage)


I think so too, ~1200 would be my guess since that is stable at 850mv on my card. AMD probably upped the clocks beyond the sweetspot to not completely be crushed on launch day.
As soon as the drivers get better and software developers optimize their games/software one could probably get good performance at lower clocks with low power consumption.


----------



## 113802

Anyone know what changes I would have to make to increase the power target to +100% on the RX Vega 64 AIO version?


----------



## Nuke33

Quote:


> Originally Posted by *WannaBeOCer*
> 
> LC version.


Okay me too. Mine stays at 1750mhz all the time. I increased my fan speed though to stay below 55°C. I think it lowers powerconsumption if the chip runs cooler. Lower power leakage and the sorts.


----------



## Nuke33

Quote:


> Originally Posted by *WannaBeOCer*
> 
> Anyone know what changes I would have to make to increase the power target to +100% on the RX Vega 64 AIO version?


I think @gupsterg, @hellm or @buildzoid could help with that.


----------



## hellm

Quote:


> Originally Posted by *WannaBeOCer*
> 
> Anyone know what changes I would have to make to increase the power target to +100% on the RX Vega 64 AIO version?


already there..
http://www.overclock.net/t/1633446/preliminary-view-of-amd-vega-bios/250#post_26297003

fun fact: you can delete SoftPowerPlay from registry, and at least the voltage will stay tweaked. i don't know if you can mess with anything in Wattman / WattTool, but they will still show the higher voltage.


----------



## 113802

Quote:


> Originally Posted by *Nuke33*
> 
> Okay me too. Mine stays at 1750mhz all the time. I increased my fan speed though to stay below 55°C. I think it lowers powerconsumption if the chip runs cooler. Lower power leakage and the sorts.


My card does stay below 52C but it never hits 1750Mhz with your settings. Are you sure you are using 17.8.2? With 17.8.1 it reads 1750Mhz sustained but it performs the same as 17.8.2 which reads the correct frequency.


----------



## Mumak

Quote:


> Originally Posted by *kundica*
> 
> It fails to dump with either app. I'm currently on the beta driver in Low Power bios.
> 
> Sapphire_Vega64_AIO_ABDUMP_LP.txt 24k .txt file
> 
> 
> Sapphire_Vega64_AIO_AIDADUMP_LP.txt 2k .txt file


This is something we just recently noticed - something seems to be blocking access to all GPU registers on some Vega systems. We don't know yet how/why this happens









BTW, the next HWiNFO build will fix some issues in reporting of GPU VDDC/MVDCC and HBM current/power for RX Vega.


----------



## kundica

Quote:


> Originally Posted by *Mumak*
> 
> Quote:
> 
> 
> 
> Originally Posted by *kundica*
> 
> It fails to dump with either app. I'm currently on the beta driver in Low Power bios.
> 
> Sapphire_Vega64_AIO_ABDUMP_LP.txt 24k .txt file
> 
> 
> Sapphire_Vega64_AIO_AIDADUMP_LP.txt 2k .txt file
> 
> 
> 
> 
> This is something we just recently noticed - something seems to be blocking access to all GPU registers on some Vega systems. We don't know yet how/why this happens
> 
> 
> 
> 
> 
> 
> 
> 
> 
> BTW, the next HWiNFO build will fix some issues in reporting of GPU VDDC/MVDCC and HBM current/power for RX Vega.
Click to expand...

Thanks for the info.

Sent from my ONEPLUS A3000 using Tapatalk


----------



## Nuke33

Quote:


> Originally Posted by *WannaBeOCer*
> 
> My card does stay below 52C but it never hits 1750Mhz with your settings. Are you sure you are using 17.8.2? With 17.8.1 it reads 1750Mhz sustained but it performs the same as 17.8.2 which reads the correct frequency.


No currently i am using 17.8.1 because of some weird glitches i had in star citizen with 17.8.2.
I will install 17.8.2 and recheck if it still sustains 1750mhz, when I have time.


----------



## 113802

Quote:


> Originally Posted by *Nuke33*
> 
> No currently i am using 17.8.1 because of some weird glitches i had in star citizen with 17.8.2.
> I will install 17.8.2 and recheck if it still sustains 1750mhz, when I have time.


It won't be 1750Mhz sustained. I was excited when I first got my Vega card and was able to get 1980Mhz sustained but no performance increase.

I increased my powerlimit to 100% and will test to see if I can get 1750Mhz sustained this evening. I am sure the card is power throttling since thermals are way below 70C.


----------



## Whatisthisfor

Quote:


> Originally Posted by *aliquis*
> 
> But my card won't boost to the max clock i set anymore since the driver update to 17.8.2 (1650MHz) but instead to about 1600MHz on average, it shouldn't be the temps (always at about 50C, liquid edition) power limit is unlocked (and the consumed power is overall rather low (low for a rx vega card
> 
> 
> 
> 
> 
> 
> 
> ) with my current settings, measuring about 330-350W total system power consumption during heavy gaming)


I had used the initial beta drivers which where meant solely for Vega and now switched over to 17.8.2. This latter driver seems to have its own mind regarding clock speeds and whatever i set for P6/P7, the card stays below. I like it cool n' quiet so i did set them at 1562MHz @1070mV.

BTW which voltage is good for HBM2 1000MHz? I had one reset of wattman settings when i set that speed at 950mV.


----------



## Newbie2009

Quote:


> Originally Posted by *Whatisthisfor*
> 
> I had used the initial beta drivers which where meant solely for Vega and now switched over to 17.8.2. This latter driver seems to have its own mind regarding clock speeds and whatever i set for P6/P7, the card stays below. I like it cool n' quiet so i did set them at 1562MHz @1070mV.
> 
> BTW which voltage is save for HBM2 1000MHz? I had one reset of wattman settings when i set that speed at 950mV.


Yeah it is reading the clocks correctly vs the old ones.

Seems bugged though, have to overclock high to increase the clocks.


----------



## Whatisthisfor

Quote:


> Originally Posted by *Newbie2009*
> 
> Yeah it is reading the clocks correctly vs the old ones.
> 
> Seems bugged though, have to overclock high to increase the clocks.


The drivers seem to be alpha, not all features of the hardware goodies of Vega seem to be activated yet and not all P-states are accessible within Wattman. But because the RX Vegas share the same hardware with the more professional models (FE) the drivers are least very stable.


----------



## Newbie2009

Quote:


> Originally Posted by *Whatisthisfor*
> 
> The drivers seem to be alpha, not all features of the hardware goodies of Vega seem to be activated yet and not all P-states are accessible within Wattman. But because the RX Vegas share the same hardware with the more professional models (FE) the drivers are least very stable.


Yeah have to say if you just plugged and played and ignored clocks, volts, overclocking etc, you would be fine. Haven't experienced any crashes.


----------



## Nuke33

Quote:


> Originally Posted by *WannaBeOCer*
> 
> It won't be 1750Mhz sustained. I was excited when I first got my Vega card and was able to get 1980Mhz sustained but no performance increase.
> 
> I increased my powerlimit to 100% and will test to see if I can get 1750Mhz sustained this evening. I am sure the card is power throttling since thermals are way below 70C.


You are right. Liquid tops out at 1712mhz.
A friends AIR only reaches 1520mhz.

Both with the same 950mv powerplay table and +50%PT.


----------



## Newbie2009

Quote:


> Originally Posted by *Nuke33*
> 
> You are right. Liquid tops out at 1712mhz.
> A friends AIR only reaches 1520mhz.
> 
> Both with the same 950mv powerplay table and +50%PT.


Funny you should say that, 1712, 5% OC was the best mine would do on AIR with serious RPM. (anything above seen no real increase)

However that was older drivers so probably wasn't even doing that, closer to 1680 probably.


----------



## Nuke33

Quote:


> Originally Posted by *Newbie2009*
> 
> Funny you should say that, 1712, 5% OC was the best mine would do on AIR with serious RPM. (anything above seen no real increase)
> 
> However that was older drivers so probably wasn't even doing that, closer to 1680 probably.


You must have had a hell of a noisefloor in your room








I sustained 1750mhz with 17.8.1 with 0% OC , now i need 8% OC to get to 1712mhz. So probably even lower than 1680mhz.

Edit: To clarify .... 1750mhz with 17.8.1 was just P-State target not real frequency. 17.8.2 shows real clocks.


----------



## 113802

Quote:


> Originally Posted by *Nuke33*
> 
> You must have had a hell of a noisefloor in your room
> 
> 
> 
> 
> 
> 
> 
> 
> I sustained 1750mhz with 17.8.1 with 0% OC , now i need 8% OC to get to 1712mhz. So probably even lower than 1680mhz.


You didn't sustain 1750Mhz, it was just reading the incorrect frequency. 17.8.1 and 17.8.2 score the same in 3dMark.

I am unable to sustain 1750Mhz with +100% power limit. No performance increase when running 1800Mhz since it runs at 1712Mhz.


----------



## Nuke33

Quote:


> Originally Posted by *WannaBeOCer*
> 
> You didn't sustain 1750Mhz, it was just reading the incorrect frequency. 17.8.1 and 17.8.2 score the same in 3dMark.
> 
> I am unable to sustain 1750Mhz with +100% power limit. No performance increase when running 1800Mhz since it runs at 1712Mhz.


Yeah I know, look two posts above, I answered you specifically on this.


----------



## Steven185

Quote:


> Originally Posted by *Nuke33*
> 
> Hi Steven, i did not delete my post it was just a mistake. I double posted due to moderation holding back my original post.
> My results still stand: 1750mhz +50%PT @ 950mv , no dips even under powerbenchmarks like furmark and occt.
> 
> Below are the contents of the modified regfile for [email protected] with stock AIO clocks, since for some reason i get an ajax error when trying to attach a file.
> Just copy them into a "xxxx.reg" file and execute.
> Reboot and then set your wattman to manual voltage and +50% Powertarget. Then you should be ready to go.
> 
> Code:
> 
> 
> 
> Code:
> 
> 
> Windows Registry Editor Version 5.00
> 
> [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
> "PP_PhmSoftPowerPlayTable"=hex:9D,02,08,01,00,5C,00,37,07,00,00,EC,2B,00,00,1B,\
> 00,48,00,00,00,80,A9,03,00,F0,49,02,00,32,00,08,00,00,00,00,00,00,00,00,00,\
> 00,00,00,00,00,02,01,5C,00,36,02,2D,02,94,00,85,01,AF,00,19,01,7A,00,8C,00,\
> A3,01,00,00,00,00,59,02,00,00,90,00,8F,02,54,01,2A,01,7E,01,00,71,02,00,71,\
> 02,02,02,00,00,00,00,00,00,08,00,00,00,00,00,00,00,04,00,07,00,03,00,05,00,\
> 00,00,00,00,00,00,01,08,20,03,84,03,B6,03,B6,03,B6,03,B6,03,B6,03,B6,03,01,\
> 01,46,05,01,01,84,03,00,05,60,EA,00,00,00,DC,4A,01,00,01,00,77,01,00,02,90,\
> 91,01,00,03,6C,B0,01,00,04,01,08,D0,4C,01,00,00,00,80,00,00,00,00,00,00,88,\
> BC,01,00,01,00,00,00,00,00,00,00,00,98,FC,01,00,02,00,00,00,00,00,00,00,00,\
> 90,0E,02,00,03,00,00,00,00,00,00,00,00,00,26,02,00,04,00,00,00,00,00,00,00,\
> 00,60,61,02,00,05,00,00,00,00,01,00,00,00,90,8B,02,00,06,00,00,00,00,01,00,\
> 00,00,98,AB,02,00,07,00,00,00,00,01,00,00,00,00,03,60,EA,00,00,00,DC,4A,01,\
> 00,00,90,5F,01,00,00,00,08,28,6E,00,00,00,2C,C9,00,00,01,F8,0B,01,00,02,80,\
> 38,01,00,03,90,5F,01,00,04,F4,91,01,00,05,D0,B0,01,00,06,C0,D4,01,00,07,00,\
> 08,6C,39,00,00,00,24,5E,00,00,01,FC,85,00,00,02,AC,BC,00,00,03,34,D0,00,00,\
> 04,68,6E,01,00,05,08,97,01,00,06,EC,A3,01,00,07,00,01,68,3C,01,00,00,01,04,\
> 3C,41,00,00,00,00,00,50,C3,00,00,00,00,00,80,38,01,00,01,00,00,24,71,01,00,\
> 02,00,00,01,08,00,98,85,00,00,78,B4,00,00,60,EA,00,00,50,C3,00,00,01,78,FF,\
> 00,00,40,19,01,00,B4,27,01,00,50,C3,00,00,02,80,38,01,00,DC,4A,01,00,DC,4A,\
> 01,00,50,C3,00,00,03,DC,4A,01,00,90,5F,01,00,90,5F,01,00,50,C3,00,00,04,90,\
> 5F,01,00,00,77,01,00,90,5F,01,00,50,C3,00,00,05,00,77,01,00,90,91,01,00,90,\
> 5F,01,00,50,C3,00,00,06,6C,B0,01,00,6C,B0,01,00,00,77,01,00,50,C3,00,00,07,\
> C0,D4,01,00,C0,D4,01,00,90,91,01,00,50,C3,00,00,01,18,00,00,00,00,00,00,00,\
> 0B,E4,12,DC,05,FC,08,41,00,0F,00,54,03,90,01,90,01,90,01,90,01,90,01,90,01,\
> 90,01,00,00,00,00,00,02,04,21,07,08,01,08,01,08,01,2C,01,00,00,4A,00,69,00,\
> 4A,00,4A,00,5F,00,73,00,73,00,64,00,40,00,90,92,97,60,96,00,90,46,00,00,00,\
> 00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,02,D4,30,00,00,02,10,60,EA,00,\
> 00,02,10


Thanks!

I'd try it out.


----------



## Nuke33

Quote:


> Originally Posted by *Steven185*
> 
> Thanks!
> 
> I'd try it out.


You are welcome








It is not 1750mhz(which were not actual clcks but p-state target) on driver 17.8.2 anymore. It is more like 1642 real clocks if you leave frequency alone.


----------



## asdkj1740

is that possible that vega64 bios can be flashed on vega56 card now?


----------



## Newbie2009

Quote:


> Originally Posted by *asdkj1740*
> 
> is that possible that vega64 bios can be flashed on vega56 card now?


Nope.


----------



## gupsterg

Quote:


> Originally Posted by *asdkj1740*
> 
> is that possible that vega64 bios can be flashed on vega56 card now?


Before trying flash try CUinfo from this thread, it probably doesn't support VEGA but be interesting to know if it does.

You have dual bios, so flash VEGA 64 on one side. If card does not function, power off rig, move switch to other bios position, boot to OS, swap bios position (you can do this whilst PC in OS and powered on), then reflash the VEGA 64 switch position with VEGA 56.

Usually a fully unlocked ASIC VBIOS (VEGA 64) will not have the table in VBIOS that sets CU. So really a VEGA 56 VBIOS with unlocked CU would be the right VBIOS, again I doubt @tx12's atomtool supports creating VEGA unlock ROMs. Even if it did then you'd still get no post as security feature of VEGA would equal no post.

Most things enjoyed on AMD concerning VBIOS mod are now history







.


----------



## hellm

For us gamers, yes. The minors can mod anything, with a simple linux kernel-mod. And those are the ones that kill their cards..

GOOD JOB, AMD! Whoever invented, no, anyone who contributed to this GREAT IDEA, should get a raise.









I will buy a green and dull Volta GPU..


----------



## gupsterg

Yeah ordered GTX 1080. Yeah bios mod is closed on that as well, but for a number or reasons seemed better buy for me.

Current promo on VEGA 56 is ~£380, VEGA 64 is ~£480 in the UK. I didn't wanna be on reference blower cooler, VEGA AIO is like £700+. So a water block for the VEGA cards is ~£100, so ~£480-£580 final price for VEGA. In the TPU review of VEGA 64 GTX 1080 ~1% performance gain over VEGA 64 at 1440P. That is GTX 1080 FE in chart, the MSI GTX 1080 Sea Hawk EK X has boost ~1847MHz, seen OCs of ~2GHz+ in owners club here. So viewing a OC GTX 1080 TPU review it's ~10% gain over FE, ~7-8% vs VEGA 64 IMO.

I found a MSI GTX 1080 Sea Hawk EK X for £480 delivered, as card is water block from factory no warranty issues on that front. Drivers mature, etc, yeah I'll miss FreeSync. Will keep an eye out for VEGA on a promo, if it lowers below £380/£480 then I maybe tempted to flip the GTX 1080 and get one.

IMO I need to swap GPUs as I reckon Fiji will lose resale value in coming months, especially as it's 4GB card. Fingers cross in current climate I should be able to sell it without making a loss.

Real shame about VEGA bios mod, this was one aspect which was a perk on AMD cards in my eyes.


----------



## S1L3N7D3A7H

Just successfully flashed Vega 64 Air with the liquid cooled 300w BIOS. The system immediately crashes when the GPU is loaded. Switched to the alternate 200w BIOS, smooth sailing again. Going to put the original 220w BIOS back on.


----------



## Newbie2009

Just to double check, which bios is the stock and which low power? What position is the switch in for each?


----------



## S1L3N7D3A7H

Quote:


> Originally Posted by *Newbie2009*
> 
> Just to double check, which bios is the stock and which low power? What position is the switch in for each?


The one closest the PCI bracket is the 220w, toward the blower is the 200w.


----------



## aGeoM

Quote:


> Originally Posted by *asdkj1740*
> 
> is that possible that vega64 bios can be flashed on vega56 card now?


Hi

I just saw this on TPU

LINK


----------



## LionS7

Can somebody tell me from where I can find bios for Vega Frontier Edition (Liquid Edition), and is it passible to flash it on Vega FE Air ?


----------



## gupsterg

We have no full VBIOS of VEGA FE AIO yet, if you find then share. You may have luck asking in this thread.


----------



## W1zzard

Quote:


> Originally Posted by *LionS7*
> 
> Can somebody tell me from where I can find bios for Vega Frontier Edition (Liquid Edition), and is it passible to flash it on Vega FE Air ?


https://www.techpowerup.com/vgabios/194511/sapphire-rxvega64-8176-170730-1


----------



## gtbtk

Quote:


> Originally Posted by *gupsterg*
> 
> Yeah ordered GTX 1080. Yeah bios mod is closed on that as well, but for a number or reasons seemed better buy for me.
> 
> Current promo on VEGA 56 is ~£380, VEGA 64 is ~£480 in the UK. I didn't wanna be on reference blower cooler, VEGA AIO is like £700+. So a water block for the VEGA cards is ~£100, so ~£480-£580 final price for VEGA. In the TPU review of VEGA 64 GTX 1080 ~1% performance gain over VEGA 64 at 1440P. That is GTX 1080 FE in chart, the MSI GTX 1080 Sea Hawk EK X has boost ~1847MHz, seen OCs of ~2GHz+ in owners club here. So viewing a OC GTX 1080 TPU review it's ~10% gain over FE, ~7-8% vs VEGA 64 IMO.
> 
> I found a MSI GTX 1080 Sea Hawk EK X for £480 delivered, as card is water block from factory no warranty issues on that front. Drivers mature, etc, yeah I'll miss FreeSync. Will keep an eye out for VEGA on a promo, if it lowers below £380/£480 then I maybe tempted to flip the GTX 1080 and get one.
> 
> IMO I need to swap GPUs as I reckon Fiji will lose resale value in coming months, especially as it's 4GB card. Fingers cross in current climate I should be able to sell it without making a loss.
> 
> Real shame about VEGA bios mod, this was one aspect which was a perk on AMD cards in my eyes.


There is an asus strix 1080 bios produced by asus and released by dancop available that will allow 1.2v access for gtx 1080.

It will flash fine to your seahawk ek x.


----------



## FelixB

Quote:


> Originally Posted by *gupsterg*
> 
> Before trying flash try CUinfo from this thread, it probably doesn't support VEGA but be interesting to know if it does.


I have run CUInfo on the consumer Sapphire Vega 56 reference card and it produces the error report:

Card #1 PCI ID: 1002:687F - 1002:6B76 adapter #1: this ASIC is not supported

I can confirm that this stock Vega 56 card uses both the left and the right BIOS posted on https://www.techpowerup.com/vgabios/

BIOS Right:
ATOMBIOSBK-AMD VER016.001.001.000.008767 D0500350.100
BIOS Left:
ATOMBIOSBK-AMD VER016.001.001.000.008766 D0500300.101

I obtain identical results on both BIOS when running GPU-Z 2.20 and GPU Caps 1.36.2 on Crimson 17.8.2 Beta.

GPU Shark reports 210W TDP on both.

GPU-Z (incorrectly) reports Hynix (Micron) memory on both.

I plan to check the reports on the Chiphell forums that the Vega64 BIOS can be flashed to Vega56.

If anyone wants more details or other testing then just ask.


----------



## LionS7

Quote:


> Originally Posted by *W1zzard*
> 
> https://www.techpowerup.com/vgabios/194511/sapphire-rxvega64-8176-170730-1


Nope. I need Vega Frontier Edition (water), not RX Vega 64 (water).


----------



## y0bailey

I just got my hands on a Vega 56 (well it is shipping to me now). I had to buy one of the stupid bundles ($499 total), but I already wanted Wolfenstein (didn't care about Prey), so I really only overpaid $40.

Now, anyone have a good guide on the Vega 56 to 64 BIOS flash. Seems like it should be pretty straight forward, but haven't seen a step-by-step anywhere.


----------



## GroupB

@Hellm

I try to understand the softpowerplay but maybe im too stupid or just too afraid to mess something with all the hex and byte conversion, since must of us are after a boost in powerplay % cant you release a ready to go file with say 150% with the modification already done (64 air in my case)?

Or provide an image of a softpowerplay with some mod done so we can understand what to change to what, Finally a How to softpowerplay for dummies


----------



## hellm

Quote:


> Originally Posted by *GroupB*
> 
> @Hellm
> 
> I try to understand the softpowerplay but maybe im too stupid or just too afraid to mess something with all the hex and byte conversion, since must of us are after a boost in powerplay % cant you release a ready to go file with say 150% with the modification already done (64 air in my case)?
> 
> Or provide an image of a softpowerplay with some mod done so we can understand what to change to what, Finally a How to softpowerplay for dummies


i will try to do that. unfortunatly, not this month, i am up in work. But i can help u.









you have stock cooling? then u don't need a higher power limit









your VRM needs extra cooling, and i believe the HBM2 also. i would only recommend this for hurricane grade air cooling and water cooling.

here is a 56 maxed out, i believe with stock voltage, but that is already enough:





so for the max power limit (%), as i said here, it is found in the same place for all the Vega files.
Quote:


> max power limit (+50% = 0x32) for all Vega cards:


changing the 0x32 (0x means a hexadecimal value) to 0x64 gives 100%, 0x8E means 142%..


----------



## GroupB

Quote:


> Originally Posted by *hellm*
> 
> i will try to do that. unfortunatly, not this month, i am up in work. But i can help u.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> you have stock cooling? then u don't need a higher power limit
> 
> 
> 
> 
> 
> 
> 
> 
> 
> your VRM needs extra cooling, and i believe the HBM2 also. i would only recommend this for hurricane grade air cooling and water cooling.
> 
> here is a 56 maxed out, i believe with stock voltage, but that is already enough:
> 
> 
> 
> 
> 
> so for the max power limit (%), as i said here, it is found in the same place for all the Vega files.
> changing the 0x32 (0x means a hexadecimal value) to 0x64 gives 100%, 0x8E means 142%..


Vega 64 here and I have ek block with ic diamond and extreme pad on the vrm , so far its not going higher than 26 core and 35 hbm on [email protected] with 50% so I think im cover for cooling. at 1175 mv same temps also.

So If I understand I just replace the 32 by 8E and dont touch the 00 or I remove the 32 , 00 and input 8E, 0X ? That what confuse me here


----------



## hellm

you only have to touch the marked 00 (two digits = one byte) if you want to go over 255%, if you want 242%, replace the "32" with "F2".

i have made a modded table for you, with +142% max power limit and 400A mac TDC, but i left the TDP at 220W, so +50% gives the same amount of power, but with higher current max.

MorePowerVega64_142.zip 1k .zip file


----------



## GroupB

Thanks,

So with that I can push to 532 Watt max 220+149% and im limited to 400A on vrm, enough to blow the card I guess or melts the pci-e wire









Off course I dont have to push to max but its good to know the limit are higher now. Gonna start OC a little now see what I got

Is the vrm really good for 400A ?


----------



## DrGuns4Hands

VRM can certainly handle 400A as long as you keep it cool.


----------



## GroupB

But without vrm sensor for temps it can be dangerous I guess. I hope vega had some but it just not support in software yet


----------



## hellm

I am sure your with water block the VRM can handle even more than just 400A.









i made one for the 56 as well, if somebody is interested..
142%, 220W, 400A

MorePowerVega56_142.zip 1k .zip file


----------



## BeetleatWar1977

HWINFO64 seems to Report most Sensors with the last Beta! Temps, Voltage, Power....


----------



## masteratarms

I'm interested in setting fan speed via bios for my AIO OcUK Techlabs. I was using vbe on my 280x. Is it down to modding hex values now?


----------



## Rootax

Sorry for this question but, I saw the video in the first post, it says that we can flash bios but not modified them, because of the security feature or Vega cards, right ? But I see that some people here are flashing bios, like AIO to Aircooled, etc. That's mean, it's stock bios so it's working, but you can't modified the bios before flashing it, or It won't boot, and that's why the power play table thing come into play. Is that correct ?

Thx.


----------



## gupsterg

@masteratarms

Yes mod hex values in Soft_PowerPlay as you need. Modded VBIOS will result in no post of card.

@Rootax

Yes you can flash stock ROM from one card to another and only option to mod is Soft_PowerPlay.


----------



## Mumak

Hey guys, anyone willing to test a new Beta HWiNFO build on RX Vega? I'd like to verify if I can read the VDDC VRM chip.


----------



## rednow

yes, sure, I have vega 64 liquid, win7 64, 17.8.2 beta drivers


----------



## rednow

Quote:


> Originally Posted by *gupsterg*
> 
> @masteratarms
> 
> Yes mod hex values in Soft_PowerPlay as you need. Modded VBIOS will result in no post of card.


With 17.8.2 drivers under win7 i cannot change P1-P5 power states with OverdriveNtool (the same with wattool or ecs87NextGear). Is this possible with hex mod in registry (Soft_PowerPlay)?


----------



## Mumak

Great, please try this: www.hwinfo.com/beta/hw64_557_3236.zip
If all goes well, you should see a new GPU sensor (CHiL/IR PMBus).
Would be great if you could post a screenshot of the sensors screen with GPU sensors and the HWiNFO Debug File.


----------



## rednow

Quote:


> Originally Posted by *Mumak*
> 
> Great, please try this: www.hwinfo.com/beta/hw64_557_3236.zip
> If all goes well, you should see a new GPU sensor (CHiL/IR PMBus).
> Would be great if you could post a screenshot of the sensors screen with GPU sensors and the HWiNFO Debug File.


guess all is not ok. No new info comparing with 3235 beta


How to get debug info file?

P.S. Seems that GPU Chip power values are showing more correct numbers then in prev beta ))


----------



## Mumak

Yes, I have also adjusted the "GPU Chip Power" value, though I'm still not 100% sure how accurate it is now.
Please see here how to create the Debug FIle:https://www.hwinfo.com/forum/Thread-IMPORTANT-Read-this-before-submitting-a-report

EDIT: Oh, to be sure you might also need to do a "Reset GPU I2C Cache" in main HWiNFO settings.


----------



## rednow

Here is DBG in zipped file

HWiNFO64_dbg.zip 54k .zip file


----------



## masteratarms

Quote:


> Originally Posted by *Mumak*
> 
> Hey guys, anyone willing to test a new Beta HWiNFO build on RX Vega? I'd like to verify if I can read the VDDC VRM chip.


It can but I was told to disable it or it can cause stuttering in games.


----------



## Mumak

Quote:


> Originally Posted by *rednow*
> 
> Here is DBG in zipped file
> 
> HWiNFO64_dbg.zip 54k .zip file


Thanks. Please try the following: before starting the scan, click the Settings button, then the "SMBus / I2C" tab and click the "Reset GPU I2C Cache" button.
Did this change anything ?


----------



## Mumak

Quote:


> Originally Posted by *masteratarms*
> 
> It can but I was told to disable it or it can cause stuttering in games.


If you have stuttering problems in games, you don't need to disable entire HWiNFO. Just disable additional GPU VRM sensors like the UP6266 by hitting the Del button over that sensor.


----------



## rednow

I tried, nothing changed


----------



## masteratarms

From 5.56 3230, GPU core current (1A), then in version just posted here it is replaced by GPU memory current (0.25A).


----------



## Mumak

Quote:


> Originally Posted by *rednow*
> 
> I tried, nothing changed


Can you please post a new Debug File after performing that operation ?


----------



## Mumak

Quote:


> Originally Posted by *masteratarms*
> 
> From 5.56 3230, GPU core current (1A), then in version just posted here it is replaced by GPU memory current (0.25A).


Yes, that was intentional.


----------



## rednow

Quote:


> Originally Posted by *Mumak*
> 
> Can you please post a new Debug File after performing that operation ?


I tried to clear cache before making dbg file I posted here


----------



## Mumak

Quote:


> Originally Posted by *rednow*
> 
> I tried to clear cache before making dbg file I posted here


That's odd because according to the DBG posted it doesn't seem to have been cleared before.


----------



## rednow

Quote:


> Originally Posted by *Mumak*
> 
> That's odd because according to the DBG posted it doesn't seem to have been cleared before.


sorry, maybe I tried to clear it, then seen no changes and make debug mode at the next program start. Should I clear cache in debug mode?


----------



## Mumak

Quote:


> Originally Posted by *rednow*
> 
> sorry, maybe I tried to clear it, then seen no changes and make debug mode at the next program start. Should I clear cache in debug mode?


Yup, you can perform both settings at once.


----------



## rednow

Quote:


> Originally Posted by *Mumak*
> 
> Yup, you can perform both settings at once.


well, I tried and it hangs the whole system ))


----------



## Mumak

Quote:


> Originally Posted by *rednow*
> 
> well, I tried and it hangs the whole system ))


Huh.. after reboot you should still be able to grab the DBG file produced of the hang.


----------



## gupsterg

@gtbtk

Thanks for info







, I will PM you as soon as my new rig is built, waiting on some WC parts. I wish to try something on Ryzen/GTX 1080 that you mentioned some months back. I will PM you as not to take this thread off topic







.

@FelixB

Thank you for info on testing CUinfo on VEGA







.
Quote:


> Originally Posted by *rednow*
> 
> With 17.8.2 drivers under win7 i cannot change P1-P5 power states with OverdriveNtool (the same with wattool or ecs87NextGear). Is this possible with hex mod in registry (Soft_PowerPlay)?


It should apply. It does on previous AMD GPUs.

Unfortunately I have bailed on buying VEGA this GPU purchase time







.

I have gone MSI GTX 1080 Sea Hawk EK X, for a few reasons that seemed right to me. I will be keeping an eye out for VEGA on a better deal than current and then sell on the GTX 1080. I will miss FreeSync whilst then







.


----------



## Nuke33

Quote:


> Originally Posted by *Mumak*
> 
> Hey guys, anyone willing to test a new Beta HWiNFO build on RX Vega? I'd like to verify if I can read the VDDC VRM chip.


Sure









I will give it a try tomorrow, since it is 3:30 am in germany. I am almost falling asleep in my chair


----------



## CaptBhlavious

Quote:


> Originally Posted by *LionS7*
> 
> Nope. I need Vega Frontier Edition (water), not RX Vega 64 (water).


Lion, did you every find a FE liquid cooled BIOS? I am interested in this as well. Have you tried flashing the Vega 64 BIOS? If so, does Radeon software show 16GB HBM2 or 8?


----------



## ba1b0a

I posted the full FE bios for Hellm in post 223. Anyone know of a way to raise the temperature limit via registry power play table?


----------



## LionS7

Quote:


> Originally Posted by *CaptBhlavious*
> 
> Lion, did you every find a FE liquid cooled BIOS? I am interested in this as well. Have you tried flashing the Vega 64 BIOS? If so, does Radeon software show 16GB HBM2 or 8?


No, not for know...


----------



## hellm

Quote:


> Originally Posted by *ba1b0a*
> 
> I posted the full FE bios for Hellm in post 223. Anyone know of a way to raise the temperature limit via registry power play table?


OP, "PowerTuneTable":

Code:



Code:


59 00 (89°C)    USHORT usSoftwareShutdownTemp;
69 00 (105°C)   USHORT usTemperatureLimitHotSpot;
49 00 (73°C)    USHORT usTemperatureLimitLiquid1;
49 00 (73°C)    USHORT usTemperatureLimitLiquid2;
5F 00 (95°C)    USHORT usTemperatureLimitHBM;
73 00 (115°C)   USHORT usTemperatureLimitVrSoc;
73 00 (115°C)   USHORT usTemperatureLimitVrMem;
64 00 (100°C)   USHORT usTemperatureLimitPlx;
40 00 (64Ω??)   USHORT usLoadLineResistance;

and that one is a little unclear, as there are two versions of PowerTune tables:

Code:



Code:


55 00 (85°C)    USHORT usTemperatureLimitTedge;

i don't think it is a good idea to raise temp limits. never was, never will. get more cooling power, your card will thank you.


----------



## y0bailey

This is a stupid thought, but I'm curious to get some opinions.

I have a MASSIVE 120mm x 38mm fan under my video card, pointing directly upward. I've rigged this up to pull cool air directly from outside the case (using a bottom fan opening with dust filter), so I've had some fantastic GPU temps in the past, but using "non-blower" type coolers.

If I pull the shroud off my 56 and blast air straight up at it (while still leaving the blower cooler connected), would this be a waste of time? The cooling fins on the card aren't open to the top of the card, so I'm not seeing how it may help much.

I should get my 56 later this week and I'll probably try it out just for giggles, but until aftermarket coolers are available, I want to keep the noise down as much as possible while keeping temps down as well.


----------



## Nuke33

@Mumak
I can´t see any new readings either. Cleared I2C Cache, but nothing changed.


----------



## Mumak

Thanks for the feedback. My Vega should finally arrive today, so I can check this in detail here and see what can be done..
It's gonna be a surprise package from AMD, because I don't know which model they shipped









EDIT: Just arrived







aaand it's a Vega 64.. going to torture it now..


----------



## Newbie2009

I asked before but I've heard some saying opposite.

Which is the powersave bios vs performance bios switch position.

As I understand it, switch closest to video outputs is high performance, switch closest to 8pins is low power. Is that correct?


----------



## Mumak

Hm, no matter what I do, I cannot find any IRF VRM on the RX Vega (which I was told that should be there). Either it's again somehow blocked (but not the same way as on Vega FE in the VBIOS), or I dunno..
Anyway, just released a new HWiNFO build 3240. This will show another UP6266 chip, but its output is not much relevant.
Also the new fixed "GPU Chip Power" value should reflect at least what the GPU thinks it's consuming as it's pretty well clamped at the power limit set.


----------



## Nuke33

Quote:


> Originally Posted by *Mumak*
> 
> Hm, no matter what I do, I cannot find any IRF VRM on the RX Vega (which I was told that should be there). Either it's again somehow blocked (but not the same way as on Vega FE in the VBIOS), or I dunno..
> Anyway, just released a new HWiNFO build 3240. This will show another UP6266 chip, but its output is not much relevant.
> Also the new fixed "GPU Chip Power" value should reflect at least what the GPU thinks it's consuming as it's pretty well clamped at the power limit set.


I will give it a try. I can monitor my PCIe rails consumption trough my Ax760i PSU.
Will post my readings later on.


----------



## Nuke33

Quote:


> Originally Posted by *Mumak*
> 
> Thanks for the feedback. My Vega should finally arrive today, so I can check this in detail here and see what can be done..
> It's gonna be a surprise package from AMD, because I don't know which model they shipped
> 
> 
> 
> 
> 
> 
> 
> 
> 
> EDIT: Just arrived
> 
> 
> 
> 
> 
> 
> 
> aaand it's a Vega 64.. going to torture it now..


Nice, have fun








Did AMD send you those to keep or just for testing purposes ?


----------



## Mumak

Quote:


> Originally Posted by *Nuke33*
> 
> Nice, have fun
> 
> 
> 
> 
> 
> 
> 
> 
> Did AMD send you those to keep or just for testing purposes ?


For testing as developer support. Not sure about the exact terms though, officially it's a 'loan'.


----------



## Nuke33

Quote:


> Originally Posted by *Mumak*
> 
> For testing as developer support. Not sure about the exact terms though, officially it's a 'loan'.


I think they should let developers of useful tools like yours keep the card. 500$ for software development and exposure isnt that much.


----------



## Dolk

How well does the SoftPowerPlay reg hack work with 17.8.2? I was playing around with the %PowerPlay and I didn't see any changes take affect.


----------



## rancor

Quote:


> Originally Posted by *Dolk*
> 
> How well does the SoftPowerPlay reg hack work with 17.8.2? I was playing around with the %PowerPlay and I didn't see any changes take affect.


I see an increase in the watman %power with 17.8.2.

Are you using the correct SoftPowerPlay reg for your card and is it in the correct registry folder? You will also need to reboot the driver to see the changes take effect. This can be done with CRU or rebooting your computer.


----------



## Dolk

How do you confirm the %power increased though?

When using or not using the reg hack, and kept %power at 0%, GPUz reported max power usage on GPU at 200W

When using or not using the reg hack, and kept %power at 50%, GPUz reported max power usage on GPU at ~300W.

I am using this reg hack: http://www.overclock.net/t/1633446/preliminary-view-of-amd-vega-bios/330#post_26319223
It has a +142% on PowerPlay.


----------



## rancor

Quote:


> Originally Posted by *Dolk*
> 
> How do you confirm the %power increased though?
> 
> When using or not using the reg hack, and kept %power at 0%, GPUz reported max power usage on GPU at 200W
> 
> When using or not using the reg hack, and kept %power at 50%, GPUz reported max power usage on GPU at ~300W.
> 
> I am using this reg hack: http://www.overclock.net/t/1633446/preliminary-view-of-amd-vega-bios/330#post_26319223
> It has a +142% on PowerPlay.


At this point all I can really look at is GPUz. Stock power limit follows the ~260W of the LC bios. +50% gets me to about 330W usage should be 390W Limit. And the 450A and 150% gets me to 350W-370W. At this point I am assuming I am at the actual power draw of the GPU. I would think more voltage and higher clocks would increase power draw past 370W but I am maxed out on both.


----------



## y0bailey

What is everyone using the "stability test" their GPUs? Furmark? Unreal on loop?

I'm trapped at work until 7pm tonight, but I want to hit the ground running when I get home and grab my Vega off the porch!


----------



## Dolk

Quote:


> Originally Posted by *rancor*
> 
> At this point all I can really look at is GPUz. Stock power limit follows the ~260W of the LC bios. +50% gets me to about 330W usage should be 390W Limit. And the 450A and 150% gets me to 350W-370W. At this point I am assuming I am at the actual power draw of the GPU. I would think more voltage and higher clocks would increase power draw past 370W but I am maxed out on both.


Ok, maybe I'm applying things wrong. Let me see if my procedure is similar to yours.

I reset AMD Wattman and set it to "Custom" profile with manual voltage control. I than apply the reg hack that I linked in my previous post. I than restart my system, and perform the first step once more. I than run TimeSpy and monitor GPUz. It is at this point I notice that GPU usage maxes at 200W.

Am I missing something?


----------



## hellm

U only have to use manual voltage, if u want to use different voltages for the Vcore. The second voltage isn't the actual HBM voltage, it has according to buildzoid no impact on oc.

If you only change power limits, use wattman as usual, just set the % and apply.


----------



## rancor

Quote:


> Originally Posted by *Dolk*
> 
> Ok, maybe I'm applying things wrong. Let me see if my procedure is similar to yours.
> 
> I reset AMD Wattman and set it to "Custom" profile with manual voltage control. I than apply the reg hack that I linked in my previous post. I than restart my system, and perform the first step once more. I than run TimeSpy and monitor GPUz. It is at this point I notice that GPU usage maxes at 200W.
> 
> Am I missing something?


After reboot if the registry hack was applied correctly the watman slider for power limit should now be able to go to +-140%. Set the percentage you want (it will default to 0%) and now run your test. If the slider still only goes to 50% then the registry hack didn't apply correctly. You could have more than one folder, 0000 and 0001 for instance, or you need to edit the Hex table, or you have the wrong power play table for the bios on the card.


----------



## Dolk

Quote:


> Originally Posted by *rancor*
> 
> After reboot if the registry hack was applied correctly the watman slider for power limit should now be able to go to +-140%. Set the percentage you want (it will default to 0%) and now run your test. If the slider still only goes to 50% then the registry hack didn't apply correctly. You could have more than one folder, 0000 and 0001 for instance, or you need to edit the Hex table, or you have the wrong power play table for the bios on the card.


Thanks for the tip. I'll try again later this week.


----------



## hellm

added a modded SoftPowerPlay for the 64 AIO BIOS with higher power limit. I also set the shutdown temp to 89°C, same as 64 and 56.

http://www.overclock.net/t/1633446/preliminary-view-of-amd-vega-bios/250#post_26297003


----------



## Dolk

Thanks for the updates. I'll have to try the new one.


----------



## LionS7

Quote:


> Originally Posted by *hellm*
> 
> added a modded SoftPowerPlay for the 64 AIO BIOS with higher power limit. I also set the shutdown temp to 89°C, same as 64 and 56.
> 
> http://www.overclock.net/t/1633446/preliminary-view-of-amd-vega-bios/250#post_26297003


Did the reg mode need to be re-applied after every drivers reinstalling ?


----------



## hellm

yep. u deinstall the SoftPowerPlay registry binary with the driver. So after the new version is installed, u have to re-add it to the registry.


----------



## majestynl

*First of all BIG Thanks to @gupsterg and @hellm for quick help and this great thread!*

Just flashed my VEGA 64 with the AIO Bios and after that i changed the SOFT PP (AIO 142/400) in the register.

Below some screenshots for who is interested in the benchmark results with SuperPosition:

Made a fresh Windows install before i started!

*1) Stock Bios / Stock settings / No changes*


Spoiler: Warning: Spoiler!







*2) AIO Bios / 1075 HBM/ +50 Powerlimit*


Spoiler: Warning: Spoiler!







*3) AIO Bios / 1090 HBM/ +50 Powerlimit*


Spoiler: Warning: Spoiler!







*4) AIO Bios / 1090 HBM/ +100 Powerlimit*


Spoiler: Warning: Spoiler!







For now i dont get higher benchmarks with 142% Powerlimit neither with 1100 HBM.
Going to play more with voltages and setting..
Keep updating!


----------



## Tgrove

Very nice. For comparison heres mine with sig rig vega 64 aio undervolted

Core roughly 1640mhz during
hbm 1100mhz
12 threads
1100mv voltage
+50% power target



You shoukd easily hit 6.9k with core oc


----------



## majestynl

Quote:


> Originally Posted by *Tgrove*
> 
> Very nice. For comparison heres mine with sig rig vega 64 aio undervolted
> 
> 
> Spoiler: Warning: Spoiler!
> 
> 
> 
> Core roughly 1640mhz during
> hbm 1100mhz
> 12 threads
> 1100mv voltage
> +50% power target
> 
> 
> 
> You shoukd easily hit 6.9k with core oc


Thanks









Just hit a new best score for my card:



Just changed P6 slightly below P7. There is a kind of bug in Wattman if you set P6 same as P7 (clocks) it gets stuck in ~p5.
I saw this earlier but now im sure after testing and sawing the clip from "Actually Hardcore Overclocking"

Found out that the HBM voltage is definitely not the HBM voltage (like we allready know) *BUT* a certain min voltage for the GPU.
So people saying they are undervolting, are in real not undervolting if they dont change the (fake) HBM voltage slider. LOL

I just increased the HBM voltage slider from 950mv to 1050mv. Cause i think ~950mv is way to low for the GPU if you want it stable on high clocks.

Currently hitting 1690Mhz clocks with 1090 Mhz HBM









Lets see if we can squeeze more out of it...

Helpful source for my testing: 




*Screenshot of Wattmann Setting for above score and testresults:*


Spoiler: Warning: Spoiler!


----------



## hellm

from what i can tell from the BIOS, the AIO Version should allow 1250mV in Wattman.


----------



## S1L3N7D3A7H

@hellm

Do you think there is a way to get less than 900mV working with your registry changes? I'm trying to keep my core frequency less than 1000MHz and my voltage around 835mV. I found an unreliable way to do it by getting wattman to bug, but I need a bit more control over the P7 state. Need it in P7 to keep the HBM from downclocking.


----------



## rancor

Quote:


> Originally Posted by *hellm*
> 
> from what i can tell from the BIOS, the AIO Version should allow 1250mV in Wattman.


It does and it can help if you are watercooled but only ~50MHz for me


----------



## SpaceGorilla47

Quote:


> Originally Posted by *hellm*
> 
> added a modded SoftPowerPlay for the 64 AIO BIOS with higher power limit. I also set the shutdown temp to 89°C, same as 64 and 56.
> 
> http://www.overclock.net/t/1633446/preliminary-view-of-amd-vega-bios/250#post_26297003


If the new shutdown temp works, i would NOT recommend it for AIO users. Water temp will go through the roof, with greatly decreased lifespan for the AIO Cooler.
Great Mod for the Air-Edition tho.

@Mumak
HWInfo shows me "sometimes" the GPU Liquid Temp. Is there actual a sensor in the AIO or is this just some computation?


----------



## gupsterg

@majestynl

Sweet to see results from mods, +rep for share









@SpaceGorilla47

I believe there would be sensor for liquid temp on AIO VEGA as Fury X had one.


----------



## hellm

Quote:


> Originally Posted by *S1L3N7D3A7H*
> 
> @hellm
> 
> Do you think there is a way to get less than 900mV working with your registry changes? I'm trying to keep my core frequency less than 1000MHz and my voltage around 835mV. I found an unreliable way to do it by getting wattman to bug, but I need a bit more control over the P7 state. Need it in P7 to keep the HBM from downclocking.


you have to try. i really don't know, don't own a Vega. i explained how to change the VDDC Lookup table in PowerPlay, what other thing has to be changed, that mysteriously voltage found with the memory setting in wattman.. if and how.. i don't know.

i don't have much experience with undervolting, and it does not make much sense for me either..

have a look at the new vid from buildzoid..


----------



## gupsterg

The mystery voltage in PowerPlay is VDDCI, what is shown as Memory Voltage in WattMan is probably a dummy value.

IIRC Buildzoid has measured with DMM as 900mV, changing within WattMan the value did not change reading on DMM from his tests, it also had no affect on his card for MHz, etc. This matches what is in PowerPlay.



All VEGA cards have same 900mV in PowerPlay.


----------



## Mumak

Quote:


> Originally Posted by *SpaceGorilla47*
> 
> @Mumak
> HWInfo shows me "sometimes" the GPU Liquid Temp. Is there actual a sensor in the AIO or is this just some computation?


Yes, I believe there should be a sensor for that. Does it mean sometimes the Liquid Temperature is shown in gray indicating a wrong readout ?


----------



## SpaceGorilla47

Quote:


> Originally Posted by *Mumak*
> 
> Does it mean sometimes the Liquid Temperature is shown in gray indicating a wrong readout ?


Sometimes the whole line does not show up, sometimes there are no values (just blank) and sometimes it shows the values.
Can post some screenshots later, if u want

Btw: monitoring the GPU VRM Voltage causes some weird slowdowns like rubber banding every couple seconds


----------



## Mumak

Quote:


> Originally Posted by *SpaceGorilla47*
> 
> Sometimes the whole line does not show up, sometimes there are no values (just blank) and sometimes it shows the values.
> Can post some screenshots later, if u want
> 
> Btw: monitoring the GPU VRM Voltage causes some weird slowdowns like rubber banding every couple seconds


That looks like a firmware (SMU) problem, which sometimes doesn't provide valid values for this temperature. Other values like HBM temperature are read using the same method and don't show such issues.

Yep, the GPU VRM Voltage can cause such problems because it's read via I2C. Since this value is probably not useful, just hit Del key over the sensor heading to disable monitoring of it and you should be well.


----------



## SpaceGorilla47

Thanks, good to know.

The Liquid Temp is quite handy for AIO users, hopefully AMD will/can fix this (i dont believe it







)


----------



## majestynl

Quote:


> Originally Posted by *gupsterg*
> 
> The mystery voltage in PowerPlay is VDDCI, what is shown as Memory Voltage in WattMan is probably a dummy value.
> 
> IIRC Buildzoid has measured with DMM as 900mV, changing within WattMan the value did not change reading on DMM from his tests, it also had no affect on his card for MHz, etc. This matches what is in PowerPlay.
> 
> 
> 
> All VEGA cards have same 900mV in PowerPlay.


Gup, did you check this video: Link

Changing the HBM fake voltage slider has effect on clock voltages. He also measured with a DMM


----------



## shadowxaero

Quote:


> Originally Posted by *majestynl*
> 
> Gup, did you check this video: Link
> 
> Changing the HBM fake voltage slider has effect on clock voltages. He also measured with a DMM


When I change that voltage slider to anything above 1050mv, HBM downclocks to 800MHz. This is on Vega64 flashed with AIO bios. Can anyone confirm?

If I go to 1250mv I can sustain clocks over 1700Mhz, but doesn't matter is HBM is running at 800 lmao.


----------



## y0bailey

Well my Vega 56 is here and installed. Had a few hours to play around with it last night. I don't have the paid version of 3dmark, so I used the TimeSpy bench.

Stock Vega 56 - Low 6000's
Vega 56 to 64 flash - Mid 6000
Vega flashed + +50% slider and some fan tweaks = almost 7000. GPU core runs mid-upper 1500 the whole time. Didn't push the ram any (besides the 64 flash auto-increasing speed).

I'm happy with that and probably won't push it much more. Simple as hell overclock, stable.


----------



## Energylite

Nice Mod result Majestynl !
Quote:


> Originally Posted by *majestynl*
> 
> Gup, did you check this video: Link
> 
> Changing the HBM fake voltage slider has effect on clock voltages. He also measured with a DMM


Oh ok, Im glad to see that setting p6 and p7 at the same setting is a bug. I thought my card was doing sht whith it but okay if it's on all V64.
BTW when i did my test on my Vega last week, changing the "Mem voltage" affect a bit my core speed. On superposition bench, im at 1580Mhz for 1000mv and when i try to max out the settings im at 1640-50 Mhz at 1200mv.

And one thing that i learnt on this video: Bullzoid only knows to overvolting, not undervolting


----------



## eaiversen

Hi people! I'm new to this forum so please don't slaughter me for asking some newbie questions. I've just a built a new computer with the following specs:

Motherboard: MSI B350M Mortar Arctic
CPU: Ryzen 5 1600
GPU: MSI Vega 56
RAM: Corsair LPX Vengeance 16GB DDR4-3200
PSU: Corsair TX650W (from an old build)
SSD: Samsung EVO 960 250GB

So I've been reading about people flashing the BIOS on the Vega 56 and almost getting Vega 64 results, and even surpassing it with some overclocking aftewards. I would like to try this for myself, but I have some questions before I go ahead:

- Which of the following BIOS should I flash my MSI Vega 56 with from this bios collection?

- What are the risks of flashing the BIOS? I don't think I understand how dual BIOS work. Is there a physical switch on the card?

- Is it feasible to flash the BIOS, and oveclock afterwards with the stock cooling on the reference card?

- Will flashing the BIOS lead to any compatibility issues with future driver updates?

Thank you for your replies!


----------



## Energylite

Quote:


> Originally Posted by *eaiversen*
> 
> Hi people! I'm new to this forum so please don't slaughter me for asking some newbie questions. I've just a built a new computer with the following specs:
> 
> Motherboard: MSI B350M Mortar Arctic
> CPU: Ryzen 5 1600
> GPU: MSI Vega 56
> RAM: Corsair LPX Vengeance 16GB DDR4-3200
> PSU: Corsair TX650W (from an old build)
> SSD: Samsung EVO 960 250GB
> 
> So I've been reading about people flashing the BIOS on the Vega 56 and almost getting Vega 64 results, and even surpassing it with some overclocking aftewards. I would like to try this for myself, but I have some questions before I go ahead:
> 
> - Which of the following BIOS should I flash my MSI Vega 56 with from this bios collection?
> 
> - What are the risks of flashing the BIOS? I don't think I understand how dual BIOS work. Is there a physical switch on the card?
> 
> - Is it feasible to flash the BIOS, and oveclock afterwards with the stock cooling on the reference card?
> 
> - Will flashing the BIOS lead to any compatibility issues with future driver updates?
> 
> Thank you for your replies!


-Flash your bios A
-what are the risks ? hm bricked your card if you'r not doing it well
-OC with the stock cooling, hm unfornately no, this cooler is too weak
-Normaly no. normaly


----------



## y0bailey

Quote:


> Originally Posted by *eaiversen*
> 
> Hi people! I'm new to this forum so please don't slaughter me for asking some newbie questions. I've just a built a new computer with the following specs:
> 
> Motherboard: MSI B350M Mortar Arctic
> CPU: Ryzen 5 1600
> GPU: MSI Vega 56
> RAM: Corsair LPX Vengeance 16GB DDR4-3200
> PSU: Corsair TX650W (from an old build)
> SSD: Samsung EVO 960 250GB
> 
> So I've been reading about people flashing the BIOS on the Vega 56 and almost getting Vega 64 results, and even surpassing it with some overclocking aftewards. I would like to try this for myself, but I have some questions before I go ahead:
> 
> - Which of the following BIOS should I flash my MSI Vega 56 with from this bios collection?
> 
> - What are the risks of flashing the BIOS? I don't think I understand how dual BIOS work. Is there a physical switch on the card?
> 
> - Is it feasible to flash the BIOS, and oveclock afterwards with the stock cooling on the reference card?
> 
> - Will flashing the BIOS lead to any compatibility issues with future driver updates?
> 
> Thank you for your replies!


I did this last night.

Risks are pretty minimal as you have a "backup bios" built on your card. If you brick it, you can go to the backup bios, boot windows, then switch it to the bricked bios and re-flash it with your stock 56 bios (always make a backup prior to flashing)

I did some light overclocking post-flash to 64. Nothing fancy, but yes you can overclock, you may just be near the ceiling already as you are already "overclocked" and running faster speeds of the 64. Stock cooler is fine if you don't mind the noise...I was expecting MUCH worse performance from it than I'm getting now.

Unlikely to cause any compatibility issues...but I aint an expert here.


----------



## majestynl

So playing around with WattMan. Found a lot of bugs in the freaking sliders and value-fields








AMD Definitely need fixes for Wattman..Its confusing when people will set certain values.
anyways.. managed good results.

*Voltages for P6 and P7:* 1200mV
*HBM Freq:* 1090Mhz
*Achieved GPU max. clocks with SuperPosition:* 1692Mhz
*Achieved GPU max. clocks with 3D Mark:* 1713Mhz
*Tempratures:* ~51c
*Vega:* Vega 64 on a EK waterblock
*Bios:* AIO version Bios
*PowerPlay:* AIO / 142% / 400
*Screenshot WattMan:* see below





*WattMan Screenie:*


Spoiler: Warning: Spoiler!


----------



## gupsterg

Quote:


> Originally Posted by *majestynl*
> 
> Gup, did you check this video: Link
> 
> Changing the HBM fake voltage slider has effect on clock voltages. He also measured with a DMM


Nope, will do soon







.

Buildzoid before has made numerous posts it has had no effect for him. If now he says it does in video then his test methods must of changed. See this post.


----------



## S1L3N7D3A7H

After watching that video from Buildzoid, I took another attempt at optimizing my undervolt for ETH mining.

If any of you are interested in getting 42MH/s on ETH with just roughly 150w total card power, this is how I did it.
You will probably only get over 42MH/s on the main ETH chain with the blockchain driver. Haven't been able to test it.
I know others using the blockchain driver running 1100MHz HBM do get over 42MH/s. I get over 44MH/s mining Ubiq
with 17.9.1.

900/1100/875/875/0% - 42MH/s ETH at 150w

Clean Driver Install:
Safemode + DDU
Reboot
Regedit:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}
Delete any 000X folders after rebooting from DDU to do a clean install
Install latest driver
Reboot

Initial Configuration:
XFX Vega 64 - 220w Air BIOS (Toward PCI-E Bracket)
Remove any and all applications that can tweak GPU settings (IE: Afterburner)
Driver 17.9.1 (Use Blockchain Driver to get 42MH/s on main ETH chain)
HWiNFO 64 Beta v5.57-3240
Reset to default in WattMan

Bug Procedure (No GPU Load Required)
Step 1: Change profile to custom
Step 2: Turn on dynamic GPU frequency and change State 7 to Min/Max and 900
Step 3: Change voltage control to manual and set GPU and Memory voltage to 875
Step 4: Set fan speed 2500/3500
Step 5: Hit apply (HWiNFO should read 1.050V GPU Core Voltage)
Step 6: Turn on dynamic Memory frequency and change to 1100MHz
Step 7: Hit apply (HWiNFO should read 900mV GPU Core Voltage)



http://imgur.com/WseAy


Edit. Just swapped HBM frequency change to last step. Has been the only way I can 100% get the core voltage to drop to 875mV.
Edit. Simplified Steps


----------



## Nocliptoni

Quote:


> Originally Posted by *shadowxaero*
> 
> When I change that voltage slider to anything above 1050mv, HBM downclocks to 800MHz. This is on Vega64 flashed with AIO bios. Can anyone confirm?
> 
> If I go to 1250mv I can sustain clocks over 1700Mhz, but doesn't matter is HBM is running at 800 lmao.


Yes mine does the same if i set voltage for HBM2 higher than 1050mV .I cannot overclock the GPU at all without a crash (64 AIO) but by raising the power limit and undervolting by 20mV i get a pretty solid 1720MHz .

https://www.3dmark.com/fs/13613717

25045 Graphics score


----------



## Newbie2009

Quote:


> Originally Posted by *Nocliptoni*
> 
> Yes mine does the same if i set voltage for HBM2 higher than 1050mV .I cannot overclock the GPU at all without a crash (64 AIO) but by raising the power limit and undervolting by 20mV i get a pretty solid 1720MHz .
> 
> https://www.3dmark.com/fs/13613717
> 
> 25045 Graphics score


Threadripper, very fancy!

My best.

https://www.3dmark.com/fs/13601825

Don't think we will see any vega 64 break 26k


----------



## Nocliptoni

Quote:


> Originally Posted by *Newbie2009*
> 
> Threadripper, very fancy!
> 
> My best.
> 
> https://www.3dmark.com/fs/13601825
> 
> Don't think we will see any vega 64 break 26k


Thank you , i went a bit overboard with this build







With a modded BIOS maybe, i think the power limit is stopping me from overclocking .Very nice score ,is 3dmark reading it wrong or how did you get your memory up to 1200MHz , i cant get past 1100Mhz ?


----------



## buildzoid

I'm sure if I wasn't on the stock cooler I could push 26K: https://www.3dmark.com/fs/13514279

BTW VEGA CPU bottlenecks on anything slower than a 7700K when doing regular Firesitrike. On X99 I top out around 25.2K on Ryzen it's in the 24.3K range IIRC.


----------



## buildzoid

Quote:


> Originally Posted by *gupsterg*
> 
> Nope, will do soon
> 
> 
> 
> 
> 
> 
> 
> .
> 
> Buildzoid before has made numerous posts it has had no effect for him. If now he says it does in video then his test methods must of changed. See this post.


Yeah I didn't think to check the Vcore VRM when messing with the "memory voltage". It still has 0 impact on HBM OC capabilities and doesn't do anything to any of the other voltages on the card but changing the mem voltage slider limits the minimum Vcore you can set.


----------



## Newbie2009

Quote:


> Originally Posted by *Nocliptoni*
> 
> Thank you , i went a bit overboard with this build
> 
> 
> 
> 
> 
> 
> 
> With a modded BIOS maybe, i think the power limit is stopping me from overclocking .Very nice score ,is 3dmark reading it wrong or how did you get your memory up to 1200MHz , i cant get past 1100Mhz ?


It's just reading it wrong.

What kinda cooling you have on the cpu?


----------



## Dolk

Quote:


> Originally Posted by *buildzoid*
> 
> I'm sure if I wasn't on the stock cooler I could push 26K: https://www.3dmark.com/fs/13514279
> 
> BTW VEGA CPU bottlenecks on anything slower than a 7700K when doing regular Firesitrike. On X99 I top out around 25.2K on Ryzen it's in the 24.3K range IIRC.


Can you further explain? I don't fully understand how a Ryzen or 7700K gets bottlenecked with this card and not a 1080.


----------



## buildzoid

Quote:


> Originally Posted by *Dolk*
> 
> Can you further explain? I don't fully understand how a Ryzen or 7700K gets bottlenecked with this card and not a 1080.


AMD's driver kinda hogs CPUs. The end result is that by just moving from my 4GHz R7 1700 to a 5.1GHz 7700K I picked up around 1000 points in the graphics score at 1080p. For Timespy and Firestrike Extreme there isn't much if any difference in scores since those test run at lot lower FPS.


----------



## Nocliptoni

Quote:


> Originally Posted by *Newbie2009*
> 
> It's just reading it wrong.
> 
> What kinda cooling you have on the cpu?


Ah ok thats a shame







I have Kraken X61 AIO ,keeps it nice and cool even when overclocked .


----------



## Dolk

Quote:


> Originally Posted by *buildzoid*
> 
> AMD's driver kinda hogs CPUs. The end result is that by just moving from my 4GHz R7 1700 to a 5.1GHz 7700K I picked up around 1000 points in the graphics score at 1080p. For Timespy and Firestrike Extreme there isn't much if any difference in scores since those test run at lot lower FPS.


Hmm I'm not convinced by that comparison. Older benchmarks still rely on single threaded in the GPU tests, and Intel CPUs will always win in that section. You could say that a lower FPS result is the result of a CPU bottleneck just like saying a FPS cap is the result of a CPU bottleneck: ie it all goes back to how quickly the CPU can get the information back to the GPU for rendering and receiving the information for storage.

I would never second guess a benchmark that favors an Intel CPU when it relies more on single threaded instructions rather than multi-threaded instructions.


----------



## AMDFXBoy

Quote:


> Originally Posted by *hellm*
> 
> I will try to make this easy for everyone. Here is a little How-to.
> 
> First of all, you need the 17.7.2 (or 17.8.1) driver. You will have to check [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\, if the card is installed under 0000.
> 
> 
> Spoiler: fix this
> 
> 
> 
> Run a clean deinstall with DDU in safe mode (Safe Mode W10)
> Open regedit (right click start -> run) and goto HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}. If there is more than the 0000 entry, use DDU again and select intel or/and nvidia driver to be removed.
> 
> 
> Of course, you could also edit the .reg file.
> 
> Open Wattman and reset first if you did anything there, set "Voltage Control" to manual, then apply. This is to prevent any instability upon the next reboot.
> 
> Now, download the registry file for your Vega:
> 
> MorePowerVega56.zip 1k .zip file
> 
> 
> MorePowerVega64.zip 1k .zip file
> 
> 
> MorePowerVega64AIO.zip 1k .zip file
> 
> 
> MorePowerVegaFE.zip 1k .zip file
> 
> 
> MorePowerVegaFEAIO.zip 1k .zip file
> 
> 
> Open the file by right click -> edit.
> There is no need to flatten the power states, that would do nothing for a Radeon. We are not talking Boost here, but do as u wish.
> The voltages are found at the exact same place for all of the Vega cards, and the values are also the same.
> For P-State 7 Vcore:
> 
> B0 04 -> 0x4B0 -> 1200mV
> examples:
> C9 04 -> 0x4C9 -> 1225mV
> E2 04 -> 0x4E2 -> 1250mV
> FB 04 -> 0x4FB -> 1275mV
> ...
> For the HBM voltage the 56 version has a lower voltage, which is also the version i am using here.
> 
> E2 04 -> 0x4E2 -> 1250mV (56)
> 46 05 -> 0x546 -> 1350mV (FE, 64)
> 
> For the clockrates, easiest way is to search for the hex-value, i guess. P-State 7 clockrate should also be followed by 00 07.
> 
> 00 71 02 -> 0x27100 -> 160000 -> 1600MHz (FE)
> 18 6D 02 -> 0x26D18 -> 159000 -> 1590MHz (56)
> You have to multiplicate with 100, take the hex value and reverse it to "little endian".
> 
> Same goes for the memory.
> Vega 56:
> 
> 80 38 01 -> 0x13880 -> 80000 -> 800MHz
> Vega FE (64):
> 
> 24 71 01 -> 0x17124 -> 94500 -> 945MHz
> 
> this probably wouldn't make much sense if you don't raise the powerlimit.
> max power limit (+50% = 0x32) for all Vega cards:
> 
> 
> 
> Spoiler: TDP, TDC...
> 
> 
> 
> 56:
> 
> A5 00 -> 0xA5 -> 165W Socket PowerLimit
> A5 00 -> 0xA5 -> 165W Battery PowerLimit
> A5 00 -> 0xA5 -> 165W Small PowerLimit
> 2C 01 -> 0x12C -> 300A Tdc Limit
> 64:
> 
> FE:
> 
> DC 00 -> 0xDC -> 220W Socket PowerLimit
> DC 00 -> 0xDC -> 220W Battery PowerLimit
> DC 00 -> 0xDC -> 220W Small PowerLimit
> 2C 01 -> 0x12C -> 300A Tdc Limit
> 64 AIO:
> 
> FE AIO:
> 
> 08 01 -> 0x108 -> 264W Socket PowerLimit
> 08 01 -> 0x108 -> 264W Battery PowerLimit
> 08 01 -> 0x108 -> 264W Small PowerLimit
> 2C 01 -> 0x12C -> 300A Tdc Limit
> 
> 
> 
> When you are done -> save file -> double click to add it to the registry.
> 
> reboot.
> 
> Your clockrates will be still at stock, as will be the voltages, cause you applied them previously. So, open Wattman, and hit the reset butten; don't close Wattman, you have to change Voltage Control to manual again and then apply.
> 
> Done! The voltages and the clockrates you entered in SoftPowerPlay should work now.
> 
> To adjust voltages just edit the SoftPowerPlay again and add it to the registry. For the clockrates, you have to reset with Wattman first and then apply manual voltage setting again.
> 
> +142% power limit, 220W, 400A
> 
> MorePowerVega56_142.zip 1k .zip file
> 
> 
> MorePowerVega64_142.zip 1k .zip file
> 
> 
> only for very good cooling solutions, not stock aio, the lower shutdown temp is to prevent the pump from taking damage!
> +142% power limit, 264W, 400A, shutdown temp 89°C (=56,64)
> 
> MorePowerVega64AIO_142.zip 1k .zip file


Thanks for this, very useful. +rep

What is the value to increase the core voltage to 1300mv, or even 1325mv?

I couldn't work it out, even from your guide.


----------



## asdkj1740

is the powerplaytable compatible with non ref cards like asus strix vega64?


----------



## hellm

Quote:


> Originally Posted by *AMDFXBoy*
> 
> Thanks for this, very useful. +rep
> 
> What is the value to increase the core voltage to 1300mv, or even 1325mv?
> 
> I couldn't work it out, even from your guide.


Try convert it to hexadecimal. You should understand it, to make sure you enter the right bytes. and not accidentally give 2200mV or something. Ask buildzoid how that went..

Quote:


> Originally Posted by *asdkj1740*
> 
> is the powerplaytable compatible with non ref cards like asus strix vega64?


generally, yes. But there will be differences at least for the fan table i guess. so it will work, but not ideally.

Maybe the next Afterbrurner release can copy the PowerPlay table to the registry for all Vega cards, it is the "extend official overclocking limits" thing. You have to mod the table then in the registry or extract it from there first.


----------



## buildzoid

@hellm did you actually test that changing the powerplaytable voltage actually did anything? because while I can get wattman to display 1250 or even 1300mv using the powerplay tables but it doesn't actually give me 1.2V on the card. Same goes for HBM voltage. Though I might be doing something wrong in terms of which order I apply the mods in.

I think the voltages are gonna be similar to the max temp in that the BIOS limits for them take priority over anything you do in the power play table.

EDIT: Nope the mod works I just did it wrong. Vcore can be change in soft power play. HBM can't be changed.

Trying to control Vcore this way is janky AF. I just broke the mod again.


----------



## AMDFXBoy

Quote:


> Originally Posted by *buildzoid*
> 
> @hellm did you actually test that changing the powerplaytable voltage actually did anything? because while I can get wattman to display 1250 or even 1300mv using the powerplay tables but it doesn't actually give me 1.2V on the card. Same goes for HBM voltage. Though I might be doing something wrong in terms of which order I apply the mods in.
> 
> I think the voltages are gonna be similar to the max temp in that the BIOS limits for them take priority over anything you do in the power play table.
> 
> EDIT: Nope the mod works I just did it wrong. Vcore can be change in soft power play. HBM can't be changed.
> 
> Trying to control Vcore this way is janky AF. I just broke the mod again.


What hex value did you enter for 1300mv?


----------



## hellm

Quote:


> Originally Posted by *buildzoid*
> 
> @hellm did you actually test that changing the powerplaytable voltage actually did anything? because while I can get wattman to display 1250 or even 1300mv using the powerplay tables but it doesn't actually give me 1.2V on the card. Same goes for HBM voltage. Though I might be doing something wrong in terms of which order I apply the mods in.
> 
> I think the voltages are gonna be similar to the max temp in that the BIOS limits for them take priority over anything you do in the power play table.
> 
> EDIT: Nope the mod works I just did it wrong. Vcore can be change in soft power play. HBM can't be changed.
> 
> Trying to control Vcore this way is janky AF. I just broke the mod again.


No, i don't have a Vega.. student without any patreons









It works perfectly with Polaris, but not just by adding the modded SoftPowerPlay. You have to switch to manual voltage, at that point wattman shows the higher voltage, and then hit apply. you can not change the voltage to another value above the original limit, but it will accept the value set in SoftPowerPlay.

it could be different with Vega.., but BIOS structure is basically the same, min/max voltages in ASIC_Profiling, there are no placeholders in the powerplay table as with Polaris or other GPU's, it is the precise value.. i don't know..


----------



## asdkj1740

hellm which softpowerplay would you suggest for the asus strix 64?
any risk doing this?


----------



## buildzoid

Quote:


> Originally Posted by *hellm*
> 
> No, i don't have a Vega.. student without any patreons
> 
> 
> 
> 
> 
> 
> 
> 
> 
> It works perfectly with Polaris, but not just by adding the modded SoftPowerPlay. You have to switch to manual voltage, at that point wattman shows the higher voltage, and then hit apply. you can not change the voltage to another value above the original limit, but it will accept the value set in SoftPowerPlay.
> 
> it could be different with Vega.., but BIOS structure is basically the same, min/max voltages in ASIC_Profiling, there are no placeholders in the powerplay table as with Polaris or other GPU's, it is the precise value.. i don't know..


Yeah I eventually got the core voltage to set. Can't change core clock in any software though. HBM voltage doesn't change.


----------



## hellm

Quote:


> Originally Posted by *buildzoid*
> 
> Yeah I eventually got the core voltage to set. Can't change core clock in any software though. HBM voltage doesn't change.


Yes, HBM overvoltage doesn't work. Someone in a german forum told me that. sorry, i am writing my thesis right now, head full of everything, and i didn't read your updated post..

Happy it works.







are you allowed to remove that stock cooler from your 64?

as one annoying downside, core clock has to be changed within SoftPowerPlay as i tested it with 17.8.1 or something. i believe mem oc worked with Polaris and 17.9.1 i believe? you have to test it, but at least high voltage and oc is possible, you just have to reboot every time.. or just the driver i think. maybe someone knows how to do that?

Quote:


> Originally Posted by *asdkj1740*
> 
> hellm which softpowerplay would you suggest for the asus strix 64?
> any risk doing this?


You have a strix vega? i would suggest to use the PowerPlay table found in the strix BIOS. upload it, i make a file, np.


----------



## jearly410

@hellm Couldn't you use the driver reboot from cru?


----------



## hellm

Quote:


> Originally Posted by *jearly410*
> 
> @hellm Couldn't you use the driver reboot from cru?


if u can do that with cru, maybe it works. someone has to try, i don't have the time right now.

thx for the info


----------



## jearly410

Quote:


> Originally Posted by *hellm*
> 
> if u can do that with cru, maybe it works. someone has to try, i don't have the time right now.
> 
> thx for the info


I can hopefully try it later this evening


----------



## rancor

Quote:


> Originally Posted by *jearly410*
> 
> @hellm Couldn't you use the driver reboot from cru?


Quote:


> Originally Posted by *hellm*
> 
> if u can do that with cru, maybe it works. someone has to try, i don't have the time right now.
> 
> thx for the info


It worked for me when just changing power limits.


----------



## hellm

great, +rep for both of u


----------



## asdkj1740

how to check the power limit info ???
the latest gpuz still cant read the power limit sadly.


----------



## rednow

Quote:


> Originally Posted by *jearly410*
> 
> @hellm Couldn't you use the driver reboot from cru?


Sorry, what is it cru? ))


----------



## jearly410

Quote:


> Originally Posted by *rednow*
> 
> Sorry, what is it cru? ))


Custom Resolution Utility


----------



## hellm

here is a SoftPowerPlay registry binary for the 64 strix. right bios, with the higher powerlimit (260W).

MorePowerVega64_strix.zip 1k .zip file

+142%, 400A

MorePowerVega64_strix_142.zip 1k .zip file


----------



## ducegt

Quote:


> Originally Posted by *hellm*
> 
> here is a SoftPowerPlay registry binary for the 64 strix. right bios, with the higher powerlimit (260W).
> 
> MorePowerVega64_strix.zip 1k .zip file
> 
> +142%, 400A
> 
> MorePowerVega64_strix_142.zip 1k .zip file


You have the strix bios?


----------



## asdkj1740

Quote:


> Originally Posted by *hellm*
> 
> here is a SoftPowerPlay registry binary for the 64 strix. right bios, with the higher powerlimit (260W).
> 
> MorePowerVega64_strix.zip 1k .zip file
> 
> +142%, 400A
> 
> MorePowerVega64_strix_142.zip 1k .zip file


just double clock the reg and then it is good to go?
how to remove it if i want the default settings back?

edited: fixed, thanks.


----------



## hellm

Quote:


> Originally Posted by *ducegt*
> 
> You have the strix bios?


Yes. both of them.

strix64bios.zip 269k .zip file

the Power BIOS is the right one. ..the right one is on the right. sorry.. i am german, everyone know what i am trying to say?


----------



## asdkj1740

Quote:


> Originally Posted by *hellm*
> 
> Yes. both of them.
> 
> strix64bios.zip 269k .zip file
> 
> the Power BIOS is the right one. ..the right one is on the right. sorry.. i am german, everyone know what i am trying to say?


it seems that the bios has something locked prohibiting overclocking.
under power limit +0%, the power consumption shown on gpuz after running fire strike extreme is about 260w (no matter which bios on the pcb is picked)
under power limit +50%, the power consumption is 330w shown on gpuz, the highest clock is around 1500mhz only on fire strike extreme even i have set 16xx on wattman, but on gpuz build in test the clock will go up to what i have set on the wattman like 1650mhz.

not to mention the +142% mod, just dont work on my card....

the stock performance is fine, but once started to increase the power limit, the strix performs even worse than the ref card, the highest i can get on fire strike extreme is <11,000 graphics scores, which is even lower than lots of ref card with correct/working +50% power limit slider.


----------



## asder00

Just dumped the bios from my Vega 64 AIO, it is newer than the one posted before.









016.001.001.000.008774.zip 132k .zip file

016.001.001.000.008774
2017-08-11 17:31


----------



## W1zzard

Please upload using GPU-Z (v2.4.0)


----------



## asder00

Quote:


> Originally Posted by *W1zzard*
> 
> Please upload using GPU-Z (v2.4.0)


All done boss








https://www.techpowerup.com/vgabios/195001/195001


----------



## W1zzard

Thanks!


----------



## poisson21

Is there anything different in this bios ? compared to the others AIO bios ??

I ask because i flashed my MSI air 64 withe the sapphire LC bios and want to know if i can expect a diference using the MSI one ?


----------



## lowdog

Quote:


> Originally Posted by *poisson21*
> 
> Is there anything different in this bios ? compared to the others AIO bios ??
> 
> I ask because i flashed my MSI air 64 withe the sapphire LC bios and want to know if i can expect a diference using the MSI one ?


All bios are written by AMD....it's a later build date so probably further improvements/fixes/optimisations etc..................flash it!!!..........I did.


----------



## KL0nLutiy

Did someone try to load custom bios on linux for vega? wolf9466 said that it can be done by kernel patch. I found the merge and commits for vega support https://kernelnewbies.org/LinuxChanges, so the flag to check the bios can be somewhere in this changes. Maybe in this class https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c?id=8cd3ac52963f2e99f4c21d1c9ce89531ce66c2d6 , but I am not sure, because has no experience in this. Maybe somebody can look at it and create a patch for it.


----------



## masteratarms

I have a vega 56 with G10 mod, what does this new bios change? Memory volts/ power limits ect.


----------



## Rootax

Still no trace of FE LC bios ? :/


----------



## fewness

I want to flash my RX VEGA with FE VEGA Bios but got this error, anyone can help?

PS C:\Users\Su\Downloads\atiflash_277> .\atiflash -f -p 1 FE-Liquid-bios.rom
Old SSID: 0B36
New SSID: 0B36
Old DeviceID: 687F
New DeviceID: 6863
Old Product Name: Vega10 A1 XT D05014 32Mx128 852e/945m 0.95V
New Product Name: Vega10 A1 XTX LCS D05012 16GB 852e/945m 0.95V
Old BIOS Version: 016.001.001.000.008738
New BIOS Version: 016.001.000.004.008582
Flash type: M25P20
programmed = 0, romsize = 40000
ROM not erased

ERROR: 0FL01


----------



## masteratarms

Have u tried with the filename being 5 characters or less? xxxxx.rom Might not be a limitation if you are using windows based flasher instead of dos.

Have you uploaded it with GPU-z 2.4.0?


----------



## gupsterg

@fewness

Flash other switch position. When VEGA owners can't flash, the ones that suceeded then did that.

It is either one bios chip is locked or the one a owner boots from is not allowed to be flashed.


----------



## majestynl

Quote:


> Originally Posted by *fewness*
> 
> 
> 
> Spoiler: Warning: Spoiler!
> 
> 
> 
> I want to flash my RX VEGA with FE VEGA Bios but got this error, anyone can help?
> 
> PS C:\Users\Su\Downloads\atiflash_277> .\atiflash -f -p 1 FE-Liquid-bios.rom
> Old SSID: 0B36
> New SSID: 0B36
> Old DeviceID: 687F
> New DeviceID: 6863
> Old Product Name: Vega10 A1 XT D05014 32Mx128 852e/945m 0.95V
> New Product Name: Vega10 A1 XTX LCS D05012 16GB 852e/945m 0.95V
> Old BIOS Version: 016.001.001.000.008738
> New BIOS Version: 016.001.000.004.008582
> Flash type: M25P20
> programmed = 0, romsize = 40000
> ROM not erased
> 
> ERROR: 0FL01


Quote:


> Originally Posted by *gupsterg*
> 
> 
> 
> Spoiler: Warning: Spoiler!
> 
> 
> 
> @fewness
> 
> Flash other switch position. When VEGA owners can't flash, the ones that suceeded then did that.
> 
> It is either one bios chip is locked or the one a owner boots from is not allowed to be flashed.[


I thought read somewhere it wasn't possible to flash a Rx Vega with a FE Bios?! could be wrong..


----------



## fewness

Quote:


> Originally Posted by *gupsterg*
> 
> @fewness
> 
> Flash other switch position. When VEGA owners can't flash, the ones that suceeded then did that.
> 
> It is either one bios chip is locked or the one a owner boots from is not allowed to be flashed.










switch to the left position (close to DP/HDMI) and it flashed in a sec. Now the RX card, with FE bios, is bricked...


----------



## fewness

Quote:


> Originally Posted by *majestynl*
> 
> [/SPOILER]
> I thought read somewhere it wasn't possible to flash a Rx Vega with a FE Bios?! could be wrong..


It can be flashed....but won't work anymore....


----------



## gupsterg

Quote:


> Originally Posted by *majestynl*
> 
> I thought read somewhere it wasn't possible to flash a Rx Vega with a FE Bios?! could be wrong..


Indeed correct, discussed/tested before. I guess fewness did not read those posts.

Quote:


> Originally Posted by *fewness*
> 
> 
> 
> 
> 
> 
> 
> 
> switch to the left position (close to DP/HDMI) and it flashed in a sec. Now the RX card, with FE bios, is bricked...


Switch to other bios position, once in OS swap to bios position with bad flash and overwrite.


----------



## fewness

Quote:


> Originally Posted by *gupsterg*
> 
> Indeed correct, discussed/tested before. I guess fewness did not read those posts.
> Switch to other bios position, once in OS swap to bios position with bad flash and overwrite.


didn't want to read the whole ~500 posts..got have to pay the price for being lazy.....luckily, this should be easy to rescue...


----------



## arismis

Does the softpowerplay registry edit work with the latest Blockchain compute beta drivers?


----------



## Rootax

Quote:


> Originally Posted by *arismis*
> 
> Does the softpowerplay registry edit work with the latest Blockchain compute beta drivers?


I only mod the power target value, but yes it's working.


----------



## arismis

Thanks, kind of a noob question, but how do you actually download files off this thread? whenever I try it says I'm not in an eligible group to


----------



## dallase

Can we set manually set min fan speed via PP_PhmSoftPowerPlayTable? Or have to do it through external tool?


----------



## Star2k

Hello everybody,

I made my own reg file but I am stuck on several points.

I am trying to change the target temperature as well as the max ventilation, anyone knows where this can be?

Thanks in advance and sorry for my poor english.


----------



## Azazil1190

https://www.3dmark.com/3dm/22287057?

Close to break the 26 graphics score







but i think is difficult.
Stock bios 64lc and uv


----------



## bill1971

Hallo,i got my vega 56could i flash the 64 bios?


----------



## chris89

Any word on Vega Bios Editor from Github to correct checksum? I have modified the Vega 64 Bios here via hex.

Just need to correct checksum to flash & make sure AMD will allow it as well. This can reduce power consumption significantly & increase performance as well.

With the power limit you want 1 : 1 between the Max TDP & TDC... VEGA uses 220W Limit with 300A TDC, that isn't ideal.

This BIOS uses 500 Watt Max TDP with 500A TDC but instead of 115C limit, it's 88C to reduce power consumption significantly.

Sapphire.Vega.64.500W.TDC.PowerLimit.60C.Limits.zip 136k .zip file


Sapphire.Vega.64.500W-A.PowerLimit.88C.Limits.zip 136k .zip file


----------



## Star2k

Wow, nice work chris89 !

I have a question, what is 88C ? Celsius or something like that ?


----------



## gupsterg

Quote:


> Originally Posted by *chris89*
> 
> Any word on Vega Bios Editor from Github to correct checksum? I have modified the Vega 64 Bios here via hex.
> 
> Just need to correct checksum to flash & make sure AMD will allow it as well. This can reduce power consumption significantly & increase performance as well.
> 
> With the power limit you want 1 : 1 between the Max TDP & TDC... VEGA uses 220W Limit with 300A TDC, that isn't ideal.
> 
> This BIOS uses 500 Watt Max TDP with 500A TDC but instead of 115C limit, it's 88C to reduce power consumption significantly.
> 
> Sapphire.Vega.64.500W.TDC.PowerLimit.60C.Limits.zip 136k .zip file
> 
> 
> Sapphire.Vega.64.500W-A.PowerLimit.88C.Limits.zip 136k .zip file


Please Chris89, you have been told in the VEGA owners thread that checksum correction is not the issue stopping use of VEGA modded ROM. We can do that.

The issue is we can not update the digital signature within the ROM for it to pass security check.



As said in the other thread what is implemented on VEGA FE is also on RX VEGA.


----------



## hellm

i think you need big letters, or it doesn't get through to him.


----------



## arismis

Hi guys, does anyone know how to identify which bios entry (0000, 0001, etc) goes with which Vega 64 card? I have 4 of them installed in 1 system and need to change the softpowerplay for 1 one of them, but can't figure out any identifying traits. Would rather rather not set all 4 to different numbers just to see which one it is.


----------



## asdkj1740

Quote:


> Originally Posted by *arismis*
> 
> Hi guys, does anyone know how to identify which bios entry (0000, 0001, etc) goes with which Vega 64 card? I have 4 of them installed in 1 system and need to change the softpowerplay for 1 one of them, but can't figure out any identifying traits. Would rather rather not set all 4 to different numbers just to see which one it is.


ddu can identify drivers with specific "bios entry (0000, 0001, etc)"
simply ddu all drivers you have on your system, then install the driver.
so that driver installed must be amd vega #0001 which can be adapted the power mod from hellm.


----------



## halsafar

Quote:


> Originally Posted by *arismis*
> 
> Hi guys, does anyone know how to identify which bios entry (0000, 0001, etc) goes with which Vega 64 card? I have 4 of them installed in 1 system and need to change the softpowerplay for 1 one of them, but can't figure out any identifying traits. Would rather rather not set all 4 to different numbers just to see which one it is.


I adjusted vsync setting in Wattman and then checked the registry entry for each card. One of the keys is vsync. I believe the default setting is value 31 and disabled is value 30. The value is not important, just finds the one that changes to identify each card.

I would also love to hear a better way. I am having issues getting more than 4 VEGA 64s to work with Soft Power Table mods and HBCC. I've been searching for a way to see how Windows is treating cards past #4 to see if I can spot the problem.

Also here, nothing fancy but makes editing the registry power table a lot easier:
https://github.com/halsafar/Vega64SoftPowerTableEditor


----------



## arismis

Are you able to get HBCC to stick on 4 card? I'm at 4 cards thinking about getting 2 more right now, any info would be greatly appreciated!

Also are you using the IGD trick?


----------



## Vento041

Guys did someone try to disable/remove UEFI image on the vaga card bios, flash it to force to use only the legacy rom?


----------



## arismis

Quote:


> Originally Posted by *halsafar*
> 
> I adjusted vsync setting in Wattman and then checked the registry entry for each card. One of the keys is vsync. I believe the default setting is value 31 and disabled is value 30. The value is not important, just finds the one that changes to identify each card.
> 
> I would also love to hear a better way. I am having issues getting more than 4 VEGA 64s to work with Soft Power Table mods and HBCC. I've been searching for a way to see how Windows is treating cards past #4 to see if I can spot the problem.
> 
> Also here, nothing fancy but makes editing the registry power table a lot easier:
> https://github.com/halsafar/Vega64SoftPowerTableEditor


Really cool! I was JUST about to build a webapp for something like this after spending 2 hours this morning calculating hex values in excel and flipping them.

Do you have a compiled version of this?


----------



## halsafar

Quote:


> Originally Posted by *arismis*
> 
> Are you able to get HBCC to stick on 4 card? I'm at 4 cards thinking about getting 2 more right now, any info would be greatly appreciated!
> 
> Also are you using the IGD trick?


IGD trick? I am currently using the Vega 64 in the first PCI-E 16x slot as the monitor. Does switching to the IGD help?

I can get HBCC to stick on 4 cards no problem. I have to redo it every reboot but it sticks. The other 2 just cause Wattman to close but when you open it back up the setting remains unchanged.

I'd like to see how Windows is viewing those two particular GPUs and compare to the rest, see if the issue is apparent. I'd also love if we could find a way to automate the toggling of HBCC after a reboot.

Quote:


> Originally Posted by *arismis*
> 
> Really cool! I was JUST about to build a webapp for something like this after spending 2 hours this morning calculating hex values in excel and flipping them.
> 
> Do you have a compiled version of this?


https://github.com/halsafar/Vega64SoftPowerTableEditor/releases/tag/v0.1


----------



## arismis

Using IGD does add a bit more stability from what I've found. Maybe give that a shot.

How much physical RAM are you running?


----------



## halsafar

Quote:


> Originally Posted by *arismis*
> 
> Using IGD does add a bit more stability from what I've found. Maybe give that a shot.
> 
> How much physical RAM are you running?


I have 8GB in it right now. I tried with 16GB and 32GB as I've read that might be the issue, did not help.

I am able to get the soft power table mods we are doing to stick on all cards after my last DDU full reinstall attempt. Previously it wouldn't work on the same two I could not HBCC.

I wonder if enabling crossfire with the main gpu and one of the cards that does not like HBCC, then disabling it would help. I might try next time I can, just thinking out loud.

On another note. Anyone find a way to put the fan settings into the table but have it enable "manual" mode when you reset in Wattman? I adjusted the fan min/max rpm in the soft power table and it did work. The slider now showed the new min and max but when I went to "manual" mode the fan got stuck at max RPM (not the max I set, its max, ~4900). Would be handy on Wattman reset to get the card instantly into the "perfect" state.


----------



## chris89

*Let's see what we can pull on LuxMark v3.0 Hotel ... It's a fun super-realistic, ray tracing app that uses Compute & you can clock the GPU like 20% higher stable ... Let's see how it fairs against TITAN XP .. haha

http://www.luxrender.net/release/luxmark/v3.0/luxmark-windows64-v3.0.zip

Can we do better? Vega is close but heres the results...*



GTX 580 @ 975Mhz scores 950 points.. haha


----------



## Sufferage

Quote:


> Originally Posted by *halsafar*
> 
> Also here, nothing fancy but makes editing the registry power table a lot easier:
> https://github.com/halsafar/Vega64SoftPowerTableEditor


This looks nice, sadly it just crashes right at the start, Win 10 Pro x64 and Win 7 Ultimate x64 running on the same machine


----------



## halsafar

Quote:


> Originally Posted by *Sufferage*
> 
> This looks nice, sadly it just crashes right at the start, Win 10 Pro x64 and Win 7 Ultimate x64 running on the same machine


There is no sanity checking on the file you try to load. If you want post an issue on GitHub or private message me the registry file you tried to load on here and I'll take a look.


----------



## Sufferage

Quote:


> Originally Posted by *halsafar*
> 
> There is no sanity checking on the file you try to load. If you want post an issue on GitHub or private message me the registry file you tried to load on here and I'll take a look.


Thanx, but i don't even get to load a file, it just crashes right after double clicking the .exe


----------



## ecki

Crashes for me too. Any runtimes or stuff like that I need to install?


----------



## eszett

Quote:


> Crashes for me too. Any runtimes or stuff like that I need to install?


Yes. GTK# for .NET ... here you go:

http://www.mono-project.com/download/

-> Download Gtk#


----------



## halsafar

Quote:


> Originally Posted by *eszett*
> 
> Yes. GTK# for .NET ... here you go:
> 
> http://www.mono-project.com/download/
> 
> -> Download Gtk#


Yup this appears to be it. I did not realize, first time working with C# Mono instead of Visual Studio C#.

I am only able to get in front of a Linux computer right now and when I try to execute the release I made I get a "libglib-2.0-0.dll" not found which confirms the above.

Apparently I can resolve this when building a release in Xamarin. I will look into this later tonight.


----------



## sulik

I´m on Windows 7 SP1 and it´s starting.
Installed the GTK from eszett´s link restarted the pc and now it starts.









Before the restart i got the same error message too.


----------



## Leons

Quote:


> Originally Posted by *Vento041*
> 
> Guys did someone try to disable/remove UEFI image on the vaga card bios, flash it to force to use only the legacy rom?


Hello, sorry my English (Google Translator).
I have a VEGA56 and if you want I can try it, but you should disable UEFI from my bios because I'm not sure to do it properly.

Vega1056left.zip 136k .zip file


----------



## myeneroglu

I am seeing this virus threat ... Why is that?

Vega64SoftPowerTableEditor.jpg 56k .jpg file


----------



## dallase

# lspci | grep VGA
25:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 XT [Radeon RX Vega 64] (rev c3)

# cat /sys/class/drm/card0/device/pp_dpm_sclk
0: 852Mhz *
1: 991Mhz
2: 1138Mhz
3: 1269Mhz
4: 1312Mhz
5: 1474Mhz
6: 1538Mhz
7: 1590Mhz

# cat /sys/class/drm/card0/device/pp_dpm_mclk
0: 167Mhz
1: 500Mhz *
2: 700Mhz
3: 800Mhz

# ./ppt.pl 1

A7020801005C00EF0600000E2C00001B0048000000E0220200A0860100320008000000000000000000000000000002015C004002370294008F01B4001E017A008C00AD010000000063020000900099025E01340188016836020071020202000000000000080000000000000005000700030005000000000000000108200352036B0384039D039D039D039D030101380301018403000660EA0000004019010001DC4A010002007701000390910100056CB00100070108D04C01000000800000000000001C83010001000000000000000088BC0100020000000000000000B4EF010003000000000000000080000200040000000000000000A00302000500000000010000009405020006000000000100000088070200070000000001000000000460EA0000004019010000DC4A010000905F0100000008286E0000002CC9000001F80B0100028038010003905F010004F491010005D0B0010006C0D401000700086C39000000245E000001FC85000002ACBC00000334D0000004686E0100050897010006ECA30100070001683C01000001043C41000000000050C30000000000546901000100003C6D01000200000108009885000040B5000060EA000050C300000180BB000060EA0000940B010050C300000278FF000040190100B427010050C3000003B4270100DC4A0100DC4A010050C300000480380100905F0100DC4A010050C3000005DC4A010000770100905F010050C30000060077010000770100905F010050C300000700770100909101000077010050C300000118000000000000000BE412600960094B000A0054039001900190019001900190019001000000000002043107A500A500A5002C0100004B005A003E003E005000640064005A004000909297609600905500000000000000000000000000000000000202D4300000021060EA00000210
Packed into 679 bytes

# cat pp_table > /sys/class/drm/card0/device/pp_table

# cat /sys/class/drm/card0/device/pp_dpm_sclk
0: 852Mhz *
1: 991Mhz
2: 1138Mhz
3: 1269Mhz
4: 1312Mhz
5: 1320Mhz
6: 1325Mhz
7: 1330Mhz

# cat /sys/class/drm/card0/device/pp_dpm_mclk
0: 167Mhz
1: 500Mhz *
2: 925Mhz
3: 935Mhz

So I successfully applied the new pp_table... but after executing my mining processes, it cant use the new clocks. Its always sclk #0 and mclk #1

Errors in dmesg are...

[ 960.778779] amdgpu: [powerplay] Cannot find requested DCEFCLK!
[ 961.172699] amdgpu: [powerplay] Cannot find requested DCEFCLK!
[ 1150.402251] amdgpu: [powerplay] Cannot find requested DCEFCLK!


----------



## Star2k

have you change something in your voltage ?

In my expérience, Vega doesn't like have same voltage in 2 different p-state.


----------



## dallase

Quote:


> Originally Posted by *Star2k*
> 
> have you change something in your voltage ?
> 
> In my expérience, Vega doesn't like have same voltage in 2 different p-state.


I was just changing core states 5, 6, and 7... no voltage changes until I can get the most simple of change to work..

pp_table# diff -Naur orig mod
--- orig 2017-10-05 14:08:14.966982754 -0500
+++ mod 2017-10-05 14:08:22.819099001 -0500
@@ -10,8 +10,8 @@
01 08 D0 4C 01 00 00 00 80 00 00 00 00 00 00 1C 83 01 00 01
00 00 00 00 00 00 00 00 88 BC 01 00 02 00 00 00 00 00 00 00
00 B4 EF 01 00 03 00 00 00 00 00 00 00 00 80 00 02 00 04 00
-00 00 00 00 00 00 00 *C8 3F 02* 00 05 00 00 00 00 01 00 00 00
-*C8 58 02* 00 06 00 00 00 00 01 00 00 00 *18 6D 02* 00 07 00 00
+00 00 00 00 00 00 00 *A0 03 02* 00 05 00 00 00 00 01 00 00 00
+*94 05 02* 00 06 00 00 00 00 01 00 00 00 *88 07 02* 00 07 00 00
00 00 01 00 00 00 00 04 60 EA 00 00 00 40 19 01 00 00 DC 4A
01 00 00 90 5F 01 00 00 00 08 28 6E 00 00 00 2C C9 00 00 01
F8 0B 01 00 02 80 38 01 00 03 90 5F 01 00 04 F4 91 01 00 05


----------



## micjohben

Quote:


> Originally Posted by *dallase*
> 
> I was just changing core states 5, 6, and 7... no voltage changes until I can get the most simple of change to work..
> 
> pp_table# diff -Naur orig mod
> --- orig 2017-10-05 14:08:14.966982754 -0500
> +++ mod 2017-10-05 14:08:22.819099001 -0500
> @@ -10,8 +10,8 @@
> 01 08 D0 4C 01 00 00 00 80 00 00 00 00 00 00 1C 83 01 00 01
> 00 00 00 00 00 00 00 00 88 BC 01 00 02 00 00 00 00 00 00 00
> 00 B4 EF 01 00 03 00 00 00 00 00 00 00 00 80 00 02 00 04 00
> -00 00 00 00 00 00 00 *C8 3F 02* 00 05 00 00 00 00 01 00 00 00
> -*C8 58 02* 00 06 00 00 00 00 01 00 00 00 *18 6D 02* 00 07 00 00
> +00 00 00 00 00 00 00 *A0 03 02* 00 05 00 00 00 00 01 00 00 00
> +*94 05 02* 00 06 00 00 00 00 01 00 00 00 *88 07 02* 00 07 00 00
> 00 00 01 00 00 00 00 04 60 EA 00 00 00 40 19 01 00 00 DC 4A
> 01 00 00 90 5F 01 00 00 00 08 28 6E 00 00 00 2C C9 00 00 01
> F8 0B 01 00 02 80 38 01 00 03 90 5F 01 00 04 F4 91 01 00 05


Are you getting the soft powerplay table mods to work on linux now? I can't see the start of the thread going back 6-7 pages other than the notes about patching the linux kernel. I would love to be able to apply this to a linux box.


----------



## Energylite

Hey there, just want to know something, can i change this value ? Cauz even with a Power Table, on wattman i can only go to 1200 for the max


----------



## TrixX

Yes mines set to 900mv and basically setting it low as stable works best.


----------



## Rootax

Still no FE LC bios around ? :/


----------



## micjohben

Has anyone tried the new Afterburner 4.4.0.Beta 19 which now has Vega voltage controls? I'm not sure it works properly with the blockchain drivers however the voltage sliders wouldn't activate for me no matter what type of voltage change model in the preferences.

If I add the latest crimson drivers then the softpowerplay table mod stops working,

Has anyone got an equivalent or alternative for the newest drivers?


----------



## jstefanop

Quote:


> Originally Posted by *micjohben*
> 
> Has anyone tried the new Afterburner 4.4.0.Beta 19 which now has Vega voltage controls? I'm not sure it works properly with the blockchain drivers however the voltage sliders wouldn't activate for me no matter what type of voltage change model in the preferences.
> 
> If I add the latest crimson drivers then the softpowerplay table mod stops working,
> 
> Has anyone got an equivalent or alternative for the newest drivers?


Does it have a slider for HBM memory (actual HBM memory not the crap VDCCI slider AMD uses). Side note, has anyone tried editing HBM memory in PP table in registry? (its the one thats listed as 1350 mv for Vega 64/FE)


----------



## micjohben

Quote:


> Originally Posted by *jstefanop*
> 
> Does it have a slider for HBM memory (actual HBM memory not the crap VDCCI slider AMD uses). Side note, has anyone tried editing HBM memory in PP table in registry? (its the one thats listed as 1350 mv for Vega 64/FE)


It just has the one voltage slider which on my machine wouldn't activate.

I tried with latest crimson drivers and the blockchain drivers and no dice.

back to softpowerplaytable and Noverdrivetool to fine tune.

Where is the voltage for mem overrides in the table? I know setting the mem in the table for P3 to 850mv will let me undervolt the P7 State 1200 to 800mv on the Core clock but when I look at HWInfo I can still see the memory using 1.3 odd V.

Very odd but par for the course with AMD. Nothing works at first glance. They are a bit like maintaining an classic italian sportscar.

They occasionally are very fast on the road, but run hot and spend more time in maintenance and tinkering stage than actually bloody driving the things...


----------



## jstefanop

Quote:


> Originally Posted by *micjohben*
> 
> It just has the one voltage slider which on my machine wouldn't activate.
> 
> I tried with latest crimson drivers and the blockchain drivers and no dice.
> 
> back to softpowerplaytable and Noverdrivetool to fine tune.
> 
> Where is the voltage for mem overrides in the table? I know setting the mem in the table for P3 to 850mv will let me undervolt the P7 State 1200 to 800mv on the Core clock but when I look at HWInfo I can still see the memory using 1.3 odd V.
> 
> Very odd but par for the course with AMD. Nothing works at first glance. They are a bit like maintaining an classic italian sportscar.
> 
> They occasionally are very fast on the road, but run hot and spend more time in maintenance and tinkering stage than actually bloody driving the things...


If you have Vega 64/FE search for "46 05" and change it to "78 05"

If it works you should see your MVDD go from 1350mv to 1400mv

For Vega 56 it should be "E2 04" stock value


----------



## micjohben

Quote:


> Originally Posted by *jstefanop*
> 
> If you have Vega 64/FE search for "46 05" and change it to "78 05"
> 
> If it works you should see your MVDD go from 1350mv to 1400mv
> 
> For Vega 56 it should be "E2 04" stock value


Thanks for the pointer, I'll try undervolting as thats my intention, but I'll make the changes and report back if it works.


----------



## kundica

I currently use the LC bios on my Air 64 with an EK block. It works well for a performance gain but running the LC bios can make the card unstable in other OSes since I don't have the same control I have with Wattman. What would be the equivalent settings using the powerplay table to best match my card running the Air bios? Not really concerned with the power limit(I'll just set that to 150) but not sure about the amps and wattage.


----------



## TrixX

Interesting info for Vega









Also interesting that RX Vega PowerPlay tables work for FE and make it better too.






Hmm irony in that it references this very thread


----------



## gupsterg

Quote:


> Originally Posted by *Vento041*
> 
> Guys did someone try to disable/remove UEFI image on the vaga card bios, flash it to force to use only the legacy rom?
> 
> Quote:
> 
> 
> 
> Originally Posted by *Leons*
> 
> Hello, sorry my English (Google Translator).
> I have a VEGA56 and if you want I can try it, but you should disable UEFI from my bios because I'm not sure to do it properly.
> 
> Vega1056left.zip 136k .zip file
Click to expand...

IIRC I did a VBIOS with UEFI/GOP module disabled early on in thread. Jstefanop flashed and card did not post, again down to how the "security feature" on VEGA detects unsigned modified VBIOS and blocks GPU post.


----------



## hellm

Quote:


> Originally Posted by *TrixX*
> 
> Interesting info for Vega
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Also interesting that RX Vega PowerPlay tables work for FE and make it better too.
> 
> 
> 
> 
> 
> 
> Hmm irony in that it references this very thread


@buildzoid
hellm like hell + m, yes; it is just birthplace and gender. thanx for clearing that up.








On Polaris, it is pretty easy to overvolt; and it sticks. if you do nothing else than switch to manual voltage. if you know what clockrate you want, you can also do that with softpowerplay. Softpowerplay clockrates overrides the BIOS clockrates, only the voltages need manual voltage setting (since 17.4.1). If you want to adjust clocks for benches and change voltages, you can not use wattman as usual.. so, yes, clunky.
other than that, great vid.


----------



## mynm

Quote:


> Originally Posted by *hellm*
> 
> @buildzoid
> hellm like hell + m, yes; it is just birthplace and gender. thanx for clearing that up.
> 
> 
> 
> 
> 
> 
> 
> 
> On Polaris, it is pretty easy to overvolt; and it sticks. if you do nothing else than switch to manual voltage. if you know what clockrate you want, you can also do that with softpowerplay. Softpowerplay clockrates overrides the BIOS clockrates, only the voltages need manual voltage setting (since 17.4.1). If you want to adjust clocks for benches and change voltages, you can not use wattman as usual.. so, yes, clunky.
> other than that, great vid.


Hell man







, I remenbert to use the PP_PhmSoftPowerPlayTable before than you







, you know, and since my first post. But it doesn't matter, you did a very good job explaining it for vega and polaris







.

I think it's better to get the PP_PhmSoftPowerPlayTable with Afterburner like I explained here: http://www.overclock.net/t/1609782/watttool-a-simple-tool-that-combines-overclocking-with-vrm-monitoring-tweaking-for-rx-400-series/90#post_25504298

I remember as well, to explain here for polaris gpus: http://www.overclock.net/t/1629717/mod-sapphire-rx-480-nitro-oc-to-sapphire-rx-580-pulse/10#post_26104362 , what buildzoid names "voltage floor" here: 



 .

mynm is just an abbreviation of literaly "my name"







.


----------



## buildzoid

Quote:


> Originally Posted by *hellm*
> 
> @buildzoid
> hellm like hell + m, yes; it is just birthplace and gender. thanx for clearing that up.
> 
> 
> 
> 
> 
> 
> 
> 
> On Polaris, it is pretty easy to overvolt; and it sticks. if you do nothing else than switch to manual voltage. if you know what clockrate you want, you can also do that with softpowerplay. Softpowerplay clockrates overrides the BIOS clockrates, only the voltages need manual voltage setting (since 17.4.1). If you want to adjust clocks for benches and change voltages, you can not use wattman as usual.. so, yes, clunky.
> other than that, great vid.


See I tried to set clocks through afterburner when testing 1.3 vcore in the PPtable and it had the exact same problems as Wattman.

Also temperature limits are BIOS side. VEGA Liquid BIOS + Air power play will still shut down at 75C regardless of the power play table settings.

I don't have any working polaris cards left and honestly I still don't see the point of going through the power play table on cards where BIOS modding works and software has much fewer restrictions.


----------



## hellm

Quote:


> Originally Posted by *mynm*
> 
> Hell man
> 
> 
> 
> 
> 
> 
> 
> , I remenbert to use the PP_PhmSoftPowerPlayTable before than you
> 
> 
> 
> 
> 
> 
> 
> , you know, and since my first post. But it doesn't matter, you did a very good job explaining it for vega and polaris
> 
> 
> 
> 
> 
> 
> 
> .
> 
> I think it's better to get the PP_PhmSoftPowerPlayTable with Afterburner like I explained here: http://www.overclock.net/t/1609782/watttool-a-simple-tool-that-combines-overclocking-with-vrm-monitoring-tweaking-for-rx-400-series/90#post_25504298
> 
> I remember as well, to explain here for polaris gpus: http://www.overclock.net/t/1629717/mod-sapphire-rx-480-nitro-oc-to-sapphire-rx-580-pulse/10#post_26104362 , what buildzoid names "voltage floor" here:
> 
> 
> 
> .
> 
> mynm is just an abbreviation of literaly "my name"
> 
> 
> 
> 
> 
> 
> 
> .


Yes, u gave me that link.









Afterburner might also be able to do that on Vega, with the latest beta; or in the near future. i mentioned that some time ago.. also your name, but i don't think it was in this thread. some must have known what is behind that "extend oc limits" thing in afterburner, i never wanted to leave the impression it was made by me or something... but i got mentioned in buildzoid vids 3 times now.








Quote:


> Originally Posted by *buildzoid*
> 
> See I tried to set clocks through afterburner when testing 1.3 vcore in the PPtable and it had the exact same problems as Wattman.
> 
> Also temperature limits are BIOS side. VEGA Liquid BIOS + Air power play will still shut down at 75C regardless of the power play table settings.
> 
> I don't have any working polaris cards left and honestly I still don't see the point of going through the power play table on cards where BIOS modding works and software has much fewer restrictions.


Yes, you can't use other oc tools. WattTool for Polaris works, it uses the AMD ADL API..

VEGA Liquid BIOS + modded liquid SoftPowerPlay should do the trick?

The 4xx Polaris cards have this signing thing, u can't mod them too; or you have to patch the driver. But since you can make a 470/80 now look like a 570/80, and the 5xx doesn't require a signed BIOS, yes, no real use for other cards.


----------



## mynm

Quote:


> Originally Posted by *hellm*
> 
> Yes, u gave me that link.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Afterburner might also be able to do that on Vega, with the latest beta; or in the near future. i mentioned that some time ago.. also your name, but i don't think it was in this thread. some must have known what is behind that "extend oc limits" thing in afterburner, i never wanted to leave the impression it was made by me or something... but i got mentioned in buildzoid vids 3 times now.
> 
> 
> 
> 
> 
> 
> 
> 
> Yes, you can't use other oc tools. WattTool for Polaris works, it uses the AMD ADL API..
> 
> VEGA Liquid BIOS + modded liquid SoftPowerPlay should do the trick?
> 
> The 4xx Polaris cards have this signing thing, u can't mod them too; or you have to patch the driver. But since you can make a 470/80 now look like a 570/80, and the 5xx doesn't require a signed BIOS, yes, no real use for other cards.


Ok well







, but put your references ( the same for buildzoid ), like I did with this thread http://www.overclock.net/t/1387430/amd-how-to-change-the-power-control-limit-from-20-to-50 . Without that thread, plus gupsterg's mod guides, it would have been imposssible to me to know that it was the powerplay.

I was going to post here the info about the SoftPowerPlay before you, but I was expecting your post or same other people post about it, because the SoftPowerPlay wasn't a new thing, and I'm a little bit bored about SoftPowerPlay and bios mods.

@buildzoid I don't know if my post about "voltage floor" is your reference, but it's great to know that my theory is confirmed with the multimeter







.

.


----------



## hellm

Then this guy is our source. tommybhoy
Maybe he got told from an afterburner programmer and that was some info from AMD?









yeah, well, i am obviously a fame b....







maybe next time..


----------



## ducegt

Easy boys. There are enough girls that overclocking fame brings for the two of you! Wait. What?


----------



## gupsterg

Well I bit the bullet on a RX VEGA 64 Limited Edition yesterday. Now waiting eagerly for delivery.

Seemed to me the best deal I may see this side of Christmas. £515 delivered, ~£11 cashback, got Prey and Wolfenstein II with it (worth ~£40 in my estimates, so card is net ~£465 IMO).

The decision was concreted after having experienced the MSI GTX 1080 EK X. I missed the lack of variable refresh rate greatly, wasn't inclined to get into hassle of swapping my MG279Q for similar G-Sync monitor. Also missed some of the features of AMD driver panel which didn't have equivalents in nVidia drivers.

I was also lucky in that the Fury X sold at no loss. The MSI GTX 1080 EK X had a missing screw on WB so got a discount, I was able to sell it for more than I got it so it bolstered my "pot of £" to make the jump to VEGA viable.

As OCuk had a weekly special on EK full cover block I've also ordered that.

Hope to test various mods, etc which have been discussed in thread and share what goes on







.


----------



## Newbie2009

Quote:


> Originally Posted by *gupsterg*
> 
> Well I bit the bullet on a RX VEGA 64 Limited Edition yesterday. Now waiting eagerly for delivery.
> 
> Seemed to me the best deal I may see this side of Christmas. £515 delivered, ~£11 cashback, got Prey and Wolfenstein II with it (worth ~£40 in my estimates, so card is net ~£465 IMO).
> 
> The decision was concreted after having experienced the MSI GTX 1080 EK X. I missed the lack of variable refresh rate greatly, wasn't inclined to get into hassle of swapping my MG279Q for similar G-Sync monitor. Also missed some of the features of AMD driver panel which didn't have equivalents in nVidia drivers.
> 
> I was also lucky in that the Fury X sold at no loss. The MSI GTX 1080 EK X had a missing screw on WB so got a discount, I was able to sell it for more than I got it so it bolstered my "pot of £" to make the jump to VEGA viable.
> 
> As OCuk had a weekly special on EK full cover block I've also ordered that.
> 
> Hope to test various mods, etc which have been discussed in thread and share what goes on
> 
> 
> 
> 
> 
> 
> 
> .


I don't think you will be disappointed. I'm liking my 64 as much as the old 7970.


----------



## gupsterg

Quote:


> Originally Posted by *Newbie2009*
> 
> I don't think you will be disappointed. I'm liking my 64 as much as the old 7970.


It would have been nice if the empty space on PCB wasn't there. A short card like the Fury X really did grown on me, every time I looked at it I thought WOW.

Is a shame bios mod is not open.

The pricing/availability has sucked, ah well it is what it is.

I reckon I won't be as well







, especially after having experienced green team and it not really being "my cup of tea"







.


----------



## Nuke33

Quote:


> Originally Posted by *gupsterg*
> 
> Well I bit the bullet on a RX VEGA 64 Limited Edition yesterday. Now waiting eagerly for delivery.
> 
> Seemed to me the best deal I may see this side of Christmas. £515 delivered, ~£11 cashback, got Prey and Wolfenstein II with it (worth ~£40 in my estimates, so card is net ~£465 IMO).
> 
> The decision was concreted after having experienced the MSI GTX 1080 EK X. I missed the lack of variable refresh rate greatly, wasn't inclined to get into hassle of swapping my MG279Q for similar G-Sync monitor. Also missed some of the features of AMD driver panel which didn't have equivalents in nVidia drivers.
> 
> I was also lucky in that the Fury X sold at no loss. The MSI GTX 1080 EK X had a missing screw on WB so got a discount, I was able to sell it for more than I got it so it bolstered my "pot of £" to make the jump to VEGA viable.
> 
> As OCuk had a weekly special on EK full cover block I've also ordered that.
> 
> Hope to test various mods, etc which have been discussed in thread and share what goes on
> 
> 
> 
> 
> 
> 
> 
> 
> .


Nice, welcome to the club









I am curious to what you can achieve with an actual card.


----------



## Nuke33

On another note, I found a way to eliminate all stability issues from pstate/clock changes when the load varies. No need for clockblocker anymore. Plus downclocking and ULPS works again normally.

I made a PP table that sets P4-P7 to the exact same frequency and then set P4 as the max. pstate in wattman. It seems every switch from P5-P7 to a lower pstate results in really weird instabilities that result in driver crashing or blackscreens.

I have been testing it the last few days with various voltage/frequency combinations and it has not crashed even a single time.
As long as the voltage is stable for that frequency of course. Now running OCCT in errorcheck mode , the card behaves more like a traditional card. It shows errors when unstable and not just outright crashes. Frequency range seems to be much more tight now. Max frequency drop under very intense loads (OCCT) is now 66mhz. On P6&P7 it is around 150mhz+

Only downside is that you have to to edit the PPtable for every change in frequency or voltage, since P4 is not configurable via tools.
But if you know your stable values you are safe from erratic crashes and can really max out your cards potential.



OCCT Shader7 - 2560x1080 Error Checking ( thats as hard as it gets for powerconsumption)


Tabing in and out of OCCT window would crash the system very fast. Now it´s not a problem anymore.



Spoiler: Warning: Spoiler!



Code:



Code:


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
"PP_PhmSoftPowerPlayTable"=hex:9D,02,08,01,00,5C,00,37,07,00,00,EC,2B,00,00,1B,\
  00,48,00,00,00,80,A9,03,00,F0,49,02,00,32,00,08,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,02,01,5C,00,36,02,2D,02,94,00,85,01,AF,00,19,01,7A,00,8C,00,\
  A3,01,00,00,00,00,59,02,00,00,90,00,8F,02,54,01,2A,01,7E,01,00,71,02,00,71,\
  02,02,02,00,00,00,00,00,00,08,00,00,00,00,00,00,00,04,00,07,00,03,00,05,00,\
  00,00,00,00,00,00,01,08,20,03,43,03,48,03,52,03,BB,03,C0,03,C0,03,C0,03,01,\
  01,46,05,01,01,84,03,00,05,60,EA,00,00,00,DC,4A,01,00,01,00,77,01,00,02,90,\
  91,01,00,03,6C,B0,01,00,04,01,08,8C,04,01,00,00,00,80,00,00,00,00,00,00,50,\
  0E,01,00,01,00,00,00,00,00,00,00,00,90,2D,01,00,02,00,00,00,00,00,00,00,00,\
  E8,48,01,00,03,00,00,00,00,00,00,00,00,A8,3C,02,00,04,00,00,00,00,00,00,00,\
  00,A8,3C,02,00,05,00,00,00,00,01,00,00,00,A8,3C,02,00,06,00,00,00,00,01,00,\
  00,00,A8,3C,02,00,07,00,00,00,00,01,00,00,00,00,03,60,EA,00,00,00,DC,4A,01,\
  00,00,90,5F,01,00,00,00,08,28,6E,00,00,00,2C,C9,00,00,01,F8,0B,01,00,02,80,\
  38,01,00,03,90,5F,01,00,04,F4,91,01,00,05,D0,B0,01,00,06,C0,D4,01,00,07,00,\
  08,6C,39,00,00,00,24,5E,00,00,01,FC,85,00,00,02,AC,BC,00,00,03,34,D0,00,00,\
  04,68,6E,01,00,05,08,97,01,00,06,EC,A3,01,00,07,00,01,68,3C,01,00,00,01,04,\
  3C,41,00,00,00,00,00,50,C3,00,00,00,00,00,80,38,01,00,01,00,00,24,71,01,00,\
  02,00,00,01,08,00,98,85,00,00,78,B4,00,00,60,EA,00,00,50,C3,00,00,01,78,FF,\
  00,00,40,19,01,00,B4,27,01,00,50,C3,00,00,02,80,38,01,00,DC,4A,01,00,DC,4A,\
  01,00,50,C3,00,00,03,DC,4A,01,00,90,5F,01,00,90,5F,01,00,50,C3,00,00,04,90,\
  5F,01,00,00,77,01,00,90,5F,01,00,50,C3,00,00,05,00,77,01,00,90,91,01,00,90,\
  5F,01,00,50,C3,00,00,06,6C,B0,01,00,6C,B0,01,00,00,77,01,00,50,C3,00,00,07,\
  C0,D4,01,00,C0,D4,01,00,90,91,01,00,50,C3,00,00,01,18,00,00,00,00,00,00,00,\
  0B,E4,12,DC,05,FC,08,41,00,0F,00,54,03,90,01,90,01,90,01,90,01,90,01,90,01,\
  90,01,00,00,00,00,00,02,04,21,07,08,01,08,01,08,01,2C,01,00,00,4A,00,69,00,\
  4A,00,4A,00,5F,00,73,00,73,00,64,00,40,00,90,92,97,60,96,00,90,46,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,02,D4,30,00,00,02,10,60,EA,00,\
  00,02,10


----------



## Blockchainfive

Hi OC'ers

I may have something interesting for VEGA 56 owners out there.

I have had a crack at combining the work of the main contributors here and on youtube.

My setup is a Asus B250 mining expert on mining mode with no overclock.

Have Vega 56 Air Cooled which I have flashed to Vega 64 Liquid Cooled.

A lot of peeps thought that was one step too far, but my tests show it is spot on Bevan.

Then ran a modified version of Hell M (MorePowerVega64_142_Modded_fix.reg)

and then further modded it as per above research to 99% optimal settings.

I went lucid at the 48 hour mark and got it up to 44.6MH but have been unable to replicate back there yet.

At the moment it chills on 43.9MH pretty happily with a bit lower for the 1 minute average.

On Nanopool it gives very good feedback in excess of Claymore stats so all good in da hood.

Will save my big ups list till a few ppl can confirm it works for them also.

-Edit stay tuned for link-


----------



## gupsterg

@halsafar

+rep for share and creation of softpowerplay editor, added to OP useful links section







.

@hellm

+rep for share of ASUS RX VEGA 64 Strix ROMs and softpowerplay, added ROMs to OP and compiling updated zip with all reg files to update one in OP







. I have linked also 2 posts of yours concerning the modding of softpowerplay, etc.

@Nuke33

Thanks for the welcome!







. I guess resistance was futile to VEGA in my case!







. Yes will be interesting to tinker with VEGA, I doubt I will be able to extend what members have already achieved, but I will share what I can on my exploits for sure







. +rep for share of your experience







.

@Blockchainfive

I had +repped your post for share of reg file that gave you success with mining when you posted it. I read now you have removed the link. I did get the reg file for viewing, but will not infringe on your right to share or not. I am requesting you please do restore it so other may try your mod







. I have never mined nor have any idea on doing this, but your file could help others which is what the thread/forum is about IMO.


----------



## Blockchainfive

My strategy was to export the reg file which I had tuned, but it turned out to still be OEM Hell M settings!

If peeps can give me some time for a power nap, I will have a go in the next 24 to fix.

Failing that will share the settings and ask one of many Powerplay gurus to adjust.

This is me right now, cards settled in.

The power still wrestling with a bit around 160-170W, keeping in mind the silicon lottery and other people not getting a BSOD when the share is fixed.


----------



## Blockchainfive

And here are my ODNT setting which am hoping to reg up so you don't have to enter them in all the time.

It has been a mindbending process as you spend hours tweaking one setting to come to the conclusion it has not much clout on the overall situ.

The card lets you play with settings but is always one step ahead about what its reaction is or one step behind as in slowly adjusts.

Paraphrasing

1. Vega 64 Liquid Cooled Bios, fastest and quickest way to get up your ETH stats.
(At first it seems like the temp limit is restrictive but as you tune non issue)
2. Fan settings took me a while to understand, my take is it keeps your core voltage strict and in turn your hash strict orig 2861RPM presently testing 2250RPM and still solid on MH
3. Ambient temperature and humidity, this card seems very bound to TEMP so its either EKWB$$$$ or +RPM/DB
4. The BSOD seems to be around P7 mV as one of my cards handles 850 flat, the other needs 855 to avoid BSOD. Hence REG should be 855 for max compatibility.
5. Power is currently on 440W/240V EVGA850G3GOLD. I did see under 400W but once again BSOD lurks
6. I think with 44MH on a VEGA 56 AIR and the card not at full tilt, we can build off each others work for further gains.


----------



## Nuke33

Quote:


> Originally Posted by *gupsterg*
> 
> @Nuke33
> 
> Thanks for the welcome!
> 
> 
> 
> 
> 
> 
> 
> . I guess resistance was futile to VEGA in my case!
> 
> 
> 
> 
> 
> 
> 
> . Yes will be interesting to tinker with VEGA, I doubt I will be able to extend what members have already achieved, but I will share what I can on my exploits for sure
> 
> 
> 
> 
> 
> 
> 
> . +rep for share of your experience
> 
> 
> 
> 
> 
> 
> 
> .


Hehe yeah it is hard to resist the urge to tinker








Nvidia cards are very boring in that regard.
There are always new possibilities no one has thought of, so I am pretty sure that what we achieved until now is not the end of the road.
Thank you for the rep


----------



## Nuke33

Quote:


> Originally Posted by *Blockchainfive*
> 
> My strategy was to export the reg file which I had tuned, but it turned out to still be OEM Hell M settings!
> 
> If peeps can give me some time for a power nap, I will have a go in the next 24 to fix.
> 
> Failing that will share the settings and ask one of many Powerplay gurus to adjust.
> 
> This is me right now, cards settled in.
> 
> The power still wrestling with a bit around 160-170W, keeping in mind the silicon lottery and other people not getting a BSOD when the share is fixed.


Pretty impressive!








Are you on the blockchain driver ?
Could you share your miner config please ?


----------



## diabetes

@Blockchainfive

How did you manage to get Hwinfo64 to show "GPU VR VDDC Temperature"? Mine does not have this. Is this only a thing on blockchain driver?


----------



## Blockchainfive

Blockchain driver all the way.

Decred 30 will net you 38/39MH
Decred 1 will net you 39.9/40.1MH

No other special settings

Most impressive is no loss getting this HASH converted at nano pool level as 6 hour average shows.


----------



## Blockchainfive

@diabetes

Yes on blockchain driver.

HWinfo doesn't show this setting every time nor on every card (note my second GPU doesn't show it)

Best direct the question to HWinfo, I believe they are on forum.


----------



## cscheat

can we play game with Blockchain driver?????


----------



## Blockchainfive

@cscheat

Can't say i've tried but do admire your multitasking skills.

I have a PS4 right next to this and soon to be Xbox One X. In support of gaming community have already bought tokens in DMarket Pre-ICO.

DMarket is the first step in the gaming blockchain revolution.

What would you think if I told you my PS4 stays on 24/7 yet I play it couple of hours a day?

Opportunity right there....


----------



## Mumak

Quote:


> Originally Posted by *diabetes*
> 
> @Blockchainfive
> 
> How did you manage to get Hwinfo64 to show "GPU VR VDDC Temperature"? Mine does not have this. Is this only a thing on blockchain driver?


This depends on driver and GPU model.
I have just added reporting of the GPU Hot Spot Temperature. This will be available in the next HWiNFO Beta version.


----------



## Nuke33

Quote:


> Originally Posted by *Blockchainfive*
> 
> Blockchain driver all the way.
> 
> Decred 30 will net you 38/39MH
> Decred 1 will net you 39.9/40.1MH
> 
> No other special settings
> 
> Most impressive is no loss getting this HASH converted at nano pool level as 6 hour average shows.


Interesting, those are nice scores indeed. Especially for a Vega56.

I use -dcri 48, that gives me 41,15 MH/s ETH & 2080 GH/s in Decred. 1400/[email protected]

Everything below -dcri 48 does not fully utilize my Vega64.


----------



## Nuke33

Quote:


> Originally Posted by *Mumak*
> 
> This depends on driver and GPU model.
> I have just added reporting of the GPU Hot Spot Temperature. This will be available in the next HWiNFO Beta version.


Do you by chance know what "GPU Hotspot" actually refers to ?


----------



## rednow

Quote:


> Originally Posted by *Mumak*
> 
> This depends on driver and GPU model.
> I have just added reporting of the GPU Hot Spot Temperature. This will be available in the next HWiNFO Beta version.


Yeah, it seems that vega64 Liquid version has more sensors than my vega56 air. I have both

2 Blockchainfive

You definitely should set target temp 55 degrees in OverdriveNTool.
80 degrees you have on HBM is a disaster!


----------



## Blockchainfive

My thought on this is now 44MH on a 56 has been proven by using a 64 Bios, we need a custom 64 Bios to see what the 64 can really do.

I have read about the signed locked BIOS for AMD VEGA, hmmm lots of IP on this site...is there a way including contacting AMD?

I don't think this thread will rest till it's solved.


----------



## Mumak

Quote:


> Originally Posted by *Nuke33*
> 
> Do you by chance know what "GPU Hotspot" actually refers to ?


Not quite sure since the logic behind this is hidden deep in the SMU firmware, but I believe this should be the hottest among all sensors in the GPU.


----------



## Blockchainfive

@rednow

I read GUP's warning on page one

"Warning: Using this guide to edit your bios will void your warranty (if card has one). This guide is provided assuming a user knows implications of what they are doing. I accept no responsibility for damage from using this information. All efforts are being made to double check information but there maybe errors"

The same applies to any settings that are posted here.

I have pushed these cards up to redline which is 95deg, and the cards load shed and disable as a protection feature at that mark (manufacturer limit)

OC'ers are free to tweak as that is what they do, for me as a miner high hashrate and low power draw are the two main goals.

After that its noise vs heat as they are linked, your setting will lower temp but RPMs (and noise) will be max. Choice is U2U.

My original question stands, can anyone confirm my tune gives their VEGA 56 43-44MH???

Will post if I brick my cards, but think they will serve purpose.


----------



## rednow

Quote:


> Originally Posted by *Blockchainfive*
> 
> @rednow
> My original question stands, can anyone confirm my tune gives their VEGA 56 43-44MH???


vega 56 is doing 44 mhs easily 1220/[email protected] consuming 150watt. Temps are 55gpu/65hbm @ 2800rpm if ambient temp is reasonable (20-24 degrees)


----------



## Blockchainfive

@rednow

Thanks for being the first confirm. I tried your settings, same draw same hash but work without BSOD which is key.

Now we need a REG file maybe one low noise and one low temp?

I work overseas so would be interested in using your settings when i'm out of earshot.

This is R&D for me yet to RIG up or find a alternative location with ventilation and sound proofing.

I'm gonna be in poo when the Inno Dashmaster A5 gets here that is gonna be looood AF.


----------



## gupsterg

Just googling about for things for stuff related to what we see in PowerPlay. Reading the VEGA white paper there was this tit bit.
Quote:


> "Vega" 10 also allows for finer-grained control over operating frequencies with the addition of a third clock domain, beyond the graphics core and memory domains, for its Infinity Fabric SoC-level interconnect. The Infinity Fabric logic links the graphics core to other on-chip units like the multimedia, display, and I/O blocks. In "Vega" 10, this fabric is clocked separately from the graphics core. As a
> result, the GPU can maintain high clock speeds in the Infinity Fabric domain in order to facilitate fast *DMA* data transfers in workloads that feature little to no graphics activity, such as video transcoding. Meanwhile, the GPU can keep the graphics core clocked down, saving power without compromising performance in the task at hand.


I believe DMA = Direct Memory Access.

Viewing a VEGA FE AIR PP for SOC CLK I get:-

Code:



Code:


typedef struct _ATOM_Vega10_SOCCLK_Dependency_Table {
00    UCHAR ucRevId;
06    UCHAR ucNumEntries;                                         /* Number of entries. */
    ATOM_Vega10_CLK_Dependency_Record entries[1];            /* Dynamically allocate entries. */
} ATOM_Vega10_SOCCLK_Dependency_Table;

typedef struct _ATOM_Vega10_CLK_Dependency_Record {
60 EA 00 00 (600MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
00                      UCHAR  ucVddInd;                                            /* Base voltage */

} ATOM_Vega10_CLK_Dependency_Record;
typedef struct _ATOM_Vega10_CLK_Dependency_Record {
40 19 01 00 (720MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
01                      UCHAR  ucVddInd;                                            /* Base voltage */

} ATOM_Vega10_CLK_Dependency_Record;
typedef struct _ATOM_Vega10_CLK_Dependency_Record {
DC 4A 01 00 (874MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
02                      UCHAR  ucVddInd;                                            /* Base voltage */

} ATOM_Vega10_CLK_Dependency_Record;
typedef struct _ATOM_Vega10_CLK_Dependency_Record {
00 77 01 00 (960MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
03                      UCHAR  ucVddInd;                                            /* Base voltage */

} ATOM_Vega10_CLK_Dependency_Record;
typedef struct _ATOM_Vega10_CLK_Dependency_Record {
90 91 01 00 (1028MHz)   ULONG  ulClk;                                               /* Frequency of Clock */
04                      UCHAR  ucVddInd;                                            /* Base voltage */

} ATOM_Vega10_CLK_Dependency_Record;
typedef struct _ATOM_Vega10_CLK_Dependency_Record {
6C B0 01 00 (1107MHz)   ULONG  ulClk;                                               /* Frequency of Clock */
05                      UCHAR  ucVddInd;                                            /* Base voltage */
} ATOM_Vega10_CLK_Dependency_Record;

Thought at present is would SoftPowerPlay mod allow changes to Infinity Fabric (SOCCLK), would this have an effect for any usage purpose? Anyone try this so far?


----------



## Nuke33

Quote:


> Originally Posted by *gupsterg*
> 
> Just googling about for things for stuff related to what we see in PowerPlay. Reading the VEGA white paper there was this tit bit.
> I believe DMA = Direct Memory Access.
> 
> Viewing a VEGA FE AIR PP for SOC CLK I get:-
> 
> Code:
> 
> 
> 
> Code:
> 
> 
> typedef struct _ATOM_Vega10_SOCCLK_Dependency_Table {
> 00    UCHAR ucRevId;
> 06    UCHAR ucNumEntries;                                         /* Number of entries. */
> ATOM_Vega10_CLK_Dependency_Record entries[1];            /* Dynamically allocate entries. */
> } ATOM_Vega10_SOCCLK_Dependency_Table;
> 
> typedef struct _ATOM_Vega10_CLK_Dependency_Record {
> 60 EA 00 00 (600MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
> 00                      UCHAR  ucVddInd;                                            /* Base voltage */
> 
> } ATOM_Vega10_CLK_Dependency_Record;
> typedef struct _ATOM_Vega10_CLK_Dependency_Record {
> 40 19 01 00 (720MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
> 01                      UCHAR  ucVddInd;                                            /* Base voltage */
> 
> } ATOM_Vega10_CLK_Dependency_Record;
> typedef struct _ATOM_Vega10_CLK_Dependency_Record {
> DC 4A 01 00 (874MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
> 02                      UCHAR  ucVddInd;                                            /* Base voltage */
> 
> } ATOM_Vega10_CLK_Dependency_Record;
> typedef struct _ATOM_Vega10_CLK_Dependency_Record {
> 00 77 01 00 (960MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
> 03                      UCHAR  ucVddInd;                                            /* Base voltage */
> 
> } ATOM_Vega10_CLK_Dependency_Record;
> typedef struct _ATOM_Vega10_CLK_Dependency_Record {
> 90 91 01 00 (1028MHz)   ULONG  ulClk;                                               /* Frequency of Clock */
> 04                      UCHAR  ucVddInd;                                            /* Base voltage */
> 
> } ATOM_Vega10_CLK_Dependency_Record;
> typedef struct _ATOM_Vega10_CLK_Dependency_Record {
> 6C B0 01 00 (1107MHz)   ULONG  ulClk;                                               /* Frequency of Clock */
> 05                      UCHAR  ucVddInd;                                            /* Base voltage */
> } ATOM_Vega10_CLK_Dependency_Record;
> 
> Thought at present is would SoftPowerPlay mod allow changes to Infinity Fabric (SOCCLK), would this have an effect for any usage purpose? Anyone try this so far?


It could be beneficial for large memory operations since the HBCC Controller is connected to it. Probably not to increase bandwidth but to lower latency.
If other clocks are derived of it like it is the case for PCIe clock on systembusses, increasing its frequency could lead to problems though.

Definitely worth a try!


----------



## gupsterg

Quote:


> Originally Posted by *Nuke33*
> 
> Definitely worth a try!


Indeed







.

Gonna do a PP table compare between other VEGA cards.

Also got to translate/investigate:-

usDcefclkDependencyTableOffset; /* points to ATOM_Vega10_DCEFCLK_Dependency_Table */
usPixclkDependencyTableOffset; /* points to ATOM_Vega10_PIXCLK_Dependency_Table */
usDispClkDependencyTableOffset; /* points to ATOM_Vega10_DISPCLK_Dependency_Table */
usPhyClkDependencyTableOffset; /* points to ATOM_Vega10_PHYCLK_Dependency_Table */


----------



## gupsterg

I have marked PP Header before VEGA FE and now RX VEGA 64

Each time:-

Code:



Code:


5C 00 (0x5Ch)                USHORT usStateArrayOffset;                 /* points to ATOM_Vega10_State_Array */

Is first table but sandwiched between end of header and 1st table is what looks like a GPU clock?



Has anyone played with this?


----------



## Mumak

Guys, here a new Beta build with some news related to Vega:
- monitoring of GPU Hot Spot temperature
- monitoring of GPU SoC clock (for Gup







)
Download here: www.hwinfo.com/beta/hw64_559_3268.zip


----------



## Leons

Quote:


> Originally Posted by *Mumak*
> 
> Guys, here a new Beta build with some news related to Vega:
> - monitoring of GPU Hot Spot temperature
> - monitoring of GPU SoC clock (for Gup
> 
> 
> 
> 
> 
> 
> 
> )
> Download here: www.hwinfo.com/beta/hw64_559_3268.zip


Thanks for reading other sensors.
But reading "GPU Chip Power " On my RX VEGA 56 is not correct.
The image is with the GPU in IDLE.


----------



## asder00

Yo @gupsterg gonna dump you some stuff...









I have this additional soft table in the registry if you want to take a look:

Code:



Code:


"PP_PhmSoftWTTable"=hex:58,02,bf,03,a7,00,f3,01,00,00,00,00,c0,03,88,13,a7,00,\
  f3,01,01,00,00,00,58,02,bf,03,f4,01,88,13,02,00,00,00,c0,03,88,13,f4,01,88,\
  13,03,00,00,00,58,02,4e,03,a7,00,f3,01,00,00,00,00,4f,03,88,13,a7,00,f3,01,\
  01,00,00,00,58,02,4e,03,f4,01,88,13,02,00,00,00,4f,03,88,13,f4,01,88,13,03,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00

It is not present in the bios.
You can find some strings of it in the kernel:

Code:



Code:


PhwVega10_WatermarksForClocksRangesEx
PP_PhmSoftWTTable
PP_PhmSoftWTTable value is too short to be a Watermark Table
readVega10WaterMarkTableFromRegistry

Moar _soft_ regkeys from kernel:

Code:



Code:


PP_PhmSoftAvfsVoltages
PP_PhmSoftAvfsBtcVRConfig

Possible Vega10 VBIOS inside the kernel @ 0227DE00 (fall update driver oct16)

Code:



Code:


06/29/17,16:24:46
113-D0501100-109a.FGL VEGA10.PCI_EXPRESS.HBM2
Vega10 A1 XTX AIR D05011 16GB 852e/945m 0.95V

From the new HWiNFO:
SoC clock idle: 600mhz
SoC clock 3d load: 1107mhz

Thanks for the update Mumak


----------



## AMDFXBoy

Quote:


> Originally Posted by *halsafar*
> 
> https://github.com/halsafar/Vega64SoftPowerTableEditor/releases/tag/v0.1


How to open this in Windows?


----------



## Mumak

Quote:


> Originally Posted by *Leons*
> 
> Thanks for reading other sensors.
> But reading "GPU Chip Power " On my RX VEGA 56 is not correct.
> The image is with the GPU in IDLE.


Which drivers are you using and how much does it show under load ?


----------



## Leons

Quote:


> Originally Posted by *Mumak*
> 
> Which drivers are you using and how much does it show under load ?


----------



## rednow

Well, so SoC clock is 1107mhz - is it the reason we cannot oc hbm memory beyond 1107?


----------



## Mumak

Quote:


> Originally Posted by *Leons*


Thanks, so you're running "Crimson ReLive Edition Beta for Windows 10 Fall Creators Update", right ?
This is a discrepancy in how AMD's drivers report power. Already discussed this with their engineers. Will add a workaround for this in the next build.


----------



## Leons

Quote:


> Originally Posted by *Mumak*
> 
> Thanks, so you're running "Crimson ReLive Edition Beta for Windows 10 Fall Creators Update", right ?
> This is a discrepancy in how AMD's drivers report power. Already discussed this with their engineers. Will add a workaround for this in the next build.


That's right.
Thank you for your time and commitment.
Sorry my English (Bing translator).


----------



## Nuke33

Quote:


> Originally Posted by *Mumak*
> 
> Not quite sure since the logic behind this is hidden deep in the SMU firmware, but I believe this should be the hottest among all sensors in the GPU.


Quote:


> Originally Posted by *Mumak*
> 
> Guys, here a new Beta build with some news related to Vega:
> - monitoring of GPU Hot Spot temperature
> - monitoring of GPU SoC clock (for Gup
> 
> 
> 
> 
> 
> 
> 
> )
> Download here: www.hwinfo.com/beta/hw64_559_3268.zip


Thank you.


----------



## Mumak

Quote:


> Originally Posted by *Mumak*
> 
> Thanks, so you're running "Crimson ReLive Edition Beta for Windows 10 Fall Creators Update", right ?
> This is a discrepancy in how AMD's drivers report power. Already discussed this with their engineers. Will add a workaround for this in the next build.


Oh, well.. I checked these drivers and it looks like AMD did the opposite what I asked them for.. They changed the method of power reporting again, which makes things not compatible for us.
Anyway, will add that workaround and write them a nice "thank you for such mess" e-mail...


----------



## Nuke33

Quote:


> Originally Posted by *rednow*
> 
> Well, so SoC clock is 1107mhz - is it the reason we cannot oc hbm memory beyond 1107?


Hmm interesting theory.
Seems like too much of a coincidence since all my Vegas also top out at exactly 1107.
Quote:


> Originally Posted by *Mumak*
> 
> Oh, well.. I checked these drivers and it looks like AMD did the opposite what I asked them for.. They changed the method of power reporting again, which makes things not compatible for us.
> Anyway, will add that workaround and write them a nice "thank you for such mess" e-mail...


----------



## Nuke33

Success !









Infinityfabric overclocking works!

Rednows hunch was right, HBM clocks are limited by SoC clocks.

So, I set SoC clock to 1118mhz and it allowed me to set HBM to 1118mhz. 1119mhz gives me blackscreen instantly.
SOC clock at 1120mhz allows 1120mhz HBM and so on, I have not found the limit yet. So to me it seems directly correlated.

See gupsterg I knew you could do it









+rep for @gupsterg & @rednow

@Mumak Your SoC clock readout seems not to be accurate if raised over stock.


----------



## Mumak

Quote:


> Originally Posted by *Nuke33*
> 
> @Mumak Your SoC clock readout seems not to be accurate if raised over stock.


How much off is it? This clock is read from the SMC, so the logic is completely hidden there. Also like other clocks, the value is averaged by the SMC over a (short, don't know much exactly) time period, so it won't match an exact P-State value if it's frequently fluctuating.


----------



## Nuke33

Quote:


> Originally Posted by *Mumak*
> 
> How much off is it? This clock is read from the SMC, so the logic is completely hidden there. Also like other clocks, the value is averaged by the SMC over a (short, don't know much exactly) time period, so it won't match an exact P-State value if it's frequently fluctuating.


It looks like it is always 1199mhz. But I have not tried many SoC frequencies as of now.


----------



## Mumak

I have just released public Beta build 3270 which should also fix GPU Chip Power reporting on Crimson ReLive for Windows 10 Fall Creators Update drivers.


----------



## Nuke33

So 1148mhz is my max error free HBM frequency. 1150mhz gives me errors in OCCT. I have not determined a limit for SoC frequency though. 1200mhz works flawlessly.


----------



## spyshagg

Quote:


> Originally Posted by *Nuke33*
> 
> So 1148mhz is my max error free HBM frequency. 1150mhz gives me errors in OCCT. I have not determined a limit for SoC frequency though. 1200mhz works flawlessly.


Can I ask 1148mhz with how much mv and temperature? (cooling solution), with the gpu clock set to what mhz and mv?

Also, you guys are pretty amazing. This card will extend its life span like the 290x did on account of your collective work alone.


----------



## Nuke33

Quote:


> Originally Posted by *spyshagg*
> 
> Can I ask 1148mhz with how much mv and temperature? (cooling solution), with the gpu clock set to what mhz and mv?
> 
> Also, you guys are pretty amazing. This card will extend its life span like the 290x did on account of your collective work alone.


You can see all my current settings in the picture below, except HBM clock is at 1148mhz and SoC clock at 1200mhz.
Cooling solution is an Alphacool GPX-PRO with an external 360 Nexxos Radiator.
Temperature is around 40°C max when really stressed with Furmark style powerbenchmarks.

Thank you








Yeah I hope so!
With driver improvements and enabling all features of Vega I am counting on a nice performance boost in the future.


----------



## spyshagg

Quote:


> Originally Posted by *Nuke33*
> 
> You can see all my current settings in the picture below, except HBM clock is at 1148mhz and SoC clock at 1200mhz.
> Cooling solution is an Alphacool GPX-PRO with an external 360 Nexxos Radiator.
> Temperature is around 40°C max when really stressed with Furmark style powerbenchmarks.
> 
> Thank you
> 
> 
> 
> 
> 
> 
> 
> 
> Yeah I hope so!
> With driver improvements and enabling all features of Vega I am counting on a nice performance boost in the future.


Thats what I needed. Thanks

I'm a bit struck how you and some other guys in this forum can manage HBM >1050mhz bellow 900mv.

As I said on the vega thread, anything above 1050mhz/1050mv will crash in my games. There is a lot of difference between 1050mhz/1050mv and 1118mhz/885mv.
Even with GPU speeds, some are doing stock clocks bellow 900mv while I need 1050mv for the same clocks. I feel like I'm missing something here lol


----------



## Nuke33

Quote:


> Originally Posted by *Mumak*
> 
> How much off is it? This clock is read from the SMC, so the logic is completely hidden there. Also like other clocks, the value is averaged by the SMC over a (short, don't know much exactly) time period, so it won't match an exact P-State value if it's frequently fluctuating.


I tested a variety of SoC frequencies above stock of 1107mhz and it gives me 1199mhz all the time. Load was constant with no fluctuations.


----------



## Nuke33

Quote:


> Originally Posted by *spyshagg*
> 
> Thats what I needed. Thanks
> 
> I'm a bit struck how you and some other guys in this forum can manage HBM >1050mhz bellow 900mv.
> 
> As I said on the vega thread, anything above 1050mhz/1050mv will crash in my games. There is a lot of difference between 1050mhz/1050mv and 1118mhz/885mv.
> Even with GPU speeds, some are doing stock clocks bellow 900mv while I need 1050mv for the same clocks. I feel like I'm missing something here lol


Sure ,you are welcome.

I think the HBM voltage is not very relevant for HBM frequency. It is more like a minimum core voltage which includes the memory controller as well.
Vega reacts very poorly to high temperatures. If you can keep the heat down you can also get high clocks, unless you got a potato asic.

Also a lot of crashes are due to Vegas boosting mechanisms. Those random lockups really annoyed me since they were ...well... totally random








I would recommend you use clockblocker to stay at P7 or my method to set P4 as max frequency. Both fix those boosting instabilities.


----------



## AMDFXBoy

Quote:


> Originally Posted by *Nuke33*
> 
> Success !
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Infinityfabric overclocking works!
> 
> Rednows hunch was right, HBM clocks are limited by SoC clocks.
> 
> So, I set SoC clock to 1118mhz and it allowed me to set HBM to 1118mhz. 1119mhz gives me blackscreen instantly.
> SOC clock at 1120mhz allows 1120mhz HBM and so on, I have not found the limit yet. So to me it seems directly correlated.
> 
> See gupsterg I knew you could do it
> 
> 
> 
> 
> 
> 
> 
> 
> 
> +rep for @gupsterg & @rednow
> 
> @Mumak Your SoC clock readout seems not to be accurate if raised over stock.


How are you increasing the SOC clock?


----------



## Nuke33

Quote:


> Originally Posted by *AMDFXBoy*
> 
> How are you increasing the SOC clock?


By changing the marked values. Stock 6C,B0,01 = 110700
So if you want 1200mhz for example you need to exchange it with C0,D4,01


----------



## AMDFXBoy

Quote:


> Originally Posted by *Nuke33*
> 
> By changing the marked values. Stock 6C,B0,01 = 110700
> So if you want 1200mhz for example you need to exchange it with C0,D4,01


Very nice. Does it show any sort of performance increase in games, or does it allow the core/hbm to clock further based on what you have seen so far?

On stock i have not seen the SOC above 1028Mhz so far according to HWINFO.


----------



## spyshagg

yes I would like to see benches that show:

stock SOC
oced SOC
oced SOC + matching HBM


----------



## Nuke33

Quote:


> Originally Posted by *AMDFXBoy*
> 
> Very nice. Does it show any sort of performance increase in games, or does it allow the core/hbm to clock further based on what you have seen so far?
> 
> On stock i have not seen the SOC above 1028Mhz so far according to HWINFO.


I have not tried any games yet but firestrike shows no noticeable improvement by raising only SoC clock.
I think the main benefit is the possibility to raise HBM clocks even further.
I have noticed that setting SoC clocks to the exact same frequency as HBM limits performance a little bit. So having 10-20mhz more on SoC is probably a good idea to max out performance.


----------



## Nuke33

Quote:


> Originally Posted by *spyshagg*
> 
> yes I would like to see benches that show:
> 
> stock SOC
> oced SOC
> oced SOC + matching HBM


I can do that this afternoon, right now I am about to leave for some errands.


----------



## rednow

gupsterg and Nuke33 - you are awesome!
Pitty I cannot + REP.

Vega64 liquid 1408/1100 before 1408/1150 after
eth 44.2 before 46.2 after
xmr 1990 before 2150 2050 after
))



vega_1150mem.png 153k .png file


vega_1150mem_xmr.png 138k .png file


"Slow" card on screens is Vega56 running 1408/1100


----------



## gupsterg

@Mumak

Big thank you as always for your support







.

@AMDFXBoy

In OP *Useful links* is a note and link to what you require for SoftPowerTableEditor to work.

@asder00

I previously forgot to say I did yesterday add link to the updated RX VEGA 64 AIO VBIOS you shared, +rep, thanks







.

+rep for information in post 553







, as always your support and help is valued greatly







. I am still limited in sharing things as my RX VEGA 64 is still not in my hands. I was being tight and ordered using "Super Saver delivery" LOL! As soon as here plan to tinker as much as time/knowledge I have allows







.

@Nuke33

Many +rep for your shares of testing







, thank you







.

May I ask do you have V56? also is your die molded? as hotspot temp would seem to suggest this to me.

@rednow

+rep for sharing test data







, nice to see we have 2 differing members seeing:-

a) SOCCLK mod working.
b) improved HBM clock gain with SOCCLK increase.

Thank you







.


----------



## rednow

Quote:


> Originally Posted by *Nuke33*
> 
> So 1148mhz is my max error free HBM frequency. 1150mhz gives me errors in OCCT. I have not determined a limit for SoC frequency though. 1200mhz works flawlessly.


Yes, for memspeed above 1150mhz it seems to give some "fake" hashrate, meaning that internal compute errors result in less found shares. Miner doesn't report errors ...


----------



## spyshagg

how many watts for those figures @rednow ?


----------



## Nuke33

Quote:


> Originally Posted by *gupsterg*
> 
> @Nuke33
> 
> Many +rep for your shares of testing
> 
> 
> 
> 
> 
> 
> 
> , thank you
> 
> 
> 
> 
> 
> 
> 
> .
> 
> May I ask do you have V56? also is your die molded? as hotspot temp would seem to suggest this to me.


Thank you very much.








But the truth is that you should get those reps instead since you were the one who made it possible in the first place









Unfortunately I do not own a V56. My V64 has a molded die and I used Conductonaut on it.


----------



## Nuke33

Quote:


> Originally Posted by *rednow*
> 
> gupsterg and Nuke33 - you are awesome!
> Pitty I cannot + REP.
> 
> Vega64 liquid 1408/1100 before 1408/1150 after
> eth 44.2 before 46.2 after
> xmr 1990 before 2150 after
> ))
> 
> "Slow" card on screens is Vega56 running 1408/1100


Thanks









Nice scores, thank you for confirming it works!








Quote:


> Originally Posted by *rednow*
> 
> Yes, for memspeed above 1150mhz it seems to give some "fake" hashrate, meaning that internal compute errors result in less found shares. Miner doesn't report errors ...


1150mhz works at first for me but as the waterloop heats up it throws a few errors here and there. Not much but I am a fan of stability, so 1148mhz it is









I have to say I was actually suprised that it reached that high. From 945mhz to 1148mhz we get an increase of ~22% memory bandwidth. That is insane considering those gains are almost free of powerconsumption increase.


----------



## Star2k

The liquid version have only 5 p-states for SoC ?

In my case (air bios, reg hellm), i have 8 p-states for SoC, or i'm on wrong way...


----------



## gupsterg

@Nuke33

Thanks for info, sweet hotspot temp for sure







.

@Star2k

You are correct.

I was going to spend time making marked images of each edition PowerPlay to add to OP, I have not found time today.

In the powerplay is header which has pointer to SOCCLK table (blue highlight), 2nd byte denotes number of entries (green line), each entry is clock (4 bytes) and then ID (1 byte/orange line).


----------



## The EX1

Quote:


> Originally Posted by *rednow*
> 
> gupsterg and Nuke33 - you are awesome!
> Pitty I cannot + REP.
> 
> Vega64 liquid 1408/1100 before 1408/1150 after
> eth 44.2 before 46.2 after
> xmr 1990 before 2150 after
> 
> "Slow" card on screens is Vega56 running 1408/1100


What driver are you currently on? What are you using to lock in your core voltage that low?


----------



## Star2k

Ok ! Thanks for explanation.


----------



## gupsterg

@Star2k

No problem







.

I have been viewing PowerPlay from VBIOS and yesterday did note malformed PowerPlay for RX VEGA 56. VBIOS being studied was one which Buildzoid posted in thread,

VER016.001.001.000.008766
07/30/17 17:26

Header translation


Spoiler: Warning: Spoiler!



Code:



Code:


typedef struct _ATOM_Vega10_POWERPLAYTABLE {
        struct atom_common_table_header sHeader;
00                      UCHAR  ucTableRevision;
5C 00                   USHORT usTableSize;                        /* the size of header structure */
EF 06 00 00             ULONG  ulGoldenPPID;                       /* PPGen use only */
0E 2C 00 00             ULONG  ulGoldenRevision;                   /* PPGen use only */
1B 00                   USHORT usFormatID;                         /* PPGen use only */
48 00 00 00             ULONG  ulPlatformCaps;                     /* See ATOM_Vega10_CAPS_* */
80 A9 03 00 (2400MHz)   ULONG  ulMaxODEngineClock;                 /* For Overdrive. */
F0 49 02 00 (1500MHz)   ULONG  ulMaxODMemoryClock;                 /* For Overdrive. */
32 00                   USHORT usPowerControlLimit;
08 00                   USHORT usUlvVoltageOffset;                 /* in mv units */
00 00                   USHORT usUlvSmnclkDid;
00 00                   USHORT usUlvMp1clkDid;
00 00                   USHORT usUlvGfxclkBypass;
00 00                   USHORT usGfxclkSlewRate;
00                      UCHAR  ucGfxVoltageMode;
00                      UCHAR  ucSocVoltageMode;
00                      UCHAR  ucUclkVoltageMode;
00                      UCHAR  ucUvdVoltageMode;
00                      UCHAR  ucVceVoltageMode;
02                      UCHAR  ucMp0VoltageMode;
01                      UCHAR  ucDcefVoltageMode;
5C 00 (0x5Ch)           USHORT usStateArrayOffset;                 /* points to ATOM_Vega10_State_Array */
40 02 (0x240h)          USHORT usFanTableOffset;                   /* points to ATOM_Vega10_Fan_Table */
37 02 (0x237h)          USHORT usThermalControllerOffset;          /* points to ATOM_Vega10_Thermal_Controller */
94 00 (0x94h)           USHORT usSocclkDependencyTableOffset;      /* points to ATOM_Vega10_SOCCLK_Dependency_Table */
8F 01 (0x18Fh)          USHORT usMclkDependencyTableOffset;        /* points to ATOM_Vega10_MCLK_Dependency_Table */
B4 00 (0xB4h)           USHORT usGfxclkDependencyTableOffset;      /* points to ATOM_Vega10_GFXCLK_Dependency_Table */
1E 01 (0x11Eh)          USHORT usDcefclkDependencyTableOffset;     /* points to ATOM_Vega10_DCEFCLK_Dependency_Table */
7A 00 (0x7Ah)           USHORT usVddcLookupTableOffset;            /* points to ATOM_Vega10_Voltage_Lookup_Table */
8C 00 (0x8Ch)           USHORT usVddmemLookupTableOffset;          /* points to ATOM_Vega10_Voltage_Lookup_Table */
AD 01 (0x1ADh)          USHORT usMMDependencyTableOffset;          /* points to ATOM_Vega10_MM_Dependency_Table */
00 00                   USHORT usVCEStateTableOffset;              /* points to ATOM_Vega10_VCE_State_Table */
00 00                   USHORT usReserve;                          /* No PPM Support for Vega10 */
63 02 (0x263h)          USHORT usPowerTuneTableOffset;             /* points to ATOM_Vega10_PowerTune_Table */
00 00                   USHORT usHardLimitTableOffset;             /* points to ATOM_Vega10_Hard_Limit_Table */
90 00 (0x90h)           USHORT usVddciLookupTableOffset;           /* points to ATOM_Vega10_Voltage_Lookup_Table */
99 02 (0x299h)          USHORT usPCIETableOffset;                  /* points to ATOM_Vega10_PCIE_Table */
5E 01 (0x15Eh)          USHORT usPixclkDependencyTableOffset;      /* points to ATOM_Vega10_PIXCLK_Dependency_Table */
34 01 (0x134h)          USHORT usDispClkDependencyTableOffset;     /* points to ATOM_Vega10_DISPCLK_Dependency_Table */
88 01 (0x188h)          USHORT usPhyClkDependencyTableOffset;      /* points to ATOM_Vega10_PHYCLK_Dependency_Table */
} ATOM_Vega10_POWERPLAYTABLE;





SOCCLK translation


Spoiler: Warning: Spoiler!



Code:



Code:


typedef struct _ATOM_Vega10_SOCCLK_Dependency_Table {
00    UCHAR ucRevId;
06    UCHAR ucNumEntries;                                         /* Number of entries. */
    ATOM_Vega10_CLK_Dependency_Record entries[1];            /* Dynamically allocate entries. */
} ATOM_Vega10_SOCCLK_Dependency_Table;

typedef struct _ATOM_Vega10_CLK_Dependency_Record {
60 EA 00 00 (600MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
00                      UCHAR  ucVddInd;                                            /* Base voltage */
} ATOM_Vega10_CLK_Dependency_Record;

typedef struct _ATOM_Vega10_CLK_Dependency_Record {
40 19 01 00 (720MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
01                      UCHAR  ucVddInd;                                            /* Base voltage */
} ATOM_Vega10_CLK_Dependency_Record;

typedef struct _ATOM_Vega10_CLK_Dependency_Record {
DC 4A 01 00 (847MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
02                      UCHAR  ucVddInd;                                            /* Base voltage */
} ATOM_Vega10_CLK_Dependency_Record;

typedef struct _ATOM_Vega10_CLK_Dependency_Record {
00 77 01 00 (960MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
03              UCHAR  ucVddInd;                                            /* Base voltage */
} ATOM_Vega10_CLK_Dependency_Record;

typedef struct _ATOM_Vega10_CLK_Dependency_Record {
        ULONG  ulClk;                                               /* Frequency of Clock */
        UCHAR  ucVddInd;                                            /* Base voltage */
} ATOM_Vega10_CLK_Dependency_Record;

typedef struct _ATOM_Vega10_CLK_Dependency_Record {
90 91 01 00 (1028MHz)   ULONG  ulClk;                                               /* Frequency of Clock */
05                      UCHAR  ucVddInd;                                            /* Base voltage */
} ATOM_Vega10_CLK_Dependency_Record;

typedef struct _ATOM_Vega10_CLK_Dependency_Record {
        ULONG  ulClk;                                               /* Frequency of Clock */
        UCHAR  ucVddInd;                                            /* Base voltage */
} ATOM_Vega10_CLK_Dependency_Record;

typedef struct _ATOM_Vega10_CLK_Dependency_Record {
6C B0 01 00 (1107MHz)   ULONG  ulClk;                                               /* Frequency of Clock */
07                      UCHAR  ucVddInd;                                            /* Base voltage */
} ATOM_Vega10_CLK_Dependency_Record;





The table occupies the correct space, does not have 6 entries, then ucVddInd is not consecutively increasing. Really strange to say the least.


----------



## Nuke33

Quote:


> Originally Posted by *gupsterg*
> 
> I have been viewing PowerPlay from VBIOS and yesterday did note malformed PowerPlay for RX VEGA 56. VBIOS being studied was one which Buildzoid posted in thread,
> 
> VER016.001.001.000.008766
> 07/30/17 17:26
> 
> Header translation
> 
> 
> Spoiler: Warning: Spoiler!
> 
> 
> 
> Code:
> 
> 
> 
> Code:
> 
> 
> typedef struct _ATOM_Vega10_POWERPLAYTABLE {
> struct atom_common_table_header sHeader;
> 00                      UCHAR  ucTableRevision;
> 5C 00                   USHORT usTableSize;                        /* the size of header structure */
> EF 06 00 00             ULONG  ulGoldenPPID;                       /* PPGen use only */
> 0E 2C 00 00             ULONG  ulGoldenRevision;                   /* PPGen use only */
> 1B 00                   USHORT usFormatID;                         /* PPGen use only */
> 48 00 00 00             ULONG  ulPlatformCaps;                     /* See ATOM_Vega10_CAPS_* */
> 80 A9 03 00 (2400MHz)   ULONG  ulMaxODEngineClock;                 /* For Overdrive. */
> F0 49 02 00 (1500MHz)   ULONG  ulMaxODMemoryClock;                 /* For Overdrive. */
> 32 00                   USHORT usPowerControlLimit;
> 08 00                   USHORT usUlvVoltageOffset;                 /* in mv units */
> 00 00                   USHORT usUlvSmnclkDid;
> 00 00                   USHORT usUlvMp1clkDid;
> 00 00                   USHORT usUlvGfxclkBypass;
> 00 00                   USHORT usGfxclkSlewRate;
> 00                      UCHAR  ucGfxVoltageMode;
> 00                      UCHAR  ucSocVoltageMode;
> 00                      UCHAR  ucUclkVoltageMode;
> 00                      UCHAR  ucUvdVoltageMode;
> 00                      UCHAR  ucVceVoltageMode;
> 02                      UCHAR  ucMp0VoltageMode;
> 01                      UCHAR  ucDcefVoltageMode;
> 5C 00 (0x5Ch)           USHORT usStateArrayOffset;                 /* points to ATOM_Vega10_State_Array */
> 40 02 (0x240h)          USHORT usFanTableOffset;                   /* points to ATOM_Vega10_Fan_Table */
> 37 02 (0x237h)          USHORT usThermalControllerOffset;          /* points to ATOM_Vega10_Thermal_Controller */
> 94 00 (0x94h)           USHORT usSocclkDependencyTableOffset;      /* points to ATOM_Vega10_SOCCLK_Dependency_Table */
> 8F 01 (0x18Fh)          USHORT usMclkDependencyTableOffset;        /* points to ATOM_Vega10_MCLK_Dependency_Table */
> B4 00 (0xB4h)           USHORT usGfxclkDependencyTableOffset;      /* points to ATOM_Vega10_GFXCLK_Dependency_Table */
> 1E 01 (0x11Eh)          USHORT usDcefclkDependencyTableOffset;     /* points to ATOM_Vega10_DCEFCLK_Dependency_Table */
> 7A 00 (0x7Ah)           USHORT usVddcLookupTableOffset;            /* points to ATOM_Vega10_Voltage_Lookup_Table */
> 8C 00 (0x8Ch)           USHORT usVddmemLookupTableOffset;          /* points to ATOM_Vega10_Voltage_Lookup_Table */
> AD 01 (0x1ADh)          USHORT usMMDependencyTableOffset;          /* points to ATOM_Vega10_MM_Dependency_Table */
> 00 00                   USHORT usVCEStateTableOffset;              /* points to ATOM_Vega10_VCE_State_Table */
> 00 00                   USHORT usReserve;                          /* No PPM Support for Vega10 */
> 63 02 (0x263h)          USHORT usPowerTuneTableOffset;             /* points to ATOM_Vega10_PowerTune_Table */
> 00 00                   USHORT usHardLimitTableOffset;             /* points to ATOM_Vega10_Hard_Limit_Table */
> 90 00 (0x90h)           USHORT usVddciLookupTableOffset;           /* points to ATOM_Vega10_Voltage_Lookup_Table */
> 99 02 (0x299h)          USHORT usPCIETableOffset;                  /* points to ATOM_Vega10_PCIE_Table */
> 5E 01 (0x15Eh)          USHORT usPixclkDependencyTableOffset;      /* points to ATOM_Vega10_PIXCLK_Dependency_Table */
> 34 01 (0x134h)          USHORT usDispClkDependencyTableOffset;     /* points to ATOM_Vega10_DISPCLK_Dependency_Table */
> 88 01 (0x188h)          USHORT usPhyClkDependencyTableOffset;      /* points to ATOM_Vega10_PHYCLK_Dependency_Table */
> } ATOM_Vega10_POWERPLAYTABLE;
> 
> 
> 
> 
> 
> SOCCLK translation
> 
> 
> Spoiler: Warning: Spoiler!
> 
> 
> 
> Code:
> 
> 
> 
> Code:
> 
> 
> typedef struct _ATOM_Vega10_SOCCLK_Dependency_Table {
> 00    UCHAR ucRevId;
> 06    UCHAR ucNumEntries;                                         /* Number of entries. */
> ATOM_Vega10_CLK_Dependency_Record entries[1];            /* Dynamically allocate entries. */
> } ATOM_Vega10_SOCCLK_Dependency_Table;
> 
> typedef struct _ATOM_Vega10_CLK_Dependency_Record {
> 60 EA 00 00 (600MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
> 00                      UCHAR  ucVddInd;                                            /* Base voltage */
> } ATOM_Vega10_CLK_Dependency_Record;
> 
> typedef struct _ATOM_Vega10_CLK_Dependency_Record {
> 40 19 01 00 (720MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
> 01                      UCHAR  ucVddInd;                                            /* Base voltage */
> } ATOM_Vega10_CLK_Dependency_Record;
> 
> typedef struct _ATOM_Vega10_CLK_Dependency_Record {
> DC 4A 01 00 (847MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
> 02                      UCHAR  ucVddInd;                                            /* Base voltage */
> } ATOM_Vega10_CLK_Dependency_Record;
> 
> typedef struct _ATOM_Vega10_CLK_Dependency_Record {
> 00 77 01 00 (960MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
> 03              UCHAR  ucVddInd;                                            /* Base voltage */
> } ATOM_Vega10_CLK_Dependency_Record;
> 
> typedef struct _ATOM_Vega10_CLK_Dependency_Record {
> ULONG  ulClk;                                               /* Frequency of Clock */
> UCHAR  ucVddInd;                                            /* Base voltage */
> } ATOM_Vega10_CLK_Dependency_Record;
> 
> typedef struct _ATOM_Vega10_CLK_Dependency_Record {
> 90 91 01 00 (1028MHz)   ULONG  ulClk;                                               /* Frequency of Clock */
> 05                      UCHAR  ucVddInd;                                            /* Base voltage */
> } ATOM_Vega10_CLK_Dependency_Record;
> 
> typedef struct _ATOM_Vega10_CLK_Dependency_Record {
> ULONG  ulClk;                                               /* Frequency of Clock */
> UCHAR  ucVddInd;                                            /* Base voltage */
> } ATOM_Vega10_CLK_Dependency_Record;
> 
> typedef struct _ATOM_Vega10_CLK_Dependency_Record {
> 6C B0 01 00 (1107MHz)   ULONG  ulClk;                                               /* Frequency of Clock */
> 07                      UCHAR  ucVddInd;                                            /* Base voltage */
> } ATOM_Vega10_CLK_Dependency_Record;
> 
> 
> 
> 
> 
> The table occupies the correct space, does not have 6 entries, then ucVddInd is not consecutively increasing. Really strange to say the least.


Looks like some kind of dummy/placeholder-mask. Maybe someone just copy and pasted in the sourcecode and forgot to remove that entry.


----------



## Nuke33

@spyshagg

As requested some benches.

Core:1466Mhz , HBM: 945Mhz , SoC: 1107Mhz(stock)


Core:1466Mhz , HBM: 945Mhz , SoC: 1170Mhz


Core:1466Mhz , HBM: 1148Mhz , SoC: 1170Mhz


As you can see there is no difference between stock and overclocked SoC without overclocking HBM as well.


----------



## Archangel

Hello,

does anybody notice that when you try to modify the vega 56 power table it does not change the HBM voltage from 1.25 to 1.35 ? do you know why ? and has somebody successfully managed to achieve 1.35 on vega 56 bios ?

Thanks


----------



## BeetleatWar1977

Quote:


> Originally Posted by *Archangel*
> 
> Hello,
> 
> does anybody notice that when you try to modify the vega 56 power table it does not change the HBM voltage from 1.25 to 1.35 ? do you know why ? and has somebody successfully managed to achieve 1.35 on vega 56 bios ?
> 
> Thanks


Not so far i know - thats why im running a 64 Bios on mine XD

btw - not a chance to clock the SoC higher on my Card, even 1110 are unstable.....

m thinking of flashing the bios back and trying how far the HBM goes on 1.25V and higher SoC......


----------



## rednow

Quote:


> Originally Posted by *The EX1*
> 
> What driver are you currently on? What are you using to lock in your core voltage that low?


I'm with old good Aug23 blockchain drivers.
Voltage mod is based on Hellm's softpowerplay trick.


----------



## Archangel

Quote:


> Originally Posted by *BeetleatWar1977*
> 
> Not so far i know - thats why im running a 64 Bios on mine XD
> 
> btw - not a chance to clock the SoC higher on my Card, even 1110 are unstable.....
> 
> m thinking of flashing the bios back and trying how far the HBM goes on 1.25V and higher SoC......


Hello,

the HBM clock on Vega 56 is 950 max and on Vega 56 with modded 64 bios around 1100, but both achives almost the same hasrate. There must be something very special in the Vega 56 to achive almost the same or identical hash rate at a much lower voltage and memory speed !

Thanks


----------



## The EX1

Quote:


> Originally Posted by *rednow*
> 
> I'm with old good Aug23 blockchain drivers.
> Voltage mod is based on Hellm's softpowerplay trick.


Too bad the gaming drivers suck for mining. I would like to move my Vegas into my gaming rig, but I don't want to be changing drivers every time I switch between mining and gaming.

I guess I missed the softpowerplay part that included voltages, I thought it was just about power limit.

+rep.


----------



## rednow

Quote:


> Originally Posted by *Archangel*
> 
> Hello,
> 
> the HBM clock on Vega 56 is 950 max and on Vega 56 with modded 64 bios around 1100, but both achives almost the same hasrate. There must be something very special in the Vega 56 to achive almost the same or identical hash rate at a much lower voltage and memory speed !
> 
> Thanks


This is only for XMR not ETH. I think Vega56 bios has tighter timings. And XMR is very sensitive to it, more then to mem clock.
I think Vega56 got good memory overclock boost when flashing Vega64 bios not only due to increased voltage but due to loose timings in first place.


----------



## BeetleatWar1977

Quote:


> Originally Posted by *Archangel*
> 
> Hello,
> 
> the HBM clock on Vega 56 is 950 max and on Vega 56 with modded 64 bios around 1100, but both achives almost the same hasrate. There must be something very special in the Vega 56 to achive almost the same or identical hash rate at a much lower voltage and memory speed !
> 
> Thanks


going from 5600 to 6250 in Superposition 4K, same Voltages/clocks but HBM changed from 945 to 1100.......


----------



## GroupB

Quote:


> Originally Posted by *The EX1*
> 
> Too bad the gaming drivers suck for mining. I would like to move my Vegas into my gaming rig, but I don't want to be changing drivers every time I switch between mining and gaming.
> 
> I guess I missed the softpowerplay part that included voltages, I thought it was just about power limit.
> 
> +rep.


new driver 17.40 for windows fall creation have a toggle to go from graphic to computer, work on my rx580 it should work on vega too.

I move my miner on fall creation with that driver and the only downside is afterburn (beta 20) dont work anymore forcing me to bios clock my r9 290's cause I need a good amount of voltage and wattman and r9 is very bad. Good news is wattman can undervolt without doing a workaround of applying min/max to the clock then core voltage to undervolt for rx 580, should be the same for vega.


----------



## majestynl

@Nuke33 @gupsterg

Very Nice boys! Looking forward doing some tests and runs tomorrow!









+rep


----------



## The EX1

Quote:


> Originally Posted by *GroupB*
> 
> new driver 17.40 for windows fall creation have a toggle to go from graphic to computer, work on my rx580 it should work on vega too.
> 
> I move my miner on fall creation with that driver and the only downside is afterburn (beta 20) dont work anymore forcing me to bios clock my r9 290's cause I need a good amount of voltage and wattman and r9 is very bad. Good news is wattman can undervolt without doing a workaround of applying min/max to the clock then core voltage to undervolt for rx 580, should be the same for vega.


Mining performance with the toggle is the same as the blockchain compute driver?


----------



## kundica

Quote:


> Originally Posted by *GroupB*
> 
> new driver 17.40 for windows fall creation have a toggle to go from graphic to computer, work on my rx580 it should work on vega too.


Doesn't exist for Vega. Only certain cards are supported, I think AMD might list them in the driver notes.


----------



## GroupB

The vega is supported on this driver , that the driver everyone is talking that give more performance in game...

I cant verify if the toggle is there for the vega cause my vega is in my gaming PC and I did not update windows fall creator yet and I cant remove the vega to test it on the mining pc since its water cooled. But why the toggle will be there for 580/480 and not vega .. it make no sense.

There also a new 17.10.2 from today that merge compute and graphic driver ALSO for windows fall update so I guess its the 17.40 but official.


----------



## The EX1

Quote:


> Originally Posted by *rednow*
> 
> gupsterg and Nuke33 - you are awesome!
> Pitty I cannot + REP.
> 
> Vega64 liquid 1408/1100 before 1408/1150 after
> eth 44.2 before 46.2 after
> xmr 1990 before 2150 2050 after
> ))
> 
> 
> 
> vega_1150mem.png 153k .png file
> 
> 
> vega_1150mem_xmr.png 138k .png file
> 
> 
> "Slow" card on screens is Vega56 running 1408/1100


What is your power consumption looking like at 44 and 46MH/s on ETH only?


----------



## pmc25

It looks like PowerPlay editing to get SoC speed up and thus allow >1105Mhz HBM2 is no longer necessary with 17.10.2.

I can push past 1150Mhz without editing anything.

1150Mhz is stable. 1160Mhz crashes the driver (but not PC) in games.

Previously, the PC would instantly black screen and crash when I hit apply on 1110Mhz.


----------



## kundica

Quote:


> Originally Posted by *GroupB*
> 
> The vega is supported on this driver , that the driver everyone is talking that give more performance in game...
> 
> I cant verify if the toggle is there for the vega cause my vega is in my gaming PC and I did not update windows fall creator yet and I cant remove the vega to test it on the mining pc since its water cooled. But why the toggle will be there for 580/480 and not vega .. it make no sense.
> 
> There also a new 17.10.2 from today that merge compute and graphic driver ALSO for windows fall update so I guess its the 17.40 but official.


I'm just referring to the toggle.


----------



## majestynl

Quote:


> Originally Posted by *pmc25*
> 
> It looks like PowerPlay editing to get SoC speed up and thus allow >1105Mhz HBM2 is no longer necessary with 17.10.2.
> 
> I can push past 1150Mhz without editing anything.
> 
> 1150Mhz is stable. 1160Mhz crashes the driver (but not PC) in games.
> 
> Previously, the PC would instantly black screen and crash when I hit apply on 1110Mhz.


You can still try to push the soc higher and see if you can go higher on HBM if your temps alow it...


----------



## Rampage1989

Can anyone confirm that the issue of max 4 hbcc enabled cards has been resolved by the new windows driver?


----------



## Nuke33

Quote:


> Originally Posted by *pmc25*
> 
> It looks like PowerPlay editing to get SoC speed up and thus allow >1105Mhz HBM2 is no longer necessary with 17.10.2.
> 
> I can push past 1150Mhz without editing anything.
> 
> 1150Mhz is stable. 1160Mhz crashes the driver (but not PC) in games.
> 
> Previously, the PC would instantly black screen and crash when I hit apply on 1110Mhz.


Okay bad timing i guess









If you use a stock PP table from hellm, is it still working then? Or only when not using any PP tables at all?


----------



## Nuke33

Quote:


> Originally Posted by *BeetleatWar1977*
> 
> Not so far i know - thats why im running a 64 Bios on mine XD
> 
> btw - not a chance to clock the SoC higher on my Card, even 1110 are unstable.....
> 
> m thinking of flashing the bios back and trying how far the HBM goes on 1.25V and higher SoC......


Maybe SoC capabilities are also dependent on binning. It would make sense since lower HBM clocks do not require high SoC clocks.


----------



## Star2k

I think the SoC p-states isn't where we search with the new version of Crimson.

In green, previously P-State.

In green and bold, the new.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
"PP_PhmSoftPowerPlayTable"=hex:b6,02,08,01,00,5c,00,e1,06,00,00,ee,2b,00,00,1b,\
00,48,00,00,00,80,a9,03,00,f0,49,02,00,3c,00,08,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,02,01,5c,00,4f,02,46,02,94,00,9e,01,be,00,28,01,7a,00,8c,00,\
bc,01,00,00,00,00,72,02,00,00,90,00,a8,02,6d,01,43,01,97,01,f0,49,02,00,71,\
02,02,02,00,00,00,00,00,00,08,00,00,00,00,00,00,00,05,00,07,00,03,00,05,00,\
00,00,00,00,00,00,01,08,20,03,84,03,b6,03,e8,03,1a,04,4c,04,7e,04,b0,04,01,\
01,46,05,01,01,84,03,00,08,60,ea,00,00,00,40,19,01,00,01,80,38,01,00,02,dc,\
4a,01,00,03,90,5f,01,00,04,00,77,01,00,05,90,91,01,00,06,6c,b0,01,00,07,01,\
08,d0,4c,01,00,00,00,80,00,00,00,00,00,00,1c,83,01,00,01,00,00,00,00,00,00,\
00,00,70,a7,01,00,02,00,00,00,00,00,00,00,00,88,bc,01,00,03,00,00,00,00,00,\
00,00,00,c0,d4,01,00,04,00,00,00,00,00,00,00,00,44,23,02,00,05,00,00,00,00,\
01,00,00,00,00,58,02,00,06,00,00,00,00,01,00,00,00,b8,7c,02,00,07,00,00,00,\
00,01,00,00,00,00,05,60,ea,00,00,00,40,19,01,00,00,80,38,01,00,00,dc,4a,01,\
00,00,90,5f,01,00,00,00,08,28,6e,00,00,00,2c,c9,00,00,01,f8,0b,01,00,02,80,\
38,01,00,03,90,5f,01,00,04,f4,91,01,00,05,d0,b0,01,00,06,*c0,d4,01,00,07,*00,\
08,6c,39,00,00,00,24,5e,00,00,01,fc,85,00,00,02,ac,bc,00,00,03,34,d0,00,00,\
04,68,6e,01,00,05,08,97,01,00,06,ec,a3,01,00,07,00,01,68,3c,01,00,00,01,04,\
3c,41,00,00,00,00,00,50,c3,00,00,00,00,00,80,38,01,00,02,00,00,24,71,01,00,\
04,00,00,01,08,00,98,85,00,00,40,b5,00,00,60,ea,00,00,50,c3,00,00,01,80,bb,\
00,00,60,ea,00,00,94,0b,01,00,50,c3,00,00,02,00,e1,00,00,94,0b,01,00,40,19,\
01,00,50,c3,00,00,03,78,ff,00,00,40,19,01,00,88,26,01,00,50,c3,00,00,04,40,\
19,01,00,80,38,01,00,80,38,01,00,50,c3,00,00,05,80,38,01,00,dc,4a,01,00,dc,\
4a,01,00,50,c3,00,00,06,00,77,01,00,00,77,01,00,90,5f,01,00,50,c3,00,00,07,\
90,91,01,00,90,91,01,00,00,77,01,00,50,c3,00,00,01,18,00,00,00,00,00,00,00,\
0b,e4,12,60,09,60,09,4b,00,0a,00,54,03,90,01,90,01,90,01,90,01,90,01,90,01,\
90,01,00,00,00,00,00,02,04,31,07,dc,00,dc,00,dc,00,2c,01,00,00,59,00,69,00,\
4a,00,4a,00,5f,00,73,00,73,00,64,00,40,00,90,92,97,60,96,00,90,55,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,02,d4,30,00,00,02,10,60,ea,00,\
00,02,10

110700 in decimal for the old.

120000 for the new.

But, i don't know why the new driver use them...

Extract from my Bios (Sapphire RX Vega 64 AIR)
(Sorry for my english)


----------



## paih85

sorry, how to disable p5-p7? step?


----------



## Star2k

In Crimson, set p5 on max by a click in column title.


----------



## paih85

tq


----------



## Nuke33

Quote:


> Originally Posted by *Star2k*
> 
> I think the SoC p-states isn't where we search with the new version of Crimson.
> 
> In green, previously P-State.
> 
> In green and bold, the new.
> 
> Windows Registry Editor Version 5.00
> 
> [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
> "PP_PhmSoftPowerPlayTable"=hex:b6,02,08,01,00,5c,00,e1,06,00,00,ee,2b,00,00,1b,\
> 00,48,00,00,00,80,a9,03,00,f0,49,02,00,3c,00,08,00,00,00,00,00,00,00,00,00,\
> 00,00,00,00,00,02,01,5c,00,4f,02,46,02,94,00,9e,01,be,00,28,01,7a,00,8c,00,\
> bc,01,00,00,00,00,72,02,00,00,90,00,a8,02,6d,01,43,01,97,01,f0,49,02,00,71,\
> 02,02,02,00,00,00,00,00,00,08,00,00,00,00,00,00,00,05,00,07,00,03,00,05,00,\
> 00,00,00,00,00,00,01,08,20,03,84,03,b6,03,e8,03,1a,04,4c,04,7e,04,b0,04,01,\
> 01,46,05,01,01,84,03,00,08,60,ea,00,00,00,40,19,01,00,01,80,38,01,00,02,dc,\
> 4a,01,00,03,90,5f,01,00,04,00,77,01,00,05,90,91,01,00,06,6c,b0,01,00,07,01,\
> 08,d0,4c,01,00,00,00,80,00,00,00,00,00,00,1c,83,01,00,01,00,00,00,00,00,00,\
> 00,00,70,a7,01,00,02,00,00,00,00,00,00,00,00,88,bc,01,00,03,00,00,00,00,00,\
> 00,00,00,c0,d4,01,00,04,00,00,00,00,00,00,00,00,44,23,02,00,05,00,00,00,00,\
> 01,00,00,00,00,58,02,00,06,00,00,00,00,01,00,00,00,b8,7c,02,00,07,00,00,00,\
> 00,01,00,00,00,00,05,60,ea,00,00,00,40,19,01,00,00,80,38,01,00,00,dc,4a,01,\
> 00,00,90,5f,01,00,00,00,08,28,6e,00,00,00,2c,c9,00,00,01,f8,0b,01,00,02,80,\
> 38,01,00,03,90,5f,01,00,04,f4,91,01,00,05,d0,b0,01,00,06,*c0,d4,01,00,07,*00,\
> 08,6c,39,00,00,00,24,5e,00,00,01,fc,85,00,00,02,ac,bc,00,00,03,34,d0,00,00,\
> 04,68,6e,01,00,05,08,97,01,00,06,ec,a3,01,00,07,00,01,68,3c,01,00,00,01,04,\
> 3c,41,00,00,00,00,00,50,c3,00,00,00,00,00,80,38,01,00,02,00,00,24,71,01,00,\
> 04,00,00,01,08,00,98,85,00,00,40,b5,00,00,60,ea,00,00,50,c3,00,00,01,80,bb,\
> 00,00,60,ea,00,00,94,0b,01,00,50,c3,00,00,02,00,e1,00,00,94,0b,01,00,40,19,\
> 01,00,50,c3,00,00,03,78,ff,00,00,40,19,01,00,88,26,01,00,50,c3,00,00,04,40,\
> 19,01,00,80,38,01,00,80,38,01,00,50,c3,00,00,05,80,38,01,00,dc,4a,01,00,dc,\
> 4a,01,00,50,c3,00,00,06,00,77,01,00,00,77,01,00,90,5f,01,00,50,c3,00,00,07,\
> 90,91,01,00,90,91,01,00,00,77,01,00,50,c3,00,00,01,18,00,00,00,00,00,00,00,\
> 0b,e4,12,60,09,60,09,4b,00,0a,00,54,03,90,01,90,01,90,01,90,01,90,01,90,01,\
> 90,01,00,00,00,00,00,02,04,31,07,dc,00,dc,00,dc,00,2c,01,00,00,59,00,69,00,\
> 4a,00,4a,00,5f,00,73,00,73,00,64,00,40,00,90,92,97,60,96,00,90,55,00,00,00,\
> 00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,02,d4,30,00,00,02,10,60,ea,00,\
> 00,02,10
> 
> 110700 in decimal for the old.
> 
> 120000 for the new.
> 
> But, i don't why the new driver use them...
> 
> Extract from my Bios (Sapphire RX Vega 64 AIR)
> (Sorry for my english)


If that would be the case the new driver would use those SoC values:

P0: 282
P1: 515
P2: 686
P3: 800
P4: 900
P5: 1029
P6: 1108
P7: 1200

Can you confirm this with HWinfo ?


----------



## Star2k

Yeap, i will confirm with a screenshot later in this day, ok ? Sorry i'm at work for the moment.

Maybe, someone else can confirm before me ?


----------



## paih85

Quote:


> Originally Posted by *Nuke33*
> 
> Success !
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Infinityfabric overclocking works!
> 
> Rednows hunch was right, HBM clocks are limited by SoC clocks.
> 
> So, I set SoC clock to 1118mhz and it allowed me to set HBM to 1118mhz. 1119mhz gives me blackscreen instantly.
> SOC clock at 1120mhz allows 1120mhz HBM and so on, I have not found the limit yet. So to me it seems directly correlated.
> 
> See gupsterg I knew you could do it
> 
> 
> 
> 
> 
> 
> 
> 
> 
> +rep for @gupsterg & @rednow
> 
> @Mumak Your SoC clock readout seems not to be accurate if raised over stock.


how to undervolting like this? after apply using that tool it back to default.


----------



## Nuke33

Quote:


> Originally Posted by *Star2k*
> 
> Yeap, i will confirm with a screenshot later in this day, ok ? Sorry i'm at work for the moment.
> 
> Maybe, someone else can confirm before me ?


Yes of course, I´m also at work so I can´t do it myself.


----------



## Nuke33

Quote:


> Originally Posted by *paih85*
> 
> how to undervolting like this? after apply using that tool it back to default.


You have to use a PowerPlay table.

Thats the one I used:


Spoiler: Warning: Spoiler!



Code:



Code:


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
"PP_PhmSoftPowerPlayTable"=hex:9D,02,08,01,00,5C,00,37,07,00,00,EC,2B,00,00,1B,\
  00,48,00,00,00,80,A9,03,00,F0,49,02,00,32,00,08,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,02,01,5C,00,36,02,2D,02,94,00,85,01,AF,00,19,01,7A,00,8C,00,\
  A3,01,00,00,00,00,59,02,00,00,90,00,8F,02,54,01,2A,01,7E,01,00,71,02,00,71,\
  02,02,02,00,00,00,00,00,00,08,00,00,00,00,00,00,00,04,00,07,00,03,00,05,00,\
  00,00,00,00,00,00,01,08,20,03,43,03,48,03,52,03,BB,03,C0,03,C0,03,C0,03,01,\
  01,46,05,01,01,84,03,00,05,60,EA,00,00,00,DC,4A,01,00,01,00,77,01,00,02,90,\
  91,01,00,03,6C,B0,01,00,04,01,08,8C,04,01,00,00,00,80,00,00,00,00,00,00,50,\
  0E,01,00,01,00,00,00,00,00,00,00,00,90,2D,01,00,02,00,00,00,00,00,00,00,00,\
  E8,48,01,00,03,00,00,00,00,00,00,00,00,A8,3C,02,00,04,00,00,00,00,00,00,00,\
  00,A8,3C,02,00,05,00,00,00,00,01,00,00,00,A8,3C,02,00,06,00,00,00,00,01,00,\
  00,00,A8,3C,02,00,07,00,00,00,00,01,00,00,00,00,03,60,EA,00,00,00,DC,4A,01,\
  00,00,90,5F,01,00,00,00,08,28,6E,00,00,00,2C,C9,00,00,01,F8,0B,01,00,02,80,\
  38,01,00,03,90,5F,01,00,04,F4,91,01,00,05,D0,B0,01,00,06,C0,D4,01,00,07,00,\
  08,6C,39,00,00,00,24,5E,00,00,01,FC,85,00,00,02,AC,BC,00,00,03,34,D0,00,00,\
  04,68,6E,01,00,05,08,97,01,00,06,EC,A3,01,00,07,00,01,68,3C,01,00,00,01,04,\
  3C,41,00,00,00,00,00,50,C3,00,00,00,00,00,80,38,01,00,01,00,00,24,71,01,00,\
  02,00,00,01,08,00,98,85,00,00,78,B4,00,00,60,EA,00,00,50,C3,00,00,01,78,FF,\
  00,00,40,19,01,00,B4,27,01,00,50,C3,00,00,02,80,38,01,00,DC,4A,01,00,DC,4A,\
  01,00,50,C3,00,00,03,DC,4A,01,00,90,5F,01,00,90,5F,01,00,50,C3,00,00,04,90,\
  5F,01,00,00,77,01,00,90,5F,01,00,50,C3,00,00,05,00,77,01,00,90,91,01,00,90,\
  5F,01,00,50,C3,00,00,06,6C,B0,01,00,6C,B0,01,00,00,77,01,00,50,C3,00,00,07,\
  C0,D4,01,00,C0,D4,01,00,90,91,01,00,50,C3,00,00,01,18,00,00,00,00,00,00,00,\
  0B,E4,12,DC,05,FC,08,41,00,0F,00,54,03,90,01,90,01,90,01,90,01,90,01,90,01,\
  90,01,00,00,00,00,00,02,04,21,07,08,01,08,01,08,01,2C,01,00,00,4A,00,69,00,\
  4A,00,4A,00,5F,00,73,00,73,00,64,00,40,00,90,92,97,60,96,00,90,46,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,02,D4,30,00,00,02,10,60,EA,00,\
  00,02,10


----------



## Star2k

Image from my mate with Vega 64 air mod liquid.

SoC at 1199mhz ( he doesn't touch anything in reg, just power limit to raise at +142%)


----------



## Nuke33

Interesting, so AMD did raise SoC clock themselves. Thanks for the confirmation.


----------



## Star2k

I suppose, the "old" one is for mod like Turbo, Balanced and Power save.

The other is for overclock, i guess they miss that before.


----------



## majestynl

Quote:


> Originally Posted by *Nuke33*
> 
> Okay bad timing i guess
> 
> 
> 
> 
> 
> 
> 
> 
> 
> If you use a stock PP table from hellm, is it still working then? Or only when not using any PP tables at all?


So i was starting to mod the soc but then saw the new driver, so i started with that first!
Im using a edited PP table from hellm, so dont know if my PP override d the soc, but i still have my soc on 1107Mhz.
Going to re-install new driver and check before i mod the PP table.


ps: i have higher temps with new 17.10.2 drivers









*Edit1:*

Still no SOC raise!!!

*Clean install 17.10.2 drivers / Stock Settings / No PP Mod:*



*Clean install 17.10.2 drivers / OC Settings / No PP Mod:*


----------



## rednow

Quote:


> Originally Posted by *The EX1*
> 
> What is your power consumption looking like at 44 and 46MH/s on ETH only?


I guess it is near 180watt.
It's not optimal settings for ETH. For ETH you could use 1220/[email protected] having the same 46.2mhs and 150watt power consumption.


----------



## gupsterg

@majestynl

Thanks for data, +rep







.

SOCCLK is not currently modified in any SoftPowerPlay reg file in thread by hellm.

If you go past 1100MHz on new driver without SOCCLK mod what happens?

I have my VEGA Block, card is in transit







, hopefully with me tomorrow.


----------



## poisson21

I have a modded softpowerplay from hellm and with new driver and no Socclk mod on it,i can go way up 1107Mhz.( currently at 1145Mhz, do not try higher yet)

So in this case drivers seems to take over reg file.


----------



## gupsterg

@poisson21

+rep, thanks for data







.

Does having SOCCLK lower than HBM clock incurr performance loss compared with when insync?


----------



## rednow

Quote:


> Originally Posted by *gupsterg*
> 
> @poisson21
> 
> +rep, thanks for data
> 
> 
> 
> 
> 
> 
> 
> .
> 
> Does having SOCCLK lower than HBM clock incurr performance loss compared with when insync?


I thinks you don't get it right.
New driver reads SOCCLK from another bios position and it sets it to 1200mhz.
Old driver used 1107 value.


----------



## gupsterg

@rednow

GPU/Driver can not read/utilise VBIOS from another switch position until the switch is flipped physically. Each VBIOS only has one PowerPlay. So far only PowerPlay has SOCCLK.

If SOCCLK is rising past highest value on latest driver once HBM clock exceeds it, then "we" can only assume driver has an implementation to do this.

If SOCCLK is not rising past highest value on prior driver to latest once HBM clock exceeds it, then "we" can only assume it lacks implementation that latest has.

The driver can overide VBIOS parameters, it has been seen in the past. An example is when Polaris got released. The reference PCB VRM bias was adjusted to load PCI-E plugs powered VRM more than PCI-E slot.

Anyhow I will stop posing queries now, ~24hrs or so I should have card and then will test with old/new driver and see what goes on.


----------



## rednow

Quote:


> Originally Posted by *gupsterg*
> 
> @rednow
> 
> GPU/Driver can not read/utilise VBIOS from another switch position until the switch is flipped physically. Each VBIOS only has one PowerPlay. So far only PowerPlay has SOCCLK.
> 
> If SOCCLK is rising past highest value on latest driver once HBM clock exceeds it, then "we" can only assume driver has an implementation to do this.
> 
> If SOCCLK is not rising past highest value on prior driver to latest once HBM clock exceeds it, then "we" can only assume it lacks implementation that latest has.
> 
> The driver can overide VBIOS parameters, it has been seen in the past. An example is when Polaris got released. The reference PCB VRM bias was adjusted to load PCI-E plugs powered VRM more than PCI-E slot.
> 
> Anyhow I will stop posing queries now, ~24hrs or so I should have card and then will test with old/new driver and see what goes on.


I don't mean another bios but another value from the same bios in different byte offset.
Just look to this post http://www.overclock.net/t/1633446/preliminary-view-of-amd-vega-bios/610#post_26410448


----------



## BeetleatWar1977

Ok - with the new drivers i can go over 1107 ..... but it isnt stable for me......, i will download the last HWinfo and report the clocks.......

Edit: Dynamic SoC - stays @1107 up to 1107 HBM, if i go higher it switches to 1199 - which isnt stable for my modded 56


----------



## majestynl

Quote:


> Originally Posted by *gupsterg*
> 
> @majestynl
> 
> Thanks for data, +rep
> 
> 
> 
> 
> 
> 
> 
> .
> 
> SOCCLK is not currently modified in any SoftPowerPlay reg file in thread by hellm.
> 
> If you go past 1100MHz on new driver without SOCCLK mod what happens?
> 
> I have my VEGA Block, card is in transit
> 
> 
> 
> 
> 
> 
> 
> , hopefully with me tomorrow.


Yeap







, it looks liks the soc grows with the HBM! 1200Mhz on SOC now









I set the HBM on 1140mhz. Superposition bench went fine.
HBM and Hotspot Temps are a bit higher, slightly better score in SP
Im going to try to give it more Power with PP.. will update


----------



## The EX1

Quote:


> Originally Posted by *rednow*
> 
> I guess it is near 180watt.
> It's not optimal settings for ETH. For ETH you could use 1220/[email protected] having the same 46.2mhs and 150watt power consumption.


That is impressive. I tried the PP mod to set my voltage to 925mv, but didn't see a big big power drop with my Kilowatt meter. I'm not sure if my downvolting is even applying. The only way I can reduce power consumption is to use the power limit slider. Using that I can get the card down to 210 watts @ 1050mhz core/1025mhz HBM and I get 41.2 MH/s. Trying to go any lower than 19% on the power slider and the HBM downclocks to 550MHz.


----------



## gupsterg

@majestynl

Thank for info







. Nice result that beats result on my MSI GTX 1080 EK X which boosted to 1965MHz for that bench "out of box" as on water/nvidia boost 3.0 tech, so very nice IMO.

@rednow

What I did to check what star2k has highlighted in green bold text (ie c0,d4,01,00,07).

i) I copied his posted reg file and paste in notepad.
ii) Used "Replace" command to change , to space, then removed / , then made hex continuous to copy and paste in HXD. I have attached saved file from HXD below.

star2k_SoftPowerPlay.zip 1k .zip file


iii) Next I matched the PowerPlay to RX VEGA 64 AIR VBIOS Switch 1 linked in OP, supplied by Sicness.

What we see is PowerLimit is 60% in Star2k files vs 50% in VBIOS, when you do a compare of PowerPlay you will see 3Ch vs 32h.

There are no other differences between Star2k softpowerplay and the Sicness supplied V64 AIR PowerPlay

Next what is c0,d4,01,00,07?

These hex values are residing in:-

Code:



Code:


43 01        (143h) USHORT usDispClkDependencyTableOffset;     /* points to ATOM_Vega10_DISPCLK_Dependency_Table */




Spoiler: Full header translation of V64 AIR Switch 1 Stock PP header



Code:



Code:


typedef struct _ATOM_Vega10_POWERPLAYTABLE {
        struct atom_common_table_header sHeader;
00              UCHAR  ucTableRevision;
5C 00           USHORT usTableSize;                        /* the size of header structure */
E1 06 00 00     ULONG  ulGoldenPPID;                       /* PPGen use only */
EE 2B 00 00     ULONG  ulGoldenRevision;                   /* PPGen use only */
1B 00           USHORT usFormatID;                         /* PPGen use only */
48 00 00 00     ULONG  ulPlatformCaps;                     /* See ATOM_Vega10_CAPS_* */
80 A9 03 00     ULONG  ulMaxODEngineClock;                 /* For Overdrive. */
F0 49 02 00     ULONG  ulMaxODMemoryClock;                 /* For Overdrive. */
32 00           USHORT usPowerControlLimit;
08 00   USHORT usUlvVoltageOffset;                 /* in mv units */
00 00   USHORT usUlvSmnclkDid;
00 00   USHORT usUlvMp1clkDid;
00 00   USHORT usUlvGfxclkBypass;
00 00   USHORT usGfxclkSlewRate;
00      UCHAR  ucGfxVoltageMode;
00      UCHAR  ucSocVoltageMode;
00      UCHAR  ucUclkVoltageMode;
00      UCHAR  ucUvdVoltageMode;
00      UCHAR  ucVceVoltageMode;
02      UCHAR  ucMp0VoltageMode;
01      UCHAR  ucDcefVoltageMode;
5C 00   USHORT usStateArrayOffset;                 /* points to ATOM_Vega10_State_Array */
4F 02   USHORT usFanTableOffset;                   /* points to ATOM_Vega10_Fan_Table */
46 02   USHORT usThermalControllerOffset;          /* points to ATOM_Vega10_Thermal_Controller */
94 00   USHORT usSocclkDependencyTableOffset;      /* points to ATOM_Vega10_SOCCLK_Dependency_Table */
9E 01   USHORT usMclkDependencyTableOffset;        /* points to ATOM_Vega10_MCLK_Dependency_Table */
BE 00   USHORT usGfxclkDependencyTableOffset;      /* points to ATOM_Vega10_GFXCLK_Dependency_Table */
28 01   USHORT usDcefclkDependencyTableOffset;     /* points to ATOM_Vega10_DCEFCLK_Dependency_Table */
7A 00   USHORT usVddcLookupTableOffset;            /* points to ATOM_Vega10_Voltage_Lookup_Table */
8C 00   USHORT usVddmemLookupTableOffset;          /* points to ATOM_Vega10_Voltage_Lookup_Table */
BC 01   USHORT usMMDependencyTableOffset;          /* points to ATOM_Vega10_MM_Dependency_Table */
00 00   USHORT usVCEStateTableOffset;              /* points to ATOM_Vega10_VCE_State_Table */
00 00   USHORT usReserve;                          /* No PPM Support for Vega10 */
72 02   USHORT usPowerTuneTableOffset;             /* points to ATOM_Vega10_PowerTune_Table */
00 00   USHORT usHardLimitTableOffset;             /* points to ATOM_Vega10_Hard_Limit_Table */
90 00   USHORT usVddciLookupTableOffset;           /* points to ATOM_Vega10_Voltage_Lookup_Table */
A8 02   USHORT usPCIETableOffset;                  /* points to ATOM_Vega10_PCIE_Table */
6D 01   USHORT usPixclkDependencyTableOffset;      /* points to ATOM_Vega10_PIXCLK_Dependency_Table */
43 01   USHORT usDispClkDependencyTableOffset;     /* points to ATOM_Vega10_DISPCLK_Dependency_Table */
97 01   USHORT usPhyClkDependencyTableOffset;      /* points to ATOM_Vega10_PHYCLK_Dependency_Table */





So we go to offset 143 of PowerPlay in HXD and we can see the table has 8 entries (2nd byte 08h).

The last entry is what Star2k has highlighted and is 1200MHz.

I do not know if he has made an error in compare of PP before new driver and after.



Anyhow my post is not to upset/discredit anyone, just is as info







.


----------



## Star2k

Oh ! I'm a celibrity









I dont compare the new with the old, I say, the new driver use this line, not the older.
If you look in older post, you will see someone say "change the 1107mhz of P-State SoC to 1207mhz". And it works, but now, everyone can raise over 1100mhz for the HBM without this modification...

I find something interesting.

If you copy every record of SoC P-State "OC" in "Stock", HBM don't go at 800mhz on Power save profil.

Another thing, in reg, you can see the reference of State frequency for the HBM, and after, the reference P-State for voltage of memory controller, the interesting thing is, if you set like that :

80,38,01,00,01,00,00,24,71,01,00,02

The HBM doesn't down clock at 800mhz if your gpu don't go under 1084mhz.

At the first time, i belive, this reference it's just for voltage of memory controller, but it's more directive that i think...

Anyone can give me the extract of reg for this driver please ?


----------



## majestynl

Quote:


> Originally Posted by *gupsterg*
> 
> @majestynl
> 
> Thank for info
> 
> 
> 
> 
> 
> 
> 
> . Nice result that beats result on my MSI GTX 1080 EK X which boosted to 1965MHz for that bench "out of box" as on water/nvidia boost 3.0 tech, so very nice IMO.


Your welcome!







I also ad the PP on top of it. And working flawless







Went to 1190Mhz on HBM. Still no issues







Only HBM temps are rising but yeah thats normal...
Curious if we can go higher with the soc in PP and so on with HBM
















*Screenie last SP Bench:*


*Edit1: Firestrike Graphics went 26K +







*



@gupsterg Looking forward for your tests/results tomorrow









@Nuke33 YW !


----------



## Nuke33

@majestynl , @poisson21 , @BeetleatWar1977

That was exactly what I wanted to know, thanks guys.

+rep


----------



## Nuke33

Quote:


> Originally Posted by *gupsterg*
> 
> Anyhow my post is not to upset/discredit anyone, just is as info
> 
> 
> 
> 
> 
> 
> 
> .


Why would anyone be offended by that, it is not like you insulted our mothers









I for my part appreciate it being constructively criticized, that´s how you learn.


----------



## Star2k

@gupsterg was right.

I'm on the wrong way (again :'( ), because, if you push HBM to 1205mhz (for exemple), the SoC frequency jump to 1300mhz.


----------



## majestynl

Quote:


> Originally Posted by *Star2k*
> 
> @gupsterg was right.
> 
> I'm on the wrong way (again :'( ), because, if you push HBM to 1205mhz (for exemple), the SoC frequency jump to 1300mhz.


So what's the max you can push.?Yesterday I stopped at 1190mhz.


----------



## Star2k

Quote:


> Originally Posted by *majestynl*
> 
> So what's the max you can push.?Yesterday I stopped at 1190mhz.


I have try at 1205mhz for a few second but with the stock blower, i can't bench like this. I don't know where is the limit...


----------



## spyshagg

I'm still wondering what that bus actually does aside from providing a ceiling for HBM.


----------



## Nuke33

Quote:


> Originally Posted by *spyshagg*
> 
> I'm still wondering what that bus actually does aside from providing a ceiling for HBM.


It connects HBCC, PCIe, XDMA, Display- and Multimedia-engine to each other and the chip.


----------



## buildzoid

I hate not keeping up with threads like this one. So much great info shared and I can't keep track of who came up with what.

Anyway 17.10.2 does do 1100+ HBM clock for me. For my very rough testing with GPU-z render test(if you tried to run it at 1100+ on the previous driver it would crash) I can pass 1210. 1220 artifacts for me. I tried setting the SOC clock to 1250 in the PPT. That didn't help. I also tried 1.38V HBM2 voltage with the 1250 SOC clock and stability did not improve. Looks like the weak link is the SOC itself. I think bumping it from 0.9V to maybe 0.95V could help however I can't get a datasheet for the chips making up the VRM for it(and as far as I can tell these voltages aren't accessible through software at all). Also I'm pretty sure that overvolting the SOC is a quick way to kill the SOC since most memory controllers are pretty fragile when it comes to raising their operating voltage.

I do plan to run my V56 on LN2 pretty soon. Hopefully the SOC scale with cold and I can test HBM clocks in excess of 1210.


----------



## TrixX

Looking forward to it Buildzoid.

Anyone got some updated PP Reg entries on the 17.10.2 driver as want to move it up to 200% for my 64 when I go water blocking









Got it working


----------



## Dolk

Anyone creating a new info post for 17.10.2 PP table update?


----------



## thehit101

do the reg files work for 17.10.2? windows does not recognize my vega card now after updating the reg file


----------



## buildzoid

I'm still using the old VEGA 64 Air reg


----------



## majestynl

Quote:


> Originally Posted by *Star2k*
> 
> I have try at 1205mhz for a few second but with the stock blower, i can't bench like this. I don't know where is the limit...


Will give it a try myself in a moment








Quote:


> Originally Posted by *buildzoid*
> 
> I hate not keeping up with threads like this one. So much great info shared and I can't keep track of who came up with what.
> 
> Anyway 17.10.2 does do 1100+ HBM clock for me. For my very rough testing with GPU-z render test(if you tried to run it at 1100+ on the previous driver it would crash) I can pass 1210. 1220 artifacts for me. I tried setting the SOC clock to 1250 in the PPT. That didn't help. I also tried 1.38V HBM2 voltage with the 1250 SOC clock and stability did not improve. Looks like the weak link is the SOC itself. I think bumping it from 0.9V to maybe 0.95V could help however I can't get a datasheet for the chips making up the VRM for it(and as far as I can tell these voltages aren't accessible through software at all). Also I'm pretty sure that overvolting the SOC is a quick way to kill the SOC since most memory controllers are pretty fragile when it comes to raising their operating voltage.
> 
> I do plan to run my V56 on LN2 pretty soon. Hopefully the SOC scale with cold and I can test HBM clocks in excess of 1210.


@gupsterg and @Nuke33 Found it. Day after we got a new driver








Quote:


> Originally Posted by *Dolk*
> 
> Anyone creating a new info post for 17.10.2 PP table update?


Like said before, pp table from hellm still works with new driver. Soc increases inline with HBM!


----------



## majestynl

*Anything above 1200Mhz lets SP crash!!*

Below result with 1200Mhz on HBM:


----------



## hellm

Quote:


> Originally Posted by *Dolk*
> 
> Anyone creating a new info post for 17.10.2 PP table update?


Since SoftPowerPlay is a copy of the PowerPlayInfo table found in the BIOS, it does not need any updates. Unless you would flash another BIOS, but you can even use other PP tables.
And they are all still the same, no BIOS Update from AMD where PP table was changed.


----------



## allenwr1505

I just swapped my Vega 64's to the new 17.10.2 driver. I primarily mine ethereum. On the Blockchain driver I was able to use a modification of Helmm's registry mod to undervolt the vcore of the cards to 0.8125v at 950core to get about 130w total power draw for the card. With the new 17.10.2 driver I cannot get the core undervolt that low. Lowest I can get is 0.92v.

I tried applying the registry mod but my computer won't boot when the registry mod is in there. Using Wattman adjusting the voltage, power limit, core/HBM clocks, I can't get vcore any lower than 0.92v and I know this is causing me about 20-30w extra power draw.

Any ideas on how to lower the vcore with the new 17.10.2 driver to the 0.81v range?


----------



## Star2k

Quote:


> Originally Posted by *allenwr1505*
> 
> I just swapped my Vega 64's to the new 17.10.2 driver. I primarily mine ethereum. On the Blockchain driver I was able to use a modification of Helmm's registry mod to undervolt the vcore of the cards to 0.8125v at 950core to get about 130w total power draw for the card. With the new 17.10.2 driver I cannot get the core undervolt that low. Lowest I can get is 0.92v.
> 
> I tried applying the registry mod but my computer won't boot when the registry mod is in there. Using Wattman adjusting the voltage, power limit, core/HBM clocks, I can't get vcore any lower than 0.92v and I know this is causing me about 20-30w extra power draw.
> 
> Any ideas on how to lower the vcore with the new 17.10.2 driver to the 0.81v range?


Because, with the new driver, the voltage of memory controller is more directive. If you set 950mV at 1100mhz (for example), your HBM goes to 800mhz, because 950mV is the voltage for P2.

Another interesting thing, if you dont regmod your card, the voltage of your memory controller for P3 is 1100mV like Asus RX Vega 64 Strixx.

I have investigate that, and as I thought, in asus bios, the P3 of memory controller take its value on P5 of GPU (on stock version, the card take its value on P4 for Air and P2 for Liquid version)


----------



## spyshagg

very interesting Star2K


----------



## allenwr1505

Quote:


> Originally Posted by *rednow*
> 
> I guess it is near 180watt.
> It's not optimal settings for ETH. For ETH you could use 1220/[email protected] having the same 46.2mhs and 150watt power consumption.


How can you get to 820mV with the new driver? Lowest I can get is 875mV.


----------



## TrixX

Quote:


> Originally Posted by *allenwr1505*
> 
> How can you get to 820mV with the new driver? Lowest I can get is 875mV.


Depends on the card. Some can do some insane undervolts others can't go below 1050mv...


----------



## allenwr1505

Quote:


> Originally Posted by *TrixX*
> 
> Depends on the card. Some can do some insane undervolts others can't go below 1050mv...


I was able to undervolt to 812mv and 800mv on the blockchain drivers using a registry mod. I can't figure out how to make it work with the new drivers. How are you undervolting?

From what I understand helmms registry mod still works with the new drivers and I should be able to tweak it for voltages lower than the 875mv I am currently achieving on overdriventool. How are you undervolting on the new drivers?


----------



## TrixX

Quote:


> Originally Posted by *allenwr1505*
> 
> I was able to undervolt to 812mv and 800mv on the blockchain drivers using a registry mod. I can't figure out how to make it work with the new drivers. How are you undervolting?
> 
> From what I understand helmms registry mod still works with the new drivers and I should be able to tweak it for voltages lower than the 875mv I am currently achieving on overdriventool. How are you undervolting on the new drivers?


Using OverdriveNTool personally. Though I'm not a miner so don't aim for much below 900mv. I've noticed I'm stable at 900mv with current drivers though whereas prior to the 17.10.1 drivers I could only do 920mv.

I'd expect the discrepancy would be the increase in SOC allowing for 1200MHz on HBM instead of locked to 1107MHz max. That maybe pushing the minimum's up a bit, but it's pure speculation. Otherwise I wouldn't know what's the cause.


----------



## dagget3450

Man i really wish i could flash Rx vega bios on the second spot bios switch on my Vega Fe's to get around this driver nightmare with vega pro/gaming mode garbage


----------



## skylarr

Is it possible to overclock vega 56 to higher hbm? Any time i try to go higher than 1100 on memory p3 i get a blue screen









Using blockchain drivers and vega 64 bios.

Edit: Okay was missing the soc overclock, is it either the default or 1200? Is there no in between? Since hex doesn't directly translate into 1200 and don't want to make the card go boom.


----------



## The EX1

Quote:


> Originally Posted by *skylarr*
> 
> Is it possible to overclock vega 56 to higher hbm? Any time i try to go higher than 1100 on memory p3 i get a blue screen
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Using blockchain drivers and vega 64 bios.
> 
> Edit: Okay was missing the soc overclock, is it either the default or 1200? Is there no in between? Since hex doesn't directly translate into 1200 and don't want to make the card go boom.


You can set SOC in between. It just has to be set at a greater number than what you want your HBM to run at.


----------



## BeetleatWar1977

Ok, small update:
Something has changed with 17.10.3..... i can Clock the hbm up to 1150 without crashes or artefacts......


----------



## bill1971

Quote:


> Originally Posted by *BeetleatWar1977*
> 
> Ok, small update:
> Something has changed with 17.10.3..... i can Clock the hbm up to 1150 without crashes or artefacts......


which card?what you won with 1150 hbm?


----------



## rancor

Quote:


> Originally Posted by *BeetleatWar1977*
> 
> Ok, small update:
> Something has changed with 17.10.3..... i can Clock the hbm up to 1150 without crashes or artefacts......


Quote:


> Originally Posted by *bill1971*
> 
> which card?what you won with 1150 hbm?


The drivers as of 17.10.2 allow for variable SOC clocks according to HBM frequincy. The SOC frequincy was previously fixed at 1100MHz and was causing the hard HBM clock limit of 1100MHz. With the SOC clocks higher the HBM can also be overclocked more with adequate cooling. Looks like the actual HBM overclock limits, for cards that could hit 1100 previously, are 1150 to 1200MHz.


----------



## Nuke33

Quote:


> Originally Posted by *TrixX*
> 
> Using OverdriveNTool personally. Though I'm not a miner so don't aim for much below 900mv. I've noticed I'm stable at 900mv with current drivers though whereas prior to the 17.10.1 drivers I could only do 920mv.
> 
> I'd expect the discrepancy would be the increase in SOC allowing for 1200MHz on HBM instead of locked to 1107MHz max. That maybe pushing the minimum's up a bit, but it's pure speculation. Otherwise I wouldn't know what's the cause.


I am not 100% sure if it is reproduceable all the time, but I can´t undervolt as low as before applying SoC overclocks.
I was able to do stable 1408/[email protected] before. Now with 1150-1200mhz SoC I can only get it stable at 960mv.

For comparability I kept driver 17.9.3.
Will test it with 17.10.3 as well.


----------



## nikl

This trick worked for me with the blockchain drivers and flashed vega 56->64, but the 1199MHz SoC clock is not stable for me. How do I set like 1150MHz or any frequency in the range between 1100 and 1200?

Thanks.
Quote:


> Originally Posted by *Nuke33*
> 
> By changing the marked values. Stock 6C,B0,01 = 110700
> So if you want 1200mhz for example you need to exchange it with C0,D4,01


----------



## Weeone

Hey guys,

thanks for all this useful information in this thread!

what is the meaning of "2C" in the picture attached below?



Does it has something to do with min fan rpm?

*2C*,01 = 300

Thanks so much!


----------



## Leons

Quote:


> Originally Posted by *Weeone*
> 
> Hey guys,
> 
> thanks for all this useful information in this thread!
> 
> what is the meaning of "2C" in the picture attached below?
> 
> 
> 
> Does it has something to do with min fan rpm?
> 
> *2C*,01 = 300
> 
> Thanks so much!


Hi, based on my experience this is 300A (TDC) as also already mentioned for modified Power Play tables present in this thread.


----------



## Nuke33

Quote:


> Originally Posted by *nikl*
> 
> This trick worked for me with the blockchain drivers and flashed vega 56->64, but the 1199MHz SoC clock is not stable for me. How do I set like 1150MHz or any frequency in the range between 1100 and 1200?
> 
> Thanks.


You can do it yourself with the Microsoft calculator for example. Just set "View" in the optionsbar to "Programmer".
Then set units to "Dec" and enter your preferred frequency with 00 added at the end. so if you want "1150", you have to enter "115000".
After that switch units to "Hex" that will output that string in hexadecimal. "115000" will become "1C138". Now you need to convert it to LittleEndian.
It is basically reversing the hex string. So "1C138" becomes "38C101". The final step is to add commas after each 2 hex digits. So it looks like this in the end >>> 38,C1,01

Thats it, now you can use any value you like and transform it to PP table compatible format.


----------



## nikl

Thank you for your answer. My previous post was not clearly written, I know how to convert decimal->hex frequencies, the problem I have is that I tried 1148 and 1150mhz for soc, and the soc frequency was still 1199Mhz under load. It seems like the next step after 1107 is 1199 and that there is no step in between.

EDIT: To be absolutely clear, the 1199 soc is stable for me, if i dont undervolt below 950mV on core. Then I can push memory up to 1145 mhz, 1150 immediately crashes. However, I would like to stick to my 875mV, as the consumption drops significantly, and I hoped that 1150 soc might be stable at that together with 1150 memory.


----------



## Nuke33

Quote:


> Originally Posted by *nikl*
> 
> Thank you for your answer. My previous post was not clearly written, I know how to convert decimal->hex frequencies, the problem I have is that I tried 1148 and 1150mhz for soc, and the soc frequency was still 1199Mhz under load. It seems like the next step after 1107 is 1199 and that there is no step in between.
> 
> EDIT: To be absolutely clear, the 1199 soc is stable for me, if i dont undervolt below 950mV on core. Then I can push memory up to 1145 mhz, 1150 immediately crashes. However, I would like to stick to my 875mV, as the consumption drops significantly, and I hoped that 1150 soc might be stable at that together with 1150 memory.


I see, maybe it´s of use to someone else









I am having the same issues I can´t get anything below 950-960mv stable with SoC >1107mhz. It really sucks to chose between low power consumption or high HBM clocks.

But I am not sure if the readout from HWinfo is actually correct, because I can reproduce the blackscreen issue when setting 1150mhz SoC and 1151mhz HBM for example. Even if HWinfo shows 1199mhz SoC.
Maybe it is not the Infinityfabric that is causing the isues but something that is linked to it and gets clocked higher as well. At least when setting it trough PP tables.


----------



## Ysts

Stock min fan rpm is 400, but I can not find 00,19 in PP tables


----------



## hellm

Quote:


> Originally Posted by *Ysts*
> 
> Stock min fan rpm is 400, but I can not find 00,19 in PP tables


There is a little more to that. Besides, 400 is 0x190 in hex, in little endian it is 90 01, not 00 19.









Look at page one, find
USHORT usFanTableOffset; /* points to ATOM_Vega10_Fan_Table */

fan table always starts with "0B" (RevId) after "01 18 00 00 00 00 00 00 00" which are the bytes for thermal controller.


Spoiler: Fan table



typedef struct _ATOM_Vega10_Fan_Table {
UCHAR ucRevId; /* Change this if the table format changes or version changes so that the other fields are not the same. */
USHORT usFanOutputSensitivity; /* Sensitivity of fan reaction to temepature changes. */
USHORT usFanRPMMax; /* The default value in RPM. */
USHORT usThrottlingRPM;
USHORT usFanAcousticLimit; /* Minimum Fan Controller Frequency Acoustic Limit. */
USHORT usTargetTemperature; /* The default ideal temperature in Celcius. */
USHORT usMinimumPWMLimit; /* The minimum PWM that the advanced fan controller can set. */
USHORT usTargetGfxClk; /* The ideal Fan Controller GFXCLK Frequency Acoustic Limit. */
USHORT usFanGainEdge;
USHORT usFanGainHotspot;
USHORT usFanGainLiquid;
USHORT usFanGainVrVddc;
USHORT usFanGainVrMvdd;
USHORT usFanGainPlx;
USHORT usFanGainHbm;
UCHAR ucEnableZeroRPM;
USHORT usFanStopTemperature;
USHORT usFanStartTemperature;
} ATOM_Vega10_Fan_Table;

typedef struct _ATOM_Vega10_Fan_Table_V2 {
UCHAR ucRevId;
USHORT usFanOutputSensitivity;
USHORT usFanAcousticLimitRpm;
USHORT usThrottlingRPM;
USHORT usTargetTemperature;
USHORT usMinimumPWMLimit;
USHORT usTargetGfxClk;
USHORT usFanGainEdge;
USHORT usFanGainHotspot;
USHORT usFanGainLiquid;
USHORT usFanGainVrVddc;
USHORT usFanGainVrMvdd;
USHORT usFanGainPlx;
USHORT usFanGainHbm;
UCHAR ucEnableZeroRPM;
USHORT usFanStopTemperature;
USHORT usFanStartTemperature;
UCHAR ucFanParameters;
UCHAR ucFanMinRPM;
UCHAR ucFanMaxRPM;
} ATOM_Vega10_Fan_Table_V2;

typedef struct _ATOM_Vega10_Thermal_Controller {
UCHAR ucRevId;
UCHAR ucType; /* one of ATOM_VEGA10_PP_THERMALCONTROLLER_*/
UCHAR ucI2cLine; /* as interpreted by DAL I2C */
UCHAR ucI2cAddress;
UCHAR ucFanParameters; /* Fan Control Parameters. */
UCHAR ucFanMinRPM; /* Fan Minimum RPM (hundreds) -- for display purposes only.*/
UCHAR ucFanMaxRPM; /* Fan Maximum RPM (hundreds) -- for display purposes only.*/
UCHAR ucFlags; /* to be defined */
} ATOM_Vega10_Thermal_Controller;



Vega 64:


----------



## quinguyen

I bought sapphire vega 56 air and I want to mine eth + lbc. I am using driver 17.10.3.

I can set my card working at 1050/[email protected] if I overclock HBM is over 950, system will crash.

Monitor my card, GPU temperature is around 70 celsius but HBM is around 73 celsius.

How can i mod HBM to 1100?


----------



## Teuflor

Hey guys,

did someone confirm thad reg files work with windows 1709? when i apply them, windows try to restore after reboot.

on my old 1703 windows the reg files work!

Code:



Code:


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
"PP_PhmSoftPowerPlayTable"=hex:B6,02,08,01,00,5C,00,E1,06,00,00,EE,2B,a00,00,1B,\
  00,48,00,00,00,80,A9,03,00,F0,49,02,00,8E,00,08,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,02,01,5C,00,4F,02,46,02,94,00,9E,01,BE,00,28,01,7A,00,8C,00,\
  BC,01,00,00,00,00,72,02,00,00,90,00,A8,02,6D,01,43,01,97,01,F0,49,02,00,71,\
  02,02,02,00,00,00,00,00,00,08,00,00,00,00,00,00,00,05,00,07,00,03,00,05,00,\
  00,00,00,00,00,00,01,08,84,03,84,03,84,03,84,03,84,03,84,03,89,03,89,03,01,\
  01,89,03,01,01,84,03,00,08,60,EA,00,00,00,40,19,01,00,01,80,38,01,00,02,DC,\
  4A,01,00,03,90,5F,01,00,04,00,77,01,00,05,90,91,01,00,06,6C,B0,01,00,07,01,\
  08,D0,4C,01,00,00,00,80,00,00,00,00,00,00,1C,83,01,00,01,00,00,00,00,00,00,\
  00,00,70,A7,01,00,02,00,00,00,00,00,00,00,00,88,BC,01,00,03,00,00,00,00,00,\
  00,00,00,38,C1,01,00,04,00,00,00,00,00,00,00,00,88,D5,01,00,05,00,00,00,00,\
  01,00,00,00,70,D9,01,00,06,00,00,00,00,01,00,00,00,00,26,02,00,07,00,00,00,\
  00,01,00,00,00,00,05,60,EA,00,00,00,40,19,01,00,00,80,38,01,00,00,DC,4A,01,\
  00,00,90,5F,01,00,00,00,08,28,6E,00,00,00,2C,C9,00,00,01,F8,0B,01,00,02,80,\
  38,01,00,03,90,5F,01,00,04,F4,91,01,00,05,D0,B0,01,00,06,C0,D4,01,00,07,00,\
  08,6C,39,00,00,00,24,5E,00,00,01,FC,85,00,00,02,AC,BC,00,00,03,34,D0,00,00,\
  04,68,6E,01,00,05,08,97,01,00,06,EC,A3,01,00,07,00,01,68,3C,01,00,00,01,04,\
  3C,41,00,00,00,00,00,50,C3,00,00,00,00,00,80,38,01,00,02,00,00,28,9A,01,00,\
  04,00,00,01,08,00,98,85,00,00,40,B5,00,00,60,EA,00,00,50,C3,00,00,01,80,BB,\
  00,00,60,EA,00,00,94,0B,01,00,50,C3,00,00,02,00,E1,00,00,94,0B,01,00,40,19,\
  01,00,50,C3,00,00,03,78,FF,00,00,40,19,01,00,88,26,01,00,50,C3,00,00,04,40,\
  19,01,00,80,38,01,00,80,38,01,00,50,C3,00,00,05,80,38,01,00,DC,4A,01,00,DC,\
  4A,01,00,50,C3,00,00,06,00,77,01,00,00,77,01,00,90,5F,01,00,50,C3,00,00,07,\
  90,91,01,00,90,91,01,00,00,77,01,00,50,C3,00,00,01,18,00,00,00,00,00,00,00,\
  0B,E4,12,60,09,60,09,4B,00,0A,00,54,03,90,01,90,01,90,01,90,01,90,01,90,01,\
  90,01,00,00,00,00,00,02,04,31,07,DC,00,DC,00,DC,00,90,01,00,00,59,00,69,00,\
  4A,00,4A,00,5F,00,73,00,73,00,64,00,40,00,90,92,97,60,96,00,90,55,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,02,D4,30,00,00,02,10,60,EA,00,\
  00,02,10


----------



## TrixX

Running PowerPlay Tables on 1709 quite happily.


----------



## geriatricpollywog

Is there a way to tell the card exactly what clockspeed to run? Overclocking this card is a maddening guessing game. I may get it to run at 1730 mhz by setting P7 to 1770, but if I reset the computer, P7 will still be 1770, but actual clock speed will be 1680,and I need to run restart64 to reset the drivers and turn my monitor on/off to get back to 1730mhz. I can't seem


----------



## spyshagg

Quote:


> Originally Posted by *0451*
> 
> Is there a way to tell the card exactly what clockspeed to run? Overclocking this card is a maddening guessing game. I may get it to run at 1730 mhz by setting P7 to 1770, but if I reset the computer, P7 will still be 1770, but actual clock speed will be 1680,and I need to run restart64 to reset the drivers and turn my monitor on/off to get back to 1730mhz. I can't seem


I believe that is because your clocks are preserved but not the voltage. As you noticed by now, the clock you set is a suggestion. The actual clock includes how much voltage you are giving it (among other things like wattage and heat).


----------



## TrixX

Quote:


> Originally Posted by *0451*
> 
> Is there a way to tell the card exactly what clockspeed to run? Overclocking this card is a maddening guessing game. I may get it to run at 1730 mhz by setting P7 to 1770, but if I reset the computer, P7 will still be 1770, but actual clock speed will be 1680,and I need to run restart64 to reset the drivers and turn my monitor on/off to get back to 1730mhz. I can't seem


Where do you find reset64? I'd be very interested in this. I've had a few outlier results too, where lower clocks result in higher performance with no rhyme or reason. Currently my highest run is not replicable with any settings I set matching the original settings. Very very frustrating.

I'll be moving to a dedicated Testing OS for future testing so it only has the benchmarking software and monitoring software on the SSD and nothing else (none of my other drives connected etc...) to eliminate any odd software influences.


----------



## geriatricpollywog

Quote:


> Originally Posted by *TrixX*
> 
> Where do you find reset64? I'd be very interested in this. I've had a few outlier results too, where lower clocks result in higher performance with no rhyme or reason. Currently my highest run is not replicable with any settings I set matching the original settings. Very very frustrating.
> 
> I'll be moving to a dedicated Testing OS for future testing so it only has the benchmarking software and monitoring software on the SSD and nothing else (none of my other drives connected etc...) to eliminate any odd software influences.


I won't be on my computer for like another 10 hours and I don't remember the name of the program, but Bullzoid mentions it in his underclocking video. Its an awesome program because it's much faster than restarting my computer when a benchmark crashes and wattman goes back to default.


----------



## asder00

Quote:


> Originally Posted by *TrixX*
> 
> Where do you find reset64?.


https://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU
Inside the CRU package


----------



## gupsterg

Quote:


> Originally Posted by *0451*
> 
> Is there a way to tell the card exactly what clockspeed to run? Overclocking this card is a maddening guessing game. I may get it to run at 1730 mhz by setting P7 to 1770, but if I reset the computer, P7 will still be 1770, but actual clock speed will be 1680,and I need to run restart64 to reset the drivers and turn my monitor on/off to get back to 1730mhz. I can't seem


The card uses ACG/AVFS for the higher PStates, link.



You could try to see/opt to get rid of ACG.

I just have not tried yet as happy to sorta work with ACG/WattMan and moan at AMDMatt (@LtMatt) if it don't work







.


----------



## TrixX

Quote:


> Originally Posted by *asder00*
> 
> https://www.monitortests.com/forum/Thread-Custom-Resolution-Utility-CRU
> Inside the CRU package


Thanks mate, much appreciated


----------



## chris89

Any word on GPU BIOS Modding?

https://forums.guru3d.com/threads/rx-vega-owners-thread-tests-mods-bios-tweaks.416287/

Working on BIOS modding tool

http://www.overclock.net/t/1633446/preliminary-view-of-amd-vega-frontier-edition-bios/0_50

Sapphire-Vega-64-Air-Black-STATE-23-626MHZ-320GBs.zip 136k .zip file


Sapphire.Vega.64.500W.TDC.PowerLimit.60C.Limits.zip 136k .zip file


Sapphire.Vega.64.500W-A.PowerLimit.88C.Limits.zip 136k .zip file


----------



## gupsterg

Quote:


> Originally Posted by *0451*
> 
> Is there a way to tell the card exactly what clockspeed to run? Overclocking this card is a maddening guessing game. I may get it to run at 1730 mhz by setting P7 to 1770, but if I reset the computer, P7 will still be 1770, but actual clock speed will be 1680,and I need to run restart64 to reset the drivers and turn my monitor on/off to get back to 1730mhz. I can't seem


IIRC OverdriveNTool allows you to disable states as well, which may gain you less variable frequency. Left click Px: in the tool, dunno if it works well as I did not try it.
Quote:


> Originally Posted by *chris89*
> 
> Any word on GPU BIOS Modding?


Not possible still.


----------



## Razkin

I have an Vega 64 Air with EK waterblock flashed to the AIO 8774 bios.

Using a Coolermaster G550M I could not run with +50% power limit @ stock [email protected], having switched to an 850W powersupply I can, but currently only able to run [email protected] Anything above will crash almost instantly.

To make sure I am not power limited I wanted to modify the powerplay table, but what I can find in the register doesn't compare to what I have been able to find in this thread.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]


In an effort to get higher powerlimits I used one of hellm's register files(for AIO), but it had no effect. After applying the register mod, I can see the addition(it has a different name) but still only able to set +50%, changing the name of hellm's entry copies the values that were in the register to begin with as shown in the picture above.

Currently using Windows 10 and driver 17.10.3. Hellm mentioned that his file is to be used with an older driver, so is the driver used the problem or am I missing something?


----------



## gupsterg

PP mod works with all driver to date.

i) Run DDU and remove driver.

ii) Install AMD driver of your choice.

iii) Add this PP:-

V64_AIO_PP100.zip 1k .zip file


You will have key as such



You will have +100% slider in WattMan.

You will find a tool in OP that can modify a PP.reg easier than using manual methods, save file and add to OS.


----------



## Nuke33

Quote:


> Originally Posted by *gupsterg*
> 
> The card uses ACG/AVFS for the higher PStates, link.
> 
> 
> 
> You could try to see/opt to get rid of ACG.
> 
> I just have not tried yet as happy to sorta work with ACG/WattMan and moan at AMDMatt (@LtMatt) if it don't work
> 
> 
> 
> 
> 
> 
> 
> .


Cool, that was the missing info I needed.








I always wondered why P0-P4 are fully stable and P5-P7 boost like mad and therefore crash on the same voltages.

I also tested SoC overclocking on the new 17.10.3 and it is definitely worse than 17.9.3. It is not possible to set anything below 1199mhz now, at least it does not get applied. So for people with V56 and limited SoC frequency capabilities it is a step back.

As I have mentioned earlier my card seems to be stuck at 950-960mv min. voltage when overclocking SoC. But it seems it is actually P2 or voltage floor that needs to be at least 930mv to be fully stable.
With P2 @ 930mv I can set 930mv for higher P-states that were stable @ 910mv previously. 20mv is an acceptable trade off for 40-50mhz more HBM frequency in my opinion.
It sucks for ultra low undervolting though.


----------



## gupsterg

@Nuke33

Yeah as [email protected] is lower load vs Bionic I get peak of 171xMHz right at the beginning. I would believe in 3D loads we would also see such a peak or peaks at times and this could destabilse GPU, ACG/AVFS effect.

Below are MSI AB HML files.

fh_V64.zip 113k .zip file


Now look at Bionic, same profile.

bionic_V64.zip 54k .zip file


This is Wolfenstein 2, highest preset, uncapped FPS, which is still very [email protected]

Wolf_V64.zip 85k .zip file


I've only used 1200MHz SOC, to see if it would allow 1150MHz HBM not to lose performance in TimeSpy. It didn't work, I may revisit it at some point.

I've just been spending time getting my profile sound for all aspects, before moving to another set of clock/potential tweaks.

DPM7: 1652MHz needs 1125mV, 1100mV will work but every so often some 3D load will have an issue. 1112mV works well, but 1125mV seems right to have. All 3 of these mV settings I always still get ~1.075V. So I believe monitoring is not quick enough to show ACG/AVFS fully in action. I believe this from how the increased values gain, me stability, but monitoring shows no change in voltage.

DPM6: 1557MHz and HBM voltage in WattMan, I initially set as 1000mV, I'm down to 975mV with no issues. 1100MHz is seeming stable/optimal in 3D/Compute. Tomorrow plan on seeing if I can trim it lower.


----------



## poisson21

Working with pp table , i directly put my cloks and hbm oc setting limit in it in case of a driver reset.

Can someone know if we can put in it the power limit we want to be set at reset (eg 150% in my case)?

(i don't know if i am really clear, english is not my primary language)


----------



## gupsterg

@poisson21

The slider % can not be preset, it can only be extended for "sliding" AFAIK.

To have PowerLimit as you want, at driver reset, you would need to modify the orange boxed elements. I also think you would need slider on "Custom" in WattMan for PP.reg to apply.



220W usSocketPowerLimit;
220W usBatteryPowerLimit;
220W usSmallPowerLimit;
300A usTdcLimit;

above represents PowerLimit 0%, so if you need +50% PowerLimit at 0%, you would need:-

330W usSocketPowerLimit;
330W usBatteryPowerLimit;
330W usSmallPowerLimit;
450A usTdcLimit;

The red colored text I am at present unsure if it would need extending. I have not had time to test, perhaps another has already and has posted in thread. I would assume OCP with VRM chip would kick in if TDC was to great, *but do not know*.

*Be aware that once you have extended all of above values, if you add PowerLimit using slider, it will result in far greater PowerLimit values.*

What overclock are you running to need +150%?

I use in WattMan:-

DPM6: 1557MHz 975mV
DPM7: 1652MHz 1125mV
HBM: 1100MHz 975mV

and 65% PowerLimit is excessive. I need ~40% to see no reduction in clocks. I see ~1600MHz in 3D loads and ~1700MHz in Compute, with ~+/-25MHz swing depending on particular app loading GPU.


----------



## poisson21

For now i didn't touch the power limit i only add a 150% limit and a tdc limit of 450 A.

I run 150% just to be sure to not be blocked for oc, not really need it.

My most stable oc at present are 1712Mhz/1250Mv with 1150Mhz on HBM on both of my card.

I can bench at 1732Mhz but can't play some games, it overshot too much above that value and crash the game.

I can surely go up to 1190-1200Mhz on HBM but didn't really need it for now so i didn't really try.

The only necessery limit for me ,for now, is the 450A limit , as i can pull easilly more than 400W on each card.


----------



## porschedrifter

So what are the gains between RX VEGA 64 AIO and 64 air bios? I heard there was something to be gained by doing AIO over air bios?


----------



## gupsterg

@poisson21

I would test what PowerLimit you need and aim to use that. This is only my opinion and it's your choice on what you do







.

I see having correct / slightly above PowerLimit as a safety mechanism.

Also be aware the way ACG/AVFS works you will see a differing max GPU clock even if PowerLimit is not the issue. In below zip is HML files for 3 settings each of SP 4K and 3DM FS Demo looped, I get very similar clocks/power usage per run of each application, but 3DM FS Demo can be ~1625MHz on average, but SP 4K be on average ~1600MHz, for same profile. This is not a PowerLimit issue IMO, it is just how ACG/AVFS is working.

Setting_PL_tests.zip 73k .zip file


@porschedrifter

V64 AIO has higher PL/clocks by default, some will find this handy to use, but it has lower throttling temps.

I currently use factory V64 VBIOS on my card, I only do PowerLimit slider mod to allow +100% (not that I have needed that value).


----------



## Nuke33

Quote:


> Originally Posted by *gupsterg*
> 
> @Nuke33
> 
> 
> Spoiler: Warning: Spoiler!
> 
> 
> 
> Yeah as [email protected] is lower load vs Bionic I get peak of 171xMHz right at the beginning. I would believe in 3D loads we would also see such a peak or peaks at times and this could destabilse GPU, ACG/AVFS effect.
> 
> Below are MSI AB HML files.
> 
> fh_V64.zip 113k .zip file
> 
> 
> Now look at Bionic, same profile.
> 
> bionic_V64.zip 54k .zip file
> 
> 
> This is Wolfenstein 2, highest preset, uncapped FPS, which is still very [email protected]
> 
> Wolf_V64.zip 85k .zip file
> 
> 
> I've only used 1200MHz SOC, to see if it would allow 1150MHz HBM not to lose performance in TimeSpy. It didn't work, I may revisit it at some point.
> 
> I've just been spending time getting my profile sound for all aspects, before moving to another set of clock/potential tweaks.
> 
> DPM7: 1652MHz needs 1125mV, 1100mV will work but every so often some 3D load will have an issue. 1112mV works well, but 1125mV seems right to have. All 3 of these mV settings I always still get ~1.075V. So I believe monitoring is not quick enough to show ACG/AVFS fully in action. I believe this from how the increased values gain, me stability, but monitoring shows no change in voltage.
> 
> DPM6: 1557MHz and HBM voltage in WattMan, I initially set as 1000mV, I'm down to 975mV with no issues. 1100MHz is seeming stable/optimal in 3D/Compute. Tomorrow plan on seeing if I can trim it lower.


I noticed that behavior (as seen in your AB logs) too, but it annoys me as it needs way too much voltage in order to be stable in high boost situations. Also I do not see much advantage to it since Vega seems to perform the best @1400-1500mhz from a power/performance standpoint.

I have not seen much benefit to SoC overclocking except the ability to raise HBM frequency as of now. It would surely have much more effect if our cards were connected directly via InfinityFabric to a Zen architecture type processor. All though I have not benched HBCC with memory consumption over 8GB, that could possibly be a case where it would be beneficial.

Yeah software voltage monitoring is too slow, even when set to 0.1s intervals. I would hookup an oscilloscope to a voltage reading point as near as possible to the GPU asic. I will do that if I find the time for it.

As long as you are not messing with SoC clocks ( that includes HBM > 1107mhz in newer than 17.9.3 drivers) you will probably be able to go even lower on voltage.
I have to say I am quite pleased with Vegas undervolting capabilities on watercooling. They get the same or even slightly better at efficiency than pascal [email protected]


----------



## packindss

edited/delete


----------



## packindss

Quote:


> Originally Posted by *quinguyen*
> 
> I bought sapphire vega 56 air and I want to mine eth + lbc. I am using driver 17.10.3.
> 
> I can set my card working at 1050/[email protected] if I overclock HBM is over 950, system will crash.
> 
> Monitor my card, GPU temperature is around 70 celsius but HBM is around 73 celsius.
> 
> How can i mod HBM to 1100?


Flash your 56 with a 64 bios and you can run up to and more than 1100mhz

For your LBC-ETH question...the below setup with ETH nets 43mh/s. Play with it more to optimize dual mining LBC...I didnt have good results.
56 flashed with 64 bios
use 17.10.3 drivers

In wattman set the following.
set gpu state 7 to 1002 (key this in)
set memory via slider to 1100mhz
fan 400-4900
temp max 70
temp target 60
power at 0 (yes zero)

I'd love to get the above working with PowerPlay mod.

This draws 210 watts per gpu. If anyone has a recipe with a significant lower power consumption..I want to hear about it


----------



## poisson21

Weird stuff when you input a preset for clock/hbm in a pp table.

You have to change a little forth and back your hbm setting after reset if not you are stuck with a bug

where the hbm stay at 500Mhz while the core clock just work fine.


----------



## quinguyen

Hi packindss, How about undervolt for your cards and temperature of its?

when i flash my card with a 64 bios, i can run HBM at 1100mhz but voltage of HBM is 1.35 and i can't undervolt it therefore HBM temperature is hight and it can't operation for a long time.

Until now, I can't undervolt HBM, please hep me. Thanks so much.
Quote:


> Originally Posted by *packindss*
> 
> Flash your 56 with a 64 bios and you can run up to and more than 1100mhz
> 
> For your LBC-ETH question...the below setup with ETH nets 43mh/s. Play with it more to optimize dual mining LBC...I didnt have good results.
> 56 flashed with 64 bios
> use 17.10.3 drivers
> 
> In wattman set the following.
> set gpu state 7 to 1002 (key this in)
> set memory via slider to 1100mhz
> fan 400-4900
> temp max 70
> temp target 60
> power at 0 (yes zero)
> 
> I'd love to get the above working with PowerPlay mod.
> 
> This draws 210 watts per gpu. If anyone has a recipe with a significant lower power consumption..I want to hear about it


----------



## porschedrifter

Whats a good starting undervoltage for core at 1630MHz? Default for me is at 1200mv


----------



## spyshagg

1050mv should work for most. Surely did for me. Some blessed ones can manage 9xxmv

But you will notice that while using lower vcore so will the max boost be lower even though you did not touch the frequency.


----------



## Razkin

After some troubles I eventually got the soft powerplay table working, with the +100% power limit I was able to extract an extra ~26MHz on the core.

Measured the power draw of the system and it really made me scratch my head...851W during Superposition. I also had a little go at Vega 56 + 64 in crossfire and it would shut my PSU(Seasonic Focus+ 850) down, which I found odd at first. but not so much after seeing the above idiotic 851W reading.


----------



## kqpahv

Hei guys, does anyone know where the actual HBM voltage is located at on a Vega64 Powerplaytable ?

I dont mean the fake one that's actually the VDDC floor


----------



## poisson21

@Razkin

My 2 rx 64 on crossfire can each draw more than 400W so a PSU of 850W for a crossfire is not really good, it need 1000-1200W for a crossfire setting , depending on the cpu/motherboard you use.


----------



## gupsterg

@Nuke33

Thanks for looking at logs and commenting







, nice to read you share my viewpoint







. Thank you for your experience share, if and when you get scope data it would be great to read your experience with it







.

I think I got a dud for OC'ing. HBM is sweet IMO as 1100MHz is non issue, tested now for several days in various case tests. I can't seem to gain ~1640MHz as load clocks, stable with what I want as voltages







.

I took what I regard as my most stable profile:-

DPM6: 1557MHz 975mV
DPM7: 1652MHz 1125mV
HBM: 1100MHz 975mV
PowerLimit: 50%

And changed to:-

DPM6: 1587MHz 1000mV
DPM7: 1682MHz 1150mV
HBM: 1100MHz 1000mV
PowerLimit: 65%

I can gain pass of ~1hr in 3DM FS Demo, Valley conks out within few minutes







. I tried various tweaks to it (excluding adding more voltage) and unless I lower clocks it's no go







.

I'm gonna now test for a undervolt profile







.
Quote:


> Originally Posted by *porschedrifter*
> 
> Whats a good starting undervoltage for core at 1630MHz? Default for me is at 1200mv


Not done undervolt profile yet.

At stock I ran a 3D load, I did SP 4K. I noted MAX VDDC as 1.087V so I used 1100mV as starting point for profiling.

The 1200mV shown in WattMan when "we" move to manual voltage, I believe is just pulled from voltage table in PowerPlay, but in no way resembles what actual voltage the GPU is using when being profiled by "processes". So testing as above is way forward to know where to start IMO.
Quote:


> Originally Posted by *kqpahv*
> 
> Hei guys, does anyone know where the actual HBM voltage is located at on a Vega64 Powerplaytable ?


In OP there is text/pointers, look at text above spoiler *Vddc/Vddmem LookupTable* and within spoiler







.


----------



## redcard

Hello guys, I'm running vega 56 flashed with bios for 64.Win 10 pro Driver 17.11.1. The issue is when I start to mine P7 clock is lower than the value I already set in Overdrive Ntool. In example if I set 1280 gpu clock gpuz shows 1220 under load. But the HBM clock is exactly as adjusted.
I already erased my modified PP table MorePowerVega56_142.zip (from Hellm's post) because it causes driver crashes: error code 43, or "thread stuch in device driver" before boot or "video tdr failure".


----------



## porschedrifter

Quote:


> Originally Posted by *gupsterg*
> 
> I'm gonna now test for a undervolt profile
> 
> 
> 
> 
> 
> 
> 
> .
> Not done undervolt profile yet.
> 
> At stock I ran a 3D load, I did SP 4K. I noted MAX VDDC as 1.087V so I used 1100mV as starting point for profiling.
> 
> The 1200mV shown in WattMan when "we" move to manual voltage, I believe is just pulled from voltage table in PowerPlay, but in no way resembles what actual voltage the GPU is using when being profiled by "processes". So testing as above is way forward to know where to start IMO.
> In OP there is text/pointers, look at text above spoiler *Vddc/Vddmem LookupTable* and within spoiler
> 
> 
> 
> 
> 
> 
> 
> .


Oh wow really? Didn't even know that about wattman. Definitely interested to see what you end up finding out about undervolt tests!
Right now I'm going very modest so far
Core
*p6* 1537 1000v
*p7* 1632 1000v
*HBM* 1000 1100v
*Power* 50%


----------



## gupsterg

Quote:


> Originally Posted by *porschedrifter*
> 
> Oh wow really? Didn't even know that about wattman. Definitely interested to see what you end up finding out about undervolt tests!
> Right now I'm going very modest
> Core
> *p6* 1587 1000v
> *p7* 1632 1100v
> *HBM* 1050 1050v
> *Power* 50%


NP







.

Below is zip, it contains stock and tweaked profile HML files. You'll note some of the peak clocks are lower, but same/higher voltage than tweaked profile. As the tweaked profile has higher PowerLimit/Frequency card uses more power.

Stock_Tweak_V64.zip 68k .zip file


HBM mV match to DPM6 mV. If HBM mV is higher than DPM6, GPU won't be able to go down to set mV.

I believe I have a low leakage ASIC, hence it seems to exhibit higher voltage requirement than other members GPUs samples. So it's isn't clocking great for increases IMO. It could also be that I'm going too hard on it for stability testing. As an example for me to think a profile is sound, it has to pass ~1hr each of 3DM Demo, Valley and/or Heaven plus do ~12hrs of [email protected] and/or Bionic. I also game for several hours on a profile.


----------



## porschedrifter

Also check out ROG's Furmark version, it has a great artifact scanner (regular version of FurMark does not) http://www.geeks3d.com/furmark/rog/

OCCT's artifact scanner is not working for me since I went Vega, was working fine with r9 390 though. Not sure why.

In testing so far with my vega, Test 3 Furry Donut custom size 575x454 (you can resize it on the fly to whatever you want, depending on your temps) artifact scan will show artifacts in as little at 17 seconds, which aids a lot in getting a solid OC quickest as possible.
If you use a smaller sized res (non full screen) you get fine temps to do extended testing. HBM and VRM temps stay pretty cool.

Testing right now it will report artifacts for HBM over 1000 at stock volts (1100mv) for me in very little time but I got my core stock speed at a low 1000mv stable.
Edit: I now have both voltages at 1000mv and no artifacts.

I just think it's cool that you don't have to roast your GPU at 1080p+ full screen stress tests in order to find artifacts, you can successfully use a much lower window res and test will still find em!


----------



## TrixX

Quote:


> Originally Posted by *gupsterg*
> 
> @Nuke33
> 
> Thanks for looking at logs and commenting
> 
> 
> 
> 
> 
> 
> 
> , nice to read you share my viewpoint
> 
> 
> 
> 
> 
> 
> 
> . Thank you for your experience share, if and when you get scope data it would be great to read your experience with it
> 
> 
> 
> 
> 
> 
> 
> .
> 
> I think I got a dud for OC'ing. HBM is sweet IMO as 1100MHz is non issue, tested now for several days in various case tests. I can't seem to gain ~1640MHz as load clocks, stable with what I want as voltages
> 
> 
> 
> 
> 
> 
> 
> .
> 
> I took what I regard as my most stable profile:-
> 
> DPM6: 1557MHz 975mV
> DPM7: 1652MHz 1125mV
> HBM: 1100MHz 975mV
> PowerLimit: 50%
> 
> And changed to:-
> 
> DPM6: 1587MHz 1000mV
> DPM7: 1682MHz 1150mV
> HBM: 1100MHz 1000mV
> PowerLimit: 65%
> 
> I can gain pass of ~1hr in 3DM FS Demo, Valley conks out within few minutes
> 
> 
> 
> 
> 
> 
> 
> . I tried various tweaks to it (excluding adding more voltage) and unless I lower clocks it's no go
> 
> 
> 
> 
> 
> 
> 
> .
> 
> I'm gonna now test for a undervolt profile
> 
> 
> 
> 
> 
> 
> 
> .
> Not done undervolt profile yet.
> 
> At stock I ran a 3D load, I did SP 4K. I noted MAX VDDC as 1.087V so I used 1100mV as starting point for profiling.
> 
> The 1200mV shown in WattMan when "we" move to manual voltage, I believe is just pulled from voltage table in PowerPlay, but in no way resembles what actual voltage the GPU is using when being profiled by "processes". So testing as above is way forward to know where to start IMO.
> In OP there is text/pointers, look at text above spoiler *Vddc/Vddmem LookupTable* and within spoiler
> 
> 
> 
> 
> 
> 
> 
> .


Not at all Gupsterg









You are running the P7 state too low on clock frequency. Try setting P7 to 1752MHz and P6 to 1702MHz then run P7 1050mv and P6 1020mv as you are running 1000mv on HBM.

Increase P6 and P7 mv to see the MHz scaling using something like SuperPosition.

Obviously if it does crash with the higher clocks there maybe a different issue cropping up.

Another thing I would test is if it fails with the stock BIOS vs the LC BIOS. I noticed mine wasn't as stable with it's stock air BIOS initially vs the LC BIOS.


----------



## Aenra

Thank you once more Gupsterg, really appreciate the OP 

(you've helped me OC my 6900k, my R7, my TR4 and now this GPU too, lol..)

Although i'm certain the OP would have been modified, had things changed, allow me to ask? If only because hope dies last. Has any way been found for us to remove the VBIOS security feature on FE models?

I so so wanted to flash mine into a 64.. still can't believe they'd lock it ffs. Was/am so interested in seeing just how much better it would perform with twice the RAM yet same drivers.


----------



## gupsterg

@porschedrifter

Cheers will give it a whirl soon







. I usually don't use Furmark/Kombustor/OCCT on GPUs. Usually I found using the 3D loads I do and Compute loads has yielded me great profiles. For example my Fury X I had at 1145/545 for ~1yr+ using these methods. By this I do not criticise or detract value from your share







, I +rep as I or another may find your share helpful







.

@TrixX

Thanks for suggestion







. Tried the setup and resulted in SP 4K crashing straight after finishing startup logo/before rendering







.

I'm using factory increased PowerLimit VBIOS:-

Compile date: 07/30/17 20:03
Bios Version: 016.001.001.000.008737
Bios P/N: 113-D0501400-101


Spoiler: AtiFlash info on VBIOS



Gained using command atiflash -ai

Adapter 0 (BN=43, DN=00, FN=00, PCIID=00001002, SSID=00006B76)
Asic Family : Vega10
Flash Type : M25P20 (256 KB)
Product Name is : Vega10 A1 XT D05014 32Mx128 852e/945m 0.95V
Bios Config File: D0501400.101
Bios P/N is : 113-D0501400-101
Bios Version : 016.001.001.000.008737
Bios Date is : 07/30/17 20:03
Image 1 -- Offset 0x0
=======================
ROM header contents:
Signature 0xAA55
PCIR offset 0x02A4
PCI Data Structure
Signature PCIR
Vendor ID 0x1002
Device ID 0x687F
PCI Revision 0x00
Image size 0xEE00
Code revision 0x1001
Indicator 0x00 (Not last image)
Code type 0x00 (PCAT Image)
Legacy BIOS File Name D0501400.101
Legacy BIOS Part Number 113-D0501400-101
Legacy BIOS Build Number 392269
Legacy BIOS Change List 1440444
Binary BIOS_IDTF 0xCEAE9079
ByteCheckSum 0
Image 2 -- Offset 0xEE00
=======================
ROM header contents:
Signature 0xAA55
PCIR offset 0x001C
PCI Data Structure
Signature PCIR
Vendor ID 0x1002
Device ID 0x687F
PCI Revision 0x00
Image size 0xA600
Code revision 0x0000
Indicator 0x80 (last image)
Code type 0x03 (EFI Image)
EFI Signature 0x0EF1
Compression Type 0x0001 (compressed)
Machine type 0x8664 (X64)
Subsystem 0x000B (EFI boot service driver)
EFI image offset 0x0058 (abs: 0xEE58)
Uefi Ids from EFI_PCI_EXPANSION_ROM_HEADER:
UefiSourceRevision GOP AMD REV: x.x.x.x.x
UefiSourceChangeList xxxx
UefiBiosBuildNumber xxxx

Dump Gop Driver Info:
Machine type code X64
The GOP Driver appears to be Authenticode signed.
Size Of Gop Image 62368 (60 KB)
GOP Driver Name: AMD GOP X64 Release Driver Rev.2.0.0.0.0.Mar 29 2017.16:44:37
GOP AMD_Build 663
GOP AMD_CL 1392167
GOP BIOS_IDTF 0xDEADBEEF
GOP Driver does not carry tables!



Lowered PL is:-

Compile date: 07/30/17 20:05
Bios Version: 016.001.001.000.008738
Bios P/N: 113-D0501450-101

V64_AIR_LE.zip 271k .zip file


I tried the AIO VBIOS 016.001.001.000.008774 when initially installed card, I had issues. I didn't do any tweaks at the time, I will revisit it soon







.

@Aenra

NP







, as much as a resource of others, thread is valuable for me as well







, as members shares on their cards help us







.

Crossflashing works, with limitations, as highlighted in OP. Modified VBIOS is still no go







.

@Nuke33

I have not opted to use OverdriveNTool yet. So only use WattMan for setting up GPU. I too need 960mV for HBM for 1100MHz to apply.

Profile was:-

DPM6: 1537MHz 900mV
DPM7: 1632MHz 1100mV
HBM: 1100MHz (x)mV
PowerLimit: 0%

V64_UV_HBM_1100.zip 51k .zip file




I'm going to disable lower HBM DPM states with OverdriveNTool and see if then I don't get stuck at 500MHz/800MHz when go below 960mV.


----------



## porschedrifter

After spending my first two days with v56, I gotta say, the temps aren't too bad really. I wouldn't hesitate to get a custom air cooler for it when available and seriously am considering adding it to my water loop. I've never seen such a card willing to undervolt so well though, it's kind of funny and fun at the same time. That's being said, I'm still gaming at 1080p 60fps so, this card is plenty powerful at stock clocks. To really test while gaming I have to use virtual super resolution or turn up the internal render res. I guess it's time to get that 4k monitor lol.


----------



## porschedrifter

Quote:


> Originally Posted by *TrixX*
> 
> Not at all Gupsterg
> 
> 
> 
> 
> 
> 
> 
> 
> 
> You are running the P7 state too low on clock frequency. Try setting P7 to 1752MHz and P6 to 1702MHz then run P7 1050mv and P6 1020mv as you are running 1000mv on HBM.
> 
> Increase P6 and P7 mv to see the MHz scaling using something like SuperPosition.
> 
> Obviously if it does crash with the higher clocks there maybe a different issue cropping up.
> 
> Another thing I would test is if it fails with the stock BIOS vs the LC BIOS. I noticed mine wasn't as stable with it's stock air BIOS initially vs the LC BIOS.


Yeah I def can't do those clocks either. Insta-crash.


----------



## gupsterg

@porschedrifter

Cheers for info







.

Yeah I reckon stock is ample performance day to day. If you have FreeSync I also think targeting higher FPS really doesn't bring much to "game experience", if you get what I mean. TR was my 1st WC rig. Really am liking the experience. For me temps halved at same settings between VEGA ref air cooler vs WC at defaults.

I retried flash of RX VEGA 64 AIO VBIOS, I did driver uninstall, flash GPU, ran DDU and then driver install.

Fully stock XTX VBIOS, 3DM FS Demo bombed (again), this time though I grabbed HML files. Peaks of voltage were higher at times than my tweaked profile on factory VBIOS and clocks at times lower







, the 1800MHz peak was when I had crash (see very first HML).

XTX.zip 33k .zip file


Twice I tried VBIOS with clean install. When I set tweaked profile as on factory VBIOS but using XTX I am fine (DPM7 1652, etc, 1st try did bomb though). The higher clock tweak fails on XTX VBIOS as on XT, so I gain no stability.

So I have gone back to factory V64 VBIOS.

I then decided to modify TDC in PowerPlay as well as adding PL using slider.

TDC_.zip 36k .zip file


No difference on graphed power, etc. So I'm just sticking to PowerLimit slider mod in PP.


----------



## spyshagg

Quote:


> Originally Posted by *gupsterg*
> 
> @porschedrifter
> 
> Cheers will give it a whirl soon
> 
> 
> 
> 
> 
> 
> 
> . I usually don't use Furmark/Kombustor/OCCT on GPUs. Usually I found using the 3D loads I do and Compute loads has yielded me great profiles. For example my Fury X I had at 1145/545 for ~1yr+ using these methods. By this I do not criticise or detract value from your share
> 
> 
> 
> 
> 
> 
> 
> , I +rep as I or another may find your share helpful
> 
> 
> 
> 
> 
> 
> 
> .
> 
> @TrixX
> 
> Thanks for suggestion
> 
> 
> 
> 
> 
> 
> 
> . Tried the setup and resulted in SP 4K crashing straight after finishing startup logo/before rendering
> 
> 
> 
> 
> 
> 
> 
> .
> 
> I'm using factory increased PowerLimit VBIOS:-
> 
> Compile date: 07/30/17 20:03
> Bios Version: 016.001.001.000.008737
> Bios P/N: 113-D0501400-101
> 
> 
> Spoiler: AtiFlash info on VBIOS
> 
> 
> 
> Gained using command atiflash -ai
> 
> Adapter 0 (BN=43, DN=00, FN=00, PCIID=00001002, SSID=00006B76)
> Asic Family : Vega10
> Flash Type : M25P20 (256 KB)
> Product Name is : Vega10 A1 XT D05014 32Mx128 852e/945m 0.95V
> Bios Config File: D0501400.101
> Bios P/N is : 113-D0501400-101
> Bios Version : 016.001.001.000.008737
> Bios Date is : 07/30/17 20:03
> Image 1 -- Offset 0x0
> =======================
> ROM header contents:
> Signature 0xAA55
> PCIR offset 0x02A4
> PCI Data Structure
> Signature PCIR
> Vendor ID 0x1002
> Device ID 0x687F
> PCI Revision 0x00
> Image size 0xEE00
> Code revision 0x1001
> Indicator 0x00 (Not last image)
> Code type 0x00 (PCAT Image)
> Legacy BIOS File Name D0501400.101
> Legacy BIOS Part Number 113-D0501400-101
> Legacy BIOS Build Number 392269
> Legacy BIOS Change List 1440444
> Binary BIOS_IDTF 0xCEAE9079
> ByteCheckSum 0
> Image 2 -- Offset 0xEE00
> =======================
> ROM header contents:
> Signature 0xAA55
> PCIR offset 0x001C
> PCI Data Structure
> Signature PCIR
> Vendor ID 0x1002
> Device ID 0x687F
> PCI Revision 0x00
> Image size 0xA600
> Code revision 0x0000
> Indicator 0x80 (last image)
> Code type 0x03 (EFI Image)
> EFI Signature 0x0EF1
> Compression Type 0x0001 (compressed)
> Machine type 0x8664 (X64)
> Subsystem 0x000B (EFI boot service driver)
> EFI image offset 0x0058 (abs: 0xEE58)
> Uefi Ids from EFI_PCI_EXPANSION_ROM_HEADER:
> UefiSourceRevision GOP AMD REV: x.x.x.x.x
> UefiSourceChangeList xxxx
> UefiBiosBuildNumber xxxx
> 
> Dump Gop Driver Info:
> Machine type code X64
> The GOP Driver appears to be Authenticode signed.
> Size Of Gop Image 62368 (60 KB)
> GOP Driver Name: AMD GOP X64 Release Driver Rev.2.0.0.0.0.Mar 29 2017.16:44:37
> GOP AMD_Build 663
> GOP AMD_CL 1392167
> GOP BIOS_IDTF 0xDEADBEEF
> GOP Driver does not carry tables!
> 
> 
> 
> Lowered PL is:-
> 
> Compile date: 07/30/17 20:05
> Bios Version: 016.001.001.000.008738
> Bios P/N: 113-D0501450-101
> 
> V64_AIR_LE.zip 271k .zip file
> 
> 
> I tried the AIO VBIOS 016.001.001.000.008774 when initially installed card, I had issues. I didn't do any tweaks at the time, I will revisit it soon
> 
> 
> 
> 
> 
> 
> 
> .
> 
> @Aenra
> 
> NP
> 
> 
> 
> 
> 
> 
> 
> , as much as a resource of others, thread is valuable for me as well
> 
> 
> 
> 
> 
> 
> 
> , as members shares on their cards help us
> 
> 
> 
> 
> 
> 
> 
> .
> 
> Crossflashing works, with limitations, as highlighted in OP. Modified VBIOS is still no go
> 
> 
> 
> 
> 
> 
> 
> .
> 
> @Nuke33
> 
> I have not opted to use OverdriveNTool yet. So only use WattMan for setting up GPU. I too need 960mV for HBM for 1100MHz to apply.
> 
> Profile was:-
> 
> DPM6: 1537MHz 900mV
> DPM7: 1632MHz 1100mV
> HBM: 1100MHz (x)mV
> PowerLimit: 0%
> 
> V64_UV_HBM_1100.zip 51k .zip file
> 
> 
> 
> 
> I'm going to disable lower HBM DPM states with OverdriveNTool and see if then I don't get stuck at 500MHz/800MHz when go below 960mV.


overdriventool is virtually identical to wattman in functionality including the bugs!


----------



## gupsterg

Quote:


> Originally Posted by *spyshagg*
> 
> overdriventool is virtually identical to wattman in functionality including the bugs!


I would think so as it uses same "access" AFAIK.

I knocked out all HBM DPM states earlier today and kept highest, using that tool. This resulted in 1000mV flat to GPU even at idle clocks. I then enabled 2 HBM states (lowest/highest), again idle was high and I got stuck at 500MHz.

It also seems with that tool I can't change GPU/HBM lower state mV. I also tried knocking out GPU/HBM intermediate states and still had issues.

I also think I have found a case and point for slight excessive PowerLimit. For my current, most stable OC I have used PL: 65% for lengthy testing. I trimmed it to 50%, as even 40% gained me same clocks/performance and started stability testing in similar fashion as 65%. I had Valley bomb on me 2 twice, once to desktop, second time it didn't bomb to desktop, but driver reset as I had message on screen from monitor of resync.

Earlier in thread I posted I can use 1100mV/1112mV and 1125mV for DPM 7 and have very similar load voltage in monitoring. But the lower voltages have stability issues. So I formed an opinion that as stability improved GPU must be getting voltage at faster rate than what monitoring is capturing. Now I also believe PowerLimit at level which may not curb clocks/performance can be detrimental to stability. It must some what be needed to sustain peaks of voltage/power that monitoring is not capturing.

Valley_PL_testing.zip 113k .zip file


----------



## TrixX

Quote:


> Originally Posted by *gupsterg*
> 
> @TrixX
> 
> Thanks for suggestion
> 
> 
> 
> 
> 
> 
> 
> . Tried the setup and resulted in SP 4K crashing straight after finishing startup logo/before rendering
> 
> 
> 
> 
> 
> 
> 
> .
> 
> I'm using factory increased PowerLimit VBIOS:-
> 
> Compile date: 07/30/17 20:03
> Bios Version: 016.001.001.000.008737
> Bios P/N: 113-D0501400-101
> 
> 
> Spoiler: AtiFlash info on VBIOS
> 
> 
> 
> Gained using command atiflash -ai
> 
> Adapter 0 (BN=43, DN=00, FN=00, PCIID=00001002, SSID=00006B76)
> Asic Family : Vega10
> Flash Type : M25P20 (256 KB)
> Product Name is : Vega10 A1 XT D05014 32Mx128 852e/945m 0.95V
> Bios Config File: D0501400.101
> Bios P/N is : 113-D0501400-101
> Bios Version : 016.001.001.000.008737
> Bios Date is : 07/30/17 20:03
> Image 1 -- Offset 0x0
> =======================
> ROM header contents:
> Signature 0xAA55
> PCIR offset 0x02A4
> PCI Data Structure
> Signature PCIR
> Vendor ID 0x1002
> Device ID 0x687F
> PCI Revision 0x00
> Image size 0xEE00
> Code revision 0x1001
> Indicator 0x00 (Not last image)
> Code type 0x00 (PCAT Image)
> Legacy BIOS File Name D0501400.101
> Legacy BIOS Part Number 113-D0501400-101
> Legacy BIOS Build Number 392269
> Legacy BIOS Change List 1440444
> Binary BIOS_IDTF 0xCEAE9079
> ByteCheckSum 0
> Image 2 -- Offset 0xEE00
> =======================
> ROM header contents:
> Signature 0xAA55
> PCIR offset 0x001C
> PCI Data Structure
> Signature PCIR
> Vendor ID 0x1002
> Device ID 0x687F
> PCI Revision 0x00
> Image size 0xA600
> Code revision 0x0000
> Indicator 0x80 (last image)
> Code type 0x03 (EFI Image)
> EFI Signature 0x0EF1
> Compression Type 0x0001 (compressed)
> Machine type 0x8664 (X64)
> Subsystem 0x000B (EFI boot service driver)
> EFI image offset 0x0058 (abs: 0xEE58)
> Uefi Ids from EFI_PCI_EXPANSION_ROM_HEADER:
> UefiSourceRevision GOP AMD REV: x.x.x.x.x
> UefiSourceChangeList xxxx
> UefiBiosBuildNumber xxxx
> 
> Dump Gop Driver Info:
> Machine type code X64
> The GOP Driver appears to be Authenticode signed.
> Size Of Gop Image 62368 (60 KB)
> GOP Driver Name: AMD GOP X64 Release Driver Rev.2.0.0.0.0.Mar 29 2017.16:44:37
> GOP AMD_Build 663
> GOP AMD_CL 1392167
> GOP BIOS_IDTF 0xDEADBEEF
> GOP Driver does not carry tables!
> 
> 
> 
> Lowered PL is:-
> 
> Compile date: 07/30/17 20:05
> Bios Version: 016.001.001.000.008738
> Bios P/N: 113-D0501450-101
> 
> V64_AIR_LE.zip 271k .zip file
> 
> 
> I tried the AIO VBIOS 016.001.001.000.008774 when initially installed card, I had issues. I didn't do any tweaks at the time, I will revisit it soon


I've actually just run into an issue which I think was present prior to water cooling but hidden due to the noise of the blower fan. Under full load I get a buzz from the mosfet area of the GPU if my voltages are stock and even down to 1050mv, so I think there's actually an issue with my card. Will be sad because it's a great GPU but explains a few oddities I had when testing the card with the blower on it.

Recent game testing hasn't really improved things either as now getting random crashes out of PUBG but that could be game related. Need to do more testing in others to see what's going on.

As an aside, my friend bought a 64 at the same time as me yet his cannot set clocks above stock. The mere act of setting them higher causes it to crash the drivers in his case, so there's definitely some variety in quality...


----------



## gupsterg

@TrixX

The noise from mosfets is not coil whine? I have some mild coil whine on VEGA.

It is different from other past cards. For example when I exit Heaven/Valley where other cards were very audible momentarily, this is very mild. When I did some AIDA64 GPGPU benches (12 runs of differing settings), I experienced at times a squawk for a very very small moment. I believe it was the GPU VRM.

From 2015 I have owned 2x Tri-X 290, 1x Vapor-X 290X, 1x ASUS DCUII 290X, 1x Fury Tri-X, 2x Fury Nitro, 8x Fury X, 1x MSI GTX 1080 EK X and 1x RX VEGA 64. Every card in some form has exhibited coil whine. The only card which was the most quietest for this aspect was the ASUS DCUII, IIRC had concrete core chokes.

Yeah I believe you have a good sample







, it would be a real shame to RMA IMO. Any chance of a HML file of your GPU, running 3DM FS Demo looped, stock VBIOS/driver settings?

It would be great to compare with my card to get an idea how differing GPUs are for VDDC for like testing.


----------



## TrixX

Quote:


> Originally Posted by *gupsterg*
> 
> @TrixX
> 
> The noise from mosfets is not coil whine? I have some mild coil whine on VEGA.
> 
> It is different from other past cards. For example when I exit Heaven/Valley where other cards were very audible momentarily, this is very mild. When I did some AIDA64 GPGPU benches (12 runs of differing settings), I experienced at times a squawk for a very very small moment. I believe it was the GPU VRM.
> 
> From 2015 I have owned 2x Tri-X 290, 1x Vapor-X 290X, 1x ASUS DCUII 290X, 1x Fury Tri-X, 2x Fury Nitro, 8x Fury X, 1x MSI GTX 1080 EK X and 1x RX VEGA 64. Every card in some form has exhibited coil whine. The only card which was the most quietest for this aspect was the ASUS DCUII, IIRC had concrete core chokes.
> 
> Yeah I believe you have a good sample
> 
> 
> 
> 
> 
> 
> 
> , it would be a real shame to RMA IMO. Any chance of a HML file of your GPU, running 3DM FS Demo looped, stock VBIOS/driver settings?
> 
> It would be great to compare with my card to get an idea how differing GPUs are for VDDC for like testing.


Noise isn't coil whine (unless it's a type I've never experienced), it's a low pitch relatively low frequency buzz. I have only had coil whine when having excessive frame rates (such as 4000 in the pCARS 2 menu). Oddly having had an R9 290 OC, HD6950 and HD4890 I've not had any of them suffer with Coil Whine, with the exception of the above circumstance. If I can resurrect them I'll give them all a comparison test vs Vega










Will try to do so. I've been fiddling with settings all day and it was exhibiting this buzz under load every time. Started up the Radeon Settings application again this evening and it just insta crashed and reset all settings. However after re-enabling the Frame limit and the HBCC the card is acting like it was prior to this buzz issue under load.

Seems to be stable now for whatever reason and the settings are now taking properly so a few of my benchmarks prior to now maybe with inaccurately reported settings. Also need to work on my loop setup as the water is getting way too hot too fast, fans aren't ramping up when want etc...

Need to move things around in the loop but have to wait for some more bolts to arrive before I can.


----------



## gupsterg

@TrixX

I just ran Wolfenstein 2 (Beta branch).

i) Mein Leben! preset 1440P, 144Hz FreeSync active and 144FPS cap.

ii) GPU set to:-

DPM6: 1557MHz 975mV
DPM7: 1652MHz 1100mV
HBM: 1100MHz 975mV
PowerLimit: 65%

iii) Drivers v17.11.1, factory V64 LE VBIOS, only PP mod I use is to allow PL slider to go 100% if needed.

iv) Silent room.

I have low frequency buzz from GPU, I consider this normal, I believe it is the coils. I was at the section in game where I'm on top of the rocket train, I was seeing ~144FPS as I moved mouse around whilst keeping my ear centimeters away from side panel. If there was greater room ambient noise I would no way know that GPU had a buzz. If I sit in my normal seating position which is close to rig, again I had to listen carefully to know there was a buzz from GPU. I usually I game with headphones and again I would not know. I believe under Compute I have not heard any noticeable GPU buzz, I will check next time.

I would say my PC is quiet, all panels are on it. I modified the front of the Dark Base 900 to have full mesh and cut the insides of top panel where the mesh is. This improved airflow out of the mesh along top sides.





Loop is:-

EK XRES 140 REVO D5 PWM > EK VEGA > EK TR > MagiCool G2 Slim 360mm with 3x AC F12 PWM (Top rad exhaust) > MagiCool G2 Slim 360mm with 3x AC F12 PWM (Front rad intake).

I use EK ZMT 16/10 with Barrow fittings, distilled water with 20% mix of Mayhems XT-1 clear concentrate. On the cube at top rad inlet I have a temperature sensor and on front rad outlet also. This gets me warmed/cooled water temps. I use the warmed water temperature sensor to control fans/pumps via UEFI of ASUS ZE. The Silent Wings 3 140mm PWM is set 1000RPM all the time, to aid exhausting and TBH it is very silent at full speed.

Top/front rad fans powered by molex. Top fans take PWM from CHA_FAN1 on ZE, front rad fans take PWM from CHA_FAN2, D5 pump takes PWM from H_AMP and powered by molex. The Silent Wings is powered/takes PWM from CPU_FAN.

For me the ASUS Zenith Extreme has been perfect for control of fans/pump







.

I see ~10°C delta on warmed water temperature reading vs room ambient when gaming, when doing bionic on CPU/GPU I see ~13°C delta. This is CPU stock, but GPU as above. My room ambient temperature varies between 21°C to 25°C.

I hope you suss your issue with GPU and don't need to RMA, as it seems like a nice GPU sample to me.


----------



## chris89

So I guess still no BIOS modding available? has anyone actually tried to flash a modded BIOS with Checksum corrected?


----------



## SpecChum

@gupsterg I've noticed that at 85c hbm I lose 4fps on the hard reset menu.

The frequency stays at 1100mhz so it must drop timings at that temperature.


----------



## SpecChum

It's the hbm I'm struggling to keep cool actually, I can get the GPU to stay under 70c without too much hassle but the hbm always needs more fan lol

Oops, wrong thread.

Ah well, still somewhat relevant lol


----------



## gupsterg

Quote:


> Originally Posted by *SpecChum*
> 
> @gupsterg I've noticed that at 85c hbm I lose 4fps on the hard reset menu.
> 
> The frequency stays at 1100mhz so it must drop timings at that temperature.
> Quote:
> 
> 
> 
> Originally Posted by *SpecChum*
> 
> It's the hbm I'm struggling to keep cool actually, I can get the GPU to stay under 70c without too much hassle but the hbm always needs more fan lol
Click to expand...

I would guess so.

The HBM1 JEDEC PDF says this:-



Spoiler: Warning: Spoiler!



Quote:


> Temperature Compensated Refresh Reporting
> 
> The HBM DRAM provides temperature compensated refresh related information to the controller via an encoding on the TEMP[2:0] pins. The Gray-coded encoding defines the proper refresh rate expected by the DRAM to maintain data integrity. Absolute temperature values for each encoding are vendor specific and not defined in this specification. The encoding on the TEMP[2:0] pins is expected to reflect the required refresh rate for the hottest device in the stack and will be updated when the temperature exceeds the vendor specific trip-point levels appropriate for each refresh rate.


Quote:


> Catastrophic Temperature Sensor
> 
> The CATTRIP sensor logic detects if the junction temperature of any die in the HBM stack exceeds the catastrophic trip threshold value CATTEMP. CATTEMP value is programmed by the manufacturer to a value below the temperature point that permanent damage would occur to the HBM stack. If the junction temperature anywhere in the stack exceeds the CATTEMP of the device, the HBM stack will drive the
> external CATTRIP pin to "1". This indicates that catastrophic damage may occur unless power is reduced. The CATTRIP output is sticky in that to clear a CATTRIP, power-off of the device is required to return the CATTRIP output to "0". Sufficient time should be allowed for the device to cool after a CATTRIP event.
> 
> If CATTEMP is higher than maximum operating junction temperature, CATTRIP circuit will operate correctly regardless of whether the external or internal clocks have stopped. Functionality testing of CATTRIP can be verified by writing a "1" to MR7 OP[7] to force a CATTRIP and "0" to clear.
> 
> CATTRIP is a mandatory feature for the HBM device with 4 Gb/channel or higher for Legacy mode and 2 Gb/channel or higher for Pseudo channel mode operation.






When critical temp is reached HBM is 'cut out' so power down and up of card is needed.

Above is for HBM1, very very likely HBM2 has similar implementation.

Even on WC and low temperatures I lost performance in 3DM TS at HBM 1150MHz, all other tests showed repeatable gains. So I believe pushing HBM too far may create errors which don't show as artifacts but lose us performance in some test cases.


----------



## TrixX

Quote:


> Originally Posted by *gupsterg*
> 
> @TrixX
> 
> I just ran Wolfenstein 2 (Beta branch).
> 
> i) Mein Leben! preset 1440P, 144Hz.
> 
> ii) GPU set to:-
> 
> DPM6: 1557MHz 975mV
> DPM7: 1652MHz 1100mV
> HBM: 1100MHz 975mV
> PowerLimit: 65%
> 
> iii) Drivers v17.11.1, factory V64 LE VBIOS, only PP mod I use is to allow PL slider to go 100% if needed.
> 
> iv) Silent room.
> 
> I have low frequency buzz from GPU, I consider this normal, I believe it is the coils. I was at the section in game where I'm on top of the rocket train, I was seeing ~144FPS as I moved mouse around whilst keeping my ear centimeters away from side panel. If there was greater room ambient noise I would no way know that GPU had a buzz. If I sit in my normal seating position which is close to rig, again I had to listen carefully to know there was a buzz from GPU. I usually I game with headphones and again I would not know. I believe under Compute I have not heard any noticeable GPU buzz, I will check next time.
> 
> I would say my PC is quiet, all panels are on it. I modified the front of the Dark Base 900 to have full mesh and cut the insides of top panel where the mesh is. This improved airflow out of the mesh along top sides.
> 
> 
> Spoiler: Pics
> 
> 
> 
> 
> 
> 
> 
> 
> Loop is:-
> 
> EK XRES 140 REVO D5 PWM > EK VEGA > EK TR > MagiCool G2 Slim 360mm with 3x AC F12 PWM (Top rad exhaust) > MagiCool G2 Slim 360mm with 3x AC F12 PWM (Front rad intake).
> 
> I use EK ZMT 16/10 with Barrow fittings. On the cube at top rad inlet I have a temperature sensor and on front rad outlet also. This gets me warmed/cooled water temps. I use the warmed water temperature sensor to control fans/pumps via UEFI of ASUS ZE. The Silent Wings 3 140mm PWM is set 1000RPM all the time, to aid exhausting and TBH it is very silent at full speed.
> 
> Top/front rad fans powered by molex. Top fans take PWM from CHA_FAN1 on ZE, front rad fans take PWM from CHA_FAN2, D5 pump takes PWM from H_AMP and powered by molex. The Silent Wings is powered/takes PWM from CPU_FAN.
> 
> For me the ASUS Zenith Extreme has been perfect for control of fans/pumps
> 
> 
> 
> 
> 
> 
> 
> .
> 
> I see ~10°C delta on warmed water temperature reading vs room ambient when gaming, when doing bionic on CPU/GPU I see ~13°C delta. This is CPU stock, but GPU as above. My room ambient temperature varies between 21°C to 25°C.


Unfortunately I don't have Wolfenstein II at the moment.

Though I normally get a basic stability test done via Superposition to start with. Then move to a more difficult test for ultimate stability testing.

Current Settings:
DPM6: 1702Mhz @ 1120mv
DPM7: 1752Mhz @ 1150mv
HBM: 1080MHz @ 950mv
Power Limit: 50% (normally 100% though testing lower currently)

Drivers: 17.11.1 running 8774 LC BIOS with PP mod for allowing 200% and 511W.

In a Silent Room test under load in DPM 7 I get a low buzz which is audible through the side panel at 100% load. Dropping to DPM6 cuts the buzz instantly though which is something that's puzzling me. However with stock LC BIOS Settings I get the loudest version of the Buzz.

With the side panel off the buzz is clearly audible though and the first time I heard it was after applying the block, however with stock blower the noise would likely have been hidden behind the air noise.


Spoiler: Derpy Loop







As a comparison my Loop is:
EK XRES Revo D5 PWM > Swiftech CPU Block > EX PE240 (front Rad) 2x Noctua NF12 > Aquacomputer Vega Block > EX XS360 (rear exhaust Rad) 3x Noctua NF12

Mayhems Clear 16/10 Tubing with 16/10 Barrow Fittings. Temp Sensor on the XRES inlet port. Will be getting a second Temp sensor with the next buy of bits for the loop to get a hot cold comparison.

Will have to work out how to setup the fans to a different temp sensor. I have 4 fans running off the Swiftech fan extender which is PWM and plugged into CPU at the moment. May switch it around to being the CPU OPT and stick a real fan onto CPU and see if that allows the BIOS PWM settings I have to take effect.

Currently my temp delta's are all over the place until the longer 30mm bolts arrive so I can reposition my Res to be inside the case and the 360 Rad on the outside.


----------



## gupsterg

@TrixX

Doesn't seem derpy to me







. I updated my loop post on coolant used.

Loop order makes little difference AFAIK. Reikoji and I compared our loops, he had bigger rads than I. He was using rads between components like you are, I am not. We used same CPU load and settings at same room ambient. We were within a degree or so of each other. I have cheapest going fans and rads AFAIK, I just wanted to try them







.

CPU_FAN, CPU_OPT and W_PUMP+ will only use tCTL/tDIE for fan control. In HWINFO, under Asus ZE, what you see as CPU Sensor is Super IO chip reading tCTL/tDIE, it controls fans based on it's interpretation of CPU tCTL/tDIE. All other headers can use differing temperature source. I use T_Sensor1 and 2 headers. I think with WC it is best to work off water temp for fans/pump control.

Unfortunately I don't think I can help with buzz issue. What I am experiencing as buzz on my GPU I class as normal and low for the test cases I posted.


----------



## SpecChum

I get very mild coil whine at 100FPS+ but once the blower gets over 2000 or so RPM it's downed out anyway.

It's fairly high frequency sound tho, not a low buzz.


----------



## TrixX

My loop is derpy as the Res currently gets heated by the 360 Rad, but until I get the 30mm M3 Bolts I can't relocate the Rest to the interior and the Rad to the exterior


----------



## chris89

Quote:


> Originally Posted by *SpecChum*
> 
> I get very mild coil whine at 100FPS+ but once the blower gets over 2000 or so RPM it's downed out anyway.
> 
> It's fairly high frequency sound tho, not a low buzz.


Were talking like 0.25 of a millimeter? probably less.. you said when CORE is 70C, HBM is 85C? Thats 21.42% hotter... can be something like 0.010mm which is what Panasonic offers with it's PGS 2,000 watts per meter kelvin thermal conductive material... needs to be precisely measured

Even the 1,000 watts per meter kelvin stuff should work 0.070mm should be sufficient

Measure the gap difference between the core & the hbm.. might need a thin sheet of panasonic PGS .. it's 2,000 watts per meter kelvin thermal conductive...

Digikey.com

*https://www.digikey.com/products/en/fans-thermal-management/thermal-pads-sheets/218?FV=fffc000a%2Ca94001d%2Ca94001f%2Ca940032%2Ca940036%2Ca940037%2Ca940038%2Cffe000da&mnonly=0&ColumnSort=1000011&page=1&stock=1&pbfree=0&rohs=0&cad=0&datasheet=0&nstock=0&photo=0&nonrohs=0&newproducts=0&quantity=&ptm=0&fid=0&pageSize=25*


----------



## SpecChum

Quote:


> Originally Posted by *chris89*
> 
> Measure the gap difference between the core & the hbm.. might need a thin sheet of panasonic PGS .. it's 2,000 watts per meter kelvin thermal conductive...
> 
> Digikey.com
> 
> *https://www.digikey.com/products/en/fans-thermal-management/thermal-pads-sheets/218?FV=fffc000a%2Ca94001d%2Ca94001f%2Ca940032%2Ca940036%2Ca940037%2Ca940038%2Cffe000da&mnonly=0&ColumnSort=1000011&page=1&stock=1&pbfree=0&rohs=0&cad=0&datasheet=0&nstock=0&photo=0&nonrohs=0&newproducts=0&quantity=&ptm=0&fid=0&pageSize=25*


lol, what?


----------



## gupsterg

Quote:


> Originally Posted by *SpecChum*
> 
> I get very mild coil whine at 100FPS+ but once the blower gets over 2000 or so RPM it's downed out anyway.
> 
> It's fairly high frequency sound tho, not a low buzz.


Mod to 



 and you won't know







.


----------



## SpecChum

Quote:


> Originally Posted by *gupsterg*
> 
> Mod to
> 
> 
> 
> and you won't know
> 
> 
> 
> 
> 
> 
> 
> .


Haha, watched that yesterday.

Epic.


----------



## chris89

Quote:


> Originally Posted by *SpecChum*
> 
> lol, what?


The HBM sits lower on some GPUs which causes it to run hotter than the core... would need a repaste, but check from an angle if they are both precisely the same height...

https://hardforum.com/threads/vega-64-gpu-vs-hbm-temperatures.1944764/

Check to make sure the Core & HBM contact & DISPERSE the PASTE ... you wanna see the edges of the Squares, yet Copper in the center... showing ideal contact.


----------



## ducegt

I got a 64 LC yesterday and this is the first GPU I've had in 16 years that makes the buzzing sound. Also its the first time my PC is rather quiet at idle with 140mms around 1k rpm so there's that...

Only had few hours with it, but
D6 1562 1050
D7 1602 1050
HBM 1000 1000 floor and 0PL
Scores same as stock balanced mode and temps are lower. Hotspot down about 15c from mid 80s to 60s. I'm shooting for SP 1080p ext 4800 and TS ext 3600 which was out of box balanced scores. 1080p 144hz freesync for now but plans to get a big 4k TV when HDMI 2.1 rolls out.


----------



## TrixX

Quote:


> Originally Posted by *ducegt*
> 
> I got a 64 LC yesterday and this is the first GPU I've had in 16 years that makes the buzzing sound. Also its the first time my PC is rather quiet at idle with 140mms around 1k rpm so there's that...
> 
> Only had few hours with it, but
> D6 1562 1050
> D7 1602 1050
> HBM 1000 1000 floor and 0PL
> Scores same as stock balanced mode and temps are lower. Hotspot down about 15c from mid 80s to 60s. I'm shooting for SP 4800 and TS 3600 which was out of box balanced scores. 1080p 144hz freesync for now but plans to get a big 4k TV when HDMI 2.1 rolls out.


Well more testing and more fan speeds have been done. With high air flow I'm no longer getting the buzzing. Specifically looking for it too, so I'm thinking there's a component, or set of components that dislike zero air flow situations like with a WB alone. Gonna look into this more, though with my fans running at 2000rpm (yes it's a bit loud with 8 of them) there was no buzzing. If I lowered that to 1500RPM it would be much more palatable and likely have barely any impact on the temps.


----------



## Razkin

Quote:


> Originally Posted by *TrixX*
> 
> I've actually just run into an issue which I think was present prior to water cooling but hidden due to the noise of the blower fan. Under full load I get a buzz from the mosfet area of the GPU if my voltages are stock and even down to 1050mv, so I think there's actually an issue with my card. Will be sad because it's a great GPU but explains a few oddities I had when testing the card with the blower on it.
> 
> Recent game testing hasn't really improved things either as now getting random crashes out of PUBG but that could be game related. Need to do more testing in others to see what's going on.
> 
> As an aside, my friend bought a 64 at the same time as me yet his cannot set clocks above stock. The mere act of setting them higher causes it to crash the drivers in his case, so there's definitely some variety in quality...


I noticed the same thing after fitting my waterblock. The buzz is less, or even completly gone the moment I overclock the HBM to it's max @1120MHz.


----------



## TrixX

Quote:


> Originally Posted by *Razkin*
> 
> I noticed the same thing after fitting my waterblock. The buzz is less, or even completly gone the moment I overclock the HBM to it's max @1120MHz.


Well my low buzz disappeared with a bit of air flow over the card, so thinking that it could be the two chokes near the power connectors. Not sure if they are linked to the main power supply to the card or whether they were to do with the fan. Oddly both mine had slight rust on them which was more than a little concerning...


----------



## gupsterg

Yeah mine had a rusty look as well. I cleaned them as much as I could, rest of the chokes around GPU were "normal".
Quote:


> Originally Posted by *SpecChum*
> 
> Haha, watched that yesterday.
> 
> Epic.










, I need the wig, got no hair left man!







.


----------



## Nemesis.ie

Quote:


> Originally Posted by *ducegt*
> 
> I got a 64 LC yesterday and this is the first GPU I've had in 16 years that makes the buzzing sound.


Have a close listen to the fan on the radiator, I have a buzzing type noise on my factory AIO too, but it is coming from the fan, not the card.

I don't believe this is normal/right (especially as fans are relatively cheap, so on this class of board they should be using a good one).

Maybe others can chime in. I am trying to get the card replaced as it also has a dead GPUtach LED.


----------



## ducegt

Quote:


> Originally Posted by *Nemesis.ie*
> 
> Have a close listen to the fan on the radiator, I have a buzzing type noise on my factory AIO too, but it is coming from the fan, not the card.
> 
> I don't believe this is normal/right (especially as fans are relatively cheap, so on this class of board they should be using a good one).
> 
> Maybe others can chime in. I am trying to get the card replaced as it also has a dead GPUtach LED.


You know, I suspected that as well. At low rpm the sound from the fan just didnt seem consistent. I would think the broken Tach would qualify you for a RMA. My corsair AIO came with some bad fans and with 2 RMAs they just shipped me new ones at no cost. Worst case I guess I can swap the fan myself, but I'll try requesting one from PowerColor if I can verify its the fan. Its my understanding they are high quality fans and I'd imagine the factory worker testing hundreds of fans a day has a hard time noticing minor flaws if they even test them at all.


----------



## porschedrifter

Guys, just wanted to say ROG FurMark artifact scan indeed picks up artifacts when my memory not stable, you could use it to figure out your stability.
I've settled on HBM 1000 @ 970v
Quote:


> Originally Posted by *chris89*
> 
> The HBM sits lower on some GPUs which causes it to run hotter than the core... would need a repaste, but check from an angle if they are both precisely the same height...
> 
> https://hardforum.com/threads/vega-64-gpu-vs-hbm-temperatures.1944764/
> 
> Check to make sure the Core & HBM contact & DISPERSE the PASTE ... you wanna see the edges of the Squares, yet Copper in the center... showing ideal contact.


Great info man! I was considering repasting my chip, but is the HBM and Core supposed to have roughly the same temps? If so mine def needs to be.
My temps under stress are as follows:
Core clock *1632* HBM Clock *1000*
Core: *75c*
HBM: *83c*
HotSpt: *90c*

At idle they are all the same temp.

So Core and HBM are 8c in difference.


----------



## Razkin

HBM temp is higher, for me with custom LC there can be a difference of about 15 degrees C. 45 for GPU and 60 for HBM.


----------



## gupsterg

@porschedrifter

I have molded die.



Ref cooler.



Water cooled.



Both tests no mods, factory VBIOS, driver defaults. Room ambient was similar for each test as check the min water temps of loop.

I see bigger differences on core vs hotspot vs HBM depending on how GPU is loaded compared with my above posted test info.


----------



## porschedrifter

Quote:


> Originally Posted by *gupsterg*
> 
> @porschedrifter
> 
> I have molded die.
> 
> Both tests no mods, factory VBIOS, driver defaults. Room ambient was similar for each test as check the min water temps of loop.
> 
> I see bigger differences on core vs hotspot vs HBM depending on how GPU is loaded compared with my above posted test info.


Curious as to what I have, not going to know unless I crack it open. Or is there another way to tell?
I have samsung HBM2's


----------



## gupsterg

Unless you take off cooler you'll have no idea. I started another thread where people can share data on what they got, if there are more responses I will add to OP a link. I have seen some "nudes" of same AIB ref card as I have, on differing forums, it is pot luck what you get on PCB.

All VEGA are Samsung HBM2 IC so far. I did post in owners thread how to check VBIOS, I must add to OP here.


----------



## chris89

It's insane how much faster the AMD VEGA is than the 390X.

I honestly would say though the 96 ROP GTX 980 Ti is the best choice at the moment. Can't beat 96 ROP, am I right?

4096x2160 on 390X



4096x2160 on 390X all low


----------



## Razkin

I have only been able once to get an 1760MHz core reported superposition run. The reported core voltage is 1.18125V and a power draw in the 500 en 550W region.
Most of the time however the card simply crashes as soon as 1.1825 core voltage is displayed in HWInfo64 and usually my powerdraw for the whole system is capped at 500~510W.

Using the power play tables I upped the power limit to 150%, 400 current limit, power draw limit set to 300W and set the core voltage to 1300mV.
I'm not limited by temperature as the card has an Ek block and during bench runs I usually see 40 core, 50 HBM, 56 Hotspot.
Are there other things I can change to get more voltage on the core?


----------



## gupsterg

I don't believe there is. If we switched off ACG/AVFS perhaps it would. You will see in DPM 5/6/7 there is a 1 and when changed to 0 could possibly do this. *This is untested, I have no idea if it will apply or work as intended.*


----------



## Razkin

I am a bit hesitant to further play(on my main system atleast) with the power play tables, it has happened more than once that Windows 10 breaks and I needed to modify the Windows10 register within Windows 7. The card/driver also doesn't like it when you for instance completely change the DPM states 1 -> 7.


----------



## bahamutzero

Quick question - is there a downside to using Vega 64 .008737 BIOS on Vega 56 instead of .008706 (both rated at 220W)?


----------



## gupsterg

@Razkin

I do agree chances are high the PP mod may not apply, we do seem limited in what we can do. On saying that IMO good results are still doable with what we can.

These are the V64 HWBot rankings, link. If I take current no 2 ranking result and compare with a run of mine it's not much difference for GT Score/GT1/GT2. Comparing my run against no 1 ranking again is not much gains if we were thinking on a basis of daily gaming experience.

@bahamutzero

I recently used V64 Liquid VBIOS on V64 Air but with waterblock. Post 715 has HML log, in it you note at stock settings of V64 Liquid I had a peak of ~1800MHz and ~1.231V. To me that is excessive voltage.

I would think as monitoring captured ~1.231V GPU had probably in reality somewhere around ~1.25V. My card did crash in the 3DM demo run on stock setup V64 Liquid VBIOS, so it was only momentary, even though still didn't like it being zapped. I have noted in Heaven a profile can reset, when this reset occurs I could have same occurrence.

If I had a V56, I would monitor what happens when same occurs before deciding to use VBIOS 24/7. I do believe though as V64 Air has lower clocks, chances are the voltage would not reach the levels I saw on V64 Liquid.


----------



## Razkin

@gupsterg

Yes,decent results are certainly possible. I think I have made a decent Superposition 1080p extreme run. http://hwbot.org/submission/3698158_razkin_unigine_superposition___1080p_xtreme_radeon_rx_vega_64_5309_points

I don't actually know how I was able to run at that core speed. I seem to be stuck now @1730MHz and ~5200 scoring. All this tweaking is just for fun, I am not much of a gamer anymore currently playing Bioshock(2009) it is not as if I need more GPU power.


----------



## chris89

Quote:


> Originally Posted by *Razkin*
> 
> @gupsterg
> 
> Yes,decent results are certainly possible. I think I have made a decent Superposition 1080p extreme run. http://hwbot.org/submission/3698158_razkin_unigine_superposition___1080p_xtreme_radeon_rx_vega_64_5309_points
> 
> I don't actually know how I was able to run at that core speed. I seem to be stuck now @1730MHz and ~5200 scoring. All this tweaking is just for fun, I am not much of a gamer anymore currently playing Bioshock(2009) it is not as if I need more GPU power.


@gupsterg

Yeah thats not bad though since Polaris can't do 1,500mhz hardly lower than 1.25v, so VEGA is quite efficient with voltage to clock.

If thats correct, I think it could do 2Ghz on 1.35V, which is doable...

Just need to mod the BIOS. I am excited to expect 2Ghz from VEGA some day.

What does your HWINFO look like on water? Hows the Hotspot/ HBM/ Core Temps?

Btw which GPU(s) used the Async offset HBM height?


----------



## Razkin

During a multiple hour Unigine Heaven run close to max clocks my temps were around 44 core, 52 HBM and 60 Hotspot. This with one 360x60 radiator and very basic casefans running pretty slow and quiet. I can easily get the temps down some if I wanted to.


----------



## geriatricpollywog

Quote:


> Originally Posted by *gupsterg*
> 
> @Razkin
> 
> I do agree chances are high the PP mod may not apply, we do seem limited in what we can do. On saying that IMO good results are still doable with what we can.
> 
> These are the V64 HWBot rankings, link. If I take current no 2 ranking result and compare with a run of mine it's not much difference for GT Score/GT1/GT2. Comparing my run against no 1 ranking again is not much gains if we were thinking on a basis of daily gaming experience.
> 
> @bahamutzero
> 
> I recently used V64 Liquid VBIOS on V64 Air but with waterblock. Post 715 has HML log, in it you note at stock settings of V64 Liquid I had a peak of ~1800MHz and ~1.231V. To me that is excessive voltage.
> 
> I would think as monitoring captured ~1.231V GPU had probably in reality somewhere around ~1.25V. My card did crash in the 3DM demo run on stock setup V64 Liquid VBIOS, so it was only momentary, even though still didn't like it being zapped. I have noted in Heaven a profile can reset, when this reset occurs I could have same occurrence.
> 
> If I had a V56, I would monitor what happens when same occurs before deciding to use VBIOS 24/7. I do believe though as V64 Air has lower clocks, chances are the voltage would not reach the levels I saw on V64 Liquid.


A lot of those scores are helped by the CPU. I am 6th overall, but probably 3rd or 4th in graphics score.


----------



## chris89

I noticed something remarkable with 4K 390x testing.

I clocked the core to 750MHZ, which only needed 0.981v 981 millivolts at 4096x2160 on Prey.

The FPS at *1172Mhz* using *300 watts*, is *only 29 fps*. At *750MHZ*, it's 20 fps, with an unusual as ever *100,000,000 memory errors*, where as at *1000Mhz+, no errors*.

Interesting how insanely efficient it is at *750MHZ*, fan in *INAUDIBLE* and only hit 60C core.

So it's interesting at a CLOCK of *56.22% higher frequency, only yields 45% worse FPS... So that's saying something.*

Though *POWER* wise from *300* watts down to *89* watts is a remarkable *337% LESS POWER! 337%! YES 337% less power for 45% worse FPS.*


----------



## porschedrifter

Has anyone found a later AIR bios than v8730? When testing I noticed that the LC bios has the latest version available, 8774.
One thing I noticed about the LC bios version is that the max RPM of the fan is lower than the air bios, so I'm not going to use that with an air cooled model.

https://www.techpowerup.com/vgabios/?architecture=AMD&manufacturer=&model=RX+Vega+64&interface=&memType=&memSize=&since=


----------



## bahamutzero

You have to select "unverified downloads" from the "gpu brand" drop down menu in order access newer versions (Vega bios is encrypted anyway so it couldn't have been modified I think).
However I'd advise against using the latest V64 .008769 bios on Vega 56 because the clocks behave erratically regardless of voltage and PL. I have yet to check out .008737


----------



## gupsterg

@porschedrifter

What came on my Gigabyte RX VEGA 64 Limited Edition is a newer version, similar compile data but seems like older VBIOS PN. I posted both switch VBIOS in post 712.

I have flashed:-

Compile date: 2017-08-11 00:33:00
Bios Version: 016.001.001.000.008769
Bios P/N: 113-D0500100-104

Today, so far seems as same as stock VBIOS for stability of my tweaked OC profile. The 104 HML is this new VBIOS.

104.zip 36k .zip file


The PowerPlay of this VBIOS differs from other one, so I believe PP reg mod would also need to reflect these changes.



ulGoldenRevision differs, top of powerplay. Then another unknown section differs, lower down.

Revised PP reg to use with this VBIOS.

RX_VEGA_64_Soft_PP_104.zip 1k .zip file


----------



## Reikoji

Quote:


> Originally Posted by *porschedrifter*
> 
> Has anyone found a later AIR bios than v8730? When testing I noticed that the LC bios has the latest version available, 8774.
> One thing I noticed about the LC bios version is that the max RPM of the fan is lower than the air bios, so I'm not going to use that with an air cooled model.
> 
> https://www.techpowerup.com/vgabios/?architecture=AMD&manufacturer=&model=RX+Vega+64&interface=&memType=&memSize=&since=


 SapphireLimitedAir8737.zip 135k .zip file


Just bought this card, but Gup's is probably newer.


----------



## gupsterg

@Reikoji

Nope identical my online buddy







.



Mine is early card from production data, if you do remove cooler add info here, cheers







.

Both are card's VBIOS are on TPU already, Giga V64 LE, Sap V64 LE.

@porschedrifter

On VBIOS:-

Bios Version: 016.001.001.000.008769
Bios P/N: 113-D0500100-104

I have a preliminary pass in another stability test which was an issue before. I am currently testing another application. Then I will "repeat & rinse" to know for sure.

I flashed GPU, uninstalled driver, did DDU, added 104 PP mod with PL 100% control and putting it through it's paces







.


----------



## porschedrifter

Quote:


> Originally Posted by *gupsterg*
> 
> @porschedrifter
> 
> What came on my Gigabyte RX VEGA 64 Limited Edition is a newer version, similar compile data but seems like older VBIOS PN. I posted both switch VBIOS in post 712.
> 
> I have flashed:-
> 
> Compile date: 2017-08-11 00:33:00
> Bios Version: 016.001.001.000.008769
> Bios P/N: 113-D0500100-104
> 
> Today, so far seems as same as stock VBIOS for stability of my tweaked OC profile. The 104 HML is this new VBIOS.
> 
> 104.zip 36k .zip file
> 
> 
> The PowerPlay of this VBIOS differs from other one, so I believe PP reg mod would also need to reflect these changes.
> 
> 
> 
> ulGoldenRevision differs, top of powerplay. Then another unknown section differs, lower down.
> 
> Revised PP reg to use with this VBIOS.
> 
> RX_VEGA_64_Soft_PP_104.zip 1k .zip file


Ok cool, there's an 8770 up there now , which I'm using 016.001.001.000.008770
build date: 2017-08-11 00:35:00


----------



## gupsterg

Quote:


> Originally Posted by *porschedrifter*
> 
> Ok cool, there's an 8770 up there now , which I'm using 016.001.001.000.008770
> build date: 2017-08-11 00:35:00


That is not any newer.

You'll see in post 712 my factory ROM is like this:-

Increased PowerLimit VBIOS:-

Compile date: 07/30/17 20:03
Bios Version: 016.001.001.000.008737
Bios P/N: 113-D0501400-101

Lowered PL is:-

Compile date: 07/30/17 20:05
Bios Version: 016.001.001.000.008738
Bios P/N: 113-D0501450-101

*SO* for VBIOS P/N: 113-D0500100-104, version: 016.001.001.000.008769 is increased PL and 016.001.001.000.008770 is lowered PL.


----------



## bahamutzero

So, what's the verdict, which Vega64 VBIOS is best suited for Vega56: 8706, 8737 or the latest 8769?


----------



## ducegt

Quote:


> Originally Posted by *TrixX*
> 
> Well my low buzz disappeared with a bit of air flow over the card.


I added some over mine as well.

Quote:


> Originally Posted by *Nemesis.ie*
> 
> Have a close listen to the fan on the radiator, I have a buzzing type noise on my factory AIO too, but it is coming from the fan, not the card.


The sound I wasn't hearing wasn't much, but it was there. So I took a close look after removing the fan and found a string of presumably female hair. It came ot without much resistance so perhaps there is still some that's wrapped around and beyond my reach. It's almost nothing at this point, but it's still there. Maybe another day I'll disconnect the fan temporarily and see if it's coil whine.


----------



## porschedrifter

Wait so now I'm lost, 8770 with the latest build date isn't the latest bios? So what technically is the latest v64 bios out there?


----------



## TrixX

Quote:


> Originally Posted by *porschedrifter*
> 
> Wait so now I'm lost, 8770 with the latest build date isn't the latest bios? So what technically is the latest v64 bios out there?


Depends on the card type. 8774 is from the release AIO's for instance whereas 8730 was from the second wave of Air Cooled V64's. 8737 seems to be the latest BIOS from the Air Cooled 64's. Not sure on the 8769 as that seems to be a regression on the AIO, but not sure.

May have to download a few and go through them with a bit of comprehensive testing.


----------



## Nemesis.ie

Quote:


> Originally Posted by *ducegt*
> 
> . So I took a close look after removing the fan and found a string of presumably female hair. It came ot without much resistance so perhaps there is still some that's wrapped around and beyond my reach. It's almost nothing at this point, but it's still there. Maybe another day I'll disconnect the fan temporarily and see if it's coil whine.


I'm sure hair wrapped around inside the motor hub would not do good things.









If you just hold the fan hub carefully to stop the fan (so as not to hit your fingers with the blades) with the machine at idle you can easily check what noise is from the fan and what is from elsewhere.

Listening straight-on to the radiator the noise from mine is obvious and stops instantly when the fan stops.


----------



## gupsterg

Quote:


> Originally Posted by *porschedrifter*
> 
> Wait so now I'm lost, 8770 with the latest build date isn't the latest bios? So what technically is the latest v64 bios out there?


Please view this carefully.



Compile date is same between each.
Bios P/N version is same between each and higher version than other V64 VBIOS out there (last digit).

Bios version differs, *why?*

To differentiate between higher default PowerLimit (ie Performance bios) and lower default PowerLimit (ie Power Save bios). This is also the same case with my factory VBIOS, as posted and linked before.

HTH


----------



## porschedrifter

Quote:


> Originally Posted by *gupsterg*
> 
> Please view this carefully.
> 
> 
> 
> Compile date is same between each.
> Bios P/N version is same between each and higher version than other V64 VBIOS out there (last digit).
> 
> Bios version differs, *why?*
> 
> To differentiate between higher default PowerLimit (ie Performance bios) and lower default PowerLimit (ie Power Save bios). This is also the same case with my factory VBIOS, as posted and linked before.
> 
> HTH


Ahhhhhhh ok! So that's how you can differentiate between the powersave and a full power bios? That was actually my next question lol.

I realized after reading the 8770 details on the site it said was the powersave bios.


----------



## chris89

I'm looking at the 1080 Ti and they cool those rectangular VRM, unlike VEGA, and no one AMD guy has thought about cooling those VRM, they are like they are running cool, yet the VEGA is getting smoked by the 1080 & 1080 Ti..


----------



## SavantStrike

Quote:


> Originally Posted by *gupsterg*
> 
> @Razkin
> 
> I do agree chances are high the PP mod may not apply, we do seem limited in what we can do. On saying that IMO good results are still doable with what we can.
> 
> These are the V64 HWBot rankings, link. If I take current no 2 ranking result and compare with a run of mine it's not much difference for GT Score/GT1/GT2. Comparing my run against no 1 ranking again is not much gains if we were thinking on a basis of daily gaming experience.
> 
> @bahamutzero
> 
> I recently used V64 Liquid VBIOS on V64 Air but with waterblock. Post 715 has HML log, in it you note at stock settings of V64 Liquid I had a peak of ~1800MHz and ~1.231V. To me that is excessive voltage.
> 
> I would think as monitoring captured ~1.231V GPU had probably in reality somewhere around ~1.25V. My card did crash in the 3DM demo run on stock setup V64 Liquid VBIOS, so it was only momentary, even though still didn't like it being zapped. I have noted in Heaven a profile can reset, when this reset occurs I could have same occurrence.
> 
> If I had a V56, I would monitor what happens when same occurs before deciding to use VBIOS 24/7. I do believe though as V64 Air has lower clocks, chances are the voltage would not reach the levels I saw on V64 Liquid.


I'm interested in repeating your results, although I really hope my Vega 64 doesn't do what yours did and try to clock at 1800 boost with no coaxing.

It almost sounds like a Vega 64 liquid that gets put under a full cover block might boost itself into unstable clock territory.


----------



## Razkin

When my Vega 64 air on water(LC bios, P7 1772MHz) crashes, I also see ~1807MHz in monitoring logs. The funny thing is when it wasn't on water, running the stock LC bios/stock settings would crash the card also with the same ~1807 MHz.


----------



## geriatricpollywog

Quote:


> Originally Posted by *chris89*
> 
> I'm looking at the 1080 Ti and they cool those rectangular VRM, unlike VEGA, and no one AMD guy has thought about cooling those VRM, they are like they are running cool, yet the VEGA is getting smoked by the 1080 & 1080 Ti..


I wouldn't say it's getting smoked by the 1080. On HWBot, my Vega 64 has a higher Firestrike graphics score than every liquid cooled GTX 1080, minus one that uses a chiller.


----------



## gupsterg

@porschedrifter

NP







, sweet







.

@SavantStrike

This destabilisation due to ACG/AVFS/PowerTune can happen even on V64 AIR VBIOS, but not as high clocks/voltage (so far).

I owned a MSI GTX 1080 EK X prior to VEGA. This boosted to ~1975MHz "out of the box" , it had increased power limit in factory bios plus lower temps as on water; so nVidia Boost 3.0 took advantage nicely. So my aim was to gain approx similar performance out of VEGA. Targeting DPM6: 1557MHz, DPM7: 1652MHz and 1100MHz, made my RX VEGA 64 match/compare well with the GTX 1080 in SP 4K and 3DM.



3DM compare link.

Now the issue I have been facing with these clocks, in 2 3D loads, I finally cracked today







. I had to lower DPM 7 by 10MHz, I tried lot's of variation prior to this.

The original profile:-

DPM6: 1557MHz 975mV
DPM7: 1652MHz 1125mV
HBM: 1100MHz 975mV
PowerLimit: 65% (This PL is excessive for clocks, lowering it did not reduce clocks)

The final profile:-

DPM6: 1557MHz 975mV
DPM7: 1642MHz 1125mV
HBM: 1100MHz 975mV
PowerLimit: 38%

View a point at time 09:52:42 in this HML of Heaven.

Heaven_1652.zip 37k .zip file


The GPU went to 1642MHz with 1112mV, as you can see in the file name of that HML I was using PL 40%. Even that did not stop the destabilising boost by ACG/AVFS/PowerTune.

Why I'm adding PowerTune to list is due to these two 3D loads really show PowerTune at work well. Every time a scene changes PT takes a chance to lower clocks, etc. When this PT event occurs, I believe ACG/AVFS miscalculated what it could do as MHz. It overboosts and due to the constraint of DPM 7 mV (I have made) it crashes with clock ACG/AVFS targeted.

This issue does not happen in say ~1hr run for 3DM FS Demo loop, as the GPU never seems to use PT in same way as Heaven/Valley. I have also played Wolfenstein 2 @ 1440P Mein Leben! preset, for ~8hrs without encountering a crash, etc. I have done plenty of hours of [email protected]/Bionic with zero issues and Compute is higher clocks on this profile due to ACG/AVFS.

Here is HML/links for:-

i) Heaven 42min PASS, Valley 50min PASS, re-run 1hr each again.
ii) 3DM Demo loop ~1hr PASS, then did 3DM stress test FS/FSE.

104_Final_PASS.zip 522k .zip file


VEGA coupled with ACG/AVFS is a tweakers paradise even if we don't have bios mod







.

For example if I lowered DPM 7 to 1100mV I actually saw higher clocks even when I'd deducted 10MHz off DPM 7. I believe the lower mV within the constraint of PL allowed it to scale better, this was repeatedly seen. 3DM did not gain anything with lower mV, but Heaven and Valley overshot again and bombed.

So with a balance of MHz/mV/PL the profile has become tight and stable for several situations with lengthy testing







. I lost very little performance comparing original and final, but stability has been improved vastly IMO.


----------



## TrixX

Try repeating the tests with the driver locking to P7 (right click on the P7 bar at the top and say min/max in Wattman or just click on the P6 through to P0 numbers on the left of the MHz box in OverdriveNTool). The instability is caused between going from a P5-P7 clock down to a non-ACG clock in P0-P4, then trying to cross back it causes stutter and frame drops as well as crashes in Heaven/Valley scenarios.

I'd also lock HBM to P3 as P0-P2 also suffer the same issues, prevents the 800MHz drop too when voltage is "too low".


----------



## gupsterg

Tried "locking" P7 via right click in WattMan.

As said before I tried many variations.


----------



## TrixX

Quote:


> Originally Posted by *gupsterg*
> 
> Tried "locking" P7 via right click in WattMan.
> 
> As said before I tried many variations.


My bad didn't see that.


----------



## gupsterg

No problem







, I always appreciate another's eye on things, so thank you for looking and commenting







. I also have been reading your posts prior to having VEGA as they have had decent experience shares







.


----------



## TrixX

Quote:


> Originally Posted by *gupsterg*
> 
> No problem
> 
> 
> 
> 
> 
> 
> 
> , I always appreciate another's eye on things, so thank you for looking and commenting
> 
> 
> 
> 
> 
> 
> 
> . I also have been reading your posts prior to having VEGA as they have had decent experience shares
> 
> 
> 
> 
> 
> 
> 
> .


Much appreciated, glad I could contribute.


----------



## gupsterg

So some comparison of stock vs tweaked.

TR 1950X Stock, F4-3200C14D-16GTZ using The Stilt's safe timings, ASUS ZE UEFI 0801, Win10 Pro x64 Fall Creators Update

VBIOS: RX VEGA 64 AIR 016.001.001.000.008769
Cooling: EK-FC Radeon Vega with Thermal Grizzly Hydronaut (spread fully over die)
Driver: v17.11.1, HBCC: Off, FreeSync: On, ASUS MG279Q modded to 57-144Hz range with LFC: On

3DM TS runs, link.

3DM FS runs, link.

SP 4K Preset


----------



## Goliaph

Hi guys! I've got some experience with Vega... My english may be awfull))) but..

So infinity Fabric OC was successfull up to 1180mHz on some and 1110/1150 on others. But I've noticed some interesting things.... may you explain it?

1. 64 Sapph air Vega after some errors don't let system starts (card don't initialize) * After 5min poweroff it starts normally.
2. 56->64 bios flashed Vega (Sapph) made me nervous. 5 min testing fine, after that appeared color lines and artefacts on screen. Rebooting even before MB bios - SHOWS me parts of my desktop. * after 5 min turn off it shows ok.
3. flashing 56->64 Vega back to 56 takes no effect (at least 15 min was afraid that it's almost dead) 2nd bios shows same. Speeds of card were as on 64bios.* after 5 min turn off it shows ok.
3.a. First time i've flashed 56 to 64, i've noticed that Vega don't apply new bios in the 1st reboot. Looks like it initialize step-by-step.
4. Overclocking /UV Vega depends not only from parameters. There are some dependence between Core/HBM/InfFabric etc. So PPT of that "faily" with 850mv/1404MHz Core ande 850mv/1100MHz HBM starts system and shows in test over 200Watt. 875mv -failed (both Core and HBM) 900 HBM starts with 130watt and shows errors. 850Core with 925HBM looks stable with ~150Watt consumption.
5. I've got trouble with LAUNCHING 2X56 Vegas on my B350/Ryzen system - One card seen by OS without driver as "Standard adapter without yellow triangle", and 2nd with it. 1st cart shows 1red led right after systep power on, than after initialize all - 2nd shows it and 1st card shows green LED with no desctop on screen. May be it's power supply issue... But after through Teamviewer turn off/turn on cards PC shows desktop. I've tryed both bios - same effect.)

So what I think - Vega can conduct some errors. It don't clean it's memory after reboot. It need to be power-off for some time, if you want clear result. Also it flashing components not all at once =) Bios odee needs 2-3 reboot to take full effect.

Nevertheless It's a great cards


----------



## Reikoji

I have found that it is best not to flash the LC bios onto an air card until you LC it :3


----------



## ducegt

I found the HBM states might change voltage with them. I set DPM 2 to 4 at 945 and wasn't able to get into Windows.


----------



## Hellae

Crossposting from bitcointalk
Quote:


> So... HBCC isn't what causes the higher hashrate.
> 
> Any ideas of what could be being triggered with the disable/enable method?
> 
> I'm afraid that this can be somewhat of a bug on the Beta driver that will never be ported to the Gaming driver. :S
> 
> Disabling the card would clear the frame buffer, but beyond that I'm not sure what else a re-initialization would do&#8230;
> 
> Anyone up for a brainstorm?


----------



## hellm

MSI Afterburner 4.4.0 final


Added AMD Vega 10 graphics processors family support
Added core voltage control for reference design AMD Vega series cards with on-die SMC voltage controller
Added GPU power draw graph to hardware monitoring module for AMD Vega series graphics cards
Added HBM memory temperature graph to hardware monitoring module for AMD Vega series graphics cards


----------



## Spacebug

Has anyone been able to figure out a way to bypass power or current limitations?
The higher i set core voltage over 1.2v the lower the score becomes in Sp4k, and it reports lower and lower average sustained core clocks so that makes sense i guess, guessing it runs into power or current limitations which clocks down the core.

I have a vega 64 air version with lc bios on watercooling, temps in the low to middle 30 degree celsius for core and HBM when around 1.2v vcore.
Don't much care about power consumption, just want good benchmark scores, max the card out if you will...

I have used the soft PPtable editor to set powerlinit to 240%, also tried upping Tdc as well as the various power limits in watts to 500A and 500W each but to no avail.
Still gets lower score and lower sustained clocks during sp4k bench.
Even more so when ive tried 1.3 and 1.325v vcore through soft pptable editor.
Reported powerconsumption in gpuz increases, so does temps a bit so guess the voltage does increase, but yeah, score decreases cause lower sustained clocks.

Guess the bios takes priority over softpptable mods regarding current limit if that is what i'm experiencing?

I miss the simplicity of 290x with pt1 or other modded bios where you could just set stupid high limits for current and power in bios and just bypass all limits and clock variances.
Then just play with vcore and clock until you found a good steady state clock that would sustain during all bences and games...


----------



## hellm

sure.
this makes life easier.

didn't read all of your post.. sry








you should read the last few pages. we have to deal with boost now, ACG i believe. I don't know if you can disable it, i think no one tested it so far?


----------



## Spacebug

Thanks, I will try the +142% AIO powerlimit softpptable, perhaps I screwed up something when I modded the AIO powerplaytable by myself through halsafar's editor.

Yes the boost is a real pain, was trying to get P7 1752MHz going, lock P7 as min/max and get low to mid 1800 MHz in idle/low gpu load...
How on earth is one going to stabilize that?


----------



## Dolk

Spacebug, if you are getting higher idle clocks, that means you Min/Maxed your P-states to only P7. Its artificial if the clocks go higher and are not true representations of the actual throughput being seen.


----------



## Spacebug

Yes, min/max to just P7 (and same for max HBM p-state, I want it to have as low clock variance as possible.
If GpuZ powerdraw representations is anything to go at I idle at around 20W for the GPU only, that low idle power draw I can live with.

So your saying that the overboost i'm seeing in low load over set P7 clock is just misinterpreted clock reports and not real?


----------



## ducegt

Quote:


> Originally Posted by *hellm*
> 
> sure.
> this makes life easier.
> 
> didn't read all of your post.. sry
> 
> 
> 
> 
> 
> 
> 
> 
> you should read the last few pages. we have to deal with boost now, ACG i believe. I don't know if you can disable it, i think no one tested it so far?


How can we test it?

I saw ucACGEnable in the linux PP code. I located MaxODEngineClock/2400 there and in SoftPP table because I could easily find it, and then I counted the length between it and ucACGEnable (95 by my count).. UCHAR = 1, USHORT = 2, ULONG = 3. And to my surprise the value is 00. Not sure I'm doing this right...


----------



## Razkin

Something weird is going on with Hwinfo readings. I have a Vega [email protected] air bios mining for ~72 hours straight and when it started mining it displayed:
-GPU Thermal Diode
-GPU HBM Temperature
-GPU Hot Spot

I don't know exactly when it happened but after some time I got extra temp readings, with one bogus reading and two displaying nothing.
-GPU VR MVDD -> 2219 degrees C
-GPU liquid -> no reading
-GPU PLX -> no reading

My Vega 64 on water using the exact same bios as the 56 only has the three normal temperature readouts.


----------



## SpecChum

Quote:


> Originally Posted by *ducegt*
> 
> How can we test it?
> 
> I saw ucACGEnable in the linux PP code. I located MaxODEngineClock/2400 there and in SoftPP table because I could easily find it, and then I counted the length between it and ucACGEnable (95 by my count).. UCHAR = 1, USHORT = 2, ULONG = 3. And to my surprise the value is 00. Not sure I'm doing this right...


ULONG will be 4


----------



## ducegt

Quote:


> Originally Posted by *SpecChum*
> 
> ULONG will be 4


Thanks. So the length should be 100.

80A903 - swap first and last bytes -> 03A980 -DEC-> 240000

Swapping first and last byte when adding 00 before or after 80A903 doesn't get 240000, what's the proper way to do this?

If the extra 00 byte belongs after 80A903, then after 100 length there is a 01 just after D0 4C.


----------



## SpecChum

Quote:


> Originally Posted by *ducegt*
> 
> Thanks. So the length should be 100.
> 
> 80A903 - swap first and last bytes -> 03A980 -DEC-> 240000
> 
> Swapping first and last byte when adding 00 before or after 80A903 doesn't get 240000, what's the proper way to do this?
> 
> If the extra 00 byte belongs after 80A903, then after 100 length there is a 01 just after D0 4C.


I'm not even sure what you're doing?


----------



## jearly410

Quote:


> Originally Posted by *Razkin*
> 
> Something weird is going on with Hwinfo readings. I have a Vega [email protected] air bios mining for ~72 hours straight and when it started mining it displayed:
> -GPU Thermal Diode
> -GPU HBM Temperature
> -GPU Hot Spot
> 
> I don't know exactly when it happened but after some time I got extra temp readings, with one bogus reading and two displaying nothing.
> -GPU VR MVDD -> 2219 degrees C
> -GPU liquid -> no reading
> -GPU PLX -> no reading
> 
> My Vega 64 on water using the exact same bios as the 56 only has the three normal temperature readouts.


That happens to me when CAM is installed and monitoring. After removing it, and also not opening gpuz, I haven't seen the bug come back. My guess is your hwinfo is competing with another monitoring program.


----------



## Mumak

Quote:


> Originally Posted by *Razkin*
> 
> Something weird is going on with Hwinfo readings. I have a Vega [email protected] air bios mining for ~72 hours straight and when it started mining it displayed:
> -GPU Thermal Diode
> -GPU HBM Temperature
> -GPU Hot Spot
> 
> I don't know exactly when it happened but after some time I got extra temp readings, with one bogus reading and two displaying nothing.
> -GPU VR MVDD -> 2219 degrees C
> -GPU liquid -> no reading
> -GPU PLX -> no reading
> 
> My Vega 64 on water using the exact same bios as the 56 only has the three normal temperature readouts.


2219 C is a wrong readout from the sensor. I will filter this out in the next build.
Only Liquid cooled models can report additional temperatures.


----------



## gupsterg

Quote:


> Originally Posted by *ducegt*
> 
> Thanks. So the length should be 100.
> 
> 80A903 - swap first and last bytes -> 03A980 -DEC-> 240000
> 
> Swapping first and last byte when adding 00 before or after 80A903 doesn't get 240000, what's the proper way to do this?
> 
> If the extra 00 byte belongs after 80A903, then after 100 length there is a 01 just after D0 4C.


I am no programmer. I have only picked up what I need to know for what I have meddled with, so I may not use right words, etc







.

ULONG is 4 bytes.

ULONG ulMaxODEngineClock, you've found is 80 A9 03 00 in PowerPlay.

00 is empty of "data". So you only have 80 A9 03 to deal with.

You do the endian conversion, resulting in 03 A9 80, convert hex to dec, 240000. As the number is 10kHz, it is representing 2400000kHz (240000x10), so kHz to MHz = 2400MHz.

If we make changes and if the number when converted to hexadecimal does not fill the "data area" it needs to be "filled" with empty data (ie 00), otherwise we will create issues.


----------



## ducegt

Quote:


> Originally Posted by *SpecChum*
> 
> I'm not even sure what you're doing?


I'm trying to see if we can disable ACG with the SoftPP mod.
Quote:


> Originally Posted by *gupsterg*
> 
> I am no programmer. I have only picked up what I need to know for what I have meddled with, so I may not use right words, etc
> 
> 
> 
> 
> 
> 
> 
> .
> 
> ULONG is 4 bytes.
> 
> ULONG ulMaxODEngineClock, you've found is 80 A9 03 00 in PowerPlay.
> 
> 00 is empty of "data". So you only have 80 A9 03 to deal with.
> 
> You do the endian conversion, resulting in 03 A9 80, convert hex to dec, 240000. As the number is 10kHz, it is representing 2400000kHz (240000x10), so kHz to MHz = 2400MHz.
> 
> If we make changes and if the number when converted to hexadecimal does not fill the "data area" it needs to be "filled" with empty data (ie 00), otherwise we will create issues.


That makes sense. I just thought "00" wouldn't be considered empty/null.


----------



## SpecChum

Quote:


> Originally Posted by *gupsterg*
> 
> I am no programmer. I have only picked up what I need to know for what I have meddled with, so I may not use right words, etc
> 
> 
> 
> 
> 
> 
> 
> .
> 
> ULONG is 4 bytes.
> 
> ULONG ulMaxODEngineClock, you've found is 80 A9 03 00 in PowerPlay.
> 
> 00 is empty of "data". So you only have 80 A9 03 to deal with.
> 
> You do the endian conversion, resulting in 03 A9 80, convert hex to dec, 240000. As the number is 10kHz, it is representing 2400000kHz (240000x10), so kHz to MHz = 2400MHz.
> 
> If we make changes and if the number when converted to hexadecimal does not fill the "data area" it needs to be "filled" with empty data (ie 00), otherwise we will create issues.


Almost, you can't just drop part of a 32-bit number just because it's zero.

That example works as the 0 is on the end so when you change the endian of the 16 bit parts it becomes 00 03 A9 80 - the 00 is still relevant and important.

It's always a 32-bit number.


----------



## ducegt

Quote:


> Originally Posted by *SpecChum*
> 
> Almost, you can't just drop part of a 32-bit number just because it's zero.
> 
> That example works as the 0 is on the end so when you change the endian of the 16 bit parts it becomes 00 03 A9 80 - the 00 is still relevant and important.
> 
> It's always a 32-bit number.


This is what I needed







So when you change the endian of ULONG/32bit... the first and last bytes get swapped *as well as the inner two.*


----------



## SpecChum

Quote:


> Originally Posted by *ducegt*
> 
> This is what I needed
> 
> 
> 
> 
> 
> 
> 
> So when you change the endian of ULONG/32bit... the first and last bytes get swapped *as well as the inner two.*


Yep, to swap endianess you swap the pairs.

AB CD -> CD AB

EDIT: Fixed to make clear


----------



## Dolk

Quote:


> Originally Posted by *Spacebug*
> 
> Yes, min/max to just P7 (and same for max HBM p-state, I want it to have as low clock variance as possible.
> If GpuZ powerdraw representations is anything to go at I idle at around 20W for the GPU only, that low idle power draw I can live with.
> 
> So your saying that the overboost i'm seeing in low load over set P7 clock is just misinterpreted clock reports and not real?


Check out my post of which I showed the same thing happening:

http://www.overclock.net/t/1634018/official-vega-frontier-rx-vega-owners-thread/2710#post_26373428

It is artificial, most likely a bug within the firmware itself.

Having the P7 min/max'ed does not gain you anything. I did a brief test to see if I'd gain anything and I didn't see any. What you are most likely seeing is GPU-Z targets the fastest running core, and when these cores are in idle (remember A-sync cores) they will artifact up to these high levels. I was able to get my V64 up to 1950MHz with this trick, but it did not run anywhere close to this. The most I could tell is that it gives us an understanding of the max clock rate, but dependent on what variables I do not know.


----------



## gupsterg

Quote:


> Originally Posted by *SpecChum*
> 
> Almost, you can't just drop part of a 32-bit number just because it's zero.
> 
> That example works as the 0 is on the end so when you change the endian of the 16 bit parts it becomes 00 03 A9 80 - the 00 is still relevant and important.
> 
> It's always a 32-bit number.


I didn't use the word drop, I was keeping it in lay terms. You did a better job for sure







.


----------



## diabetes

Quote:


> Originally Posted by *Dolk*
> 
> Check out my post of which I showed the same thing happening:
> 
> http://www.overclock.net/t/1634018/official-vega-frontier-rx-vega-owners-thread/2710#post_26373428
> 
> It is artificial, most likely a bug within the firmware itself.
> 
> Having the P7 min/max'ed does not gain you anything. I did a brief test to see if I'd gain anything and I didn't see any. What you are most likely seeing is GPU-Z targets the fastest running core, and when these cores are in idle (remember A-sync cores) they will artifact up to these high levels. I was able to get my V64 up to 1950MHz with this trick, but it did not run anywhere close to this. The most I could tell is that it gives us an understanding of the max clock rate, but dependent on what variables I do not know.


My V56 does that too. Interestingly it only happens on P5, P6 and P7 (these are the ones which have ACG enabled). When I set my P4 as min and max, the clock does not exceed what is set. I was playing with the powertable editor in order to disable ACG on these pstates and it had no positive effect on clock overshooting (it made it a bit worse IIRC).


----------



## hellm

Quote:


> Originally Posted by *SpecChum*
> 
> Yep, to swap endianess you swap each 8 bit quarter then the 16 bit pairs.
> 
> AB CD -> DC BA
> 
> EDIT: To break it down further:
> 
> AB CD -> BA DC -> DC BA


***?

You don't flip the bytes, it is not reading things backward.

AB CD is CD AB in little endian. nothing else.


----------



## SpecChum

Quote:


> Originally Posted by *SpecChum*
> 
> Yep, to swap endianess you swap each 8 bit quarter then the 16 bit pairs.
> 
> AB CD -> DC BA
> 
> EDIT: To break it down further:
> 
> AB CD -> BA DC -> DC BA


Quote:


> Originally Posted by *hellm*
> 
> ***?
> 
> You don't flip the bytes, it is not reading things backward.
> 
> AB CD is CD AB in little endian. nothing else.


My bad, you are indeed correct. I reversed the whole thing for some reason, didn't even notice lol


----------



## SpecChum

I even explained it right then messed up the example lol

"...so when you change the endian of the 16 bit parts"

Thanks @hellm


----------



## gupsterg

OP updated, added:-

https://en.wikipedia.org/wiki/Endianness

https://docs.mql4.com/basis/types/integer/integertypes

https://en.wikipedia.org/wiki/Byte

in useful links







.


----------



## madmanmarz

Quote:


> Originally Posted by *gupsterg*
> 
> OP updated, added:-
> 
> https://en.wikipedia.org/wiki/Endianness
> 
> https://docs.mql4.com/basis/types/integer/integertypes
> 
> https://en.wikipedia.org/wiki/Byte
> 
> in useful links
> 
> 
> 
> 
> 
> 
> 
> .


could you provide some explanation between the different bios' listed on the front page?


----------



## gupsterg

In general and for most of us what each VBIOS has can easily be seen on TPU DB.

So far each reference models VBIOS regardless of version number has same clocks, temperature, powerlimit, etc. Caveat being the difference of PowerLimit between low/high power VBIOS.

The V56 has been artificially gimped "out of the box", with lowest PL and HBM voltage out of all VEGA cards. I don't currently hold the view that HBM differs wildly between V56/V64.
Quote:


> AtomBios info
> 
> Atom is basically a byte code scripting language used to write little scripts to handle basic card initialization tasks (asic init, setting engine/memory clocks, modesetting).
> 
> There are two sets of tables in ATOM: command tables (basically scripts that execute certain functionality) and data tables (structs that store board/system specific information (type and number of connectors/encoders used on the board, power states, ddc lines, panel info, etc.).
> 
> The command tables are versioned and there are specific structs defined for the inputs to the command tables. These are all defined in atombios.h and ObjectID.h. Command tables can also call other command tables and look up data in data tables.


Extract from link.

In the past as bios mod was open on other AMD GPUs and ones I meddled heavily with, command tables rarely differed, data tables did. The data tables differed for clocks, etc. Structure was pretty much the same.

The UEFI/GOP module again was same, when a version changed, AFAIK it was to add support for a newer GPU. As UEFI/GOP is backward compatible you could use a newer UEFI/GOP module with a past GPU. For example I used a UEFI/GOP version which came out with Polaris on Fury X.

In the past and even with VEGA, I'm flashing a newer version VBIOS hoping it may fix a bug, etc. Generally for OC'ing on Hawaii/Fiji (and even VEGA) I'm not finding a differing VBIOS improves what the silicon can do. Caveat being I'm using like clocks, PL, etc, etc.

All VBIOS mod allowed me to do on Hawaii/Fiji is set card as I wanted, so I didn't need OS SW to do it. Some aspects OS SW couldn't touch, so again VBIOS mod was better route.


----------



## gupsterg

I got undervolt active in lower than DPM5/6/7







.



DPM_UV.zip 21k .zip file


WattMan gives no access to this.

Last time I try OverdriveNTool I did not work.

This was with PP mod. Gotta now suss the 800MHz HBM lock.

*Warning to VEGA FE owners GFX clocks section in Vega64SoftPowerTableEditor is not correct, only do PP mod reg edit by hand.*

*** edit ***

OK not got the HBM 800MHz bug when GPU enter higher DPM, just did SP 4K run.

So UV of DPM 1/2/3, so clock range idle to 1138MHz is working via PP mod.


----------



## gupsterg

@subscribers

OP updated







.

i) Useful links section has AMD VEGA Whitepaper link added.

ii) New section created *Testing of PowerPlay registry mods*, it has 5 sections which cover testing and observations so far.


----------



## Aenra

That was quick ^^

Thank you, time to start reading


----------



## gupsterg

NP







, I look forward to comments from readers and discussion plus their testing and observations







.

Last night I did view PowerPlay again, I could not find what is shown in OverdriveNTool as mV for HBM MEMCLK. In the past, "off the cuff" testing showed adjusting those created issues. I believe it is anomaly within app and needs update to support VEGA better.

Also when browsing VEGA FE PowerPlay it's make up is differing for GfxclkDependencyTable vs RX VEGA, it does not seem to have ACG field.

Code:



Code:


typedef struct _ATOM_Vega10_GFXCLK_Dependency_Record {
        ULONG  ulClk;                                               /* Clock Frequency */
        UCHAR  ucVddInd;                                            /* SOC_VDD index */
        USHORT usCKSVOffsetandDisable;                              /* Bits 0~30: Voltage offset for CKS, Bit 31: Disable/enable for the GFXCLK level. */
        USHORT usAVFSOffset;                                        /* AVFS Voltage offset */
} ATOM_Vega10_GFXCLK_Dependency_Record;

typedef struct _ATOM_Vega10_GFXCLK_Dependency_Record_V2 {
        ULONG  ulClk;
        UCHAR  ucVddInd;
        USHORT usCKSVOffsetandDisable;
        USHORT usAVFSOffset;
        UCHAR  ucACGEnable;
        UCHAR  ucReserved[3];
} ATOM_Vega10_GFXCLK_Dependency_Record_V2;

V2 is used by RX VEGA and other is VEGA FE. Perhaps VEGA FE owners can run some tests, provide MSI AB HML files, so we can see how it behaves. This difference is also why @halsafar PowerPlay editing app has an issue with VEGA FE PP editing.

As said before I am no programmer. Just a PC enthusiast dabbling with my HW, hoping to provoke further data/discussions for us to move forward together







.

So far my tweaked OC profile via PP MOD is sweet in further benching and normal usage







.


Spoiler: Warning: Spoiler!


----------



## BeetleatWar1977

From the Linux Drivers:

Code:



Code:


+#define ATOM_Vega10_VoltageMode_AVFS_Interpolate     0
+#define ATOM_Vega10_VoltageMode_AVFS_WorstCase       1
+#define ATOM_Vega10_VoltageMode_Static               2

Has anyone tried a changed Value for the LLR?

Code:



Code:


LoadLineResistance; /* in mOhms */

Ok, tried around a bit.... AvP Benchmark [email protected] PT +100
at stock 64:
Benchmark Summary:

Number of frames: 25414
Average Frame Time: 4.1ms
Average FPS: *242.2*

@96
Benchmark Summary:

Number of frames: 25570
Average Frame Time: 4.1ms
Average FPS: *243.7*

@128
Benchmark Summary:

Number of frames: 25763
Average Frame Time: 4.1ms
Average FPS: *245.5*

If i calculate right, my card should have a LLR abut 210mOhm under full load....


----------



## gupsterg

@BeetleatWar1977

+rep for taking the plunge and testing/sharing







. For me currently not gonna play with LLR, but may in future







.

@Nuke33

Today was bug fix day







.

I had transferred my usual WattMan profile into reg mod yesterday. This had sorted idle voltage discrepancy from using WattMan. As I used the PC more I started to note that after some time the HBM was stuck at 500MHz and idle voltage 900mV. GPU clocks were though at <50MHz.

I first uninstalled driver and reinstalled, then added PP mod profile. Thinking I caused an issue with them from ACG disable I had been trying to gain last night. As soon as I was on my tweaked profile (using PP mod), after sometime I would have idle issue. So I thought something about PP mod is not emulating stock, as I do not get this issue at stock.

Whilst I fully marked/translated PowerPlay of VBIOS I use and I ran various tests. These tests all failed in resolving idle issue







. After I completed all marking I had an idea why the issue was happening







. And I have cracked it now







.

My last failed attempt out of many today as example of issue below.

*Mid testing.*



*End testing as fail.*



Let's start at the top







.



Spoiler: In PP is State array table. You'll note in the 2nd entry we have SocClockIndexHigh as 05.



Code:



Code:


typedef struct _ATOM_Vega10_State_Array {
02      UCHAR ucRevId;
02      UCHAR ucNumEntries;                                         /* Number of entries. */
        ATOM_Vega10_State states[1];                             /* Dynamically allocate entries. */
} ATOM_Vega10_State_Array;

typedef struct _ATOM_Vega10_State {
00              UCHAR  ucSocClockIndexHigh;
00              UCHAR  ucSocClockIndexLow;
00              UCHAR  ucGfxClockIndexHigh;
00              UCHAR  ucGfxClockIndexLow;
00              UCHAR  ucMemClockIndexHigh;
00              UCHAR  ucMemClockIndexLow;
08 00           USHORT usClassification;
00 00 00 00     ULONG  ulCapsAndSettings;
00 00           USHORT usClassification2;
} ATOM_Vega10_State;

typedef struct _ATOM_Vega10_State {
05              UCHAR  ucSocClockIndexHigh;
00              UCHAR  ucSocClockIndexLow;
07              UCHAR  ucGfxClockIndexHigh;
00              UCHAR  ucGfxClockIndexLow;
03              UCHAR  ucMemClockIndexHigh;
00              UCHAR  ucMemClockIndexLow;
05 00           USHORT usClassification;
00 00 00 00     ULONG  ulCapsAndSettings;
00 00           USHORT usClassification2;
} ATOM_Vega10_State;







Spoiler: In SOC table we see 05 is 960MHz.



Code:



Code:


typedef struct _ATOM_Vega10_SOCCLK_Dependency_Table {
00    UCHAR ucRevId;
08    UCHAR ucNumEntries;                                         /* Number of entries. */
    ATOM_Vega10_CLK_Dependency_Record entries[1];            /* Dynamically allocate entries. */
} ATOM_Vega10_SOCCLK_Dependency_Table;

typedef struct _ATOM_Vega10_CLK_Dependency_Record {
60 EA 00 00 (600MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
00                      UCHAR  ucVddInd;                                            /* Base voltage */

} ATOM_Vega10_CLK_Dependency_Record;
typedef struct _ATOM_Vega10_CLK_Dependency_Record {
40 19 01 00 (720MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
01                      UCHAR  ucVddInd;                                            /* Base voltage */

} ATOM_Vega10_CLK_Dependency_Record;
typedef struct _ATOM_Vega10_CLK_Dependency_Record {
80 38 01 00  (800MHz)   ULONG  ulClk;                                               /* Frequency of Clock */
02                      UCHAR  ucVddInd;                                            /* Base voltage */

} ATOM_Vega10_CLK_Dependency_Record;
typedef struct _ATOM_Vega10_CLK_Dependency_Record {
DC 4A 01 00  (847MHz)   ULONG  ulClk;                                               /* Frequency of Clock */
03                      UCHAR  ucVddInd;                                            /* Base voltage */

} ATOM_Vega10_CLK_Dependency_Record;
typedef struct _ATOM_Vega10_CLK_Dependency_Record {
90 5F 01 00  (900MHz)   ULONG  ulClk;                                               /* Frequency of Clock */
04                      UCHAR  ucVddInd;                                            /* Base voltage */

} ATOM_Vega10_CLK_Dependency_Record;
typedef struct _ATOM_Vega10_CLK_Dependency_Record {
00 77 01 00 (960MHz)    ULONG  ulClk;                                               /* Frequency of Clock */
05                      UCHAR  ucVddInd;                                            /* Base voltage */

} ATOM_Vega10_CLK_Dependency_Record;
typedef struct _ATOM_Vega10_CLK_Dependency_Record {
90 91 01 00 (1028MHz)   ULONG  ulClk;                                               /* Frequency of Clock */
06                      UCHAR  ucVddInd;                                            /* Base voltage */

} ATOM_Vega10_CLK_Dependency_Record;
typedef struct _ATOM_Vega10_CLK_Dependency_Record {
6C B0 01 00 (1107MHz)   ULONG  ulClk;                                               /* Frequency of Clock */
07                      UCHAR  ucVddInd;                                            /* Base voltage */
} ATOM_Vega10_CLK_Dependency_Record;







Spoiler: MCLK DPM 3 is associated with SOC DPM 5



Code:



Code:


typedef struct _ATOM_Vega10_MCLK_Dependency_Table {
01    UCHAR ucRevId;
04    UCHAR ucNumEntries;                                         /* Number of entries. */
    ATOM_Vega10_MCLK_Dependency_Record entries[1];            /* Dynamically allocate entries. */
} ATOM_Vega10_MCLK_Dependency_Table;

typedef struct _ATOM_Vega10_MCLK_Dependency_Record {
3C 41 00 00 (167MHz)    ULONG  ulMemClk;                                            /* Clock Frequency */
00                      UCHAR  ucVddInd;                                            /* SOC_VDD index */
00                      UCHAR  ucVddMemInd;                                         /* MEM_VDD - only non zero for MCLK record */
00                      UCHAR  ucVddciInd;                                          /* VDDCI   = only non zero for MCLK record */
} ATOM_Vega10_MCLK_Dependency_Record;

typedef struct _ATOM_Vega10_MCLK_Dependency_Record {
50 C3 00 00 (500MHz)    ULONG  ulMemClk;                                            /* Clock Frequency */
00                      UCHAR  ucVddInd;                                            /* SOC_VDD index */
00                      UCHAR  ucVddMemInd;                                         /* MEM_VDD - only non zero for MCLK record */
00                      UCHAR  ucVddciInd;                                          /* VDDCI   = only non zero for MCLK record */
} ATOM_Vega10_MCLK_Dependency_Record;

typedef struct _ATOM_Vega10_MCLK_Dependency_Record {
80 38 01 00 (800MHz)    ULONG  ulMemClk;                                            /* Clock Frequency */
02                      UCHAR  ucVddInd;                                            /* SOC_VDD index */
00                      UCHAR  ucVddMemInd;                                         /* MEM_VDD - only non zero for MCLK record */
00                      UCHAR  ucVddciInd;                                          /* VDDCI   = only non zero for MCLK record */
} ATOM_Vega10_MCLK_Dependency_Record;

typedef struct _ATOM_Vega10_MCLK_Dependency_Record {
24 71 01 00 (945MHz)    ULONG  ulMemClk;                                            /* Clock Frequency */
05                      UCHAR  ucVddInd;                                            /* SOC_VDD index */
00                      UCHAR  ucVddMemInd;                                         /* MEM_VDD - only non zero for MCLK record */
00                      UCHAR  ucVddciInd;                                          /* VDDCI   = only non zero for MCLK record */
} ATOM_Vega10_MCLK_Dependency_Record;





So as I was making HBM DPM 1100MHz and it was associated with SOC DPM 5 (960MHz) this was creating confusion within PowerPlay







.

I have changed:-

i) ucSocClockIndexHigh to 07 of 2nd entry of state array.
ii) SOC DPM 07 to 1199MHz.
iii) MCLK DPM 3 to 1100MHz, *but* associated with SOC DPM 07.

*Pass.*



*And all is still working*














*.*



Will add this info in OP tomorrow or so







.


----------



## ducegt

Good stuff









PP_PhmSoftWTTable in the registry looks interesting, but seems it regenerates itself if modified. I tried to change 167 HBM2 idle to 177


----------



## gupsterg

Thanks







.

All is still working well, I have redone testing this morning again for ~2.5hrs.

Before I place what I tested yesterday in OP I'm gonna do another differing round of testing. Through this testing/tweaking I think I may know why originally HBM DPM 3 is associated with SOCCLK 5 and perhaps I need to keep ucSocClockIndexHigh as 5 and edit SOCCLK table DPM 5 upwards to take into context the change to HBM DPM 3 to 1100MHz.

I have seen that but not played with it, I'm sorta moving through things as and when, but thanks for info







.


----------



## ducegt

Per white paper as I understand, SoC clock control exists so that engine clock can stay low during video encoding decoding workloads. Can't see how that would benefit 3D workloads. Curious if there are any negative effects with SoC down clocking and 3D loads.


----------



## gupsterg

Don't know.

All I know so far is HBMCLK links to a SOCCLK. SOCCLK must be equal or above target HBM clock to gain it, this was what Nuke33 found on driver prior to v17.10.2, link. From driver v17.10.2 AMD changed something so we didn't need SOCCLK mod, I can't recall if it went above 1107MHz by itself. I may go back to a driver prior to v17.10.2 and see what occurs. Also we never had the ability to see SOCCLK until Mumak implemented it, ~at the point we started to explore mod/just before v17.10.2 driver came out.

So far in 2 VBIOS that I'm now looking at more closely, the V64 AIR & AIO, HBM DPM 3 (highest) will link to a SOCCLK at a lower index within the table. On V64 AIR HBM DPM 3 links to SOCCLK DPM 5, which is 960MHz. V64 AIO HBM DPM3 links to SOCCLK DPM 2, which is 960MHz. V64 AIR has 8 SOC states, V64 AIO has 5 SOC states, both cases highest SOC DPM has 1107MHz

Next WattMan/OverdriveNTool takes the link # that HBM has to SOC and then displays the same # GPU DPM mV in voltage lookup table as HBM mV. I believe this may dictate from what GPU DPM # onwards uses HBM DPM 3. I was going to test this but not had a chance yet.

The other thing which I noted/posted was when I made HBM 3 1100MHz in PP mod, but it was still linked to a SOCCLK of 960MHz. After some time of usage the GPU was stuck idling at HBM 500MHz, instead of 167MHz and also idle voltage then become 900mV, instead of <800mV. If I apply my own voltages to GPU then this idle fix to voltage is undone. It seems regardless of using WattMan or PP mod, when we take control of voltage idle is 900mV. Power usage does not seem to rise as I believe GPU does gating.

PowerLimit, Clocks and State array change do take affect even without moving WattMan to Custom, voltages only take with move to Custom+manual voltage.


----------



## Leons

I would like to share my (empirical) tests that have led me to what is listed below.
It owns an RX Vega 56 with Vega 64 Air BIOS (8769).
For daily use with temperatures and noises for me acceptable i set max voltage at 1,050 mV and adjusted the frequencies to what my card could support (Max 1,632 MHz).
I set min PWM to 15%, Fan Acoustic Limit and Throttling rpm at 3,000, min rpm at 8 (800), Target Temp. to 63 °C.
I also increased the TDP to 265 W and TDC to 360 A.
Then I am dedicated to HBM!!
I wanted to take advantage of the 1,199 MHz SOC Clock that allows the HBM of my card to arrive at 1,190 MHz with artifacts when the temperature rises, but they are perfectly stable at 1,115 MHz with the temperatures allowed by the blower.
To prevent the frequency of HBM from falling when the GPU uses Pstate lower than the DPM 5 I had to Downclock also DPM from 1 to 5 otherwise the higher voltages in these Pstate did not allow me to get my goal.
At that point I have associated P1 HBM to the P1 GPU, P2 HBM to P2 GPU and P3 HBM (at 1,115 MHz) to the P3 GPU; In this way the memories are running at 1,115 MHz already starting from the P3 GPU.
I attach an image for a 4k Superposition test and its hml file in addition to my reg file.
I hope that sharing this can serve more experienced people to out further the functionality of these cards.
Thanks for reading and sorry my English (Bing translator).



Leons.hml.zip 9k .zip file


Leons.8769.reg.zip 1k .zip file


----------



## gupsterg

Last night tested:-

i) changing PP_DisableVoltageIsland key in registry, to 0 and 2.

ii) deleting PP_DisableVoltageIsland key in registry.



This has no affect for me. Regardless if I use a PP mod reg file, with or without changing to Custom/Manual Voltage. It seems we have no way of applying voltages to a DPM via PP reg mod without using WattMan to go Custom/Manual voltage







.

Also changed ucGfxVoltageMode to 2, ie ATOM_Vega10_VoltageMode_Static as per definitions. This again had no affect, even if GPU DPM 5 6 7 were set to ACG 0 (ie off).

@Leons

My testing is echoing Nuke33, going to SOC 1199MHz via PP mod caused instability. [email protected] on GPU crashed intermittently for me, other tests were AOK, I was using 1100MHz HBM, which has been tested vastly with gaming/[email protected]/Bionic, but as that was with no SOC PP mod I had 1107MHz as SOC.

I am now using SOC PP mod for DPM 5 6 7 of SOCCLK in PP mod on V64, 1107MHz. ucSocClockIndexHigh in state array is 5 and also HBM DPM 3 is still linked with SOC DPM 5. This way I've kept the linking as stock, but SOC DPMs from 5+ match the increased HBM I use.

I would suggest using SOC value slightly above HBM MHz you use. I do not know if it takes that or jumps to 1199MHz, Nuke33 may have shared his experience on this in past posts. I do believe I have seen steps in monitoring between 1107MHz and 1199MHz, will have to look at logs.


----------



## kqpahv

@gupsterg

How does one gain access to the various DependencyTable's and lookup tables ?

I am willing to play around with my card as well but can't seem to find those tables anywhere


----------



## keksov

I'm not sure that it may help in your particular situation (I'm not following the thread), but I was able to load custom PP without WattMan and OverdriveNTool at all. Here is my short

__
https://www.reddit.com/r/7eqrux/howto_eliminating_overdriventool_from_vega_rig/


----------



## gupsterg

Quote:


> Originally Posted by *kqpahv*
> 
> @gupsterg
> 
> How does one gain access to the various DependencyTable's and lookup tables ?
> 
> I am willing to play around with my card as well but can't seem to find those tables anywhere


The tables are in PowerPlay. Use the Linux driver linked in OP to translate header to know locations of table beginnings, etc. There are examples in OP and in recent posts. Sorry no access to a PC for few days otherwise I'd mark a PowerPlay with text, etc.
Quote:


> Originally Posted by *keksov*
> 
> I'm not sure that it may help in your particular situation (I'm not following the thread), but I was able to load custom PP without WattMan and OverdriveNTool at all. Here is my short
> 
> __
> https://www.reddit.com/r/7eqrux/howto_eliminating_overdriventool_from_vega_rig/


Thanks, +rep







. Interesting, when at PC will have play and report what happens on my end







.


----------



## Leons

Quote:


> Originally Posted by *gupsterg*
> 
> cut...
> 
> @Leons
> 
> My testing is echoing Nuke33, going to SOC 1199MHz via PP mod caused instability. [email protected] on GPU crashed intermittently for me, other tests were AOK, I was using 1100MHz HBM, which has been tested vastly with gaming/[email protected]/Bionic, but as that was with no SOC PP mod I had 1107MHz as SOC.
> 
> I am now using SOC PP mod for DPM 5 6 7 of SOCCLK in PP mod on V64, 1107MHz. ucSocClockIndexHigh in state array is 5 and also HBM DPM 3 is still linked with SOC DPM 5. This way I've kept the linking as stock, but SOC DPMs from 5+ match the increased HBM I use.
> 
> I would suggest using SOC value slightly above HBM MHz you use. I do not know if it takes that or jumps to 1199MHz, Nuke33 may have shared his experience on this in past posts. I do believe I have seen steps in monitoring between 1107MHz and 1199MHz, will have to look at logs.


My difficulties with English do not allow me to convey exactly the meaning of my post and also to understand in the right way your reply, for this I apologize a lot.
My post did not want in any way contradicting your or intervening in the conversation with Nuke33.
I simply shared my experiences in the hope that real experts like you might perhaps find information that would allow improvements in the management of these cards.
I simply feed myself daily of your and other expert information and for this I can only thank you for the work you do and share.
To conclude, hoping to have correctly transmitted my position as a simple user, I would like to specify that when I wrote that I have associated the Pstate HBM to its Pstate GPU I simply entered the values 0-1-2-3 in the entry ucVddInd in the fields Mem Clock from 0 to 3 of VEGA SoftPowerTableEditor; In relation to the Soc Clock I have not performed any changes I have simply ascertained that with the latest drivers, it is automatically set to 1,199 MHz if the HBM frequency is set to a value greater than 1,107 MHz, but this is also something I learned Reading the posts of this community.
Greetings to all, thank you to exist.


----------



## Spacebug

To update on my problem with lower benchmark scores and lower maintained core clocks during load with higher core voltage.
It seems to be related to power or current consumption, i finally caved in and did the hardmod for current sense that buildzoid did on his vega FE.

Now the card senses roughly 30% less current than it really pulls, downclocks is history








Maintains set P7 clocks during load with up to 1.3v vcore, haven't tried higher yet, so now I'm happy again








So i guess that the ACG algorithm definitely takes current or power consumption into account, i guess regardless of where i set power or current limits in softpowerplay table...


----------



## buildzoid

Quote:


> Originally Posted by *Spacebug*
> 
> To update on my problem with lower benchmark scores and lower maintained core clocks during load with higher core voltage.
> It seems to be related to power or current consumption, i finally caved in and did the hardmod for current sense that buildzoid did on his vega FE.
> 
> Now the card senses roughly 30% less current than it really pulls, downclocks is history
> 
> 
> 
> 
> 
> 
> 
> 
> Maintains set P7 clocks during load with up to 1.3v vcore, haven't tried higher yet, so now I'm happy again
> 
> 
> 
> 
> 
> 
> 
> 
> So i guess that the ACG algorithm definitely takes current or power consumption into account, i guess regardless of where i set power or current limits in softpowerplay table...


I guess someone should try what happens when you set registry power play table current limit to like 200A. It's possible that the AMD driver just ignores that part of the power play table because I've noticed in the past that the BIOS seems to have priority when it comes to some other parameters.


----------



## Y00overclock

Hi guys, new around here. I've read a lot in this pages about the SoftPowerPlayTable, which seams to be a great method to improve Vega64 performance.

I wanted to apply SoftPowerPlayTable twerking to my Vega64 Air cooled, but surprise .. there is no SoftPowerPlayTable into the registry. I've installed 17.11.2 and also 17.11.1 drivers.
Also I applied the pp_phmsoftpowerplaytable to my registry by a .reg file, but after restart the video driver didn't want to work. It requested to be reinstalled







. Seeing this I've removed the pp_phmsoftpowerplaytable from registry, and it's working like before.

The best performance in eth mining is 39.2Mh/s at GPU around 1130Mhz and HBM at 1105MHz, voltages are on auto. Power consumption at wall is around 250W, and in GPU-Z it show 141W.

Also I tried the blockchain driver but it's not working in my Win7.

Do you have some suggestions to this issue?


----------



## chris89

Do we get to edit the BIOS soon? I want VEGA! I love my 390X but the next step up properly is the VEGA...


----------



## Spacebug

Quote:


> Originally Posted by *buildzoid*
> 
> I guess someone should try what happens when you set registry power play table current limit to like 200A. It's possible that the AMD driver just ignores that part of the power play table because I've noticed in the past that the BIOS seems to have priority when it comes to some other parameters.


I did some quick testing of 100,150 and 200A TDC limit in soft power play table, although still with blown out power limits in soft pptable and the +50% powerlimit in wattman so not sure if the powerlimits affected the current limit or not.

All testing done with P7 coreclock of 1742MHz, HBM 1110MHz, 1325mV Vcore.
Soft powerplay tables were set to 800W powerlimit across all testing (where the AIO version says 264W) and the usual +50% on top of that, unnessesary i guess but I wanted to rule that out, had the same settings before hardmod of current sens as well...

100A TDC limit in registry soft pplay table got the card between 1400-1500MHz coreclock, 800HBM and Vcore in the 1.1ish range during Superposition bench, guess the card throttled by power or current so hard it locked itself into lower p-state rather than trying to reach P7.

150A TDC limit gave around P7 clocks for core and full HBM clocks during superposition bench but crashed fairly quickly, perhaps was restrained by current/power to allow needed Vcore to maintain stabilityat p7 clocks?

200A TDC limit gave successfull superposition runs with what I could percieve to be just about full p7 clocks throughout the benchmark, scored some 10-20 points lower than the runs I've done with TDC limit at 300A or above.
If that is slight throttling/ACG algorithm in action or just error of margin I can't say.

As for 300A and above for TDC limit in registry soft PP table I don't see any difference, just out of lazyness and the fact I don't much like limits I've put all powerlimits to something high as 800W and 800A TDC limit respectively.
Don't seem to make any difference for me though...

On a semi-related note though...
Any ideas on "fairly safe" boundries for Vcore on water given ~ok temps?

I did a few runs superposition with 1.35V set Vcore (though with Vdroop down to about 1.28-1.3V during heavy load).
Not sure on frequency scaling as I was more interested in temps, core was approaching 40 degrees C but HBM crept upwards 45 degrees.
I think I've remembered reading somewhere that the HBM started to loosen out the timings past 45 degrees, perhaps performance impact of going hotter on HBM might eat up performance gained by the eventual extra coreclock gained from higher Vcore?

I'm quite tempted to go further on the current sense hardmod to further lower the sensed current consumption as I noticed lower Vdroop during load after the mod (which is expected if I've correctly grasped how LLC work?)
But then I would be riding pretty much balls out when it comes to bypassing safety features and just relying on not setting too high Vcore for the card to not pull enough power to give out the magic smoke.

Lower Vdroop would be nice if it could be achieved in a somewhat safe manner as that would probably allow a lower set Vcore (VID?) and still maintain enough Vcore during load to maintain stability.


----------



## linkod

Hello, can you give me and advice? I don't need undervolting. So, how can I improve the performance? vega 64 liquid


----------



## chris89

Quote:


> Originally Posted by *linkod*
> 
> Hello, can you give me and advice? I don't need undervolting. So, how can I improve the performance? vega 64 liquid


We can't actually get "More Performance" until BIOS modding is possible. Until then you can get a real heck of a headache doing work-around/ ghetto-rigging more performance.

BIOS modding is the best way to utilize more performance, until then you'll all have headaches, upset at whoever made it not possible to BIOS MOD.

So that way the 1080 Ti & TITAN Xp will continue to SMOKE the VEGA.

EVEN THE 980 Ti surpasses the VEGA on Time Spy.

The VEGA could run 33% faster at least with a BIOS mod & cool the HOTspot & Max Temp VRM To yield more FPS.


----------



## Y00overclock

After many head aches and lots of experimenting I got to some nice numbers in ETH mining







, 43.7 MH/s with 222 W from wall and 125 in GPU-Z. (GPU -> P6=1002 and P7=1202, HBM 1105. The voltages are AUTO) this is my default configuration







. For this I used *Leons* PP. Thanks bro !

Next step in increassing the hash rate was to increase the HBM clock over the SOC Clock which was 1007.
Fist step was to incresed the HBM clock over 1120. The Soc clock jumped to 1199 and also the GPU power consumtion jumped to 278W to the wall and 166W in GPU-Z. Hash rate was around 44.3MH/s

Continuing increassing the HBM frequency I got to 1200 MHZ. The hash rate got to 47.6MH/s and power consumption from the wall was 279W. The screen image started to show corruption in some areas, but this was not a problem because the shash rate was steady.

The hapiness was for short period because at this high hash rate I had no accepted shares and also massages with bad shares.

I will come later with some number for the accepted hashes related to HBM and Soc clocks.

Does anyone have any idea why at the "maximum" HBM clock no hases were accepted?


----------



## linkod

Can you explain how to increase SoC clock? What program should I use? It's hard to read everything in English
Or can you give me a link?


----------



## Y00overclock

1. double click on Leons reg file to load it into the registry (Leons.8769.reg)
2. reboot
3. open the WattMan
4. *Mandatory* start the miner and wait until it shows a mining rate (e.g 40 MH/s)
5. go into WattMan and set the desired frequency to the HBM

In the GPU-Z you will see the SOC goes to 1199MHz.

Next, take an eye over the accepted shares and adjust the maximum freq where you have accepted shares.








If the HBM frequency is increased above 1105 before the mining start, the driver will fail when the mining will be started. So first start the miner, then increase the HBM frequency

Additionally you can decrease the GPU P6 and P7 for a better power consumption. I've tested with good results P6=902 and P7=1002

Personally I have a problem with this behavior because in case of an unexpected power down of the computer, the mining will be started with default parameters.

If anybody has an idea how can I start the miner with higher HBM freq without driver failing I'm opened to try it.


----------



## linkod

thx a lot. Can you say exactly the bytes that he changed? I want to use then in hellm's +142% PP


----------



## chris89

Anyone have a good VEGA & RYZEN Gameplay Channel On YouTube?


----------



## 113802

Has anyone actually been able to sustain 1750Mhz in any game? Highest i could reach is 1712-1728Mhz in overwatch wth 143% power target.


----------



## TrixX

Quote:


> Originally Posted by *WannaBeOCer*
> 
> Has anyone actually been able to sustain 1750Mhz in any game? Highest i could reach is 1712-1728Mhz in overwatch wth 143% power target.


Yup, I can sustain 1740-1750MHz in most games, in truly GPU heavy games though it drops to 1700-1720MHz. For P5-P7 states need to remember that the clock speed set is the theoretical maximum in a low load scenario.


----------



## geriatricpollywog

Quote:


> Originally Posted by *WannaBeOCer*
> 
> Has anyone actually been able to sustain 1750Mhz in any game? Highest i could reach is 1712-1728Mhz in overwatch wth 143% power target.


I can sustain 1725-1745 depending on my radiator fan speed.


----------



## linkod

Quote:


> Originally Posted by *hellm*
> 
> only for very good cooling solutions, not stock aio, the lower shutdown temp is to prevent the pump from taking damage!
> +142% power limit, 264W, 400A, shutdown temp 89°C (=56,64)
> 
> MorePowerVega64LC_142.zip 1k .zip file


hi, guys. I can't find that bytes "56,64"...Where are they? )) Or I don't understand something...


----------



## hellm

i meant the same shutdown temp as found on Vega 56 and Vega 64.
Quote:


> Originally Posted by *gupsterg*
> 
> So as I was making HBM DPM 1100MHz and it was associated with SOC DPM 5 (960MHz) this was creating confusion within PowerPlay
> 
> 
> 
> 
> 
> 
> 
> 
> .
> 
> I have changed:-
> 
> i) ucSocClockIndexHigh to 07 of 2nd entry of state array.
> ii) SOC DPM 07 to 1199MHz.
> iii) MCLK DPM 3 to 1100MHz, *but* associated with SOC DPM 07.


if anyone wants to test this:

MorePowerVega64_142_1100HBM.zip 1k .zip file


----------



## geriatricpollywog

Quote:


> Originally Posted by *hellm*
> 
> i meant the same shutdown temp as found on Vega 56 and Vega 64.
> if anyone wants to test this:
> 
> MorePowerVega64_142_1100HBM.zip 1k .zip file


I am already using your 142% PL 400 amp bios (modified to 150/500). What does this change?


----------



## linkod

Quote:


> Originally Posted by *hellm*
> 
> i meant the same shutdown temp as found on Vega 56 and Vega 64.
> if anyone wants to test this:
> 
> MorePowerVega64_142_1100HBM.zip 1k .zip file


Ok. thx. Is It 220W 400 or 264W 400? Can you make both?


----------



## hellm

Quote:


> Originally Posted by *0451*
> 
> I am already using your 142% PL 400 amp bios (modified to 150/500). What does this change?


read what gupsterg wrote. I think it does stable 1100HBM without Software OC. i don't know if it is the latest what gupsterg found out, but it should work. I just did that for testing..
Quote:


> Originally Posted by *linkod*
> 
> Ok. thx. Is It 220W 400 or 264W 400? Can you make both?


U can test this with any BIOS. It is 220W Vega64 stock, maybe i do the LC BIOS later.


----------



## linkod

Quote:


> Originally Posted by *hellm*
> 
> read what gupsterg wrote. I think it does stable 1100HBM without Software OC. i don't know if it is the latest what gupsterg found out, but it should work. I just did that for testing..
> U can test this with any BIOS. It is 220W Vega64 stock, maybe i do the LC BIOS later.


I can just change DC 00 to 08 01, right?..


----------



## Dolk

Quote:


> Originally Posted by *hellm*
> 
> i meant the same shutdown temp as found on Vega 56 and Vega 64.
> if anyone wants to test this:
> 
> MorePowerVega64_142_1100HBM.zip 1k .zip file


Thanks, I was waiting for OP to update us on how to do it in the PP reg table once he finished his testing. I'll give this a try as well.


----------



## Trender07

Anyone with the AIR bios gets its HBM clocks locked to 800 MHz if you set 950 mV volts? I don't know what could be, but i.e you set 951 mV hbm and then it won't be locked anymore :s this happens to my cards since about 2 months or so since some drivers (this doesn't happens with the liquid bios)


----------



## SavantStrike

Quote:


> Originally Posted by *Y00overclock*
> 
> After many head aches and lots of experimenting I got to some nice numbers in ETH mining
> 
> 
> 
> 
> 
> 
> 
> , 43.7 MH/s with 222 W from wall and 125 in GPU-Z. (GPU -> P6=1002 and P7=1202, HBM 1105. The voltages are AUTO) this is my default configuration
> 
> 
> 
> 
> 
> 
> 
> . For this I used *Leons* PP. Thanks bro !
> 
> Next step in increassing the hash rate was to increase the HBM clock over the SOC Clock which was 1007.
> Fist step was to incresed the HBM clock over 1120. The Soc clock jumped to 1199 and also the GPU power consumtion jumped to 278W to the wall and 166W in GPU-Z. Hash rate was around 44.3MH/s
> 
> Continuing increassing the HBM frequency I got to 1200 MHZ. The hash rate got to 47.6MH/s and power consumption from the wall was 279W. The screen image started to show corruption in some areas, but this was not a problem because the shash rate was steady.
> 
> The hapiness was for short period because at this high hash rate I had no accepted shares and also massages with bad shares.
> 
> I will come later with some number for the accepted hashes related to HBM and Soc clocks.
> 
> Does anyone have any idea why at the "maximum" HBM clock no hases were accepted?


An unstable over clock will cause rejected shares. If you had artifacts I'd definitely say it was unstable







.

If you're using the block chain driver, your max core and HBM speeds may be lower (mine were), but overall performance will be better for mining.

Also something to check, you had crossfire disabled right? It kept turning back on for me and caused serious display artifacts


----------



## geriatricpollywog

Quote:


> Originally Posted by *hellm*
> 
> read what gupsterg wrote. I think it does stable 1100HBM without Software OC. i don't know if it is the latest what gupsterg found out, but it should work. I just did that for testing..
> U can test this with any BIOS. It is 220W Vega64 stock, maybe i do the LC BIOS later.


I like how this bios sets the default HBM to 1100, but it sets the core to 1632 which is too low and it sets the HBM voltage to 1200, which is too high. What would I change in my PP table to set the following:
P6 1667/1150
P7 1762/1200
HBM 1110/950
70 C temp target


Thanks!


----------



## hellm

Quote:


> Originally Posted by *linkod*
> 
> I can just change DC 00 to 08 01, right?..


not every DC,00 you find, but yes.
Quote:


> Originally Posted by *0451*
> 
> I like how this bios sets the default HBM to 1100, but it sets the core to 1632 which is too low and it sets the HBM voltage to 1200, which is too high. What would I change in my PP table to set the following:
> P6 1667/1150
> P7 1762/1200
> HBM 1110/950
> 70 C temp target
> [..]


i don't have the time right now, but HBM clockrate is this:
B0,AD,01,00

how to find GPU clocks, see page 26 or OP.

i don't know about the HBM voltage, i guess u mean this voltage floor thing under HBM frequency in wattman, i gues that would be a result of the changes or something. still needs testing..


----------



## Razkin

Quote:


> Originally Posted by *Y00overclock*
> 
> After many head aches and lots of experimenting I got to some nice numbers in ETH mining
> 
> 
> 
> 
> 
> 
> 
> , 43.7 MH/s with 222 W from wall and 125 in GPU-Z. (GPU -> P6=1002 and P7=1202, HBM 1105. The voltages are AUTO) this is my default configuration
> 
> 
> 
> 
> 
> 
> 
> . For this I used *Leons* PP. Thanks bro !
> 
> Next step in increassing the hash rate was to increase the HBM clock over the SOC Clock which was 1007.
> Fist step was to incresed the HBM clock over 1120. The Soc clock jumped to 1199 and also the GPU power consumtion jumped to 278W to the wall and 166W in GPU-Z. Hash rate was around 44.3MH/s
> 
> Continuing increassing the HBM frequency I got to 1200 MHZ. The hash rate got to 47.6MH/s and power consumption from the wall was 279W. The screen image started to show corruption in some areas, but this was not a problem because the shash rate was steady.
> 
> The hapiness was for short period because at this high hash rate I had no accepted shares and also massages with bad shares.
> 
> I will come later with some number for the accepted hashes related to HBM and Soc clocks.
> 
> Does anyone have any idea why at the "maximum" HBM clock no hases were accepted?


You don't need that high a core clock. I have an Vega [email protected] air bios 900MHz P6/[email protected],875V 1150MHz HBM. It pulls 160W at the wall. GPU-Z shows around 125W and the hashrate is 45,2MH/s. This can be done without pp mods,


----------



## r9miner

Quote:


> Originally Posted by *Razkin*
> 
> You don't need that high a core clock. I have an Vega [email protected] air bios 900MHz P6/[email protected],875V 1150MHz HBM. It pulls 160W at the wall. GPU-Z shows around 125W and the hashrate is 45,2MH/s. This can be done without pp mods,


What HBM voltage setting are you using in OverdriveNTool for 1150mhz stable? Also have you tried mining monero with the same settings?


----------



## Razkin

900mV. I have not tried Monero that much, payout threshold of 4 xmr doesn't make much sense with one card, it does need a much higher core clock(thus power) to reach +/- 1800H/s+, I also was not able to get stable hashrates near the 2000 mark as some others on the net were able to.


----------



## Nemesis.ie

Quote:


> Originally Posted by *chris89*
> 
> Anyone have a good VEGA & RYZEN Gameplay Channel On YouTube?


AMDMatt.









https://www.youtube.com/channel/UCeng2Cz9lRsHEQ7Ea-POxqg

DudeRandom

https://www.youtube.com/user/DudeRandom84

And others, have a little search.


----------



## Paradigm5h1f7

Whoa! I hit the right thread! Thank you so much for your information... it helped me tweak my card a lot!

I have been doing a lot of reading, and is it true that the Vega Bios cannot be modified like my old Polaris bios could? I was wondering if I could do a bios strap for a few extra FPS. I stumbed on this and was wondering if it was worth while to compile and test?

https://github.com/ghosttr/VegaBiosReader/commits?author=ghosttr&since=2017-09-01T04:00:00Z&until=2017-10-01T04:00:00Z


----------



## porschedrifter

Who had the card die? I saw it in one of the threads but now I cant find it and I'm curious how it died


----------



## Paradigm5h1f7

Is that a hint I gonna brick my card with an un official bios tweak? I heard something like that, but am unsure. Cryin shame if AMD did that.


----------



## porschedrifter

There should be zero problems if you flash to the 64 bios. It's when you start tweaking things and digging deeper with other tools that can cause problems.


----------



## geriatricpollywog

The guy who broke his card had attached a heavy homemade cooler using only 4 points on the PCB for support and he removed/remounted the cooler several times.


----------



## TrixX

Quote:


> Originally Posted by *0451*
> 
> The guy who broke his card had attached a heavy homemade cooler using only 4 points on the PCB for support and he removed/remounted the cooler several times.


The cooler worked, it was the glued on heatsinks on the VRM's that broke it in the end as they were glued on when there was tension applied to the PCB (via the homebrew cooler). Had they been attached prior to tensioning the cooler it would have been fine.


----------



## porschedrifter

Quote:


> Originally Posted by *0451*
> 
> The guy who broke his card had attached a heavy homemade cooler using only 4 points on the PCB for support and he removed/remounted the cooler several times.


Ok great thanks for the reply.

Can anyone running a higher HBM than 1000 and upward do a test for me?
http://www.geeks3d.com/furmark/rog/

I get reported artifacts with stock voltage at anything above 1000 HBM @ 1080v or lower voltage using FurMark ROG Edition, no artifacts in games mind you, but the artifact scan (3d test #3) in under 10 minutes will show 1 artifact detected. I'm running stock air clocks with exception to HBM for testing.

Curious to see if its my card or if everyone else running higher HBM clocks get detected artifacts but just aren't picking them up while gaming and not realizing it.







PM me or quote me if you try this. I run a 1024x768 res window (non fullscreen) test.

I'm currently testing now, but so far anything above 1000 HBM will get detected artifacts on stock volts.


----------



## ducegt

Reddit user said be uploaded the Power Color 64 BIOS versions to TPU


----------



## asder00

You can find them in the unverified uploads category:

https://www.techpowerup.com/vgabios/196851/196851
https://www.techpowerup.com/vgabios/196852/196852
https://www.techpowerup.com/vgabios/196853/196853


----------



## paih85

Quote:


> Originally Posted by *asder00*
> 
> You can find them in the unverified uploads category:
> 
> https://www.techpowerup.com/vgabios/196851/196851
> https://www.techpowerup.com/vgabios/196852/196852
> https://www.techpowerup.com/vgabios/196853/196853


what the different between this 3 bios? can i flash to vega56 reference card like other vega64 bios?


----------



## ducegt

Well, the Devil OC BIOS is very comparable in my testing to LC high perf version as would be expected. No abnormalities noticed. The 260w power limit seemingly took effect with 11.4 drivers.


----------



## gupsterg

Quote:


> Originally Posted by *0451*
> 
> I like how this bios sets the default HBM to 1100, but it sets the core to 1632 which is too low and it sets the HBM voltage to 1200, which is too high. What would I change in my PP table to set the following:
> P6 1667/1150
> P7 1762/1200
> HBM 1110/950
> 70 C temp target
> 
> 
> Spoiler: Warning: Spoiler!
> 
> 
> 
> 
> 
> 
> Thanks!


Sorry for delayed response, I have been away for over just a week or so and just read thread now. Hellm has implemented what I did to my card as in quote of post 846), *but* as I use lower DPM 7 mV in reg file than 1200mV it would use that which he has not done. Which I probably wouldn't do when releasing a base reg file for people to use as well, as I would expect them to edit as they need. Use the Halsafar's Vega64SoftPowerTableEditor in OP to mod the reg file as you need.

Section Testing of PowerPlay registry mods > What is HBM voltage in WattMan/OverdriveNTool? has text:-
Quote:


> Each HBM DPM has an association with SOCCLK, the SOCCLK I believe is linking to a GPU state.
> 
> So what happens is WattMan/OverdriveNTool picks up the HBM DPM, sees the link from it to SOCCLK/GPUCLK and shows a value of mV for that GPU DPM. If you read the linked post earlier you will have seen that HBM and SOC clock tables have no voltages, just link via ID number, etc.


Quote:


> Originally Posted by *Leons*
> 
> My difficulties with English do not allow me to convey exactly the meaning of my post and also to understand in the right way your reply, for this I apologize a lot.
> My post did not want in any way contradicting your or intervening in the conversation with Nuke33.
> I simply shared my experiences in the hope that real experts like you might perhaps find information that would allow improvements in the management of these cards.
> I simply feed myself daily of your and other expert information and for this I can only thank you for the work you do and share.
> To conclude, hoping to have correctly transmitted my position as a simple user, I would like to specify that when I wrote that I have associated the Pstate HBM to its Pstate GPU I simply entered the values 0-1-2-3 in the entry ucVddInd in the fields Mem Clock from 0 to 3 of VEGA SoftPowerTableEditor; In relation to the Soc Clock I have not performed any changes I have simply ascertained that with the latest drivers, it is automatically set to 1,199 MHz if the HBM frequency is set to a value greater than 1,107 MHz, but this is also something I learned Reading the posts of this community.
> Greetings to all, thank you to exist.


Ahh OK I understand now that you are gaining SOC 1199MHz as you clocked HBM higher. I no way thought you were contradicting any information discussed before in thread. Any way thank you for share of your testing







.


----------



## geriatricpollywog

Quote:


> Originally Posted by *gupsterg*
> 
> Sorry for delayed response, I have been away for over just a week or so and just read thread now. Hellm has implemented what I did to my card as in quote of post 846), *but* as I use lower DPM 7 mV in reg file than 1200mV it would use that which he has not done. Which I probably wouldn't do when releasing a base reg file for people to use as well, as I would expect them to edit as they need. Use the Halsafar's Vega64SoftPowerTableEditor in OP to mod the reg file as you need.
> 
> Section Testing of PowerPlay registry mods > What is HBM voltage in WattMan/OverdriveNTool? has text:-
> 
> Ahh OK I understand now that you are gaining SOC 1199MHz as you clocked HBM higher. I no way thought you were contradicting any information discussed before in thread. Any way thank you for share of your testing
> 
> 
> 
> 
> 
> 
> 
> .


Thanks for the response. I'll give it a try.


----------



## chris89

You guys are tweaking away on software overclocks, no bios modding yet... How does your software overclocks compare to 390x? I think my 390x will outperform your HBM2, I think...


----------



## Leons

Spoiler: Warning: Spoiler!



Quote:


> Originally Posted by *chris89*
> 
> You guys are tweaking away on software overclocks, no bios modding yet... How does your software overclocks compare to 390x? I think my 390x will outperform your HBM2, I think...






Vega56 @ Vega64 bios + PP mod


----------



## TrixX

So that's a big fat no Chris


----------



## chris89

Well at least the Greanda XT still holds the lead on Double Precision Flops... haha Amazing VEGA Memory Bandwidth...

PS - I'd expect more Single Precision FLOPs...


----------



## geriatricpollywog

Even Fiji beats Grenada in memory bandwidth.


----------



## ducegt

Quote:


> Originally Posted by *chris89*
> 
> Well at least the Greanda XT still holds the lead on Double Precision Flops... haha Amazing VEGA Memory Bandwidth...
> 
> PS - I'd expect more Single Precision FLOPs...


Nope.


----------



## laczarus

Is there a bios from the Powercolor 64 available?
I can't seem to find any on the techpowerup db


----------



## Trender07

Quote:


> Originally Posted by *ducegt*
> 
> Well, the Devil OC BIOS is very comparable in my testing to LC high perf version as would be expected. No abnormalities noticed. The 260w power limit seemingly took effect with 11.4 drivers.


Quote:


> Originally Posted by *laczarus*
> 
> Is there a bios from the Powercolor 64 available?
> I can't seem to find any on the techpowerup db


Yeah this is oc profile afaik https://www.techpowerup.com/vgabios/196853/196853


----------



## chris89

Quote:


> Originally Posted by *ducegt*
> 
> Nope.


Thank you. Finally someone who really makes it run as fast as its supposed to!! 15 Tera Flops!! That's TITAN V performance.


----------



## joylancer

My Vega-non-OC


----------



## chris89

Quote:


> Originally Posted by *joylancer*
> 
> My Vega-non-OC


Your CPU rocks those are some serious Single Precision & Double Precision Numbers.


----------



## hellm

Quote:


> Originally Posted by *asder00*
> 
> You can find them in the unverified uploads category:
> 
> https://www.techpowerup.com/vgabios/196851/196851
> https://www.techpowerup.com/vgabios/196852/196852
> https://www.techpowerup.com/vgabios/196853/196853


The difference between the first two Vega 64 Devil BIOS versions: one is with zero fan, the other BIOS is not; both have a 220W power limit. And then there is the 260W OC BIOS, which also has the zero fan feature disabled, rest is the same. TdcLimit is 300W for all versions.

Besides the fan table, the SoftwareShutdownTemp (2°C higher) and the power limits, everything else is the same as found in the Vega64 air PowerPlay table. Except one thing, MCLK DPM 3.
i found this in the Vega64 BIOS:
24 71 01 00 *04* 00 00
Devil:
24 71 01 00 *05* 00 00
Strix:
24 71 01 00 *05* 00 00
64LC:
24 71 01 00 *02* 00 00
FE / FELC:
24 71 01 00 *03* 00 00
and this is the SOC_VDD index..

here is the Devil SoftPowerPlay:

MorePowerVega64devil.zip 1k .zip file


----------



## Leons

Quote:


> Originally Posted by *hellm*
> 
> The difference between the first two Vega 64 Devil BIOS versions: one is with zero fan, the other BIOS is not; both have a 220W power limit. And then there is the 260W OC BIOS, which also has the zero fan feature disabled, rest is the same. TdcLimit is 300W for all versions.
> 
> Besides the fan table, the SoftwareShutdownTemp (2°C higher) and the power limits, everything else is the same as found in the Vega64 air PowerPlay table. Except one thing, MCLK DPM 3.
> i found this in the Vega64 BIOS:
> 24 71 01 00 04 00 00
> Devil:
> 24 71 01 00 05 00 00
> Strix:
> 24 71 01 00 05 00 00
> 64LC:
> 24 71 01 00 02 00 00
> FE / FELC:
> 24 71 01 00 03 00 00
> 
> and here is the Devil SoftPowerPlay:
> 
> MorePowerVega64devil.zip 1k .zip file


According to my experience (please check) the numbers 04-05-02-03 are the DPM status of the GPU to which the DPM 3 Mem is associated; The voltage of the Mem we see in Wattman is that of the associated DPM GPU.

I did a quick test of the OC RED DEVIL bios on my Vega 56 and I noticed, apart from the management of the fans, that there is no Vdroop compared to the tensions set manually, indeed there are higher peaks.


----------



## hellm

Yes, SOC_VDD index points to SOC DPM (00-07) in SoC table.

Since the VRM isn't fully the same, i would recommend to not use the BIOS of a different card. There could be complications, like those spikes, which could damage your GPU over time. So, better safe than sorry..

Max voltage is 1200mV in ASIC_Profiling table of the devil bios.


----------



## chris89

https://www.youtube.com/channel/UCfjHkc1HNf5lkzzfUaD6-Uw?view_as=subscriber


----------



## diabetes

Can the ASIC_Profiling table also be changed via registry or is this bios only?


----------



## hellm

No, that would be BIOS only.

If u have a reference design, you can flash the LC BIOS and use the PowerPlay table of the air version. Or u can also overvolt with PowerPlay, u have to switch to manual voltage, though.


----------



## MHBGT

TLDR







: I would like to obtain a stock Vega 56 Power play table for the reference AMD design.

I've applied a custom Vega 64 Power Play table to my stock Vega 56 (modified the reg table to 950MHz HBM instead of 1100). This reg also sets voltages to max 905mV and SoC to 1200MHz. The cores P-states max out at 1350MHz which is perfectly stable, and rock solid using blockchain compute drivers. Someone on Reddit mentioned that it was a bad idea to apply the Vega 64 powerplay table to a stock Bios Vega 56. To which I replied that the logic for powerplay should be similar since its just one reg file thats being applied. But it got me wondering what the differences are between the Vega 56 powerplay tables and Vega 64.

When I backed up my vega's registry directory, I noticed it did not contain a SoftPowerplay table (before I applied the V64 one). Does anyone have a V56 SoftPowerPlay table I can compare with?


----------



## chris89

I found out how to get the 390x to compute like a mofo & my score soared... I even managed to pull 35,000 K samples per second on LuxBall which is awesome for the 390X. Crashed though. But I'll try & wiggle my way up to the top of the charts on the 390X









By the way these are the highest results in the world

What happened is the 390X hit the VTEC when the test was running upping memory clock from 1,563mhz to 1,650mhz & the samples soared over 15,000 samples extra per second would've been #2


----------



## geriatricpollywog

Quote:


> Originally Posted by *chris89*
> 
> I found out how to get the 390x to compute like a mofo & my score soared... I even managed to pull 35,000 K samples per second on LuxBall which is awesome for the 390X. Crashed though. But I'll try & wiggle my way up to the top of the charts on the 390X
> 
> 
> 
> 
> 
> 
> 
> 
> 
> By the way these are the highest results in the world
> 
> What happened is the 390X hit the VTEC when the test was running upping memory clock from 1,563mhz to 1,650mhz & the samples soared over 15,000 samples extra per second would've been #2


I tried registering, but the site was unable to send the registration email. I tried again using a different email address and same result. Not surprised since the LuxMark website looks like it hasn't been updated since the mid 90s. Anyway, my result was 30,554. I must have one of the best GPUs in the world.


----------



## chris89

Quote:


> Originally Posted by *0451*
> 
> I tried registering, but the site was unable to send the registration email. I tried again using a different email address and same result. Not surprised since the LuxMark website looks like it hasn't been updated since the mid 90s. Anyway, my result was 30,554. I must have one of the best GPUs in the world.


Amazing... I'll try requesting email reset ... my email is hotmail...

On LuxMark Hotel it's far too complex for my GPU for some reason cannot get any decent score at all... Only LuxBall runs sort-of-okay sometimes.

Ray Tracing is very high tech task, I find it to be awesome... I can't wait until we get these graphics in games...

Binaries

- Windows 64bit: http://www.luxrender.net/release/luxmark/v3.1/luxmark-windows64-v3.1.zip (note: you may have to install VisualStudio 2013 C++ runtime => https://www.microsoft.com/en-US/download/details.aspx?id=40784)


----------



## ducegt

Would this help us in our pursuit?

https://news.slashdot.org/story/17/12/14/006237/avast-launches-open-source-decompiler-for-machine-code


----------



## hellm

i don't think this would help. i am no programmer either, but i know a few things. We don't have machine code here, we have a atombios structure. and the signing part, which we really could identify with all those quite similar BIOS files for each card, we don't know how it is compressed or encrypted or whatever.
If we do, some genius maybe is able to hack it, like lordkag did the UEFI/GOP.
But maybe it is just the BIOS-id-stuff bytes at the beginning of the rom? Those few bytes before "ATOMBIOS", and change everytime u flash a modded BIOS..

I think it is possible, but someone with a lot more knowledge has to give us some hint. Or more than that, and AMD made everyone sign something, i don't know. Would be great for memory timings, at least.


----------



## roost610

I wonder if some kind of nand exploit would be possible like they did to the Xbox 360. Something about being vulnerable at boot.

I have no idea but it sounds like a huge overtaking with a small outcome in the grand scheme of things. I would love to see it happen but I have my doubts.


----------



## chris89

I wonder why my system has such trouble on Luxmark Hotel when other systems are out running mine by massive margins?

I wonder if Ryzen + Vega Magically can do like 5-10,000 when my system is only 3,052 & that was difficult to achieve with overclocked dual xeon's & 1200mhz 1602mhz 390x


----------



## MrWeathers

Has anyone got their hands on a vbios for MSI Vega 64 Air Boost? If so, please share

Here's the MSI Vega 56 Air boost w/ Hynix HBM2

https://transfer.sh/u7WdZ/Msi-Vega56-AirBoost.zip

ROM SHA-256: 727AD47E3CD1FAF77FFA38847F4493B192D4ADD384C6C01D92622329683C6090


----------



## geriatricpollywog

Quote:


> Originally Posted by *chris89*
> 
> I wonder why my system has such trouble on Luxmark Hotel when other systems are out running mine by massive margins?
> 
> I wonder if Ryzen + Vega Magically can do like 5-10,000 when my system is only 3,052 & that was difficult to achieve with overclocked dual xeon's & 1200mhz 1602mhz 390x


It's kind of an obscure benchmark. If you are seeing good performance in games and DirectX/Vulkan, I wouldn't put too much thought into it.


----------



## ubuntuminer18

You manage to get a RX Vega 64 MSI Air Boost 8GB OC VBIOS ROM??? Looking for one myself, let me know if you happen to get a legit one.


----------



## ubuntuminer18

Quote:


> Originally Posted by *MrWeathers*
> 
> Has anyone got their hands on a vbios for MSI Vega 64 Air Boost? If so, please share
> 
> Here's the MSI Vega 56 Air boost w/ Hynix HBM2
> 
> https://transfer.sh/u7WdZ/Msi-Vega56-AirBoost.zip
> 
> ROM SHA-256: 727AD47E3CD1FAF77FFA38847F4493B192D4ADD384C6C01D92622329683C6090


You manage to get a RX Vega 64 MSI Air Boost 8GB OC VBIOS ROM??? Looking for one myself, let me know if you happen to get a legit one.


----------



## porschedrifter

So now that there's quite a few bios options in the database when factoring in the unverified section, which version has everyone settled upon?


----------



## chris89

Has anyone been able to clearly surpass the GTX 1080 yet? because if not the GTX 980 Ti Windforce is probably a better purchase with GTX 1080 performance and $500 cheaper than VEGA 64 etc


----------



## SpecChum

Quote:


> Originally Posted by *chris89*
> 
> Has anyone been able to clearly surpass the GTX 1080 yet? because if not the GTX 980 Ti Windforce is probably a better purchase with GTX 1080 performance and $500 cheaper than VEGA 64 etc


Certainly wasn't $500 cheaper than my Vega 64, unless a 980Ti costs $100...


----------



## SavantStrike

Quote:


> Originally Posted by *chris89*
> 
> Has anyone been able to clearly surpass the GTX 1080 yet? because if not the GTX 980 Ti Windforce is probably a better purchase with GTX 1080 performance and $500 cheaper than VEGA 64 etc


The 980 TI is a bad choice these days. Limited RAM and only matches a 1070. Get a 1070/1080 or wait for more Vega cards in stock at reasonable prices


----------



## chris89

Maybe you guy's could straight up wax these 980 Ti scores now with your migraine registry tweaks from hell? hahahaha









*** No BIOS Mods For VEGA makes it like completely worthless to me









According to this... 980 Ti on Time Spy is waxing the Vega 64 Liquid by nearly 20 frames per second.

On Time Spy Extreme The 980 Ti is behind by just 5 frames per second.

It has 96 ROP, in what world would a GAMER prefer 64 ROP over 96 ROP?

https://www.3dmark.com/compare/spy/2222930/spy/2680034/spy/2918928/spy/2966282

https://www.3dmark.com/compare/fs/6287323/fs/14417888/fs/14114520/fs/14235008


----------



## geriatricpollywog

Quote:


> Originally Posted by *chris89*
> 
> Maybe you guy's could straight up wax these 980 Ti scores now with your migraine registry tweaks from hell? hahahaha
> 
> 
> 
> 
> 
> 
> 
> 
> 
> *** No BIOS Mods For VEGA makes it like completely worthless to me
> 
> 
> 
> 
> 
> 
> 
> 
> 
> According to this... 980 Ti on Time Spy is waxing the Vega 64 Liquid by nearly 20 frames per second.
> 
> On Time Spy Extreme The 980 Ti is behind by just 5 frames per second.
> 
> It has 96 ROP, in what world would a GAMER prefer 64 ROP over 96 ROP?
> 
> https://www.3dmark.com/compare/spy/2222930/spy/2680034/spy/2918928/spy/2966282
> 
> https://www.3dmark.com/compare/fs/6287323/fs/14417888/fs/14114520/fs/14235008


Out of all the 100s of GTX 1080s on HWBot, only 1 has a higher Firestrike graphics score than my Vega (27,300) without the aid of a chiller, phase change, or LN2. And it was on an open test bench. Yet there are many Vegas with a higher score.


----------



## TrixX

Quote:


> Originally Posted by *0451*
> 
> Out of all the 100s of GTX 1080s on HWBot, only 1 has a higher Firestrike graphics score than my Vega (27,300) without the aid of a chiller, phase change, or LN2. And it was on an open test bench. Yet there are many Vegas with a higher score.


Just put Chris on block. For the one or two bits of information he ever puts into the discussion there's a 100 posts full of nonsense.


----------



## chris89

Quote:


> Originally Posted by *TrixX*
> 
> Just put Chris on block. For the one or two bits of information he ever puts into the discussion there's a 100 posts full of nonsense.


I don't mind being blocked, I'm just a little bit frustrated that Vega isn't bios moddable & prices are so ridiculous on these cards, I doubt I'll ever buy one because of no bios modding & high prices









If one day bios modding is possible I'm a huge AMD fan & really want to try Vega, but until then I guess the 980 Ti Windforce for $379 on ebay is just so much cheaper with maxwell bios editing.

*Have you guy's checked prices on Vega 64 lately? over $1,000 everywhere*...


----------



## SavantStrike

Quote:


> Originally Posted by *chris89*
> 
> Maybe you guy's could straight up wax these 980 Ti scores now with your migraine registry tweaks from hell? hahahaha
> 
> 
> 
> 
> 
> 
> 
> 
> 
> *** No BIOS Mods For VEGA makes it like completely worthless to me
> 
> 
> 
> 
> 
> 
> 
> 
> 
> According to this... 980 Ti on Time Spy is waxing the Vega 64 Liquid by nearly 20 frames per second.
> 
> On Time Spy Extreme The 980 Ti is behind by just 5 frames per second.
> 
> It has 96 ROP, in what world would a GAMER prefer 64 ROP over 96 ROP?
> 
> https://www.3dmark.com/compare/spy/2222930/spy/2680034/spy/2918928/spy/2966282
> 
> https://www.3dmark.com/compare/fs/6287323/fs/14417888/fs/14114520/fs/14235008


If you're making your decisions based on time spy benchmarks then you'll be disappointed.

The 980 TI can't even beat a vanilla 1080. It's old, slow, has little vram, and consumes a butt load of power. Picking it because you can mod the BIOS is a poor selection criteria. Going forward BIOS mods are dead, so get used to it.


----------



## chris89

Is it that the Elite is forcing the World to pay $1000 for a Vega 64 & be told you cannot bios mod & just do as your told?


----------



## RatusNatus

Well, despite now being US$1100 to 1300 here at Brazil, ive bought 6 for 757 each shipped.
Yes its for a mining rig im building.

Ive decided to test one in my rig before all parts arrive. It will be great to dump my old R9 290 that only works with Catalyst 13.12.
So i did, just to find out little later when connecting the cables that my Vega, none of the 6 cards have a DVI port to my 144hz monitor.

This is really frustrating.

The new ones are coming out with 3x 8 pin power...


----------



## SavantStrike

Quote:


> Originally Posted by *chris89*
> 
> Is it that the Elite is forcing the World to pay $1000 for a Vega 64 & be told you cannot bios mod & just do as your told?


What? There is no hardware illuminati grand conspiracy here.

Both AMD and nvidia have BIOS mods locked down. It's a number of things, including UEFI, secure boot, windows, and market segmentation of GPUs.

The Vega costs more right now because it's a compute monster that's not in major production. I'm not some blind fanboy, I usually tell people to buy a 1080/1070 if they can't wait for a reasonably priced Vega.

If you want to buy an old nvidia card feel free, but it's not a good buy.


----------



## TrixX

Hell most people who are impatient and/or don't like to tweak their cards should just grab a 1070 or something like that. If you have enough patience to do some testing and find the card's sweetspot then you can gain big, however Vega's got a pretty rough silicon lottery.


----------



## chris89

Yeah I hear ya @TrixX Vega is amazing it's unreal it's so awesome ... 15 tera flops.. thats equal to TITAN V but I think those Doubler Coils cause that high power yield whine when computing since they tend to run 100 degrees celsius & electrical components tend to whine above 100 degrees celsius especially when under a high power current.

first part to heat up is the Doubler Coils which if I bought a Vega I would mod them thermally simple thermal pad to eliminate the whine under load haha

That's in a year though... Christmas 2018 because Vega is $1,000 right now... However I did see Vega Frontier Edition $950 on ebay.


----------



## Nemesis.ie

Quote:


> Originally Posted by *RatusNatus*
> 
> I've decided to test one in my rig before all parts arrive. It will be great to dump my old R9 290 that only works with Catalyst 13.12.


I'm wondering why that's happening? I'm running my 290Xes with 17.12.2 with no issues at all.


----------



## hellm

i believe it went a little OT, and not only since the last page..

i'm just saying.. i mean all those different benchmarks, info about pricing and other graphics cards is fun to read.. but there is a Vega Owners Thread, and here we should talk about all the Vega BIOS related stuff..


----------



## Nemesis.ie

Agreed, sorry for getting sucked in!









At least I actually own some V64s.


----------



## Trender07

Aye aye lets wait & see if someone got the V64 MSI Air Boost BIOS and see if it actually have a difference for us Air users


----------



## Nuke33

Hi everyone, sorry for not answering any of your messages.
I was out of the country the last 2 months and only had time to peek at this thread once in a while.










@gupsterg

I will read your posts in detail the next few days and come back to you, I promise









So for now I leave you with an *Vega Frontier Edition AIO Bios*

I believe no one has posted any until now.

Bios 1: Vega-FE-AIO-016.001.000.004.008581

Bios 2: Vega-FE-AIO-016.001.000.004.008582

Happy holidays and merry Christmas


----------



## gupsterg

NP







, seasons greetings and thanks for VBIOS share







.


----------



## flamez

hi guys, noob here, I have a sapphire nitro 56.if there is any interest just let me know and I'll upload the bios file


----------



## flamez

Quote:


> Originally Posted by *Nuke33*
> 
> Hi everyone, sorry for not answering any of your messages.
> I was out of the country the last 2 months and only had time to peek at this thread once in a while.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> @gupsterg
> 
> I will read your posts in detail the next few days and come back to you, I promise
> 
> 
> 
> 
> 
> 
> 
> 
> 
> So for now I leave you with an *Vega Frontier Edition AIO Bios*
> 
> I believe no one has posted any until now.
> 
> Bios 1: Vega-FE-AIO-016.001.000.004.008581
> 
> Bios 2: Vega-FE-AIO-016.001.000.004.008582
> 
> Happy holidays and merry Christmas


I have the standard vega fe air, has anything flashed the AIO onto it? is it safe and stable?


----------



## gupsterg

Yes you can cross flash VEGA FE AIR to AIO. IIRC clocks may not differ, the AIO version may have lower temp limits which may create more throttling on your FE AIR.

Yes please share Sapphire RX VEGA 56 Nitro VBIOS







.


----------



## geriatricpollywog

Flashing FE Air to Liquid bios should be mandatory for anyone who installs a waterblock.


----------



## flamez

thank for the reply, here is the bios as promised.









vega56nitroOem.zip 136k .zip file


so should I try flashing any vega 64 bios onto my nitro 56? or does it have to be a vega 64 nitro bios?


----------



## Trender07

Quote:


> Originally Posted by *flamez*
> 
> thank for the reply, here is the bios as promised.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> vega56nitroOem.zip 136k .zip file
> 
> 
> so should I try flashing any vega 64 bios onto my nitro 56? or does it have to be a vega 64 nitro bios?


Well at least I'd say flash a v64 with fan cooler instead of blower because of RPM speeds


----------



## lfarkas

are you able to get the rom for
Quote:


> Originally Posted by *ubuntuminer18*
> 
> You manage to get a RX Vega 64 MSI Air Boost 8GB OC VBIOS ROM??? Looking for one myself, let me know if you happen to get a legit one.


are you able to get bios for RX Vega 64 MSI Air Boost 8GB OC?
may i ask you to notify me when you can get it?
thanks.


----------



## gupsterg

Quote:


> Originally Posted by *flamez*
> 
> thank for the reply, here is the bios as promised.
> 
> 
> 
> 
> 
> 
> 
> 
> 
> vega56nitroOem.zip 136k .zip file
> 
> 
> so should I try flashing any vega 64 bios onto my nitro 56? or does it have to be a vega 64 nitro bios?


+rep for VBIOS share







.

You maybe able to get away using ref PCB RX V64 VBIOS, but not ideal IMO. I would use Nitro V64 VBIOS for experimenting.


----------



## masri01

Can someone help me source VBIOS for MSI RX Vega 64 Air Boost 8GB OC or is there any other bios I can flash instead. I'm currently using a MSI RX Vega 56 Air Boost 8GB OC edition, tried using the using the standard MSI Vega 64 bios but it didn't work! Thanks


----------



## strumf666

Quote:


> Originally Posted by *0451*
> 
> Flashing FE Air to Liquid bios should be mandatory for anyone who installs a waterblock.


I have a regular powercolor aircooled vega 64 with EKWB FC cooling and flashing AIO bios just introduced crashes and freezes. Even lowering the clocks in watman to stock air values didn't fix it. So I am not so sure this will work 100% for every card. A friend of mine has the same card with same cooling and same issues with AIO bios. Perhaps they are picking better gpus for AIB cards?
I did some testing and comparing, I can overclock my card to P7/P6 1732/1667 HBM 1100 on stock voltage (speaking of which stock "hbm" voltage with my card is 1050 iirc, not 950 as it should be?), power limit +50 in watman works. Trying to change limits using soft PowerPlay also results in crashes/freezes, but I can use it to set custom wattman clocks. Anyone with similar experiences?


----------



## geriatricpollywog

Quote:


> Originally Posted by *strumf666*
> 
> I have a regular powercolor aircooled vega 64 with EKWB FC cooling and flashing AIB bios just introduced crashes and freezes. Even lowering the clocks in watman to stock air values didn't fix it. So I am not so sure this will work 100% for every card. A friend of mine has the same card with same cooling and same issues with AIB bios. Perhaps they are picking better gpus for AIB cards?
> I did some testing and comparing, I can overclock my card to P7/P6 1732/1667 HBM 1100 on stock voltage (speaking of which stock "hbm" voltage with my card is 1050 iirc, not 950 as it should be?), power limit +50 in watman works. Trying to change limits using soft PowerPlay also results in crashes/freezes, but I can use it to set custom wattman clocks. Anyone with similar experiences?


What bios version?


I'm not entirely convinced there is a silicon lottery with Vega. Just a fortunate combination of bios versions, powerplay tables, wattman settings, and above all, cooling.


----------



## porschedrifter

Quote:


> Originally Posted by *0451*
> 
> What bios version?
> 
> 
> I'm not entirely convinced there is a silicon lottery with Vega. Just a fortunate combination of bios versions, powerplay tables, wattman settings, and above all, cooling.


8733


----------



## Nemesis.ie

Quote:


> Originally Posted by *strumf666*
> 
> I have a regular powercolor aircooled vega 64 with EKWB FC cooling and flashing AIB bios just introduced crashes and freezes. Even lowering the clocks in watman to stock air values didn't fix it. So I am not so sure this will work 100% for every card. A friend of mine has the same card with same cooling and same issues with AIB bios. Perhaps they are picking better gpus for AIB cards?
> I did some testing and comparing, I can overclock my card to P7/P6 1732/1667 HBM 1100 on stock voltage (speaking of which stock "hbm" voltage with my card is 1050 iirc, not 950 as it should be?), power limit +50 in watman works. Trying to change limits using soft PowerPlay also results in crashes/freezes, but I can use it to set custom wattman clocks. Anyone with similar experiences?


I assume you mean AIO rather than AIB?

I had much better luck putting the AIO BIOSes on my air cards using ATIWinflash rather than the DOS version.


----------



## masri01

Can someone help me source VBIOS for MSI RX Vega 64 Air Boost 8GB OC or is there any other bios I can flash instead. I'm currently using a MSI RX Vega 56 Air Boost 8GB OC edition, tried using the using the standard MSI Vega 64 bios but it didn't work! Thanks


----------



## strumf666

Quote:


> Originally Posted by *0451*
> 
> What bios version?
> 
> 
> I'm not entirely convinced there is a silicon lottery with Vega. Just a fortunate combination of bios versions, powerplay tables, wattman settings, and above all, cooling.


Stock bios version is .8706; tried with a few never bioses as well but it din't make any difference.
Quote:


> Originally Posted by *Nemesis.ie*
> 
> I assume you mean AIO rather than AIB?
> 
> I had much better luck putting the AIO BIOSes on my air cards using ATIWinflash rather than the DOS version.


Corrected AIB to AIO, thanks.
I flashed with winflash, didn't try the dos version.


----------



## rubenlol2

Tinkering around with my Vega I noticed I could set HBM above 1100 now with the modern drivers, mine is 1200mhz stable.
Seeing 48 m/h Ethereum is pretty sweet.


----------



## geriatricpollywog

Quote:


> Originally Posted by *rubenlol2*
> 
> Tinkering around with my Vega I noticed I could set HBM above 1100 now with the modern drivers, mine is 1200mhz stable.
> Seeing 48 m/h Ethereum is pretty sweet.


Why aren't you mining Monero?
Quote:


> Originally Posted by *strumf666*
> 
> Stock bios version is .8706; tried with a few never bioses as well but it din't make any difference.


So you flashed the liquid bios, then which powerplay table did you apply?


----------



## strumf666

Tried both (air and AIO), tried without PP as well, crashes/freezes in all cases.


----------



## flamez

an ideas where I can find a nitro 64 bios please, my searches aren't finding any so far.


----------



## rubenlol2

Because it's more profitable to dual mine Ethereum + Lbry than it is to mine Monero at the moment.
Plus I'm building up for the minimum payout on my pool, I had 0.1eth laying around that wasn't paid yet.


----------



## jstefanop

Has anyone got their hands on the Sapphire or others AIB cards? Wondering if the custom PCB variants have disabled the security chip. Doubt it but would be pretty cool if AIB cards can finally edit BIOS.

If anyone has a card shoot me their BIOS ill do a basic BIOS mod to check if it will post.


----------



## rubenlol2

I'd be very careful about flashing a reference card with a custom AIB PCB bios as they might have different VRM configuration.
I'd doubt it that AMD would let AIBs bypass the security though.


----------



## stylelock

I have a Sapphire Nitro Vega 56. Give me instructions of what you want and I'll shoot it over.


----------



## gupsterg

Quote:


> Originally Posted by *jstefanop*
> 
> Has anyone got their hands on the Sapphire or others AIB cards? Wondering if the custom PCB variants have disabled the security chip. Doubt it but would be pretty cool if AIB cards can finally edit BIOS.
> 
> If anyone has a card shoot me their BIOS ill do a basic BIOS mod to check if it will post.


Post 868 has Red Devil 64. Post 926 has Nitro 56.


----------



## Sawence

A problem about Vega64SoftPowerTableEditor.
Why the tool exit automatically after selecting the bios file?
I have GTK# installed.


----------



## Leons

Quote:


> Originally Posted by *Sawence*
> 
> A problem about Vega64SoftPowerTableEditor.
> Why the tool exit automatically after selecting the bios file?
> I have GTK# installed.


First of all I apologize for my non-existent English (Bing Translate).
Secondly I'm not an expert but simple enthusiast so check with others as I say, if you can correct me I'm grateful.
Vega64SoftPowerTableEditor is designed to work on .reg files and not on BIOS (. rom) files.
It is also indicated that it does not work for Vega FE power play and from what I could even try with power play of Vega 64 Liquid cooled.
Personally I have always created my .reg file by extracting power play Info from the BIOS present on my card, I do not know if you can use power play of another BIOS (please someone more experienced to answer this question if possible, thanks).
Without creating a new post I would like to submit this too:
I flashed Vega 64 LC bios (... 8774), extract Power Play Info and created the file .reg as always; I manually modified the parameters of my interest but by running the file the registry key is not inserted, thinking of having made some mistakes in the changes I tried to enter the key without any changes but despite Windows tells me that the values have been incorporated into actually this does not happen.
Has anyone gotten the same?
Thanks for the reply.
Good 2018.


----------



## ColdDeckEd

Quote:


> Originally Posted by *rubenlol2*
> 
> Tinkering around with my Vega I noticed I could set HBM above 1100 now with the modern drivers, mine is 1200mhz stable.
> Seeing 48 m/h Ethereum is pretty sweet.


So its better to use normal driver instead of blockchain ver? I'm interested in switching my vega 64 and 56 over to eth if they are capable of those rates. Thanks for any info.


----------



## Anvh

Quote:


> Originally Posted by *strumf666*
> 
> I have a regular powercolor aircooled vega 64 with EKWB FC cooling and flashing AIO bios just introduced crashes and freezes. Even lowering the clocks in watman to stock air values didn't fix it. So I am not so sure this will work 100% for every card. A friend of mine has the same card with same cooling and same issues with AIO bios. Perhaps they are picking better gpus for AIB cards?
> I did some testing and comparing, I can overclock my card to P7/P6 1732/1667 HBM 1100 on stock voltage (speaking of which stock "hbm" voltage with my card is 1050 iirc, not 950 as it should be?), power limit +50 in watman works. Trying to change limits using soft PowerPlay also results in crashes/freezes, but I can use it to set custom wattman clocks. Anyone with similar experiences?


I have version 8774 flashed.
On default, i saw it peak to 1780+mhz in wattman, when doing some manual adjustment i found out that the scaling is really weird.
So I went down to 1680mhz @1050mv also put the memory to 1150mhz and that is stable for me, and i forgot but the power limit is at +50% as well.
I had vega64 air that I also installed EKWB block on.


----------



## strumf666

What kind of temperatures are you getting (bench/load/...) at stock frequencies or overclocked?

Is there a guide how to extract powerplay from bios?


----------



## gupsterg

Quote:


> Originally Posted by *Sawence*
> 
> A problem about Vega64SoftPowerTableEditor.
> Why the tool exit automatically after selecting the bios file?
> I have GTK# installed.
> 
> 
> Spoiler: Warning: Spoiler!


Not encountered this issue.
Quote:


> Originally Posted by *Leons*
> 
> First of all I apologize for my non-existent English (Bing Translate).
> Secondly I'm not an expert but simple enthusiast so check with others as I say, if you can correct me I'm grateful.
> Vega64SoftPowerTableEditor is designed to work on .reg files and not on BIOS (. rom) files.
> It is also indicated that it does not work for Vega FE power play and from what I could even try with power play of Vega 64 Liquid cooled.
> Personally I have always created my .reg file by extracting power play Info from the BIOS present on my card, I do not know if you can use power play of another BIOS (please someone more experienced to answer this question if possible, thanks).
> Without creating a new post I would like to submit this too:
> I flashed Vega 64 LC bios (... 8774), extract Power Play Info and created the file .reg as always; I manually modified the parameters of my interest but by running the file the registry key is not inserted, thinking of having made some mistakes in the changes I tried to enter the key without any changes but despite Windows tells me that the values have been incorporated into actually this does not happen.
> Has anyone gotten the same?
> Thanks for the reply.
> Good 2018.


Vega64SoftPowerTableEditor should work with RX VEGA 64 AIO PowerPlay.

Regarding the registry modification not applying:-

a) disabled Windows Fast Startup?
b) most registry modifications will apply to Balanced mode but some will only work/values appear in WattMan when in Custom mode.


----------



## Anvh

Quote:


> Originally Posted by *strumf666*
> 
> What kind of temperatures are you getting (bench/load/...) at stock frequencies or overclocked?
> 
> Is there a guide how to extract powerplay from bios?


Well stock crashes with me because the MHZ spikes to 1792mhz.
I can get 1680mhz stable with 1100mv going towards it which results in about 37 celsius under load but that is still with my setup running at around 70%
That is EKWB block for the GPU and CPU and 280se rad.

Power consumption is about 270watt and i get Time Spy Extreme scores around 3930

With gaming and chill on consumptions seems to hover around 70watt to push out 75fps with most games at 1440p, my monitor can do 144mhz but don't find it all that needed.
I set the chill in a range of 60-100 for shooters and dropped it down to 30-70 for turn based games

https://www.3dmark.com/spy/3079759


----------



## SpecChum

I can never get Chill to work correctly.

If I set the upper limit to 75Hz, to match my monitor, it never goes above about 60Hz.

It always seems to hover about half way between the lower and upper limits.


----------



## Anvh

Quote:


> Originally Posted by *SpecChum*
> 
> I can never get Chill to work correctly.
> 
> If I set the upper limit to 75Hz, to match my monitor, it never goes above about 60Hz.
> 
> It always seems to hover about half way between the lower and upper limits.


Yeah the 75Hz is the upper limit, and i notice that mine also hovers in between which im fine with myself.
It does spike sometimes but it highly depends.

From what I notice it reacts on mouse movement and your keyboard input mostly.

The transition between the FPS is smooth and i never notice it, so my gaming experience isn't affected by it while the GPU keeps low wattage and cool.
But yeah i wish it would reach the max a bit more aggressively, there is a way to make reports to AMD maybe it is an idea to do that.

edit:
made an account and submitted feedback on chill on the forums, seems like there was another forum post about it as well.
If it had a weight slider or different profiles it would be a much better program.
With CIV im not so concerned about the FPS so if you can select a low power profile, but have a high power profile for shooters that would be helpful.


----------



## gupsterg

Quote:


> Originally Posted by *strumf666*
> 
> Is there a guide how to extract powerplay from bios?


In OP headings *Essentials* is info on gaining AtomBiosReader. Use that to create tables txt for bios. Open bios in hex editor, go to location for powerplay as guided by tables txt and copy powerplay to notepad. Reference one of Hellm's reg files and basically you'd be replacing the data with what you copied out of bios. Usually I just replace space with comma in the notepad window that copied the powerplay data into, then I copy it to another notepad window which has:-

Code:



Code:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
"PP_PhmSoftPowerPlayTable"=hex:

Hex lines are continued by using a trailing *\* , use Hellm's reg file as guide on construction.


----------



## paih85

miningpowerdraw.PNG 117k .PNG file


Hi,

WTShare my vega56 power draw (claymore ETH)

detail as below:
gpu0=gigabyte vega56 reference (ek waterblock)
gpu1=sapphire vega56 reference (reference cooler)

FYI, i already test with different driver/bios. All same result for power draw. Not sure why sapphire consume more power than gigabyte.


----------



## ColdDeckEd

To guys mining eth, could you please share your settings? My vega 56 and 64 are only in the mid 30s mining eth, but 1900s when running cryptonight so i keep them on that. My v56 is -20 freq, -14 power, 920 on hbm, no bios mods. My 64 -15 freq -11 power 1100 hbm.


----------



## ducegt

Quote:


> Originally Posted by *paih85*
> 
> miningpowerdraw.PNG 117k .PNG file
> 
> 
> Hi,
> 
> WTShare my vega56 power draw (claymore ETH)
> 
> detail as below:
> gpu0=gigabyte vega56 reference (ek waterblock)
> gpu1=sapphire vega56 reference (reference cooler)
> 
> FYI, i already test with different driver/bios. All same result for power draw. Not sure why sapphire consume more power than gigabyte.


I assume you have them flashed to 64s. Some 64 reference BIOS are 200w and some 220w. That may explain your 20w difference.


----------



## ducegt

Quote:


> Originally Posted by *ColdDeckEd*
> 
> To guys mining eth, could you please share your settings? My vega 56 and 64 are only in the mid 30s mining eth, but 1900s when running cryptonight so i keep them on that. My v56 is -20 freq, -14 power, 920 on hbm, no bios mods. My 64 -15 freq -11 power 1100 hbm.


Don't change the frequency. Im not a miner but toyed with it a hour last night. Reducing core clock on 12.11.4 did what your discribing.


----------



## paih85

Quote:


> Originally Posted by *ducegt*
> 
> I assume you have them flashed to 64s. Some 64 reference BIOS are 200w and some 220w. That may explain your 20w difference.


both same bios 220w vega64


----------



## ColdDeckEd

Quote:


> Originally Posted by *ducegt*
> 
> Don't change the frequency. Im not a miner but toyed with it a hour last night. Reducing core clock on 12.11.4 did what your discribing.


Thanks, i will try that. That was with adrenalin?


----------



## ducegt

Quote:


> Originally Posted by *ColdDeckEd*
> 
> Thanks, i will try that. That was with adrenalin?


Nope. I meant version 17.11.4 oops.


----------



## Razkin

Using OverdriveNT tool en regular drivers I was able to run my Vega 64 @0,875V/932MHz/1100MHz HBM hashing at 44, 2 MH/s and my Vega [email protected] @0,875V/932MHz/1150MHz HBM at 45,3MH/s.

Both cards draw about 160W at the wall(sensor readout is about 129W and too low), Using powerplay mod, it is possible to bring the core voltage down to around 0,83V and save around 15W per card, but hasn't been stable for me, it would randomly crash and start idling @400W. 0,875V has been rock solid for me.


----------



## ITAngel

Question, is it possible to update Vega FE Air bios with the Vega FE LC bios? If so, were can I find the bios to try it out? Thanks!. My Card will be under water with an EK block which is why I ask.


----------



## gupsterg

@ITAngel

Recently discussed/link in thread, link.


----------



## ITAngel

Quote:


> Originally Posted by *gupsterg*
> 
> @ITAngel
> 
> Recently discussed/link in thread, link.


Wow! Thank you! +1 Rep. That was fans and I do appreciated.


----------



## gupsterg

NP







, don't use VEGA soft powerplay editor as it has issues with VEGA FE, read OP








. Few posts back is mini guide on making own reg file if you're going to dabble







.


----------



## ITAngel

Quote:


> Originally Posted by *gupsterg*
> 
> NP
> 
> 
> 
> 
> 
> 
> 
> , don't use VEGA soft powerplay editor as it has issues with VEGA FE, read OP
> 
> 
> 
> 
> 
> 
> 
> . Few posts back is mini guide on making own reg file if you going to dabble
> 
> 
> 
> 
> 
> 
> 
> .


Oh I was planning to use AtiWinFlash which is what I used before on the Vega 64 Air. That should be fine for flashing the Vega FE right?


----------



## lfarkas

Quote:


> Originally Posted by *Razkin*
> 
> Using OverdriveNT tool en regular drivers I was able to run my Vega 64 @0,875V/932MHz/1100MHz HBM hashing at 44, 2 MH/s and my Vega [email protected] @0,875V/932MHz/1150MHz HBM at 45,3MH/s.


where did you set @0,875V in OverdriveNT? core GPU mV or MEM mV?


----------



## gupsterg

Quote:


> Originally Posted by *ITAngel*
> 
> Oh I was planning to use AtiWinFlash which is what I used before on the Vega 64 Air. That should be fine for flashing the Vega FE right?


Yes







.


----------



## ITAngel

Quote:


> Originally Posted by *gupsterg*
> 
> Yes
> 
> 
> 
> 
> 
> 
> 
> .


Cool! Thank you!


----------



## Razkin

Quote:


> Originally Posted by *lfarkas*
> 
> where did you set @0,875V in OverdriveNT? core GPU mV or MEM mV?


Both HBM "voltgae" and P5 /P6 set to 900 will results in 0,875V. If it doesn't but stays at 1100mV you'll need to up either up the HBM mem clock by 2 MHz or the core clock in P5 by 2 MHz. Which does not make any sense, but that just shows how bad the drivers still are for Vega.


----------



## ducegt

If I lower PL anymore, SoC clock will not hold at 1199 and hash rate goes down. Does changing anything in the softmod table alter this behavior?


----------



## Krunkalicious

I have the PowerColor Red Devil AXRX VEGA 56 8GBHBM2-2D2H/OC BIOS if anybody needs it. Does anybody have the Vega 64 version or a link to where I can find one?


----------



## JasonMZW20

Do we have any idea of the changes in various Vega vBIOS versions? Any in-depth analyses? Apologies if I missed it.

ATIWinFlash277 doesn't run on Win10 Insider Build 17063, so my 2 Vega64 airs are stuck on their respective vBIOS versions: 8706 on GPU0 and 8730 on GPU1 (both XFX reference bought about 1.5 months apart).

GPU1 tends to run 25-30MHz higher at same settings (clks+voltages) and temps vs GPU0.


----------



## ITAngel

Quote:


> Originally Posted by *JasonMZW20*
> 
> Do we have any idea of the changes in various Vega vBIOS versions? Any in-depth analyses? Apologies if I missed it.
> 
> ATIWinFlash277 doesn't run on Win10 Insider Build 17063, so my 2 Vega64 airs are stuck on their respective vBIOS versions: 8706 on GPU0 and 8730 on GPU1 (both XFX reference bought about 1.5 months apart).
> 
> GPU1 tends to run 25-30MHz higher at same settings (clks+voltages) and temps vs GPU0.


Have you tried running it by right clicking on the ATIWinFlash277.exe and choosing to run as Administrator?


----------



## ITAngel

It is finally on water and flashed to LC bios plus OCed. The bios posted to me for LC seems to work great compare to the Vega 64 bios flash which I felt was harder to find a stable position. These one seems to be doing great with power, temps and performance from benchmarks.


----------



## Nemesis.ie

Quote:


> Originally Posted by *ColdDeckEd*
> 
> To guys mining eth, could you please share your settings? My vega 56 and 64 are only in the mid 30s mining eth, but 1900s when running cryptonight so i keep them on that. My v56 is -20 freq, -14 power, 920 on hbm, no bios mods. My 64 -15 freq -11 power 1100 hbm.


On all my 3 cards (2 x air under EKFC + 1 x AIO hanging off a chipset slot using a cable (!) I get *44.3MH/s per card with claymore 10.2* with these settings:

*GPU core: 1,000MHz/1050MHz for P6/P7
HBM2: 1,100MHz*

HBM speed makes a much bigger difference than the core clock once the core is over about 850/900MHz

*Voltages all set to AUTO* and after a minute or two the power consumption drops off very nicely.

GPUz says around 180W to 200W per card which is a good match for the wall meter.

*Ryzen 7 1800x at stock with *32GB* of RAM at 3066MHz* and the *wall meter shows 480W with 2 cards and 690W with 3* and I have a D5 pump at 90% + 3 x bionic 120mm (1 at 700rpm on the CPU header and two at around 400 to 600 rpm connected to the GPU, 2 x bionic 140mm @ 700rpm and a noctua 120mm focused flow at 600rpm.

The bionic fans are brilliant, very quiet and low power.





The tube loop at the bottom left is a drain tube with a ball valve/cap on the end. It's an air 540 so the pump/res and PSU are behind the motherboard making for a pretty neat install I think.

*Edit: You absolutely need HBCC on for max hashes on ETH BTW.*


----------



## geriatricpollywog

What's the most profitable mining algorithm? When I'm not gaming, I'm running CryptoKnight on Nicehash and getting about 1990h/s and $10/day from the GPU. I was previously running CastXMR, but I think it was robbing me.


----------



## Nemesis.ie

I don't think we should turn this thread into a mining guide, discussing settings seems fine, as it is tuning the card for a workload and that's what the BIOS modding etc. is about, but profitability etc. is likely best served elsewhere I would think.

There are some online calculators you can use to compare coins.


----------



## ITAngel

Quote:


> Originally Posted by *Nemesis.ie*
> 
> I don't think we should turn this thread into a mining guide, discussing settings seems fine, as it is tuning the card for a workload and that's what the BIOS modding etc. is about, but profitability etc. is likely best served elsewhere I would think.
> 
> There are some online calculators you can use to compare coins.


I agree, there are many post about mining and such already which just have to do a few searches on the thread. But this should stay clear for bios related stuff on these cards.


----------



## RatusNatus

Miners, attention.
You can post anything you want here as long as it add value to Vega owners knowledge. This is a hardware site! The focus here is hardware and performance.

So asking for the best config to mining is not appreciated here.
But if you post your config here with hz, mv and your mining performance, you are staying in the topic and no one will complaint because mining is a benchmark by itself.

By the way, im mining







lol, and i do own 6 Saphire Vega 64. All same bios(8730), simlar SN etc..
The thing is one card is identified as gfx900 and 5 as gfx901. All show as Vega in Device manager.
Do anyone know the difference?
gfx900 seems to be little worse and needs more juice in memory. Im using 1107hz with 901mv and 923mv to gfx900.


----------



## ITAngel

Quote:


> Originally Posted by *RatusNatus*
> 
> Miners, attention.
> You can post anything you want here as long as it add value to Vega owners knowledge. This is a hardware site! The focus here is hardware and performance.
> 
> So asking for the best config to mining is not appreciated here.
> But if you post your config here with hz, mv and your mining performance, you are staying in the topic and no one will complaint because mining is a benchmark by itself.
> 
> By the way, im mining
> 
> 
> 
> 
> 
> 
> 
> lol, and i do own 6 Saphire Vega 64. All same bios(8730), simlar SN etc..
> The thing is one card is identified as gfx900 and 5 as gfx901. All show as Vega in Device manager.
> Do anyone know the difference?
> gfx900 seems to be little worse and needs more juice in memory. Im using 1107hz with 901mv and 923mv to gfx900.


Well said! +1 Rep.


----------



## golemic

Hello guys,

I have a new rig with 6 x Gigabyte Gaming OC 8G Vega64 cards. On my reference Vega64 I am able to get 44h on eth with Power Play regedit I found here but I am not able to get anything more then 37 on my Gaming OC card.

Can someone help me get the proper registry edit for this edtion of Vega64? I can post a Bios here if needed.

Thanks,

Ed


----------



## gupsterg

Share the Gigabyte RX VEGA 64 Gaming OC VBIOS, will do reg file.


----------



## golemic

here is the bios i uploaded from GpuZ 2.6 for some reason it says vega56 but in reality its 64 I might have made a mistake when selecting the base model.

https://www.techpowerup.com/vgabios/198055/198055

Thanks,

Ed


----------



## hellm

Already done









..also added the Nitro+

http://www.overclock.net/t/1633446/preliminary-view-of-amd-vega-bios/250#post_26297003


----------



## Nemesis.ie

@golemic 37 sounds like HBCC is not on?


----------



## golemic

I still get 37.9 now but my ref card goes 44. I see the wattman does not set anything after i apply this reg for all 6 cards its still on auto and when i switch it to manual its stock settings hmmm.?

this is the power play i use on Vega64 reference that gets me 44mh on eth mining.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
"PP_PhmSoftPowerPlayTable"=hex:9D,02,08,01,00,5C,00,37,07,00,00,EC,2B,00,00,1B,\
00,48,00,00,00,80,A9,03,00,F0,49,02,00,32,00,08,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,02,01,5C,00,36,02,2D,02,94,00,85,01,AF,00,19,01,7A,00,8C,00,\
A3,01,00,00,00,00,59,02,00,00,90,00,8F,02,54,01,2A,01,7E,01,00,71,02,00,71,\
02,02,02,00,00,00,00,00,00,08,00,00,00,00,00,00,00,04,00,07,00,03,00,05,00,\
00,00,00,00,00,00,01,08,25,03,25,03,25,03,25,03,25,03,25,03,25,03,25,03,01,\
01,25,03,01,01,84,03,00,05,60,EA,00,00,00,DC,4A,01,00,01,00,77,01,00,02,90,\
91,01,00,03,6C,B0,01,00,04,01,08,F0,9A,01,00,00,00,80,00,00,00,00,00,00,E4,\
9C,01,00,01,00,00,00,00,00,00,00,00,6C,B0,01,00,02,00,00,00,00,00,00,00,00,\
F4,C3,01,00,03,00,00,00,00,00,00,00,00,7C,D7,01,00,04,00,00,00,00,00,00,00,\
00,04,EB,01,00,05,00,00,00,00,01,00,00,00,8C,FE,01,00,06,00,00,00,00,01,00,\
00,00,38,0C,02,00,07,00,00,00,00,01,00,00,00,00,03,60,EA,00,00,00,DC,4A,01,\
00,00,90,5F,01,00,00,00,08,28,6E,00,00,00,2C,C9,00,00,01,F8,0B,01,00,02,80,\
38,01,00,03,90,5F,01,00,04,F4,91,01,00,05,D0,B0,01,00,06,C0,D4,01,00,07,00,\
08,6C,39,00,00,00,24,5E,00,00,01,FC,85,00,00,02,AC,BC,00,00,03,34,D0,00,00,\
04,68,6E,01,00,05,08,97,01,00,06,EC,A3,01,00,07,00,01,68,3C,01,00,00,01,04,\
3C,41,00,00,00,00,00,50,C3,00,00,00,00,00,80,38,01,00,01,00,00,24,71,01,00,\
02,00,00,01,08,00,98,85,00,00,78,B4,00,00,60,EA,00,00,50,C3,00,00,01,78,FF,\
00,00,40,19,01,00,B4,27,01,00,50,C3,00,00,02,80,38,01,00,DC,4A,01,00,DC,4A,\
01,00,50,C3,00,00,03,DC,4A,01,00,90,5F,01,00,90,5F,01,00,50,C3,00,00,04,90,\
5F,01,00,00,77,01,00,90,5F,01,00,50,C3,00,00,05,00,77,01,00,90,91,01,00,90,\
5F,01,00,50,C3,00,00,06,6C,B0,01,00,6C,B0,01,00,00,77,01,00,50,C3,00,00,07,\
C0,D4,01,00,C0,D4,01,00,90,91,01,00,50,C3,00,00,01,18,00,00,00,00,00,00,00,\
0B,E4,12,DC,05,FC,08,41,00,0F,00,54,03,90,01,90,01,90,01,90,01,90,01,90,01,\
90,01,00,00,00,00,00,02,04,21,07,46,00,46,00,46,00,2C,01,00,00,4A,00,69,00,\
4A,00,4A,00,5F,00,73,00,73,00,64,00,40,00,90,92,97,60,96,00,90,46,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,02,D4,30,00,00,02,10,60,EA,00,\
00,02,10

and the Gaming OC 8G done by hellm (thanks) doesn't not change anything

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
"PP_PhmSoftPowerPlayTable"=hex:B6,02,08,01,00,5C,00,E1,06,00,00,08,2C,00,00,1B,\
00,48,00,00,00,80,A9,03,00,F0,49,02,00,32,00,08,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,02,01,5C,00,4F,02,46,02,94,00,9E,01,BE,00,28,01,7A,00,8C,00,\
BC,01,00,00,00,00,72,02,00,00,90,00,A8,02,6D,01,43,01,97,01,F0,49,02,00,71,\
02,02,02,00,00,00,00,00,00,08,00,00,00,00,00,00,00,05,00,07,00,03,00,05,00,\
00,00,00,00,00,00,01,08,20,03,84,03,B6,03,E8,03,1A,04,4C,04,7E,04,B0,04,01,\
01,46,05,01,01,84,03,00,08,60,EA,00,00,00,40,19,01,00,01,80,38,01,00,02,DC,\
4A,01,00,03,90,5F,01,00,04,00,77,01,00,05,90,91,01,00,06,6C,B0,01,00,07,01,\
08,D0,4C,01,00,00,00,80,00,00,00,00,00,00,1C,83,01,00,01,00,00,00,00,00,00,\
00,00,70,A7,01,00,02,00,00,00,00,00,00,00,00,88,BC,01,00,03,00,00,00,00,00,\
00,00,00,C0,D4,01,00,04,00,00,00,00,00,00,00,00,44,23,02,00,05,00,00,00,00,\
01,00,00,00,00,58,02,00,06,00,00,00,00,01,00,00,00,B8,7C,02,00,07,00,00,00,\
00,01,00,00,00,00,05,60,EA,00,00,00,40,19,01,00,00,80,38,01,00,00,DC,4A,01,\
00,00,90,5F,01,00,00,00,08,28,6E,00,00,00,2C,C9,00,00,01,F8,0B,01,00,02,80,\
38,01,00,03,90,5F,01,00,04,F4,91,01,00,05,D0,B0,01,00,06,C0,D4,01,00,07,00,\
08,6C,39,00,00,00,24,5E,00,00,01,FC,85,00,00,02,AC,BC,00,00,03,34,D0,00,00,\
04,68,6E,01,00,05,08,97,01,00,06,EC,A3,01,00,07,00,01,68,3C,01,00,00,01,04,\
3C,41,00,00,00,00,00,50,C3,00,00,00,00,00,80,38,01,00,02,00,00,24,71,01,00,\
05,00,00,01,08,00,98,85,00,00,40,B5,00,00,60,EA,00,00,50,C3,00,00,01,80,BB,\
00,00,60,EA,00,00,94,0B,01,00,50,C3,00,00,02,00,E1,00,00,94,0B,01,00,40,19,\
01,00,50,C3,00,00,03,78,FF,00,00,40,19,01,00,88,26,01,00,50,C3,00,00,04,40,\
19,01,00,80,38,01,00,80,38,01,00,50,C3,00,00,05,80,38,01,00,DC,4A,01,00,DC,\
4A,01,00,50,C3,00,00,06,00,77,01,00,00,77,01,00,90,5F,01,00,50,C3,00,00,07,\
90,91,01,00,90,91,01,00,00,77,01,00,50,C3,00,00,01,18,00,00,00,00,00,00,00,\
0B,E4,12,60,09,60,09,4B,00,23,00,54,03,90,01,90,01,90,01,90,01,90,01,90,01,\
90,01,01,32,00,37,00,02,00,23,07,F7,00,F7,00,F7,00,51,01,00,00,59,00,69,00,\
4A,00,4A,00,5F,00,73,00,73,00,64,00,40,00,00,00,97,60,96,00,90,55,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,02,02,D4,30,00,00,02,10,60,EA,00,\
00,02,10


----------



## newbminer

Quote:


> Originally Posted by *golemic*
> 
> here is the bios i uploaded from GpuZ 2.6 for some reason it says vega56 but in reality its 64 I might have made a mistake when selecting the base model.
> 
> https://www.techpowerup.com/vgabios/198055/198055
> 
> Thanks,
> 
> Ed


----------



## stylelock

Devil56.zip 136k .zip file


BIOS for Red Devil 56.


----------



## hellm

added SoftPowerPlay reg file for strix, devil, gigabyte and nitro, 56 and 64.
http://www.overclock.net/t/1633446/preliminary-view-of-amd-vega-bios/250#post_26297003


----------



## Nemesis.ie

@golemic, I get 44.3 MH/S on a reference card just by lowering the clocks and setting the HBM to 1,100MHz, no PP table or anything needed. Maybe your under-performing card has hot running HBM (bad paste application)? Maybe check the temps with GPUz?


----------



## nordschleife228

Hi Hellm, please can you help with a Gigabyte Radeon RX Vega 56 Gaming OC?
Thank you so much!


----------



## hellm

Gigabyte has only the Gaming OC custom modells, no Aorus or anything. So, i named the reg-files giga. But it's already there.
Maybe i mark them as customs, or should i name the gigabyte files gaming.reg, or worst, gigagoc?


----------



## nordschleife228

Sorry for the stupid question







! Thanks for your help!


----------



## nordschleife228

Is it possible to flash the Gigabyte Vega 56 OC to the Vega 64 Bios? Or does it only work with reference Vegas?


----------



## paih85

Quote:


> Originally Posted by *hellm*
> 
> Gigabyte has only the Gaming OC custom modells, no Aorus or anything. So, i named the reg-files giga. But it's already there.
> Maybe i mark them as customs, or should i name the gigabyte files gaming.reg, or worst, gigagoc?


hahaha


----------



## angelolamonaca

Hi,
I have a RX Vega 56 Red Devil.

Have you a good Bios .rom for mining?

Thanks!


----------



## hellm

It is the blue fat writing right under the warning not to put your cat onto the graphics card. (OP = post#1, page 1)

Miners..you gotta love them..


----------



## stylelock

MSI-Vega-RX56-airboost-oc.zip 136k .zip file


MSI VEGA 56 Air Boost bios.


----------



## hellm

..and i added the reg file.


----------



## Pimaddafakkr

Which bios is it best to flash on my wc'd xfx vega64 (samsung hbm2) to get best possible performance in games?


----------



## Caldeio

I have vega 64 ref. 
Is there a bios I can flash, just to boost power limit and fan speed? 

I'm running on Ubuntu and I'm having problems figuring out how to oc the vega on linux. I have my 1080ti OC'd but amd stuff is hard.


----------



## SavantStrike

Caldeio said:


> I have vega 64 ref.
> Is there a bios I can flash, just to boost power limit and fan speed?
> 
> I'm running on Ubuntu and I'm having problems figuring out how to oc the vega on linux. I have my 1080ti OC'd but amd stuff is hard.


The liquid/AIO BIOS if you keep your temps down. Don't use it with the stock blower though!


----------



## asdwefasfe2232

Which Vega 64 bios to use for Nitro+ Vega 56?


----------



## G00DFe77a

hellm said:


> ..and i added the reg file.


Hellm, I'm looking for the registry file for the MSI Vega 56 Air Boost OC card. I saw that you added the reg file, but I can't find it in the thread? Is there a repository where you put all the registry files at I should be looking for? Thanks!


----------



## hellm

Yep, that damn new look, the links in OP doesn't work anymore. Still on page 26, though.
http://www.overclock.net/forum/67-a...inary-view-amd-vega-bios-26.html#post26297003


----------



## gupsterg

Even when I click above posted link it just bring me back to this page :/ . It maybe as soon as quirks are resolved with forum OP links will work, if not then once posted links seem to work I'll update OP.


----------



## zorn

stylelock said:


>  MSI-Vega-RX56-airboost-oc.zip 136k .zip file
> 
> MSI VEGA 56 Air Boost bios.


Would you happen to have the MSI VEGA 64 Air Boost BIOS to flash onto the 56 card? I haven't seen it posted anywhere. Thanks!


----------



## G00DFe77a

hellm said:


> Yep, that damn new look, the links in OP doesn't work anymore. Still on page 26, though.
> http://www.overclock.net/forum/67-a...inary-view-amd-vega-bios-26.html#post26297003


 @hellm thanks for the link

Also looking for the MSI Vega 64 Air Boost bios to flash on to the 56 card. The stock MSI 64 bios would not boot and I'm not liquid cooling so didn't want to try the MSI Vega 64 LC bios since it would run way too hot.


----------



## RatusNatus

Hello,

Im mining with 6 Sapphire Vega 64. everything is fine except for 1 card that keep giving me errors.

5 of those are identified as gfx901
1 is identified as gfx900

gfx900 is exactly the one giving errors with mem at 1100/900mv. It also has 1.5% less performance with the same clock.

Apparently no one knows the difference between those cards. Do you?

Another thing, i cant find any reference to users with the latest air bios, the 8737? Why? I can understand why miners do not flash but not you guys.
To air 64 we do have the 8706, 8730 and 8737. 
All 6 with me are 8730...

It is just odd not find any reference in google from people that changed the bios. I think miners got it all...


----------



## seniorfallrisk

zorn said:


> Would you happen to have the MSI VEGA 64 Air Boost BIOS to flash onto the 56 card? I haven't seen it posted anywhere. Thanks!





G00DFe77a said:


> @hellm thanks for the link
> 
> Also looking for the MSI Vega 64 Air Boost bios to flash on to the 56 card. The stock MSI 64 bios would not boot and I'm not liquid cooling so didn't want to try the MSI Vega 64 LC bios since it would run way too hot.


I'm not sure if the MSI Air Boost has the same issue, but the Strix 56 and Strix 64 bios are *not* compatible from my tests. I believe Asus, atleast, is binning the Samsung HBM2 chips all for the Strix 64 and my Strix 56 has Hynix and I wasn't stable no matter what I did with the Strix 64 bios.

Sadly, on PPT the HBM2 voltage edits do not have precedence over the vbios HBM2 voltage and my mem seems to be a dud, hard limited by Overwatch to 900mhz.


----------



## G00DFe77a

seniorfallrisk said:


> I'm not sure if the MSI Air Boost has the same issue, but the Strix 56 and Strix 64 bios are *not* compatible from my tests. I believe Asus, atleast, is binning the Samsung HBM2 chips all for the Strix 64 and my Strix 56 has Hynix and I wasn't stable no matter what I did with the Strix 64 bios.
> 
> Sadly, on PPT the HBM2 voltage edits do not have precedence over the vbios HBM2 voltage and my mem seems to be a dud, hard limited by Overwatch to 900mhz.


I was afraid of something like that. My MSI Vega Airboost 56 does have the Hynix memory and I'm still holding out hope that the MSI Vega Airboost 64 has Hynix memory as well. Although it does seem every manufacturers opted to go with Samsung memory on the Vega 64s. Really would like to up the voltage on the HBM2 as I believe the memory can go up much higher into the 1000+ like the Vega 64s if we can just give it a little more juice.


----------



## seniorfallrisk

G00DFe77a said:


> I was afraid of something like that. My MSI Vega Airboost 56 does have the Hynix memory and I'm still holding out hope that the MSI Vega Airboost 64 has Hynix memory as well. Although it does seem every manufacturers opted to go with Samsung memory on the Vega 64s. Really would like to up the voltage on the HBM2 as I believe the memory can go up much higher into the 1000+ like the Vega 64s if we can just give it a little more juice.


That said, I have to retract my statement. It seems like *AMD is binning the 64's to have Samsung, as I don't believe anyone of the AIB have the tools/power to bin the Samsung to 64's vs 56's and making 56's out of 64's.. But who knows. I was just upset when I finally realized that my benchmark scores/framerates were insanely better on the stock bioses and had been fighting instability up to that point.



RatusNatus said:


> Hello,
> 
> Im mining with 6 Sapphire Vega 64. everything is fine except for 1 card that keep giving me errors.
> 
> 5 of those are identified as gfx901
> 1 is identified as gfx900
> 
> gfx900 is exactly the one giving errors with mem at 1100/900mv. It also has 1.5% less performance with the same clock.
> 
> Apparently no one knows the difference between those cards. Do you?
> 
> Another thing, i cant find any reference to users with the latest air bios, the 8737? Why? I can understand why miners do not flash but not you guys.
> To air 64 we do have the 8706, 8730 and 8737.
> All 6 with me are 8730...
> 
> It is just odd not find any reference in google from people that changed the bios. I think miners got it all...


Just wanna let you know that GFX900 should mean that HBCC is off, whereas GFX901 should be HBCC on.


----------



## RatusNatus

The right topic...




seniorfallrisk said:


> Just wanna let you know that GFX900 should mean that HBCC is off, whereas GFX901 should be HBCC on.





RatusNatus said:


> Thank you for your feedback. Ive been asking around for months about this and no one dare to guess.
> But no, it's not that.
> https://wccftech.com/amd-vega-10-gpu-milestone/
> 
> gfx900 is Vega as gfx800 is Polaris. It could be any Vega.
> 
> This card is probably just an low binned card but i want an answer more specific. I know because is the only one giving me errors.
> The production date is similar with the other 5, 33 week of year 17. I just wonder why it was sold as 64 and not 56 if its low binned....this is a mystery to me.
> 
> Im just guessing, it was like this because the core is fine and the memory is the one low binned.
> If it was the opposite, it should be an 56.
> 
> PS. Ive psoted in the wrong topic...


----------



## G00DFe77a

Anyone know are there any brand of the Vega 64s that have Hynix memory on them, so that I can try their bios on the MSI Vega 56 Air boost running the Hynix memory?


----------



## seniorfallrisk

So, update on my Strix 56: my old card seemed to have some serious issues, which have been fixed by a replacement. Hynix equipped Vega 56 *DO* work on Vega 64 bios, and thus Strix 56 will work on Strix 64 bios and run 945 HBM properly. I retested, and the card does perform better than my original Strix, and does not see any performance hiccups on 64 bios now.


----------



## G00DFe77a

I read successful attempt of flashing the MSI Liquid cool Vega 64 bios on to the MSI Vega airboost 56. Is there a way to modify the default clocks of the liquid cool 64 bios to have be lowered to default Vega 56 clock speeds which allows me to gradually overclock with OverdriveNtool instead of running with crazy high clock speeds at high temperatures?


----------



## masri01

Damn, so no one ended up finding the MSI AirBoost Vega 64 BIOS? I have x4 of the MSI AirBoost Vega 56 and I can't get a solid 24hr mining them! If anyone has these cards, how you mining them? What's your Overdrive settings? Have you been successful enough using a custom reg tweak file? (as I've had no luck!) Please help, thinking of offloading these cards!


----------



## seniorfallrisk

masri01 said:


> Damn, so no one ended up finding the MSI AirBoost Vega 64 BIOS? I have x4 of the MSI AirBoost Vega 56 and I can't get a solid 24hr mining them! If anyone has these cards, how you mining them? What's your Overdrive settings? Have you been successful enough using a custom reg tweak file? (as I've had no luck!) Please help, thinking of offloading these cards!


You need to use registry tweaks and the blockchain drivers to get any successful mining speeds out of these cards. I run 950 core/HBM on my mining Vega's... Actually, I'm not even sure it's successfully running at volts that low as I don't think I did any registry mods but but I run 1200 core/945 mem as they're running 64 bioses. I highly recommend using the Powerplay table mod that's earlier in this and editing P5's voltage down to 900/950 so that you can undervolt your cards heavily. Low core (around 1200) and the highest HBM speeds you can get. I run 4 (would run 5 if I had more slots) off of one motherboard and have 0 issues.


----------



## masri01

seniorfallrisk said:


> You need to use registry tweaks and the blockchain drivers to get any successful mining speeds out of these cards. I run 950 core/HBM on my mining Vega's... Actually, I'm not even sure it's successfully running at volts that low as I don't think I did any registry mods but but I run 1200 core/945 mem as they're running 64 bioses. I highly recommend using the Powerplay table mod that's earlier in this and editing P5's voltage down to 900/950 so that you can undervolt your cards heavily. Low core (around 1200) and the highest HBM speeds you can get. I run 4 (would run 5 if I had more slots) off of one motherboard and have 0 issues.


Nice one dude, thanks for sharing! What 64 bios are you running on your MSI Airboost 56’s?

Thanks


----------



## seniorfallrisk

masri01 said:


> Nice one dude, thanks for sharing! What 64 bios are you running on your MSI Airboost 56’s?
> 
> Thanks


I've got a few 56 references and a Strix 56 for my personal machine. All run their respective 64 bioses. :thumb:


----------



## ITAngel

Are there any card better for mining then the VEGA FE? Only getting 32.5MH/S on air.


----------



## xpulse

ITAngel said:


> Are there any card better for mining then the VEGA FE? Only getting 32.5MH/S on air.


Mine FE gave me 41-42 MH/s


----------



## flamez

here is one of the new sapphire pulse bios, I will switch and upload the other side later.


----------



## flamez

guys what app can I use to extract pp from bios please?


----------



## hellm

i'm still here :-D

added pulse, but be carefull. VRM is a lot weaker on this card, and only capable of 350W or something. Send buildzoud a high res pic for more..

see page 26 

oh, and, sorry for the devil56.. the reg file was one byte short..


----------



## flamez

hellm said:


> i'm still here :-D
> 
> added pulse, but be carefull. VRM is a lot weaker on this card, and only capable of 350W or something. Send buildzoud a high res pic for more..
> 
> see page 26
> 
> oh, and, sorry for the devil56.. the reg file was one byte short..


Hi Hellm, how you doing? thanks for that, i can see this card heats up quicker than my other vegas too.

here is the other switched bios for it.


----------



## hellm

the only difference between them is the power target. build# +1, this is more than interesting.. not for the pulse, i know now where the signature is. I can not extract it, but maybe with some help.. we might figure out more; or just that we can't forge it.

for the pulse reg file, the difference is 165W as the ref 56, and 180W for the hp BIOS. I decided to change the regfile to the hp one, so 180W when u add it to the registry.

back to the signature, the different bytes: (besides name, time.. )

offset 0x21 - CRC
offset 0x27F - ?? "00" stock, "90" hp

offset 0x2CD-0x2D0 - Binary BIOS_IDTF (atiflash, these bytes change if BIOS is modded + flashed)
BIOS 1: "96 D0 36 02" 0x236D096
BIOS 2: "11 EC CF D2" 0xD2CFEC11

Next we have the power limit stuff at offset 0x93EC-0x93F1
A5 00 -> 0xA5 -> 165W Socket PowerLimit
A5 00 -> 0xA5 -> 165W Battery PowerLimit
A5 00 -> 0xA5 -> 165W Small PowerLimit
Those are all B4 00 (180W) on the 2nd BIOS

Finally, here is the signature block at offset 0x20800-0x208FF

BIOS 1


Spoiler



05 6D E1 4F C2 46 93 FE 61 FB CB 1A 2F FF EE 4B 34 47 FB 0B B6 60 FC F5 F2 73 00 B9 48 DD A6 97 F2 D1 AE F0 4C CE DB 15 E4 6C 17 EE EC 66 CC DE 54 BC 47 93 DC 6F 0B 91 47 70 E2 59 F5 37 32 B1 61 56 A1 CD F5 6B 99 9C 49 64 15 01 65 51 91 52 57 56 22 64 25 88 B5 5D 0D F6 75 98 14 0A AC EC A1 B3 64 94 50 A8 08 01 DE 4E 7D B3 1F 96 AE 71 12 7D 82 32 9F C8 DB 81 AD 0F 40 E1 A8 CB F1 16 C6 14 45 5A 08 C0 D6 50 87 7E F4 22 55 14 32 74 B0 01 97 02 20 53 1C B4 BF 66 0C 2B 24 5D 2E A5 DC 1D 9E 40 B3 9B 8E 97 B0 A6 80 C0 F5 77 B0 AB F5 C8 86 27 72 98 28 24 C1 11 CC 0A 05 2F 8A 06 8A 3A 6D 7C 91 E4 44 A5 41 73 3E 2C A3 9C CE B9 21 77 E4 5B 4F 48 DB 36 B2 55 66 B4 EA 67 62 A2 E9 57 59 D6 FB 20 78 92 E4 92 34 91 23 6E C0 B0 7B CB 43 1D 9E 49 5B 02 C7 5E D3 12 90 B5 CB 9C


BIOS 2


Spoiler



06 A0 3F F1 CD B1 5B 04 81 4C 1C A8 1C 45 DA 1F 61 B4 51 0D 1E 6E F8 47 F2 2F 2C 64 D1 AE 16 2C 1C C1 AA 22 87 DA 4A 54 A2 51 90 AA 68 0B 8E 11 F2 64 22 91 E1 77 35 93 8A A1 D2 80 AE 8E 0C 9C E7 BB 16 44 9A FD DF 61 DC 0F 25 F1 78 E6 42 D9 DB 49 4F 2C D4 C2 FF 03 57 8A D9 3B C5 C5 D6 DC 2A 99 62 17 FD B8 B0 26 60 07 2E 69 BE 95 52 D5 92 52 54 E0 F0 FE F3 7D 3A 57 F2 1B 93 24 A0 91 7D 7C 8F 0B 37 A9 38 5E 5C 62 C8 D1 7C BD F7 21 4F 32 64 EE 2C 86 B3 B2 76 E7 B4 BB BA A6 C4 62 E1 5E A3 9C F0 46 97 00 91 6A EC F9 99 F6 5A 33 99 63 DD E6 54 E4 2D EA 2E 4C 96 AE 8A BA 89 43 A9 E6 1F EE 12 8C AF 00 1C 37 A6 B2 DF 7A 30 52 42 E8 33 2D 2C 07 44 D2 B5 0E 28 87 3B 6F CB D3 A6 E5 F0 E3 E2 D3 C8 A1 84 0C 95 4F 6D 60 E5 75 E9 BA A1 23 4B 77 51 65 59 A3 90 90 AF 14 F2 AA


so.. first step would be to know how to extract this.. ??


----------



## Spacebug

Has anyone caught a glimpse of the memory timing straps that i guess vega64 uses?
Every time i try to break around 1230-1235 mhz hbm i get the typical vram corruption blocking over the whole screen.
Would be fun to know if it is a timing strap thing or just not enough hbm voltage...


----------



## Leons

hellm said:


> Cut....
> so.. first step would be to know how to extract this.. ??


Your work is always very precious, as well as that of other experts.
I am a simple enthusiast and I have no specific skills.
If it is possible to overcome the blocked signature it would be interesting (at least for me) to be able to dynamically manage the HBM voltage.
I think it is useless to have 1.25V or 1.35v as the frequency is 167 or 500MHz.
I think it would be enough 1.1V for P0 and P1, 1.25 for P2 and 1.35V for P3.
Inexperienced, since with the flash of Bios 64 on 56 the HBM voltage goes from 1.25 to 1.35V, I thought that it would change the controller programming in the VOI table; then I extracted the tables VOI from Bios 56, 64 and 64 LC and with surprise (for me) all the tables are identical.
I wonder (actually I'm asking you) in which section of the Bios the HBM voltage is established.
Thank you.


----------



## hellm

Well we might never hack this, it is a 256 byte code, and we already have a problem with the signature before that, and this was 11 bytes long.

To quote my team member Vento041:


> I suspect that some proper crypto as been used (so impossible without the key used by AMD). We could still try to make some basic analysis and test the most common hashing functions.


I think we need some help here.

and later then we could worry about hbm voltage and timings..


----------



## jstefanop

hellm said:


> Well we might never hack this, it is a 256 byte code, and we already have a problem with the signature before that, and this was 11 bytes long.
> 
> To quote my team member Vento041:
> 
> I think we need some help here.
> 
> and later then we could worry about hbm voltage and timings..


HBM voltage is in the soft PPTABLE, haven't had time to play with this but that might change HBM voltage.


----------



## Leons

jstefanop said:


> HBM voltage is in the soft PPTABLE, haven't had time to play with this but that might change HBM voltage.


Thanks for replying but actually changing usVdd (Mem Vdd 0) in SoftPowerPlayTable has no effect; that's why I wondered where this voltage is set in the Bios.
Thanks again.


----------



## hellm

You both don't understand..
We can *not* mod the BIOS, because of a signature that another piece of hardware on the gpu checks for integrity.
Those infos about the actual HBM voltage and max Vcore are stored in other tables than the PowerPlay. Those values found there are not the max voltage values found elsewhere. And for the memory, the PowerPlay values never apply anyway, that info is also to be found somewhere else.
And the mem timings are found in Vram Info table.

If we could forge the signature, which seems not possible without any further knowledge or some genius... we could change these things as well and release working BIOS versions.

But we have to rely on reg mods, and those are only possible with one single table of the BIOS, the PowerPlay table.


----------



## Leons

hellm said:


> You both don't understand..
> We can *not* mod the BIOS, because of a signature that another piece of hardware on the gpu checks for integrity.
> Those infos about the actual HBM voltage and max Vcore are stored in other tables than the PowerPlay. Those values found there are not the max voltage values found elsewhere. And for the memory, the PowerPlay values never apply anyway, that info is also to be found somewhere else.
> And the mem timings are found in Vram Info table.
> 
> If we could forge the signature, which seems not possible without any further knowledge or some genius... we could change these things as well and release working BIOS versions.
> 
> But we have to rely on reg mods, and those are only possible with one single table of the BIOS, the PowerPlay table.


It is not necessary that you get angry, maybe my English does not allow me to explain well.
I am aware that Bios Mod is not yet possible, I have only asked for information to those who know more than me; of course you do not have to answer me but if you do I'm ready to thank you, it was not my intention to annoy anyone.
I'm certainly not the genius who can find the solution to overcome the Check of the signature ...... but I like to experiment and that's why I search for information; maybe I will not get anything but, as they say from my part, try not harm (or at the limit only to my hardware).
A cordial greeting.


----------



## jstefanop

hellm said:


> You both don't understand..
> We can *not* mod the BIOS, because of a signature that another piece of hardware on the gpu checks for integrity.
> Those infos about the actual HBM voltage and max Vcore are stored in other tables than the PowerPlay. Those values found there are not the max voltage values found elsewhere. And for the memory, the PowerPlay values never apply anyway, that info is also to be found somewhere else.
> And the mem timings are found in Vram Info table.
> 
> If we could forge the signature, which seems not possible without any further knowledge or some genius... we could change these things as well and release working BIOS versions.
> 
> But we have to rely on reg mods, and those are only possible with one single table of the BIOS, the PowerPlay table.


No I understand  Im one of the first people the discovered the BIOS security chip on vega back in august. I was simply referring to soft PPTable mods in windows, since I never really had time to look into it on windows side. Most of my work is in linux anyway, and all this has been bypassed under linux a long time ago (I directly inject whatever BIOS I want during kernel runtime after the on chip BIOS check has passed). I run HBM at 1.4-1.5v


----------



## hellm

@jstefanop
simple misunderstanding.. 
@Leons
i wasn't angry and didn't want to sound rude.. and i never wanted to insult you by simply providing some information. With genius i meant it is near to impossible to crack that code.. was not in your direction.


----------



## blahh

*Vega FE's and furture weapons of hash destruction*

Has any one else noticed that there was alot of Vegas that are crashing, they seem to be failing on a rather over used function of miners the unrolls. I confirmed that it was not a opencl problem on the FE's, They will get slow crypt speeds because unroll failures. Whats even worse is theres been a lot of misreported and not seen because of the slowing down of the cards blackscreen of dooming them. They went from being 3x faster to dog**** slow because of it.


----------



## blahh

*There using multisig.*

there using a multisig to sign the firmware with. The private key is on the card. The firmware can then be signed. Is there anyone else who sees the irony of a graphics card company locking there cards with bitcoin multisg tek lmao. 
https://en.bitcoin.it/wiki/Multisignature



hellm said:


> the only difference between them is the power target. build# +1, this is more than interesting.. not for the pulse, i know now where the signature is. I can not extract it, but maybe with some help.. we might figure out more; or just that we can't forge it.
> 
> for the pulse reg file, the difference is 165W as the ref 56, and 180W for the hp BIOS. I decided to change the regfile to the hp one, so 180W when u add it to the registry.
> 
> back to the signature, the different bytes: (besides name, time.. )
> 
> offset 0x21 - CRC
> offset 0x27F - ?? "00" stock, "90" hp
> 
> offset 0x2CD-0x2D0 - Binary BIOS_IDTF (atiflash, these bytes change if BIOS is modded + flashed)
> BIOS 1: "96 D0 36 02" 0x236D096
> BIOS 2: "11 EC CF D2" 0xD2CFEC11
> 
> Next we have the power limit stuff at offset 0x93EC-0x93F1
> A5 00 -> 0xA5 -> 165W Socket PowerLimit
> A5 00 -> 0xA5 -> 165W Battery PowerLimit
> A5 00 -> 0xA5 -> 165W Small PowerLimit
> Those are all B4 00 (180W) on the 2nd BIOS
> 
> Finally, here is the signature block at offset 0x20800-0x208FF
> 
> BIOS 1
> 
> 
> Spoiler
> 
> 
> 
> 05 6D E1 4F C2 46 93 FE 61 FB CB 1A 2F FF EE 4B 34 47 FB 0B B6 60 FC F5 F2 73 00 B9 48 DD A6 97 F2 D1 AE F0 4C CE DB 15 E4 6C 17 EE EC 66 CC DE 54 BC 47 93 DC 6F 0B 91 47 70 E2 59 F5 37 32 B1 61 56 A1 CD F5 6B 99 9C 49 64 15 01 65 51 91 52 57 56 22 64 25 88 B5 5D 0D F6 75 98 14 0A AC EC A1 B3 64 94 50 A8 08 01 DE 4E 7D B3 1F 96 AE 71 12 7D 82 32 9F C8 DB 81 AD 0F 40 E1 A8 CB F1 16 C6 14 45 5A 08 C0 D6 50 87 7E F4 22 55 14 32 74 B0 01 97 02 20 53 1C B4 BF 66 0C 2B 24 5D 2E A5 DC 1D 9E 40 B3 9B 8E 97 B0 A6 80 C0 F5 77 B0 AB F5 C8 86 27 72 98 28 24 C1 11 CC 0A 05 2F 8A 06 8A 3A 6D 7C 91 E4 44 A5 41 73 3E 2C A3 9C CE B9 21 77 E4 5B 4F 48 DB 36 B2 55 66 B4 EA 67 62 A2 E9 57 59 D6 FB 20 78 92 E4 92 34 91 23 6E C0 B0 7B CB 43 1D 9E 49 5B 02 C7 5E D3 12 90 B5 CB 9C
> 
> 
> BIOS 2
> 
> 
> Spoiler
> 
> 
> 
> 06 A0 3F F1 CD B1 5B 04 81 4C 1C A8 1C 45 DA 1F 61 B4 51 0D 1E 6E F8 47 F2 2F 2C 64 D1 AE 16 2C 1C C1 AA 22 87 DA 4A 54 A2 51 90 AA 68 0B 8E 11 F2 64 22 91 E1 77 35 93 8A A1 D2 80 AE 8E 0C 9C E7 BB 16 44 9A FD DF 61 DC 0F 25 F1 78 E6 42 D9 DB 49 4F 2C D4 C2 FF 03 57 8A D9 3B C5 C5 D6 DC 2A 99 62 17 FD B8 B0 26 60 07 2E 69 BE 95 52 D5 92 52 54 E0 F0 FE F3 7D 3A 57 F2 1B 93 24 A0 91 7D 7C 8F 0B 37 A9 38 5E 5C 62 C8 D1 7C BD F7 21 4F 32 64 EE 2C 86 B3 B2 76 E7 B4 BB BA A6 C4 62 E1 5E A3 9C F0 46 97 00 91 6A EC F9 99 F6 5A 33 99 63 DD E6 54 E4 2D EA 2E 4C 96 AE 8A BA 89 43 A9 E6 1F EE 12 8C AF 00 1C 37 A6 B2 DF 7A 30 52 42 E8 33 2D 2C 07 44 D2 B5 0E 28 87 3B 6F CB D3 A6 E5 F0 E3 E2 D3 C8 A1 84 0C 95 4F 6D 60 E5 75 E9 BA A1 23 4B 77 51 65 59 A3 90 90 AF 14 F2 AA
> 
> 
> so.. first step would be to know how to extract this.. ??


----------



## RatusNatus

So...

Who will be the brave?

https://github.com/ghosttr/VegaBiosReader


----------



## gupsterg

The app is not risky, mainly just acts as a reader/interpreter for some tables.

Sorry guys had dropped off forum for a while. Will aim to find time to sort out OP due to the borking from forum change.

Thank you for your continued involvement hellm :thumb: .


----------



## majestynl

Back from a while. Trying to update myself... Probably nothing changed that much for Vega since December 2017. Saw some nice improvements for the Radeon Software suite!

Thanks gup and hellm. Do my best to be more active over here  First need to install the 2700x and CH7 tonight


----------



## Spelon

I bought two Gigabyte Vega 56 Gaming OC cards, one came with samsung, the other with hynix hbm. Has anyone had any luck with these cards? Will happily dump the bioses if anyone is interested in having a look.


----------



## bill1971

I have a vega 56 flashed 64,when I restart, pc don't open, after I install, Vega_64_Reg_GPU_0000?can you help?


----------



## Leons

I write this post even if of a more general nature, it concerns however also this thread but if the staff thinks to move it obviously there are no problems.
The question is that Atiflash_277 is no longer usable (even from the command line) with the latest version of Windows 10 (1803).
So if you need to go back to the previous version of Windows 10 (1709) but I do not think this is a solution.
I wonder if it is safe to expect a new version of Atiflash.
In the meantime I created a virtual machine (Hyper-v) with Windows 10 operating system (1709) that uses Vega as a 3D video card of RemoteFX but is not seen by Atiflash as an AMD video card for which I have not solved anything (but could miss me something since I'm not an expert).
I also thought of a Dual Boot but on my system (Legacy, NTFS) is not possible if I do not reinstall everything and I would like to avoid this, even in this case I may need support because of my lack of knowledge.
I thank you in advance for any action on this.


----------



## bill1971

bill1971 said:


> I have a vega 56 flashed 64,when I restart, pc don't open, after I install, Vega_64_Reg_GPU_0000?can you help?


Nobody?pc need efficiency,i tried this...https://www.reddit.com/r/MoneroMining/comments/74hjqn/monero_and_vega_the_definitive_guide/,but my pc don't boot when I restart,please can you help?


----------



## gupsterg

@Leons

Will update OP as soon as I can, just been snowed with other activity.
@bill1971

Using correct reg file for VBIOS flashed on card? confirmed location for GFX card in registry is same as targeted by reg file?


----------



## MAMOLII

is there any latest than this rx 64 air?? https://www.techpowerup.com/vgabios/199157/199157


----------



## strumf666

MAMOLII said:


> is there any latest than this rx 64 air?? https://www.techpowerup.com/vgabios/199157/199157


Hm, how did you find that vBios?


----------



## Leons

The Bios ... 8892 is located in the "GPU Brand - Unverified Uploads" section.
Currently I run on my Vega 56 the Bios ... 8769 obtained from the same section.
I wanted to try the Bios ... 8892 but with the latest version of Win 10 (1803) Atiflash does not work.
However, I took a look at the PowerPlayInfo table and I noticed these differences (compared to ... 8769):
uGoldenRevision from 11272 to 11408,
usSoftwareShutdownTemp from 89 to 91.
As I said I could not test.


----------



## gupsterg

@MAMOLII

Seems like it  , cheers for posting  . Reg file below, PP changes as Leons states. Flashed VBIOS, applied reg, didn't notice any performance gains or loss. Not yet tried differing OC to my usual.

View attachment RX_VEGA_64_Soft_PP_105.zip

@strumf666


----------



## strumf666

Thanks; flashing from dos works?


----------



## bill1971

gupsterg said:


> @Leons
> 
> Will update OP as soon as I can, just been snowed with other activity.
> 
> @bill1971
> 
> Using correct reg file for VBIOS flashed on card? confirmed location for GFX card in registry is same as targeted by reg file?


Which is the correct reg file? I made run it but not with blockchain driver....


----------



## gupsterg

strumf666 said:


> Thanks; flashing from dos works?


Nope, only WinOS/external hardware flash tool. Either use W7 or W10 prior to 1803, current version of ATiFlash does not work in 1803  .



bill1971 said:


> Which is the correct reg file? I made run it but not with blockchain driver....


I would not be able to answer that, as I do not know which VBIOS you are using...


----------



## bill1971

gupsterg said:


> Nope, only WinOS/external hardware flash tool. Either use W7 or W10 prior to 1803, current version of ATiFlash does not work in 1803  .
> 
> 
> 
> I would not be able to answer that, as I do not know which VBIOS you are using...


Iam using vega 64 bios from gigabyte.


----------



## gupsterg

Now which do I guess it is? link.

It would help you to gain help if you could be more precise. Even if file is not from TPU state version, etc, sometimes the PP tables have minor changes leading to reg file not working.


----------



## bill1971

gupsterg said:


> Now which do I guess it is? link.
> 
> It would help you to gain help if you could be more precise. Even if file is not from TPU state version, etc, sometimes the PP tables have minor changes leading to reg file not working.


I think is one of the first or second, maybe are the same, i am at work now so cant answer exactly. My card is 56 flashed one of these bios, not liquid or windforce


----------



## bill1971

I did crossfire but i couldnt make It work, any good video review how to mine with 2 vega?


----------



## rednow

Not sure if it is known already but I flashed my Sapphire Pulse Vega56 (nano-psb based card) with ****ty *hynix* mem with Sapphire Nitro+ Vega64 bios and it WORKS! I was able to up my HBM2 clock from 960 to 1050mhz. Seems stable but need more testing.


----------



## diggiddi

@ Bill1971 Lookup buriedone on youtube for mining


----------



## ecki

jstefanop said:


> No I understand  Im one of the first people the discovered the BIOS security chip on vega back in august. I was simply referring to soft PPTable mods in windows, since I never really had time to look into it on windows side. Most of my work is in linux anyway, and all this has been bypassed under linux a long time ago (I directly inject whatever BIOS I want during kernel runtime after the on chip BIOS check has passed). I run HBM at 1.4-1.5v


Are there any resources available on how to achieve this @jstefanop? Would like to run my hbm2 voltage a bit higher too if possible. 
cheers,
J


----------



## ecki

jstefanop said:


> No I understand  Im one of the first people the discovered the BIOS security chip on vega back in august. I was simply referring to soft PPTable mods in windows, since I never really had time to look into it on windows side. Most of my work is in linux anyway, and all this has been bypassed under linux a long time ago (I directly inject whatever BIOS I want during kernel runtime after the on chip BIOS check has passed). I run HBM at 1.4-1.5v


Are there any resources available on how to achieve this @jstefanop? Would like to run my hbm2 voltage a bit higher too if possible. 
cheers,
J


----------



## Sicken

I am also having trouble with the Vega 56 msi airboost w/hynix memory. I have no intention of bios modding it to 64 but I was wondering if someone could help me with PowerPlay table? Are there any Regedits out there for 56 hynix memory? It is different than the reference 64s with samsung memory and I am having trouble matching up certain values in the table. Don't want to mess anything up just doing random edits...

If anyone would be able to point me in the right direction that would be great.


----------



## rednow

Sicken said:


> I am also having trouble with the Vega 56 msi airboost w/hynix memory. I have no intention of bios modding it to 64 but I was wondering if someone could help me with PowerPlay table? Are there any Regedits out there for 56 hynix memory? It is different than the reference 64s with samsung memory and I am having trouble matching up certain values in the table. Don't want to mess anything up just doing random edits...
> 
> If anyone would be able to point me in the right direction that would be great.


dump your bios and create your own softpowerplay table with overdriveNtool utility in admin mode on base of your bios file. Super easy


----------



## Sicken

I didn't realize overdriveNtool did that. Thanks for the heads up. Would you happen to know the theory behind what values we want p1-p6 at if you are looking for mining performance/efficiency? I wonder if it would be best to stagger up at constant intervals or just keep them as low as possible with minimal voltage and have a big jump to p7, or maybe even find a way to disable them...


----------



## nv666

Hello

Is there a way to control the Fan setting on VEGA FE from the 18.5.2 PRO Adrenaline drivers; cuz I have tried with both watttool and overdriventool (latest versions) and even the PP power table method none of it seem to work. The RPM of the fan on the VEGA FE is always stuck at a set speed never going up or down, even when the the temp of the gpu is 98C.

Can some one Please help?

System Specs:

XEON E5-2690
32GB ECC Rams (8 sticks)
X79-UP4 motherboard
VEGA FE (1st gpu)
FURY X (2nd gpu)
Creative ZxR
Corsair AX1200i
Windows 10 1709


----------



## Archangel

Hello,

could anybody help me with providing a link to a stock rx vega frontier edition PP softpower table ? I cannot find one on the first page ?

Thanks


----------



## majestynl

Archangel said:


> Hello,
> 
> could anybody help me with providing a link to a stock rx vega frontier edition PP softpower table ? I cannot find one on the first page ?
> 
> Thanks


its in the Attached Files section: http://www.overclock.net/forum/attachment.php?attachmentid=49572&d=1503146176
Download the file and you will find all 4!


----------



## Dekaohtoura

rednow said:


> Not sure if it is known already but I flashed my Sapphire Pulse Vega56 (nano-psb based card) with ****ty *hynix* mem with Sapphire Nitro+ Vega64 bios and it WORKS! I was able to up my HBM2 clock from 960 to 1050mhz. Seems stable but need more testing.


I'm assuming you're talking about "straight" flashing, nothing "fancy", right?

Just ordered the V56 Pulse, and it would be nice to know what choices I have before it arrives.

TY.


----------



## TheBlad3

rednow said:


> Not sure if it is known already but I flashed my Sapphire Pulse Vega56 (nano-psb based card) with ****ty *hynix* mem with Sapphire Nitro+ Vega64 bios and it WORKS! I was able to up my HBM2 clock from 960 to 1050mhz. Seems stable but need more testing.


I have recently purchased 2* Pulse Vega56 for my duo of gaming pc's .

I was wondering if I could flash them with an 64 bios but information was that this would result to a "brick"

Are you sure it's stable? How does it manage the cards Fans?


----------



## DMCivan

rednow said:


> Not sure if it is known already but I flashed my Sapphire Pulse Vega56 (nano-psb based card) with ****ty *hynix* mem with Sapphire Nitro+ Vega64 bios and it WORKS! I was able to up my HBM2 clock from 960 to 1050mhz. Seems stable but need more testing.


Can you share bios for flashing Pulse Vega56?


----------



## Bojcha

I also wonder will it work on Vega56 Pulse. I have "SubsystemID mismatch" when i want to flash Nitro64 bios. Can you share that bios?


----------



## cg4200

*liquid cooled frontier bios ?*

hey I have frontier edition card water cooled runs about 1700 gaming.
I want to try flashing a liquid bios does anyone have one?
looked at tech but showed really old one on unverified>>
I see new ati flash is ouy win build 1803
If someone running one could upload would be extremely thankful!!


----------



## Y0shi

These are the only known FE liquid BIOSes available: https://www.techpowerup.com/vgabios...&version=&interface=&memType=&memSize=&since= (the upper two)


----------



## Jass11

*Help atiflash 0FL01 on VEGA Pulse*

Hello, i have a Big Problem : i have flash my Sapphire VEGA 56 PULSE > Sapphire VEGA 64 Nitro, boot and drivers is ok but crash crash in game.

Now i try to flashback with my VEGA 56 Pulse bios saved and im stuck on atiflash message "0FL01 rom not erased".

I try with GUI and cmd admin with atiflash.exe and atiwinflash.exe > ko
-unlockrom 0 > ok "rom unlocked" but problem persist witch atiflash 0FL01

I try boot with freedos and i have message for atiflash.exe "programme not launch in dos".
I try older atiflash but in dos its no possible to flash VEGA card

SSID mismatched

I need your help


----------



## Zboard

Hey, i'm new to the forum. I received my VEGA 64 NITRO+ (2x8 version, Samsung mems) one week ago, and im been trying to tweak it for better temps/power and yesterday i found this thread. A lot of info here so im a bit lost but what i basically wanted is to edit registry with Halsafar reg editor for better p0-p5 voltages mostly. It's ok to use any VEGA 64 stock(Blower) registry or should i try to get the one from my own registry and edit that? Mostly because even if the PCB is same( right?) the fans are not a blower and i do not know if that is different in the registry. Also i wasnt able to find any PP_PhmSoftPowerPlayTable in my own registry, but i did find a lot of other PP_something files so that confused me.

Im new to this so any help is really welcome, and as always, thanks to all the people investing their own time into improving this thread and similar ones.


----------



## Bojcha

You dont need anything .. just Afterburner and 18.3.4 drivers.
If you really want more then 50 power then you need to edit/apply powertable


----------



## Zboard

Bojcha said:


> You dont need anything .. just Afterburner and 18.3.4 drivers.
> If you really want more then 50 power then you need to edit/apply powertable


I dont think i can edit p0-p5 voltages with AB, if the answer was to me


----------



## Ne01 OnnA

Yup, im into the same P0-P5 Editing stuff for more UV Tweak.
Now im stuck with 1.1v with Edited Infinity Fabric voltage (HBM one in OverdriveN Tool or WattMan) to 950-975v and it's hovering @ 1.081v up to 1.094v but i have very good Silicon here, so i will go for 1770MHz at max 1.075v
But for less demanding Games i need 1.0v for ~1650Mhz

@gupsterg can you point me to right direction 

UPD.
GTK# for .NET installed but Vega64SoftPowerTableEditor.exe is not showing it's Window.
NEt on WinX installed and runing.

UPD.2 Busted

Problem?
copied & overwrite, Vega64SoftPowerTableEditor.exe to the GtkSharp directory

C:\ProgramFiles(x86)\GtkSharp\2.12\bin*

Hope this helps 

UPD.3
There is no "PP_PhmSoftPowerPlayTable" string in my registry under ATI Keys....
Do i need to create one?


----------



## gupsterg

For the Vega64SoftPowerTableEditor to work all I do is install GTK and can run the editor from any directory on PC. Even runs off of USB, etc.

Yes you need to add a power play reg file or create one.


----------



## Ne01 OnnA

THX, as i thought -> but better to ask 
Thanks Bratan' for help & work.

Also for you good new Tweak (i will post it in Vega Thread)


----------



## gupsterg

NP  .

Thanks for mod share, I'll add link here to post/OP ASAP  .


----------



## Ne01 OnnA

Ok, i have tested this PowerPlay Table:

Edited 
P3 987
P4 1037
P5 1093

No other changes was made.
Played some DeusEx MkD All Ultra+AA (for good workload)
Fans not returned to default behaviour after Game (needed to restart, means something is Off)
I will observe progress, and wait for Proper solution.

My Default Fans profile is:
1000-2200 RPM (i have addtional Fan for Pull-Push config)
Temps are normal ~60-67deg for Hot spot. (was >72-74deg)

PS. 
I will stick to Editing Infinity Fabric Voltage (aka HBM v) 950-975 Yelds some good UV.
Was 1.087mV after PowerPlay Tweak, now it is at 1.094mV so not a big difference after all.

More Here:


----------



## Zboard

> Yes you need to add a power play reg file or create one.


 @gupsterg

So for my VEGA 64 NITRO, should i just use the reg file from a VEGA 64 STRIX (mostly because fans at 0 rpm before 50 degrees). Can i just make a power play reg file from my registry so it acts like a safe point too? If yes, can you help me finding any guide? thanks for your time


----------



## gupsterg

@Zboard

Added today in OP section *Creating your own PowerPlay reg file*, have a view of video; give me feedback on if it helped and if I need to add some text notes there  .


----------



## hellm

thx @gupsterg :thumb:

i have a Nano 56 BIOS here:
Uploadfiles.io - Vega 56 Nano.rom
..still can't upload files here..

and i made a SoftPowerPlay reg file:
Uploadfiles.io - SoftPowerPlay Nano 56
complete vanilla, i did not made any changes. The reason it is named "MorePower" ..more tradition; sounds cool.


----------



## Ne01 OnnA

Now i'm using Vega RX_VEGA_64_AIO_Soft_PP Loaded into/by OverdriveN Tool <- Right click on Top Bar then PP....

(Fans working OK with this setup)
Edit.2 - Max Fan for XTX LC LE is 3300RPM (in my setup im OK with 2800RPM, not exceeding 68deg. in Hot_spot area, rest ~56-60)
UV with OC working Great.

New UV de-OC Profile for Heavy games like: DeusEx MkD

Do not change other Values e.g. Max GPU Freq. MHz etc.
Only P0-P7 Table
Also do not change much from Default in P4/P5

Was:
P4 = 1050
P5 = 1100

PS. 
After UV observe P7 Ceiling, you should Hit ~ it's Set Values
So if you have P7 like 1729MHz and in HWiNFO64 you'll see 1725-1728Mhz then you have set V just right.


----------



## Bojcha

@Ne01 OnnA Where can i find that editor? Or that's overdriven?

nvm, found it


----------



## cryptcrawler80

*n00b questions, bare with me guys*

I got a strix vega 64 and I want to just undervolt it and keep clocks stable. After gaming for an hour+ HMB temps creep up and the clocks go down. I've managed to crash it several times using wattman. I've watched the powerplay tables video instructions and I'm ready to try it out.

Can powerplay tables help with clock stability? Setting clocks in wattman seems unreliable. Looking to undervolt to keep temps down.

What is happening when you set values in wattman compared to using powerplay tables?

If certain settings in the powerplay table make the video card angry and it crashes on boot how to do you fix it if your stuck with no video input?

Thanks for any advice.


----------



## strumf666

In Wattmann you are pretty limited, you can only change highest two power states for GPU with powerplay, I think, you can change all of them, so if you want to undervolt all power states, you can't in wattman. Clocks set in wattman are working, but since the card and/or drivers take the temperature&power draw into account, the actual clocks vary, usually below what you set. You should be able to test this if you set your highest power state lets say 100mhz lower, it will lower the actual clocks. 100mhz higher it may or may not work, depends on cooling, etc.
Powerplay setting can't crash the card on boot, but in OS, when driver (and powerplay) gets loaded, so if you boot into safe mode you should be able to change back.
I tried both methods and wattman proved better, with powerplay it was less stable and if things haven't changed, you still need wattman to apply the custom profile, so more hassle.
My vega is a reference 64 air so ymmv.


----------



## helis4life

Ive got a strix 64 and ive been playing around with PP for a couple of days now. Helm listed the strix powerplay table, but there is a difference to the bios defaults. I actually recreated the powerplay table from the bios from the card and the fan differences and temp targets do not extract in to the table for some reason. Anyway, modified the table to reflect the correct default values. This made a difference for some reason, using the default table with the incorrect fan values and target temp and the card wouldnt manage to remain above 1500mhz in superposition benchmark. 


Im still trying to play with the OC/UV values, but havent had a great amount of success so far. At stock 1630mhz the card will peak at 1580 and float down to 1550 - 1570. Temps remain 70 or below, hmb temp fine so its not thermal throttling as far as i can tell. I guess its power/current limited. Some people on AMD subreddit seem to have high 1600 clocks, but i havent got anywhere close to that yet


----------



## Maracus

helis4life said:


> Ive got a strix 64 and ive been playing around with PP for a couple of days now. Helm listed the strix powerplay table, but there is a difference to the bios defaults. I actually recreated the powerplay table from the bios from the card and the fan differences and temp targets do not extract in to the table for some reason. Anyway, modified the table to reflect the correct default values. This made a difference for some reason, using the default table with the incorrect fan values and target temp and the card wouldnt manage to remain above 1500mhz in superposition benchmark.
> 
> 
> Im still trying to play with the OC/UV values, but havent had a great amount of success so far. At stock 1630mhz the card will peak at 1580 and float down to 1550 - 1570. Temps remain 70 or below, hmb temp fine so its not thermal throttling as far as i can tell. I guess its power/current limited. Some people on AMD subreddit seem to have high 1600 clocks, but i havent got anywhere close to that yet


Try upping the clocks to 1750mhz and undervolt to about 1100mv up the fan speed to flat out to rule out any thermal throttling. My 56 does 1650mhz at 1050mv (1.0v actual).


----------



## octiny

Has anybody flashed a Powercolor Vega 56 Nano to a 64? I saw someone on reddit do it for the Pulse with a Nitro 64 bios.

Any insight would be helpful. Thanks!


----------



## Ne01 OnnA

-> https://bitcointalk.org/index.php?topic=3370685.0

"Quote from: KL0nLutiy1 on April 22, 2018, 07:53:48 PM

Could you make the same for Vega with HBM2?

We may start making Vega Bios mods at some point, we're working on huge and very interesting projects and that is keeping us very busy right now!"


Maby someday we will have Timings Tweak for HBM_2 

Some tools to pick into for you nerds 
-> https://github.com/OhGodACompany


----------



## bill1971

Is out there power tables for vega 56?how i see what Memory has my vega 56,except gpuz?


----------



## Ne01 OnnA

bill1971 said:


> Is out there power tables for vega 56?how i see what Memory has my vega 56,except gpuz?



Try this, or AIDA:
-> http://www.geeks3d.com/20180515/gpu-caps-viewer-1-39-0-released/


----------



## bill1971

bill1971 said:


> Is out there power tables for vega 56?how i see what Memory has my vega 56,except gpuz?


Has anybody flash sapphire nitro 56 to 64?


----------



## bforge1581

Hey guys,

I am new to overclocking BIOS in Vega 64. Assuming I got a BIOS flash to work in Windows 10, do you think it would be possible to boot into Ubuntu linux and run with that same BIOS?


----------



## strumf666

BIOS is OS independent, unless it is broken of course. BIOS flashing works just fine in widows 10 with the latest version of ATIFLASH. Considering VEGA checks bios for amd signature, you'll need to crack that first, before you can do any BIOS OC or modding.


----------



## bforge1581

strumf666 said:


> BIOS is OS independent, unless it is broken of course. BIOS flashing works just fine in widows 10 with the latest version of ATIFLASH. Considering VEGA checks bios for amd signature, you'll need to crack that first, before you can do any BIOS OC or modding.


That's what I figured as well with the OS independent piece. I'm guessing everything is in this thread....was hoping I wouldn't have to read through 110 pages, going to go make a strong cup of coffee first


----------



## strumf666

If it's not too late, the cracking part hasn't been done yet, afaik, so for the time being, what you plan to do is impossible.


----------



## bforge1581

strumf666 said:


> If it's not too late, the cracking part hasn't been done yet, afaik, so for the time being, what you plan to do is impossible.


Not too late yet. Sad to hear it, as I really don't want to use Windows. Thank you for this information! I'll be following this thread in case it happens.


----------



## Tom111

Where can I find Information about how the SoftPowerPlayTable is put together?
Perhaps I want to create an Editor.


----------



## panzerlied

You can flash this bios into your RX VEGA.Then your RX VEGA will change into VEGA FE.

lol

https://www.techpowerup.com/vgabios/198367/198367


----------



## Ne01 OnnA

Tom111 said:


> Where can I find Information about how the SoftPowerPlayTable is put together?
> Perhaps I want to create an Editor.


Keep up the good work 

Here our Guru3D Thread i've created some time ago:
-> https://forums.guru3d.com/threads/creating-bios-hex-editing-guide-280x-and-newer.406016/


----------



## Leons

panzerlied said:


> You can flash this bios into your RX VEGA.Then your RX VEGA will change into VEGA FE.
> 
> lol
> 
> https://www.techpowerup.com/vgabios/198367/198367



Hello,
my poor understanding of English did not allow me to understand if it was a joke.
However I flashed my Vega 56 reference, installed the Pro Drivers and everything seems ok but I should test longer to be sure.
Unfortunately these Pro Drivers do not contain Wattman except by switching to game mode.
I have a question:
there are previous versions of Pro Drivers with Wattman, my research in this sense did not help me.
Excuse me for Google Translate.
Thank you.


----------



## Kyozon

hellm said:


> First of all, you will have to check [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\, if the card is installed under 0000.
> *fix this*
> 
> 
> Spoiler
> 
> 
> 
> Run a clean deinstall with DDU in safe mode (Safe Mode W10)
> Open regedit (right click start -> run) and goto HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}. If there is more than the 0000 entry, use DDU again and select intel or/and nvidia driver to be removed.
> 
> 
> Of course, you could also edit the .reg file.
> 
> The following SoftPowerPlay registry files are unmodified copies of the PowerPlay Table found in the BIOS.
> 
> MorePowerVega56.zip 1k .zip file
> MorePowerVega64.zip 1k .zip file
> MorePowerVega64LC.zip 1k .zip file
> 
> MorePowerVegaFE.zip 1k .zip file
> MorePowerVegaFELC.zip 1k .zip file
> 
> MorePowerVega64devil.zip 1k .zip file
> MorePowerVega64strix.zip 1k .zip file
> MorePowerVega64nitro.zip 1k .zip file
> MorePowerVega64giga.zip 1k .zip file
> 
> MorePowerVega56nitro.zip 1k .zip file
> MorePowerVega56devil.zip 1k .zip file
> MorePowerVega56giga.zip 1k .zip file
> MorePowerVega56strix.zip 1k .zip file
> MorePowerVega56msi.zip 1k .zip file
> MorePowerVega56pulse.zip 1k .zip file
> 
> Open the file by right click -> edit.
> 
> the header points to the sub tables
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> Code:
> 
> 
> typedef struct _ATOM_Vega10_POWERPLAYTABLE {
> struct atom_common_table_header sHeader;
> UCHAR  ucTableRevision;
> USHORT usTableSize;                        /* the size of header structure */
> ULONG  ulGoldenPPID;                       /* PPGen use only */
> ULONG  ulGoldenRevision;                   /* PPGen use only */
> USHORT usFormatID;                         /* PPGen use only */
> ULONG  ulPlatformCaps;                     /* See ATOM_Vega10_CAPS_* */
> ULONG  ulMaxODEngineClock;                 /* For Overdrive. */
> ULONG  ulMaxODMemoryClock;                 /* For Overdrive. */
> USHORT usPowerControlLimit;
> USHORT usUlvVoltageOffset;                 /* in mv units */
> USHORT usUlvSmnclkDid;
> USHORT usUlvMp1clkDid;
> USHORT usUlvGfxclkBypass;
> USHORT usGfxclkSlewRate;
> UCHAR  ucGfxVoltageMode;
> UCHAR  ucSocVoltageMode;
> UCHAR  ucUclkVoltageMode;
> UCHAR  ucUvdVoltageMode;
> UCHAR  ucVceVoltageMode;
> UCHAR  ucMp0VoltageMode;
> UCHAR  ucDcefVoltageMode;
> USHORT usStateArrayOffset;                 /* points to ATOM_Vega10_State_Array */
> USHORT usFanTableOffset;                   /* points to ATOM_Vega10_Fan_Table */
> USHORT usThermalControllerOffset;          /* points to ATOM_Vega10_Thermal_Controller */
> USHORT usSocclkDependencyTableOffset;      /* points to ATOM_Vega10_SOCCLK_Dependency_Table */
> USHORT usMclkDependencyTableOffset;        /* points to ATOM_Vega10_MCLK_Dependency_Table */
> USHORT usGfxclkDependencyTableOffset;      /* points to ATOM_Vega10_GFXCLK_Dependency_Table */
> USHORT usDcefclkDependencyTableOffset;     /* points to ATOM_Vega10_DCEFCLK_Dependency_Table */
> USHORT usVddcLookupTableOffset;            /* points to ATOM_Vega10_Voltage_Lookup_Table */
> USHORT usVddmemLookupTableOffset;          /* points to ATOM_Vega10_Voltage_Lookup_Table */
> USHORT usMMDependencyTableOffset;          /* points to ATOM_Vega10_MM_Dependency_Table */
> USHORT usVCEStateTableOffset;              /* points to ATOM_Vega10_VCE_State_Table */
> USHORT usReserve;                          /* No PPM Support for Vega10 */
> USHORT usPowerTuneTableOffset;             /* points to ATOM_Vega10_PowerTune_Table */
> USHORT usHardLimitTableOffset;             /* points to ATOM_Vega10_Hard_Limit_Table */
> USHORT usVddciLookupTableOffset;           /* points to ATOM_Vega10_Voltage_Lookup_Table */
> USHORT usPCIETableOffset;                  /* points to ATOM_Vega10_PCIE_Table */
> USHORT usPixclkDependencyTableOffset;      /* points to ATOM_Vega10_PIXCLK_Dependency_Table */
> USHORT usDispClkDependencyTableOffset;     /* points to ATOM_Vega10_DISPCLK_Dependency_Table */
> USHORT usPhyClkDependencyTableOffset;      /* points to ATOM_Vega10_PHYCLK_Dependency_Table */
> } ATOM_Vega10_POWERPLAYTABLE;
> 
> 
> 
> 
> to read:
> UCHAR 00
> USHORT 00 00
> ULONG 00 00 00 00
> and the data is stored in little endian. this means the hex value 0x10C is found as 0C 01
> *Vega64 PP table header*
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> Code:
> 
> 
> typedef struct _ATOM_Vega10_POWERPLAYTABLE {
> typedef struct _ATOM_COMMON_TABLE_HEADER
> {
> B6 02 (0x2B6)  USHORT usStructureSize;
> 08             UCHAR  ucTableFormatRevision;   /*Change it when the Parser is not backward compatible */
> 01             UCHAR  ucTableContentRevision;  /*Change it only when the table needs to change but the firmware */
> /*Image can't be updated, while Driver needs to carry the new table! */
> } ATOM_COMMON_TABLE_HEADER;
> 00                      UCHAR  ucTableRevision;
> 5C 00                   USHORT usTableSize;                        /* the size of header structure */
> E1 06 00 00             ULONG  ulGoldenPPID;                       /* PPGen use only */
> EE 2B 00 00             ULONG  ulGoldenRevision;                   /* PPGen use only */
> 1B 00                   USHORT usFormatID;                         /* PPGen use only */
> 48 00 00 00             ULONG  ulPlatformCaps;                     /* See ATOM_Vega10_CAPS_* */
> 80 A9 03 00 (2400MHz)   ULONG  ulMaxODEngineClock;                 /* For Overdrive. */
> F0 49 02 00 (1500MHz)   ULONG  ulMaxODMemoryClock;                 /* For Overdrive. */
> 32 00                   USHORT usPowerControlLimit;
> 08 00                   USHORT usUlvVoltageOffset;                 /* in mv units */
> 00 00                   USHORT usUlvSmnclkDid;
> 00 00                   USHORT usUlvMp1clkDid;
> 00 00                   USHORT usUlvGfxclkBypass;
> 00 00                   USHORT usGfxclkSlewRate;
> 00                      UCHAR  ucGfxVoltageMode;
> 00                      UCHAR  ucSocVoltageMode;
> 00                      UCHAR  ucUclkVoltageMode;
> 00                      UCHAR  ucUvdVoltageMode;
> 00                      UCHAR  ucVceVoltageMode;
> 02                      UCHAR  ucMp0VoltageMode;
> 01                      UCHAR  ucDcefVoltageMode;
> 5C 00 (0x5C)            USHORT usStateArrayOffset;                 /* points to ATOM_Vega10_State_Array */
> 4F 02 (0x24F)           USHORT usFanTableOffset;                   /* points to ATOM_Vega10_Fan_Table */
> 46 02 (0x246)           USHORT usThermalControllerOffset;          /* points to ATOM_Vega10_Thermal_Controller */
> 94 00 (0x94)            USHORT usSocclkDependencyTableOffset;      /* points to ATOM_Vega10_SOCCLK_Dependency_Table */
> 9E 01 (0x19E)           USHORT usMclkDependencyTableOffset;        /* points to ATOM_Vega10_MCLK_Dependency_Table */
> BE 00 (0xBE)            USHORT usGfxclkDependencyTableOffset;      /* points to ATOM_Vega10_GFXCLK_Dependency_Table */
> 28 01 (0x128)           USHORT usDcefclkDependencyTableOffset;     /* points to ATOM_Vega10_DCEFCLK_Dependency_Table */
> 7A 00 (0x7A)            USHORT usVddcLookupTableOffset;            /* points to ATOM_Vega10_Voltage_Lookup_Table */
> 8C 00 (0x8C)            USHORT usVddmemLookupTableOffset;          /* points to ATOM_Vega10_Voltage_Lookup_Table */
> BC 01 (0x1BC)           USHORT usMMDependencyTableOffset;          /* points to ATOM_Vega10_MM_Dependency_Table */
> 00 00                   USHORT usVCEStateTableOffset;              /* points to ATOM_Vega10_VCE_State_Table */
> 00 00                   USHORT usReserve;                          /* No PPM Support for Vega10 */
> 72 02 (0x272)           USHORT usPowerTuneTableOffset;             /* points to ATOM_Vega10_PowerTune_Table */
> 00 00                   USHORT usHardLimitTableOffset;             /* points to ATOM_Vega10_Hard_Limit_Table */
> 90 00 (0x90)            USHORT usVddciLookupTableOffset;           /* points to ATOM_Vega10_Voltage_Lookup_Table */
> A8 02 (0x2A8)           USHORT usPCIETableOffset;                  /* points to ATOM_Vega10_PCIE_Table */
> 6D 01 (0x16D)           USHORT usPixclkDependencyTableOffset;      /* points to ATOM_Vega10_PIXCLK_Dependency_Table */
> 43 01 (0x143)           USHORT usDispClkDependencyTableOffset;     /* points to ATOM_Vega10_DISPCLK_Dependency_Table */
> 97 01 (0x197)           USHORT usPhyClkDependencyTableOffset;      /* points to ATOM_Vega10_PHYCLK_Dependency_Table */
> } ATOM_Vega10_POWERPLAYTABLE;[/Spoiler]
> 
> *max power limit* (+50% = 0x32) for all Vega cards:
> 
> *TDP, TDC...*
> 
> 
> Spoiler
> 
> 
> 
> 56:
> 
> A5 00 -> 0xA5 -> 165W Socket PowerLimit
> A5 00 -> 0xA5 -> 165W Battery PowerLimit
> A5 00 -> 0xA5 -> 165W Small PowerLimit
> 2C 01 -> 0x12C -> 300A Tdc Limit
> 64:
> 
> FE:
> 
> DC 00 -> 0xDC -> 220W Socket PowerLimit
> DC 00 -> 0xDC -> 220W Battery PowerLimit
> DC 00 -> 0xDC -> 220W Small PowerLimit
> 2C 01 -> 0x12C -> 300A Tdc Limit
> 64 LC:
> 
> FE LC:
> 
> 08 01 -> 0x108 -> 264W Socket PowerLimit
> 08 01 -> 0x108 -> 264W Battery PowerLimit
> 08 01 -> 0x108 -> 264W Small PowerLimit
> 2C 01 -> 0x12C -> 300A Tdc Limit
> 
> 
> *Vega64 PowerTune Table*
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> Code:
> 
> 
> typedef struct _ATOM_Vega10_PowerTune_Table_V2 {
> 07      UCHAR  ucRevId;
> DC 00 (220W)    USHORT usSocketPowerLimit;
> DC 00 (220W)    USHORT usBatteryPowerLimit;
> DC 00 (220W)    USHORT usSmallPowerLimit;
> 2C 01 (300A)    USHORT usTdcLimit;
> 00 00           USHORT usEdcLimit;
> 59 00 (89°C)    USHORT usSoftwareShutdownTemp;
> 69 00 (105°C)   USHORT usTemperatureLimitHotSpot;
> 4A 00 (75°C)    USHORT usTemperatureLimitLiquid1;
> 4A 00 (75°C)    USHORT usTemperatureLimitLiquid2;
> 5F 00 (95°C)    USHORT usTemperatureLimitHBM;
> 73 00 (115°C)   USHORT usTemperatureLimitVrSoc;
> 73 00 (115°C)   USHORT usTemperatureLimitVrMem;
> 64 00 (100°C)   USHORT usTemperatureLimitPlx;
> 40 00 (64Ω??)   USHORT usLoadLineResistance;
> 90      UCHAR ucLiquid1_I2C_address;
> 92      UCHAR ucLiquid2_I2C_address;
> 97      UCHAR ucLiquid_I2C_Line;
> 60      UCHAR ucVr_I2C_address;
> 96      UCHAR ucVr_I2C_Line;
> 00      UCHAR ucPlx_I2C_address;
> 90      UCHAR ucPlx_I2C_Line;
> 55 00 (85°C)    USHORT usTemperatureLimitTedge;
> } ATOM_Vega10_PowerTune_Table_V2;
> [/Spoiler]
> 
> The voltages are found at the exact same place for all of the Vega cards.
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> Code:
> 
> 
> typedef struct _ATOM_Vega10_Voltage_Lookup_Record {
> USHORT usVdd;                                               /* Base voltage */
> } ATOM_Vega10_Voltage_Lookup_Record;
> 
> typedef struct _ATOM_Vega10_Voltage_Lookup_Table {
> UCHAR ucRevId;
> UCHAR ucNumEntries;                                          /* Number of entries */
> ATOM_Vega10_Voltage_Lookup_Record entries[1];             /* Dynamically allocate entries */
> } ATOM_Vega10_Voltage_Lookup_Table;[/Spoiler]
> 
> For P-State 7 Vcore:
> 
> B0 04 -> 0x4B0 -> 1200mV
> examples:
> C9 04 -> 0x4C9 -> 1225mV
> E2 04 -> 0x4E2 -> 1250mV
> FB 04 -> 0x4FB -> 1275mV
> ...
> 
> the *clockrates*, easiest way is to search for the hex-value, i guess. P-State 7 clockrate should also be followed by 00 07.
> 
> 00 71 02 -> 0x27100 -> 160000 -> 1600MHz (FE)
> 18 6D 02 -> 0x26D18 -> 159000 -> 1590MHz (56)
> You have to multiplicate with 100, take the hex value and reverse it to "little endian".
> HBM:
> Vega 56:
> 80 38 01 -> 0x13880 -> 80000 -> 800MHz
> Vega 64, FE:
> 24 71 01 -> 0x17124 -> 94500 -> 945MHz
> 
> *Fan Table*
> always starts with "0B" (RevId), after "01 18 00 00 00 00 00 00 00" which is the thermal controller table.
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> Code:
> 
> 
> typedef struct _ATOM_Vega10_Fan_Table {
> UCHAR ucRevId; /* Change this if the table format changes or version changes so that the other fields are not the same. */
> USHORT usFanOutputSensitivity; /* Sensitivity of fan reaction to temepature changes. */
> USHORT usFanRPMMax; /* The default value in RPM. */
> USHORT usThrottlingRPM;
> USHORT usFanAcousticLimit; /* Minimum Fan Controller Frequency Acoustic Limit. */
> USHORT usTargetTemperature; /* The default ideal temperature in Celcius. */
> USHORT usMinimumPWMLimit; /* The minimum PWM that the advanced fan controller can set. */
> USHORT usTargetGfxClk; /* The ideal Fan Controller GFXCLK Frequency Acoustic Limit. */
> USHORT usFanGainEdge;
> USHORT usFanGainHotspot;
> USHORT usFanGainLiquid;
> USHORT usFanGainVrVddc;
> USHORT usFanGainVrMvdd;
> USHORT usFanGainPlx;
> USHORT usFanGainHbm;
> UCHAR ucEnableZeroRPM;
> USHORT usFanStopTemperature;
> USHORT usFanStartTemperature;
> } ATOM_Vega10_Fan_Table;
> 
> typedef struct _ATOM_Vega10_Fan_Table_V2 {
> UCHAR ucRevId;
> USHORT usFanOutputSensitivity;
> USHORT usFanAcousticLimitRpm;
> USHORT usThrottlingRPM;
> USHORT usTargetTemperature;
> USHORT usMinimumPWMLimit;
> USHORT usTargetGfxClk;
> USHORT usFanGainEdge;
> USHORT usFanGainHotspot;
> USHORT usFanGainLiquid;
> USHORT usFanGainVrVddc;
> USHORT usFanGainVrMvdd;
> USHORT usFanGainPlx;
> USHORT usFanGainHbm;
> UCHAR ucEnableZeroRPM;
> USHORT usFanStopTemperature;
> USHORT usFanStartTemperature;
> UCHAR ucFanParameters;
> UCHAR ucFanMinRPM;
> UCHAR ucFanMaxRPM;
> } ATOM_Vega10_Fan_Table_V2;
> 
> typedef struct _ATOM_Vega10_Thermal_Controller {
> UCHAR ucRevId;
> UCHAR ucType; /* one of ATOM_VEGA10_PP_THERMALCONTROLLER_*/
> UCHAR ucI2cLine; /* as interpreted by DAL I2C */
> UCHAR ucI2cAddress;
> UCHAR ucFanParameters; /* Fan Control Parameters. */
> UCHAR ucFanMinRPM; /* Fan Minimum RPM (hundreds) -- for display purposes only.*/
> UCHAR ucFanMaxRPM; /* Fan Maximum RPM (hundreds) -- for display purposes only.*/
> UCHAR ucFlags; /* to be defined */
> } ATOM_Vega10_Thermal_Controller;
> [/Spoiler]
> 
> *Devil64 fan table*
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> Code:
> 
> 
> typedef struct _ATOM_Vega10_Fan_Table_V2 {
> 0B UCHAR ucRevId;
> E4 12 (0x12E4 = 4836)     USHORT usFanOutputSensitivity;
> AC 0D (0xDAC = 3500 RPM)  USHORT usFanAcousticLimitRpm;
> AC 0D (0xDAC = 3500 RPM)  USHORT usThrottlingRPM;
> 46 00 (0x46 = 70°C)       USHORT usTargetTemperature;
> 23 00 (0x23 = 35)         USHORT usMinimumPWMLimit;
> 54 03 (0x354 = 852)       USHORT usTargetGfxClk;
> 90 01 (0x190 = 400)       USHORT usFanGainEdge;
> 90 01 (0x190 = 400)       USHORT usFanGainHotspot;
> 90 01 (0x190 = 400)       USHORT usFanGainLiquid;
> 90 01 (0x190 = 400)       USHORT usFanGainVrVddc;
> 90 01 (0x190 = 400)       USHORT usFanGainVrMvdd;
> 90 01 (0x190 = 400)       USHORT usFanGainPlx;
> 90 01 (0x190 = 400)       USHORT usFanGainHbm;
> 01 (01 = on / 00 = off)   UCHAR ucEnableZeroRPM;
> 28 00 (0x28 = 40°C)       USHORT usFanStopTemperature;
> 32 00 (0x32 = 50°C)       USHORT usFanStartTemperature;
> 02                        UCHAR ucFanParameters;
> 08 (800 RPM)              UCHAR ucFanMinRPM;
> 23 (0x23 = 35 = 3500 RPM) UCHAR ucFanMaxRPM;
> } ATOM_Vega10_Fan_Table_V2;
> [/Spoiler]
> 
> 
> For the *voltages*, you have to switch to manual voltage and apply them first, or everything will be at stock.
> 
> To adjust voltages just edit the SoftPowerPlay again and add it to the registry. For the clockrates, you have to reset with Wattman first and then apply manual voltage setting again.
> 
> +142% power limit, 220W, 400A
> MorePowerVega56_142.zip 1k .zip file
> MorePowerVega64_142.zip 1k .zip file
> 
> only for very good cooling solutions, not stock aio, the lower shutdown temp is to prevent the pump from taking damage!
> +142% power limit, 264W, 400A, shutdown temp 89°C (=56,64)
> MorePowerVega64LC_142.zip 1k .zip file
> 
> There is also an editor now:
> Vega64SoftPowerTableEditor
> with FE it is still buggy, afaik





Spoiler






Spoiler






Spoiler






Spoiler






Spoiler



One of the things that i have been wondering is that. When you go into Radeon WattMan/OverdriveNTool, and you change your PowerLimit from 0% to 50% Where is this value stored on the PowerPlayMod?

For reference, the Pro Driver from 2018 does not allow you to give it "+50" Power as the previous ones used to.

So one way to increase the Power from Vega is giving it more TBP/TDC, like increasing from 220W to 264W. But increasing the Base Power can be dangerous due to PCI-e Power Draw.

Would any of you guys know, where in the PowerPlayMod, i can find the values of the 0~50% Power Slider? Thanks in advance.

@


----------



## Kyozon

18.Q1


----------



## Ne01 OnnA

Up, Up we go


----------



## hellm

SoftPowerPlay table in the registry is the same as the PowerPlay info table found in the BIOS. Look into the Vega PP table header spoiler, there you find this line:
32 00 USHORT usPowerControlLimit;
This is the max value for the slider. I marked it blue in the pic below.
If the Por Driver had cut this feature, we can't do anything with the PowerPlay table here. Would need a driver hack instead.


----------



## gupsterg

Kyozon said:


> So one way to increase the Power from Vega is giving it more TBP/TDC, like increasing from 220W to 264W. But increasing the Base Power can be dangerous due to PCI-e Power Draw.


PCI-E slot draw is no way high on VEGA RX/FE on reference PCB, check reviews like THG, etc.

PCI-E connectors again is no issue. People reference PCI-SIG info more than the HW can actually do. Top table is PCI-SIG info.



Spoiler














I mod PowerLimit values as I'd like 0% to be, don't mod the slider limit, even on latest drivers my RX VEGA 64 ref PCB performs as it did months ago on same softpowerplay registry file.


----------



## zozomester

I would like to inquire whether you have for Reference Vega 64 Limited edition BIOS low power consumption (max 150-180W) produced?

Thank!


----------



## Ne01 OnnA

Here my 1h GamePlay in The Division DX12 Ultra High Preset w/AA on 1440p 10Bit 70Hz FreeSync Monitor

As You can see Power Draw using Chill at 64-70FPS is ~180tW Spike and ~70tW on average in Daily Gameplay Farm
Meansured one week ago.

===


----------



## sinnedone

Lol, Im trying to go the other way. Trying to see how far I can push my reference 64 with Liquid bios and upping power limit.


----------



## majestynl

gupsterg said:


> I mod PowerLimit values as I'd like 0% to be, don't mod the slider limit, even on latest drivers my RX VEGA 64 ref PCB performs as it did months ago on same softpowerplay registry file.


Same here.. had no issues since release.. Still running great and even better due the maturing of drivers!!



sinnedone said:


> Lol, Im trying to go the other way. Trying to see how far I can push my reference 64 with Liquid bios and upping power limit.


hehe did the same!! be careful and don't burn your house


----------



## hellm

Steve also did it again. :specool:





for the impact on the liefespan.. i guess just going from black's equation in the simplest way:








So, j is the current flow. If we change that, all depends strongly on the ^n parameter. We really don't know about that one, but for just 2 times the current flow we would get a quarter of the lifespan with parameter n = 2.
But then again, we don't know really anything. Maybe the GPU runs ten years under normal conditions.
Water cooling is in any case a good idea, lowers the leakage currents, therefore the current flow through the GPU. And the temps of the capacitors.


----------



## majestynl

hellm said:


> Steve also did it again. :specool:
> Beating the RTX 2070 with Vega 56 Mods | Unlimited Power
> 
> for the impact on the liefespan.. i guess just going from black's equation in the simplest way:
> 
> 
> 
> 
> 
> 
> 
> 
> So, j is the current flow. If we change that, all depends strongly on the ^n parameter. We really don't know about that one, but for just 2 times the current flow we would get a quarter of the lifespan with parameter n = 2.
> But then again, we don't know really anything. Maybe the GPU runs ten years under normal conditions.
> Water cooling is in any case a good idea, lowers the leakage currents, therefore the current flow through the GPU. And the temps of the capacitors.


Yepz saw the video.. looking great. Agree, about water cooling. Probably you will throw the card away before the lifespan! (even modded)

Literally few days before the video i bought a the same Vega56 for a friend. That thing runs really smooth and cool!!
He was coming from a laptop with a 1050ti...and he is blown away from the difference 
I will let him play for few weeks with my UV profile before i mess with the PP!


----------



## hellm

Yeah, and if it dies before then, you should have gotten really a lot of fun out of it. That is what i love about a Radeon, there is always more performance available, as long as your power supply doesn't give up. 

mynm has come up with an idea, what if someone would change the voltage values in the Power Play table to the evv values:
So this:

20 03 (800mV) USHORT usVdd; /* Base voltage */
84 03 (900mV) USHORT usVdd; /* Base voltage */
B6 03 (950mV) USHORT usVdd; /* Base voltage */
E8 03 (1000mV) USHORT usVdd; /* Base voltage */
1A 04 (1050mV) USHORT usVdd; /* Base voltage */
4C 04 (1100mV) USHORT usVdd; /* Base voltage */
7E 04 (1150mV) USHORT usVdd; /* Base voltage */
B0 04 (1200mV) USHORT usVdd; /* Base voltage */

To this:

20 03 (800mV) USHORT usVdd; /* Base voltage */
02 FF (900mV) USHORT usVdd; /* Base voltage */
03 FF (950mV) USHORT usVdd; /* Base voltage */
04 FF (1000mV) USHORT usVdd; /* Base voltage */
05 FF (1050mV) USHORT usVdd; /* Base voltage */
06 FF (1100mV) USHORT usVdd; /* Base voltage */
07 FF (1150mV) USHORT usVdd; /* Base voltage */
08 FF (1200mV) USHORT usVdd; /* Base voltage */

anyone want to give this a try. Only if something changes, i don't know, for the science? RBRT has no Vega at the moment..
I think this would only be interesting, if someone switches then to manual voltage. Shouldn't be any risk to it.


----------



## sinnedone

What would that do exactly?

What are the "evv values"?


----------



## hellm

It is explained in the Fiji BIOS thread:


gupsterg said:


> *What is EVV?*
> EVV = Electronic Variable Voltage, this is the default method of VID setting in ROM. This is based on LeakageID and default GPU clock plus other GPU properties. A VID per DPM will be calculated and set automatically.
> 
> In stock ROM PowerPlay we see EVV pointers per DPM, to calculate the pointer you need to add the order (2-8) to 0xFF00 or 65280:
> 
> - DPM0 (manually fixed voltage)
> - DPM1 (2nd DPM) = 0xFF02 (65282)
> - DPM2 (3rd DPM) = 0xFF03 (65283)
> - DPM3 (4th DPM) = 0xFF04 (65284)
> - DPM4 (5th DPM) = 0xFF05 (65285)
> - DPM5 (6th DPM) = 0xFF06 (65286)
> - DPM6 (7th DPM) = 0xFF07 (65287)
> - DPM7 (8th DPM) = 0xFF08 (65288)
> 
> So the DPM VID pointers we see they increase by 1 to denote the next level of DPM EVV VID.
> 
> *What is DPM?*
> DPM = Dynamic Power Management , when we discuss this it is basically states the bios has for the GPU, there are 8 in ROM (but there are more, read AMD PowerTune PDFs on web). DPM 0 is lowest and DPM 7 is highest, "PowerTune" tech uses these states to manage the GPU for various reasons.


----------



## gupsterg

As above, but the other notable thing on VEGA is that DPM 5/6/7 is ACG/AVFS. An observation is shown in OP, Testing of PowerPlay registry mods > Setting my WattMan profile in PP reg mod, point iii).


----------



## mynm

hellm said:


> Yeah, and if it dies before then, you should have gotten really a lot of fun out of it. That is what i love about a Radeon, there is always more performance available, as long as your power supply doesn't give up.
> 
> mynm has come up with an idea, what if someone would change the voltage values in the Power Play table to the evv values:
> So this:
> 
> 20 03 (800mV) USHORT usVdd; /* Base voltage */
> 84 03 (900mV) USHORT usVdd; /* Base voltage */
> B6 03 (950mV) USHORT usVdd; /* Base voltage */
> E8 03 (1000mV) USHORT usVdd; /* Base voltage */
> 1A 04 (1050mV) USHORT usVdd; /* Base voltage */
> 4C 04 (1100mV) USHORT usVdd; /* Base voltage */
> 7E 04 (1150mV) USHORT usVdd; /* Base voltage */
> B0 04 (1200mV) USHORT usVdd; /* Base voltage */
> 
> To this:
> 
> 20 03 (800mV) USHORT usVdd; /* Base voltage */
> 02 FF (900mV) USHORT usVdd; /* Base voltage */
> 03 FF (950mV) USHORT usVdd; /* Base voltage */
> 04 FF (1000mV) USHORT usVdd; /* Base voltage */
> 05 FF (1050mV) USHORT usVdd; /* Base voltage */
> 06 FF (1100mV) USHORT usVdd; /* Base voltage */
> 07 FF (1150mV) USHORT usVdd; /* Base voltage */
> 08 FF (1200mV) USHORT usVdd; /* Base voltage */
> 
> anyone want to give this a try. Only if something changes, i don't know, for the science? RBRT has no Vega at the moment..
> I think this would only be interesting, if someone switches then to manual voltage. Shouldn't be any risk to it.


As you say I think is interesting to test this, it should work because vega have am Asic profiling table. I remember to ask this here a year a go with out response. Maybe it have the risk of have a black screen when windows login, as is a registry mod, so maybe is better to do a restore point before. 



gupsterg said:


> As above, but the other notable thing on VEGA is that DPM 5/6/7 is ACG/AVFS. An observation is shown in OP, Testing of PowerPlay registry mods > Setting my WattMan profile in PP reg mod, point iii).


Thanks for the info, I didn't have see it. Do you think this can work?


----------



## gupsterg

I'm confused what the mod would gain "us"?

Lets say I leave WattMan in "Balanced mode", it does not use the voltages from ATOM_Vega10_Voltage_Lookup_Table. It does everything "fully automatic" in regard to voltages; clocks, powerlimit it does take up from PP mod.

If I place WattMan in "Custom mode" then the ATOM_Vega10_Voltage_Lookup_Table comes into play. Then I have control on voltages somewhat depending upon case test.

If I wish to disable ACG/AVFS then I believe I would need to change ucACGEnable; in ATOM_Vega10_GFXCLK_Dependency_Table from a 01 to 00. I can not recall if I have done that ever.

The other thing I have noted is in header of PP there is:-



Code:


00			UCHAR  ucGfxVoltageMode;
00			UCHAR  ucSocVoltageMode;
00			UCHAR  ucUclkVoltageMode;
00			UCHAR  ucUvdVoltageMode;
00			UCHAR  ucVceVoltageMode;
02			UCHAR  ucMp0VoltageMode;
01			UCHAR  ucDcefVoltageMode;

And settings I belive would be:-



Code:


#define ATOM_Vega10_VoltageMode_AVFS_Interpolate     0
#define ATOM_Vega10_VoltageMode_AVFS_WorstCase       1
#define ATOM_Vega10_VoltageMode_Static               2


----------



## hellm

Yeah, that is a question. I mean "gain us" and stuff. I guess it was a science question. Since the Voltage_Lookup_Table is only relevant when switched to manual voltage.

Deactivating AVFS wouldn't do much good either, i guess. Since unlimited power mod..


----------



## mynm

gupsterg said:


> I'm confused what the mod would gain "us"?
> 
> Lets say I leave WattMan in "Balanced mode", it does not use the voltages from ATOM_Vega10_Voltage_Lookup_Table. It does everything "fully automatic" in regard to voltages; clocks, powerlimit it does take up from PP mod.
> 
> If I place WattMan in "Custom mode" then the ATOM_Vega10_Voltage_Lookup_Table comes into play. Then I have control on voltages somewhat depending upon case test.
> 
> If I wish to disable ACG/AVFS then I believe I would need to change ucACGEnable; in ATOM_Vega10_GFXCLK_Dependency_Table from a 01 to 00. I can not recall if I have done that ever.
> 
> The other thing I have noted is in header of PP there is:-
> 
> 
> 
> Code:
> 
> 
> 00			UCHAR  ucGfxVoltageMode;
> 00			UCHAR  ucSocVoltageMode;
> 00			UCHAR  ucUclkVoltageMode;
> 00			UCHAR  ucUvdVoltageMode;
> 00			UCHAR  ucVceVoltageMode;
> 02			UCHAR  ucMp0VoltageMode;
> 01			UCHAR  ucDcefVoltageMode;
> 
> And settings I belive would be:-
> 
> 
> 
> Code:
> 
> 
> #define ATOM_Vega10_VoltageMode_AVFS_Interpolate     0
> #define ATOM_Vega10_VoltageMode_AVFS_WorstCase       1
> #define ATOM_Vega10_VoltageMode_Static               2





hellm said:


> Yeah, that is a question. I mean "gain us" and stuff. I guess it was a science question. Since the Voltage_Lookup_Table is only relevant when switched to manual voltage.
> 
> Deactivating AVFS wouldn't do much good either, i guess. Since unlimited power mod..



I'm just saying it because with my 380 I get better results not changing FFXX values to voltage values. Using the auto voltages ones and modding the asic profiling table to change voltages, I get better results. 

For example if I set 1.137v to FF08 for 1125mhz is not working and in need ~50mv more, but I need 1.137v if I set the voltage with asic profiling table without changing the FF08. 

Is not a for science or for fun question, is a problem I see with my gpu and I am sure 100% is happenig for my gpu. So I don't know if it is happenig wiht vega or other amd gpus.


----------



## gupsterg

ASIC profiling I can't change.

At present the ref PCB RX VEGA 64 I have, I won't try some mods on. As prize it too much for a few reasons and don't wanna get into a RMA situation. 

When I see an opportunity, I may grab another VEGA to do some meddling on  .


----------



## mynm

Ok, but I think that there is no risk on doing this, I have done mods to my 380 bios like changin the powerplay table to a 390 one or polaris one and was not working but I had no problem  .

Edit: But is not our problem, so better not to test it.


----------



## hellm

I concur on the risk thing. Although there is no risk until switched to manual voltage, it would be very scientific to that point. Only interesting thing what wattman would insert as mV values for the DPM states. But structures should be the same, and i wonder what would change with the manual thing. Someone said manual voltage compared to stock is different on a Vega, by looking over data collected with a DMM. Something about LLC, i can't remember. So, if the same 1200mV appears in DPM7 with evv values, hm. But then someone has to measure somehow.. maybe @buildzoid wants to do this, if bored and alone with a Vega sometime?

So, i am sorry i said "should be no risk", no risk until manual voltage. We sadly can't set a voltage cap or something..


----------



## sinnedone

So basically all this talk (which I am very uninformed about 🙂 ) Is about modifying the VID lookup tables for adding more voltage for certain load states?


For now I would just like to get this power play mod working correctly. 

I followed the video in the first post and made a 142% power play table which shows up in waterman but card never pulls more than 376w or so.


----------



## hellm

You have to raise the current limit (300A) as well.

No, not more voltage. For that, you only have to raise the mV values in the vddc lookup table found in the power play table. And hit manual voltage afterwards.

This one is about voltage mangament or something. There is a difference between evv values (those 0xFF0x things) and a explicit value on other Radeon GPU's. And there is still something different with Vega and manual voltage. Or at least that is the data we want to collect.

I guess we will have a crowdfunding for a Vega card for RBRT and gupsterg sometime.  .. oh, and lordkag droped something about the eventuality of BIOS lock hacking and the possible death of Vega cards in the process.


----------



## sinnedone

Ah ok. So trying to figure out how Vega decides what voltages to use.

So the first post "how to" doesn't change the current limit? (I followed the directions in the video.)


----------



## hellm

That vid is about how to create a vanilla SoftPowerPlay registry key. It doesn't change anything, you have to mod it for the 142% or whatever value you like.
You can use the Editor, and change usPowerControlLimit for the max slider value, or go to the PowerTune table and change the power limits in watts. There you also find usTdcLimit, this is the current limit. I also pictured that on page 26 for editing with notepad.


----------



## sinnedone

Thank you 😁

Looks like I have more reading to do.


----------



## gupsterg

mynm said:


> Ok, but I think that there is no risk on doing this, I have done mods to my 380 bios like changin the powerplay table to a 390 one or polaris one and was not working but I had no problem  .
> 
> Edit: But is not our problem, so better not to test it.


I don't know if you and hellm have looked at the VEGA PowerPlay closely. It does not have the EVV pointers as other past AMD GPUs in PowerPlay.

So say I change the voltage lookup table to EVV pointers I really got no idea what would happen.

In the past for Fiji/Hawaii there were tests I did which were "leaps of faith", but they were sorta more educated steps if you get what I mean, plus GPUs were 1/2 the cost of what VEGA+WB was TBH.

I hope I cause no offence to you guys by my post, you are both posters I like to read what you get up to and bounce stuff at, etc :grouphug: .

Left is Hawaii, middle is Fiji and right is Vega. When "we" go manual, Wattman is just picking up what is in the lookup table and "we" apply it. Basically a table for it to see what it will show as a default for voltages in Wattman, as we all know each silicon differs so it really is no way taking into account GPU variation, etc. It is just a simple lookup table.









Below is GPU-Z render test on VEGA, it doesn't even get it past DPM 1.



Spoiler











Next I run Valley, this is using DPM 5 upwards and you'll see from clocks/voltages that ACG/AVFS is in play.



Spoiler











Many will say Memory Voltage in Wattman is floor voltage, it isn't.

It is DPM 5 voltage. As it is a ACG/AVFS state and you can see in Valley run I will see will below the 1062mV I have set in it. I several times posted in owners club/ r/AMD , etc about what I had observed. As far as I can tell pretty much most do not take it on board and keep saying "set floor voltage by setting Memory Voltage in Wattman..."

Below ZIP has VBIOS I use. Stock PP.reg and one I have modded.

View attachment RX_VEGA_64_AIR_105.zip


----------



## mynm

gupsterg said:


> I don't know if you and hellm have looked at the VEGA PowerPlay closely. It does not have the EVV pointers as other past AMD GPUs in PowerPlay.
> 
> So say I change the voltage lookup table to EVV pointers I really got no idea what would happen.
> 
> In the past for Fiji/Hawaii there were tests I did which were "leaps of faith", but they were sorta more educated steps if you get what I mean, plus GPUs were 1/2 the cost of what VEGA+WB was TBH.
> 
> I hope I cause no offence to you guys by my post, you are both posters I like to read what you get up to and bounce stuff at, etc :grouphug: .
> 
> Left is Hawaii, middle is Fiji and right is Vega. When "we" go manual, Wattman is just picking up what is in the lookup table and "we" apply it. Basically a table for it to see what it will show as a default for voltages in Wattman, as we all know each silicon differs so it really is no way taking into account GPU variation, etc. It is just a simple lookup table.
> 
> View attachment 227736
> 
> 
> Below is GPU-Z render test on VEGA, it doesn't even get it past DPM 1.
> 
> 
> 
> Spoiler
> 
> 
> 
> https://youtu.be/LazELxhJhQU
> 
> 
> 
> Next I run Valley, this is using DPM 5 upwards and you'll see from clocks/voltages that ACG/AVFS is in play.
> 
> 
> 
> Spoiler
> 
> 
> 
> https://youtu.be/N5DtwtY8bFE
> 
> 
> 
> Many will say Memory Voltage in Wattman is floor voltage, it isn't.
> 
> It is DPM 5 voltage. As it is a ACG/AVFS state and you can see in Valley run I will see will below the 1062mV I have set in it. I several times posted in owners club/ r/AMD , etc about what I had observed. As far as I can tell pretty much most do not take it on board and keep saying "set floor voltage by setting Memory Voltage in Wattman..."
> 
> Below ZIP has VBIOS I use. Stock PP.reg and one I have modded.
> 
> View attachment 227740


Ok don't worry at all, you can not put your gpu in risk because is expensive, I have no problem at all with it. I did the same with my 380 years ago  . I see in your video that vega is behaving way more diferent with the voltages. And I know it don't have the evv pointers, so is a risk to do this.

I Just have a probem with the manual voltages in my 380 and I was thinking vega was using manual voltages all the time, but it seems that not. I can not understand how weird is my 380 behaviour, needing +50mv for the same clocks with manual voltages or even using bios voltage offset, versus with evv , and not seen this problem in other gpus. I was only warning about this problem.


----------



## hellm

@gupsterg
never offended by you. We are all humans here, so..

to be honest, i never looked that closely at the Vega ASIC_Profiling table, but i thought the structures where still there.. Oh, wait, you meant Power Play, well i thought until Vega we had those 2 tables:
VDDCLookupTable
VDDCGFXLookupTable
..where the last one is missing now. And the 0xFF0x are gone, but explicit values are there now. i thought the evv things where pointers to ASIC_Profiling, and i thought there is still the same thing happening.

But again, i am sorry about the risk thing, it is clearly not without any risk. Shouldn't have said that.


----------



## gupsterg

@mynm & @hellm

I will get another RX VEGA to play with. I already saw a reasonably priced one tonight after you guys posted  . Hopefully I will have sold some HW soon and use that cash for it  . 

I do not know how to term the manual voltages on VEGA mynm. Just as you saw in the video it swings around a lot. It's like your giving the "algorithm" a voltage reference point and it does it's magic to it, especially when GPU is in DPM 5-7. Again when I did the Dead Space compare as in OP, I was really intrigued by how advanced the GPU seems on this facet. It really seems as when it's in those DPMs it has a very wide and varied range for clocks/voltage.

As soon as I have the other VEGA I will try whatever you guys suggest  .


----------



## hellm

And when we're all done with that, we inform lordkag we have something he can play with. Or maybe there is a cheap little Navi card next year, with all the BIOS locks of the big ones. I don't think AMD will give that up, so we have to hack it someday.


----------



## mynm

gupsterg said:


> @mynm & @hellm
> 
> I will get another RX VEGA to play with. I already saw a reasonably priced one tonight after you guys posted  . Hopefully I will have sold some HW soon and use that cash for it  .
> 
> I do not know how to term the manual voltages on VEGA mynm. Just as you saw in the video it swings around a lot. It's like your giving the "algorithm" a voltage reference point and it does it's magic to it, especially when GPU is in DPM 5-7. Again when I did the Dead Space compare as in OP, I was really intrigued by how advanced the GPU seems on this facet. It really seems as when it's in those DPMs it has a very wide and varied range for clocks/voltage.
> 
> As soon as I have the other VEGA I will try whatever you guys suggest  .


Do not bother about this, maybe it is not working. Maybe is better to see first vega10 hwmgr.c: https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c . I see on it some info about EVV, it starts with PPLIB_VEGA10_EVV_SUPPORT, I see some thing about " /* search for leakage voltage ID 0xff01 ~ 0xff08 and sclk */" but I only see this for socclk not for gfxclk. My programing skills are low, so maybe somebody here can understand it better.


----------



## gupsterg

@mynm

Cheers, beyond me to understand that  .

Just added section in regard to UEFI/GOP module update in VBIOS in OP, besides the thank you to Lordkag and Fernado, a special thanks to members Sylar76, hellm, plutomaniac and others that kept the tool/thread going on Fernado's Win-Raid Forum.


----------



## mynm

gupsterg said:


> @mynm
> 
> Cheers, beyond me to understand that  .
> 
> Just added section in regard to UEFI/GOP module update in VBIOS in OP, besides the thank you to Lordkag and Fernado, a special thanks to members Sylar76, hellm, plutomaniac and others that kept the tool/thread going on Fernado's Win-Raid Forum.


You are welcome. It seem that is C++, and I know only a a little bit of java.

I have tested agin the wattman memory voltage with my 380, and if load is lower than 50% voltages can go to dpm 0 voltage, but if you set memory voltage to a higher voltage than dpm 0, the memory voltage is the floor. The load % is setted by the driver and could be changed in the past with these values: https://www.reddit.com/r/Amd/comments/477ot0/how_to_fix_fury_x_clock_throttling_on_radeon/ , but after the power eficiency button, these values can't be changed.

So maybe in vega if memory voltage is higher than dpm 5 voltage, gpu can use it as floor. * Edited:* sorry I just see that you have tested that changing DPM 5 is changing wattman memory voltage, so DPM 5 is the flor, I didn't have read the memory voltage part of your guide.

The problem I see now with my 380 is that even if gpu is using dpm 3, and even if load is less than 50%, voltages can go for more than dpm 7 voltage.
My dpm 7 voltage is 1.193v for 1180mhz, but I'm not using it because I can block dpms with Overdrive tool and I'm using only up to dpm 5 with 1125mhz and 1.137v. I'm using a lower LLC with only 20mv of voltage droop, thats why I can use that low voltages.

My asic profiling max voltage is set to 1.225v, it is the default value. Maybe if I set a 1.193v to the max I will don't see that peak voltages. Wattman voltages are set to auto, maybe is it using 1.225v like max voltage if voltages are in auto?. Do you see this problem with vega?. waybe they are voltage peaks, but I see a max of 1.263v fot he VID and 1.2v for vddc. Maybe they are only erros but is weird.

Edited: asic profiling max voltage to 1.193v is not stoping the peaks, neither wattman manual voltage, power efficiency and voltages seems broken. VOI max voltage isn't working for me, so there is nothing I can do. 


Edited: Power efficiency swich to on is not working for months. But I have tested driver 16.3.1 in wich is working and with it to on I don't get the voltage peaks but with it to off I get the same peaks.

Thanks for your video test, without them I had stll thinked the peak voltages were only errors. Maybe other amd gpus could have the same problem.

The not working power efficiency to on is reported months and isn't solved, but the voltage problem is a big problem.

Edited: the voltage spikes is happening in polaris gpus: https://www.overclock.net/forum/67-...-rx470-rx480-rx570-rx580-58.html#post27046025

*Edited:* I have attached an image where you can see the voltage spikes. Only with a 36% load is using less than dmp 2 clock but is using highest dpm voltage or more.
*
Edited:* while with 17.1.1 and power efficiency to on is using less than dpm 1 clock and dpm1 voltage as you can see in the second image


----------



## Bartouille

I should be receiving my vega 64 today. Decided not to go with Nvidia even though I have a g-sync monitor because their OC is boring.  Are these cards voltage locked btw? I see MSI Afterburner slider max is +100mv, shouldn't be too hard to bypass. Are there any gains going past that?


----------



## FlawleZ

Bartouille said:


> I should be receiving my vega 64 today. Decided not to go with Nvidia even though I have a g-sync monitor because their OC is boring. 🙂 Are these cards voltage locked btw? I see MSI Afterburner slider max is +100mv, shouldn't be too hard to bypass. Are there any gains going past that?


Which Vega 64 did you buy specifically? These cards aren't voltage locked but Afterburner isnt the best tool for overclocking or adjusting voltage for Vega. Use OverdriveN Tool. And these cards come by default with plenty of voltage on the core. Due to the power and thermal thresholds that will constant force these cards to change frequency dynamically, it's best to apply a slight undervolt to achieve the best core clockspeeds.


----------



## Bartouille

FlawleZ said:


> Which Vega 64 did you buy specifically? These cards aren't voltage locked but Afterburner isnt the best tool for overclocking or adjusting voltage for Vega. Use OverdriveN Tool. And these cards come by default with plenty of voltage on the core. Due to the power and thermal thresholds that will constant force these cards to change frequency dynamically, it's best to apply a slight undervolt to achieve the best core clockspeeds.


I bought the Sapphire blower reference card. I will put a water block on it once my loop is done. 18X San ace fans push pull on MO-RA3, should be plenty for 1950x and vega.


----------



## ht_addict

Bartouille said:


> I should be receiving my vega 64 today. Decided not to go with Nvidia even though I have a g-sync monitor because their OC is boring.  Are these cards voltage locked btw? I see MSI Afterburner slider max is +100mv, shouldn't be too hard to bypass. Are there any gains going past that?


OverdriveN Tool and a good Powerplay Table will get the most out of the card. I use the one from OnnA that I got on the Guru3D forums. Now my Vega 64s boost to 1800mhz+ and HBM is at 1100mhz. Check out the link and look at post 66

https://forums.guru3d.com/threads/help-with-rx-vega-64-lc-crash-problem.423516/page-4

https://www.overclock.net/forum/67-amd/1709900-strix-vega-lc-vega-bios.html#post27693330


----------



## pbfarmer

gupsterg said:


> I'm confused what the mod would gain "us"?
> 
> Lets say I leave WattMan in "Balanced mode", it does not use the voltages from ATOM_Vega10_Voltage_Lookup_Table. It does everything "fully automatic" in regard to voltages; clocks, powerlimit it does take up from PP mod.
> 
> If I place WattMan in "Custom mode" then the ATOM_Vega10_Voltage_Lookup_Table comes into play. Then I have control on voltages somewhat depending upon case test.
> 
> If I wish to disable ACG/AVFS then I believe I would need to change ucACGEnable; in ATOM_Vega10_GFXCLK_Dependency_Table from a 01 to 00. I can not recall if I have done that ever.
> 
> The other thing I have noted is in header of PP there is:-
> 
> 
> 
> Code:
> 
> 
> 00			UCHAR  ucGfxVoltageMode;
> 00			UCHAR  ucSocVoltageMode;
> 00			UCHAR  ucUclkVoltageMode;
> 00			UCHAR  ucUvdVoltageMode;
> 00			UCHAR  ucVceVoltageMode;
> 02			UCHAR  ucMp0VoltageMode;
> 01			UCHAR  ucDcefVoltageMode;
> 
> And settings I belive would be:-
> 
> 
> 
> Code:
> 
> 
> #define ATOM_Vega10_VoltageMode_AVFS_Interpolate     0
> #define ATOM_Vega10_VoltageMode_AVFS_WorstCase       1
> #define ATOM_Vega10_VoltageMode_Static               2


I've been trying to figure out this AVFS / ACG thing for a while. Setting ucACGEnable to 0 for P5-7 doesn't seem to accomplish anything - at least in Windows SPPTs w/ 18.10. Nor do I see any effect of setting voltage modes to static (2) - and i tried all of them just in case. I also tried disabling CKS (whatever that is) for P7 by setting it to 00 80 - nothing.

Any other ideas / help would be appreciated. I'm becoming increasingly frustrated at having to set my clocks at some arbitrary value to get to a desired clock for a given voltage setting.


----------



## gupsterg

@mymn

As said before on RX VEGA I find Memory Voltage in WattMan/OverdrivenNT is DPM 5 VID. In that the apps pull this VID from voltage island and display it as Memory Voltage. Memory voltage is 1350mV in powerplay Wattman does not display this value at all. It has been maybe a 9mths since I used OverdrivenNT and then it also did not show memory voltage. Both apps show DPM 5 as memory voltage.

RX VEGA does not have a PE switch IIRC, only Chill.
@pbfarmer

I don't see a static voltage either with PP mod I do, in most usage cases. As more of my time has been spent tinkering around with Ryzen/Threadripper I have forgotten the cases where I may have noted something close to static. You'll see in OP section Testing of *PowerPlay registry mods* > *Setting my WattMan profile in PP reg mod*. Only when GPU is using a non ACG/AVFS state, like case test image centre/right there will I see static voltage.

In post 1136 is a ZIP with stock PP and modded for the VBIOS I use. My card is on water, so temps within the context of discussion, probably don't come in to play as a limitation/effect. Let's say I change P7 from 1131 from 1125, I'll see the max voltage change and the average slightly change. So it seems to me when I set a VID for a DPM it acts as a ceiling VID, but then if I was to use a compute load (like [email protected]) as it may not be pulling as much power as a 3D load it may clock higher and use slightly higher average voltage, but IIRC still only slightly bounces pasts the VID in DPM 7. So it seems to me it's a reference point (VID) for the ACG/AVFS that we set up.

Even my clocks in ACG/AVFS aren't really static at all, I could do a run of SuperPosition 4K and it's doing a mix of clocks, so then voltage is not static either.

I believe by lowered temps we create headroom for algorithm. By setting VIDs we set reference points for ACG/AVFS states, but the algorithm has final say so based on usage.

I'll try to find some time to retest and create some HMLs, as the visual graphs depict things better.


----------



## mynm

gupsterg said:


> @mymn
> 
> As said before on RX VEGA I find Memory Voltage in WattMan/OverdrivenNT is DPM 5 VID. In that the apps pull this VID from voltage island and display it as Memory Voltage. Memory voltage is 1350mV in powerplay Wattman does not display this value at all. It has been maybe a 9mths since I used OverdrivenNT and then it also did not show memory voltage. Both apps show DPM 5 as memory voltage.
> 
> RX VEGA does not have a PE switch IIRC, only Chill.
> 
> @pbfarmer
> 
> I don't see a static voltage either with PP mod I do, in most usage cases. As more of my time has been spent tinkering around with Ryzen/Threadripper I have forgotten the cases where I may have noted something close to static. You'll see in OP section Testing of *PowerPlay registry mods* > *Setting my WattMan profile in PP reg mod*. Only when GPU is using a non ACG/AVFS state, like case test image centre/right there will I see static voltage.
> 
> In post 1136 is a ZIP with stock PP and modded for the VBIOS I use. My card is on water, so temps within the context of discussion, probably don't come in to play as a limitation/effect. Let's say I change P7 from 1131 from 1125, I'll see the max voltage change and the average slightly change. So it seems to me when I set a VID for a DPM it acts as a ceiling VID, but then if I was to use a compute load (like [email protected]) as it may not be pulling as much power as a 3D load it may clock higher and use slightly higher average voltage, but IIRC still only slightly bounces pasts the VID in DPM 7. So it seems to me it's a reference point (VID) for the ACG/AVFS that we set up.
> 
> Even my clocks in ACG/AVFS aren't really static at all, I could do a run of SuperPosition 4K and it's doing a mix of clocks, so then voltage is not static either.
> 
> I believe by lowered temps we create headroom for algorithm. By setting VIDs we set reference points for ACG/AVFS states, but the algorithm has final say so based on usage.
> 
> I'll try to find some time to retest and create some HMLs, as the visual graphs depict things better.


Ok, yes sorry, I just read in your guide that changing dpm 5 is changing memory voltage in OverdriveTool. So wattman memory voltage is not working like with my 380.

The thing now is that thanks to your videos, I see that power efficiency to off is causing voltage spikes to more than highest dpm voltage, and power efficiency to on is not doing spikes, like with vega. But with the latest drivers power efficiency to on is not working. So I think this is a big problem.


----------



## gupsterg

If I change Memory Voltage in WattMan/OverdrivenNT it changes DPM 5 VID, so it does work, labelling is wrong.

Power efficiency toggle is not in WattMan on RX VEGA. Regardless if I use my own PP mod or not, I don't see any excessive spikes of voltage TBH.

I managed an hour of some varied testing and used MSI AB to create HMLs. I think once I have done some more testing I'll share that for you to view and see what you make of it  .


----------



## Bartouille

Not sure I understand. Isn't memory voltage fixed at 1.35V? What exactly is the "memory" voltage in Overdrive? SOC voltage, VDDCI? I feel like this voltage does nothing in terms of stability...


----------



## gupsterg

@Bartouille

Memory Voltage is fixed.

As stated before, Memory Voltage in WattMan/OverdrivenNT is DPM 5 VID. Do a test:-

i) Create a powerplay registry file for VBIOS you use.
ii) Use the VEGA powerplay editor in OP to modify DPM 5 VID, save and apply the registry file.
iii) Reset WattMan page, reboot system (if you use Windows Fast Startup do a restart not shutdown, so a fresh kernel is loaded).
iv) Now when you open WattMan and change the Memory Voltage to manual control you will see what you set DPM 5 as.
@mynm

Just been searching around for information on PowerTune employed on VEGA. Again the short RX VEGA whitepaper came in handy, just like when discovered/asked Mumuk to expose SoC clock.



> To take advantage of this sort of dynamic power-tuning capability, “Vega” adds a new feature known as active workload identification. The driver software can identify certain workloads with specific needs—such as full-screen gaming, compute, video, or VR—and notify the power management microcontroller than such a workload is active. The microcontroller can then tune the chip’s various domains appropriately to extract the best mix of performance and power consumption.


See page 13 of this PDF.


----------



## sinnedone

Overshooting P7 frequency help.

I have a Vega64 flashed to Liquid Bios. The max overclock this card will do is 1765 @ 1.25mv. Wattman set to custom with +50% power limit and [email protected] in P7 state.

While playing Forza Horizon 4 the Clocks shot up to 1775mhz and instant lock.


Is there anyway to keep this behavior from happening as whole?


----------



## gupsterg

I believe this can not be curbed just by PowerPlay mod on some cards.

I also had same issue with AIO VBIOS flashed to AIR RX VEGA 64. Even made a custom PP for use with AIO VBIOS, with same settings as AIR PP mod. I'd have overshoot at some point, leading to crash. At the time I did not feel like investing time to see if another table within AIO VBIOS differs to AIR which maybe responsible for this overshoot.


----------



## Ne01 OnnA

gupsterg said:


> I believe this can not be curbed just by PowerPlay mod on some cards.
> 
> I also had same issue with AIO VBIOS flashed to AIR RX VEGA 64. Even made a custom PP for use with AIO VBIOS, with same settings as AIR PP mod. I'd have overshoot at some point, leading to crash. At the time I did not feel like investing time to see if another table within AIO VBIOS differs to AIR which maybe responsible for this overshoot.


Maby, if overshooted try to lower P6-P7 by a notch to restrain it a little.

P6 1650
P7 1742
Should help a bit, also try to give little less V for P7 1.150v ?
This will prevent AI to boost over the limit.

Note:
Also i have found than sometimes is better to OC HBM2 more and leave GPU clock lower
e.g.
1732MHz with 1100-1135MHz HBM2 -> It give good FPS for sure.
Im not using my Vega XTX with 120-144Hz monitor so, im playing my games mostly on 1650-1700MHz with 1150HBM2 and it's OK for FreeSync 70-75Hz, no drops occured.
Now Playing Destiny 2 (Yes it's free until Nov.18 and you can have it for free, no it's not free weekend it's FREE !) and 1700/1175HBm2 rocks that game NP.


----------



## mynm

gupsterg said:


> @mymn
> 
> As said before on RX VEGA I find Memory Voltage in WattMan/OverdrivenNT is DPM 5 VID. In that the apps pull this VID from voltage island and display it as Memory Voltage. Memory voltage is 1350mV in powerplay Wattman does not display this value at all. It has been maybe a 9mths since I used OverdrivenNT and then it also did not show memory voltage. Both apps show DPM 5 as memory voltage.
> 
> RX VEGA does not have a PE switch IIRC, only Chill.


Ok, so DMP5 is the floor vddc when HBM is at the highest DPM. I had readed somewhere that it was Infinity Fabric voltage.

About the power efficiency switch, the problem is that with it in off, is causing voltage peaks higher than the highest dpm voltage, and maybe polaris gpus can have the same problem: https://www.overclock.net/forum/67-...-rx470-rx480-rx570-rx580-58.html#post27046025 , but I have to ask if it is causing the problem in polaris gpus.

For Vega if it don't have the switch, I think that power efficiency is allways on, so it will don't have the problem. 



gupsterg said:


> @
> [MENTION=487454]mynm
> 
> Just been searching around for information on PowerTune employed on VEGA. Again the short RX VEGA whitepaper came in handy, just like when discovered/asked Mumuk to expose SoC clock.
> 
> 
> See page 13 of this PDF.


Thanks for the info. I see PowerTune is differnt for my 380.


----------



## Doubleyoupee

Ne01 OnnA said:


> Maby, if overshooted try to lower P6-P7 by a notch to restrain it a little.
> 
> P6 1650
> P7 1742
> Should help a bit, also try to give little less V for P7 1.150v ?
> This will prevent AI to boost over the limit.
> 
> Note:
> Also i have found than sometimes is better to OC HBM2 more and leave GPU clock lower
> e.g.
> 1732MHz with 1100-1135MHz HBM2 -> It give good FPS for sure.
> Im not using my Vega XTX with 120-144Hz monitor so, im playing my games mostly on 1650-1700MHz with 1150HBM2 and it's OK for FreeSync 70-75Hz, no drops occured.
> Now Playing Destiny 2 (Yes it's free until Nov.18 and you can have it for free, no it's not free weekend it's FREE !) and 1700/1175HBm2 rocks that game NP.


Why are you guys changing p6?

For me, touching p6 has literally zero effect.
I can put 1.0v 1500mhz, 1.2v, 1600mhz, 1700mhz, it doesn't affect anything. It simply goes to whatever i set for P7.
In-game mhz doesn't change by even 1 mhz.


----------



## Ne01 OnnA

I have like this, and it's working Perfectly.

Good example of setting P2/3/4/5/6 and of course P7 is when game idling (e.g. You browsing Items in bagpack )
Then GPU AI Behaviour soft gives lowered P-State thus saving tons of tW.

In Pic.2 is a good example of this ~2h Destiny 2 campaign (it's Free too play now)
When You set things right for VEGA it can be very Power efficient GPU (IMO even more than Pascal/Volta  )

===


----------



## Doubleyoupee

1737mhz @ 1.1v? Mine would instantly crash.

Also negative power limit? can you explain that?


----------



## dslives

Bartouille said:


> I bought the Sapphire blower reference card. I will put a water block on it once my loop is done. 18X San ace fans push pull on MO-RA3, should be plenty for 1950x and vega.



Good stuff. I got two of these. Haven’t had the time to really tune them, but plenty of gaming done.





























Sent from my iPhone using Tapatalk Pro


----------



## sinnedone

gupsterg said:


> I believe this can not be curbed just by PowerPlay mod on some cards.
> 
> I also had same issue with AIO VBIOS flashed to AIR RX VEGA 64. Even made a custom PP for use with AIO VBIOS, with same settings as AIR PP mod. I'd have overshoot at some point, leading to crash. At the time I did not feel like investing time to see if another table within AIO VBIOS differs to AIR which maybe responsible for this overshoot.


Sad to hear there's no info on how to stop this behavior.





Ne01 OnnA said:


> Maby, if overshooted try to lower P6-P7 by a notch to restrain it a little.
> 
> P6 1650
> P7 1742
> Should help a bit, also try to give little less V for P7 1.150v ?
> This will prevent AI to boost over the limit.
> 
> Note:
> Also i have found than sometimes is better to OC HBM2 more and leave GPU clock lower
> e.g.
> 1732MHz with 1100-1135MHz HBM2 -> It give good FPS for sure.
> Im not using my Vega XTX with 120-144Hz monitor so, im playing my games mostly on 1650-1700MHz with 1150HBM2 and it's OK for FreeSync 70-75Hz, no drops occured.
> Now Playing Destiny 2 (Yes it's free until Nov.18 and you can have it for free, no it's not free weekend it's FREE !) and 1700/1175HBm2 rocks that game NP.


Looks like I have more tweaking to do. My card wont run 1740 at 1.15v though, wish it did.


----------



## Damis

Hey guys,
I am looking for a PowerPlay for rx vega 56, not 64. There are a lot of them around for 64, but it's harder to find one for 56. I would greatly appreciate if someone shared it. It would save me a lot of time. Thank you 😃


----------



## jordanpchome

Source：https://www.chiphell.com/forum.php?mod=viewthread&tid=1911324

DOWNLOAD：https://www.techpowerup.com/vgabios/198367/198367


According to the test of this forum, after brushing this BIOS file

1. Successfully transformed VEGA 64 into FE
2. Specviewperf 13 can run the test smoothly
3. P1~P5 voltage options can be adjusted
4. The BIOS of GOP can be updated normally.

Since I don't have a VEGA display card, I hope everyone can help with the test.


----------



## TrixX

Is that reversible? An FE to a Vega64 but using the full HBM2 of the FE....


----------



## mtrai

@jordanpchome thanks looking into this.



TrixX said:


> Is that reversible? An FE to a Vega64 but using the full HBM2 of the FE....


 It should be...but people are gonna have to look into this. I do not have a FE but just a regular Powercolor Red Devil Vega 64

/edit What I am seeing is they are using the Radeon Pro WX 8100 and really should be using the Radeon Pro WX 9100 bios for this...but I guess it is a start. Okay they are flashing Vega 56 to FE.


----------



## gupsterg

@TrixX

As mtrai states I envisage no issue going between RX VEGA 64 / FE 8G VBIOS.

@jordanpchome

Intriguing share :thumb: .



Spoiler






















































































Will run SPECviewperf13 again now, should I try Professional driver mode or game mode?

*** edit ***


----------



## whiteskymage

For some reason, my RX Vega 64 is somehow heavily throttling at 65-70C even though I am watercooling it with a EK copper WB. It ignores the Wattman temperature offsets for some reason... What can I do?


----------



## strumf666

Did you check just GPU core T or all of them? If you are getting 65°C on GPU then something is wrong:
https://www.reddit.com/r/Amd/comments/7j3bl2/vega64_ekwb_hotspot_temps/


----------



## jordanpchome

https://www.chiphell.com/forum.php?mod=viewthread&tid=1927983

Comparison with wx9100


----------



## TrixX

gupsterg said:


> @TrixX
> 
> As mtrai states I envisage no issue going between RX VEGA 64 / FE 8G VBIOS.


That's quite interesting as I may be able to get hold of an FE...

Could be quite fun having a 16GB Vega with gaming driver support


----------



## 113802

Anyone have the Vega FE AIO UEFI?


----------



## gupsterg

whiteskymage said:


> For some reason, my RX Vega 64 is somehow heavily throttling at 65-70C even though I am watercooling it with a EK copper WB. It ignores the Wattman temperature offsets for some reason... What can I do?
> 
> 
> 
> strumf666 said:
> 
> 
> 
> Did you check just GPU core T or all of them? If you are getting 65°C on GPU then something is wrong:
> https://www.reddit.com/r/Amd/comments/7j3bl2/vega64_ekwb_hotspot_temps/
Click to expand...

I'd agree your temperature is off for being on water. I'd be surprised if the throttling is due to GPU temperature. Perhaps powerlimit or another aspect of operation is making you think it is throttling.



TrixX said:


> That's quite interesting as I may be able to get hold of an FE...
> 
> Could be quite fun having a 16GB Vega with gaming driver support


Personally I wouldn't go getting a FE for 16GB.



WannaBeOCer said:


> Anyone have the Vega FE AIO UEFI?


STD PL, Increased PL.



jordanpchome said:


> https://www.chiphell.com/forum.php?mod=viewthread&tid=1927983
> 
> Comparison with wx9100


I did update my previous post with Pro driver run. Looking at them side to side some nice jumps in SPECviewperf13 for driver change. The RX VEGA 64 setup is higher clock CORE/HBM and increased PL, so clearly the Pro driver is heavily optimised IMO for test case.



Spoiler














Once I was on gaming driver, switch back to Pro did not occur at all  . I then did a clean uninstall, reinstalled Pro driver, planning to install gaming driver again today and try switching between the 2.

Seems as if VEGA FE has no ACG enabled for latter 3 states.



Spoiler














You may have noted in previous post where I was on gaming driver, WattMan memory voltage matches DPM 3 voltage. This is as MEMCLK3 voltage index link is 3 vs 5 on RX VEGA.



Spoiler


----------



## strumf666

If Vega FE doesn't have ACG enabled, does that mean it holds clocks set in profile, regardless of the power draw?


----------



## whiteskymage

strumf666 said:


> Did you check just GPU core T or all of them? If you are getting 65°C on GPU then something is wrong:
> https://www.reddit.com/r/Amd/comments/7j3bl2/vega64_ekwb_hotspot_temps/





gupsterg said:


> I'd agree your temperature is off for being on water. I'd be surprised if the throttling is due to GPU temperature. Perhaps powerlimit or another aspect of operation is making you think it is throttling.


Yes it is GPU core temp. it gets to 65C and it starts throttling (this is what GPU-Z sensors read at least, i also tried with afterburner monitoring). My mem temp gets to about 72C...

I have noticed I have bubbles and buildup in my GPU waterblock ( EK full cover copper waterblock), so maybe it's time for flush and clean.....

However the question is why is my GPU ignoring the *temperature offsets in Wattman*? When I set max temp to 85C or 80C, it ignores it. No matter which BIOS I install, it's the same, with both LC or stock bios.

When did this start to occur? When I updated my Radeon drivers, and for some reason I installed an "optional" driver which i did not know it's a "beta" a few months ago. I reverted it back but the problem persisted. I usually clean GPU drivers using DDU.


----------



## strumf666

Not necessarily, hotspot T is usually the highest so it's possible its throttling with a reason. Furmark example (mine is throttling because of power draw and/or Furmark driver limitation):
On normal loads I get ~1700MHz GPU clock, a couple 10MHz higher and it locks up instantly.


----------



## majestynl

whiteskymage said:


> For some reason, my RX Vega 64 is somehow heavily throttling at 65-70C even though I am watercooling it with a EK copper WB. It ignores the Wattman temperature offsets for some reason... What can I do?


Temps are looking way to high for water-cooling if you ask me.
Did you double check; 
- if you are using the recommended (by EK) flow direction of your Vega block? See manual
- Repaste with proper thermal paste ?

The last time I reinstalled the block I re-paste the Die with Kryonaut and swapped the pads with Thermal Grizzly MinusPads. I also saw I didn't used the right flow direction  (stupid mistake)

All changes above got me -10c difference. The card now never exceeds 45c. Mostly between 34-40c.

What I also saw is much better performance even it was not hitting high tempratures before all the changes.


----------



## os4321

[error]


----------



## gupsterg

strumf666 said:


> If Vega FE doesn't have ACG enabled, does that mean it holds clocks set in profile, regardless of the power draw?


Sorry not had the time to check. I've been on that VBIOS now for few days and not encountered any issues in normal use so far, been on Pro driver and no PP mod at present.


----------



## dslives

Wondering if anyone has tried to address the clock speed overshoot issue by putting a Hard Limit table in a soft PP table. All the examples I've seen don't have one present.

I've tried adding one by making the below changes to the more power 64 PP table downloaded from the link at the beginning of this thread. From what I read in the Linux driver implementation this should at least be parsed. Not having any success on windows.

Changes, in order, are:

1) update length of PP table entry to 0x02CA
2) set pointer to Hard Limit table at previous end of PP table 0x02B6
3) Hard Limit table. SOC 1107Mhz, GFX 1600Mhz, Mem 1200 Mhz, Vddc 1250mv, Vddci 1000mv MVddc 1400mv

Intention is to cap GFX CLK at 1600 Mhz to prove an upper limit can be set. Ultimately I would set this closer to 1800 to stop my cards boosting into 1850+ and locking up


----------



## gupsterg

I tried it ~1yr ago and no go.


----------



## axtran

Tried flashing my PowerColor 8GBHBM2-3DH and ended up getting nothing but Code 43 errors in Windows. Any recommendations? I've been trying the stock VBIOS re-flashing but no luck...


----------



## gupsterg

Hmm strange. Not had this. Perhaps try Display Driver Uninstaller in safe mode.


----------



## UX12

Just tried the 8GB FE bios on my brand new Sapphire reference rx vega 64.
Flashing was successful but was greeted by no video output afterwards, not even the POST screen. Had to use the secondary bios to boot up and reflash the primary back to the original.
The google translation on chiphell seems to suggest that the Vega Limited editions are the cards to go for for this? I saw at least one other post saying their sapphire card was a no go.


----------



## gupsterg

Strange. I have Gigabyte RX VEGA 64 Limited Edition (AIR) with reference PCB and the 8GB FE VBIOS is working as it should. I have used display port output to ASUS MG279Q and also had secondary display enabled via HDMI to LG PDP 55inch.


----------



## MrGenius

TrixX said:


> Is that reversible? An FE to a Vega64 but using the full HBM2 of the FE....


In theory? Yes(I've done it on another AMD card before). In practice? No. Since we can't do any BIOS modding on Vega yet(and it required BIOS modding when I did it before). It would/should be pretty simple to do too. I did it by just swapping out the VRAM_Info table in the BIOS for one with a different amount of VRAM. Well...there's slightly more to it than that. But that's the basic concept.


UX12 said:


> Just tried the 8GB FE bios on my brand new Sapphire reference rx vega 64.
> Flashing was successful but was greeted by no video output afterwards, not even the POST screen. Had to use the secondary bios to boot up and reflash the primary back to the original.
> The google translation on chiphell seems to suggest that the Vega Limited editions are the cards to go for for this? I saw at least one other post saying their sapphire card was a no go.


Well...it works just fine on my Sapphire/PowerColor RX Vega 64 reference card. I don't think there's any differences whatsoever between any reference cards, except for the stickers. Which brings me to my explanation of why I called mine a Sapphire/PowerColor. It came in a PowerColor box, and has a PowerColor sticker on the fan. But it says Sapphire on the sticker/label on the shroud. I guess AMD labels them for a particular AIB partner before shipping them out. And then the AIB parter just slaps a sticker with their name on the fan, before boxing them up for sale. Somehow PowerColor got one that was supposed to go to Sapphire. Apparently...

Anyway, I used the FE 8GB bios to boost my SPECviewperf 12 Creo subtest 11 score from 3.24 FPS to 14.37 FPS. Putting me, currently, in the top spot for said score over on HWBOT.

:thumbsups


gupsterg said:


> iii) Cross flashing between RX VEGA and VEGA FE is *not possible*.


Soooo...IMO...this needs changed.


----------



## ebinkerd

I've been out of the loop for a while. Are you saying that you can flash an 8gb FE bios to a RX 64 and it will be recognized as a FE?


----------



## MrGenius

ebinkerd said:


> I've been out of the loop for a while. Are you saying that you can flash an 8gb FE bios to a RX 64 and it will be recognized as a FE?


That's exactly what I'm saying. The card will be recognized as an 8GB FE. And you'll be able to install the Radeon Pro drivers for it. I don't know that it works on all Vegas. But I do know that it works on my reference 64. I assume it will also work on reference 56s. And also MSI Air Boost Vegas(since they use a reference PCB).


----------



## 113802

Anyone have success flashing the write protected RX Vega LC UEFI?


----------



## ebinkerd

MrGenius said:


> That's exactly what I'm saying. The card will be recognized as an 8GB FE. And you'll be able to install the Radeon Pro drivers for it. I don't know that it works on all Vegas. But I do know that it works on my reference 64. I assume it will also work on reference 56s. And also MSI Air Boost Vegas(since they use a reference PCB).


Just tried this on a brand new sapphire reference rx64 and it did not work, didn't even post.


----------



## MrGenius

ebinkerd said:


> Just tried this on a brand new sapphire reference rx64 and it did not work, didn't even post.


Samsung or Hynix HBM2? I know. Stupid question. But I'm curious if that's what's being overlooked here. It only supports Samsung KHA843801B. So that would make perfect sense if you were to flash it on a card that has Hynix. Not that a reference 64 having Hynix HBM2 makes a lick of sense. Since it shouldn't. But what else could it possibly be?


----------



## BeetleatWar1977

MrGenius said:


> Samsung or Hynix HBM2? I know. Stupid question. But I'm curious if that's what's being overlooked here. It only supports Samsung KHA843801B. So that would make perfect sense if you were to flash it on a card that has Hynix. Not that a reference 64 having Hynix HBM2 makes a lick of sense. Since it shouldn't. But what else could it possibly be?


Works like a Charm on my 56 MSI......


----------



## MrGenius

Speaking of MSI. If you want a tiny factory OC, you can run the MSI Air Boost BIOS on your reference 56 or 64. Same PCB as reference. Works flawlessly on my reference 64. Not sure if that's been mentioned already. This thread is too big to read from start to finish.


----------



## 113802

MrGenius said:


> Samsung or Hynix HBM2? I know. Stupid question. But I'm curious if that's what's being overlooked here. It only supports Samsung KHA843801B. So that would make perfect sense if you were to flash it on a card that has Hynix. Not that a reference 64 having Hynix HBM2 makes a lick of sense. Since it shouldn't. But what else could it possibly be?


Worked fine on my reference RX Vega 64 LC which has Samsung memory.


----------



## Jonny321321

I couldn't find a definitive answer - can all Aftermarket Vega 56s with Samsung memory (specifically PowerColor Red Devil) be flashed to Vega 64?

I found this thread which seems to suggest you can't: https://www.reddit.com/r/AMDHelp/comments/8sd5x9/cant_flash_powercooler_red_devil_vega_56_to_64/


But I found another thread on Guru3d suggesting that you could using command line with the -f switch? Is it true?


----------



## Doubleyoupee

https://videocardz.com/79307/amd-radeon-software-adrenalin-2019-edition-all-you-need-to-know


----------



## 113802

Anyone know who modified the FE bios to work on a 8GB? Trying to find out if they're able to mod the FE liquid bios.


----------



## mtrai

Jonny321321 said:


> I couldn't find a definitive answer - can all Aftermarket Vega 56s with Samsung memory (specifically PowerColor Red Devil) be flashed to Vega 64?
> 
> I found this thread which seems to suggest you can't: https://www.reddit.com/r/AMDHelp/comments/8sd5x9/cant_flash_powercooler_red_devil_vega_56_to_64/
> 
> 
> But I found another thread on Guru3d suggesting that you could using command line with the -f switch? Is it true?


When cross flashing you will always have to use admin command prompt with atiflash -f -p gpucardnumber rom.rom 

With 1 card it will be atiflash -f -p 0 rom.rom

With more then one card always run atiflash -i or atiflash -ai to get you gpu number you wish to flash.

If you are a novice with more then one card I would suggest disconnecting the power from the gpus you do not wish to flash.

Assuming you have the same memory type and a bios switch and not trying to use a Powercolor Vega 64 LC bios you should be safe to go as you can fall back and reflash by switching bios switch. Some of the PC LC Vega 64 bios are locked so it is a one way flash. FOr the locked bios I have only seen that with some LC bios.


----------



## paih85

gupsterg said:


> @TrixX
> 
> As mtrai states I envisage no issue going between RX VEGA 64 / FE 8G VBIOS.
> 
> @jordanpchome
> 
> Intriguing share :thumb: .
> 
> 
> 
> Spoiler
> 
> 
> 
> 
> View attachment 230752
> 
> 
> View attachment 230754
> 
> 
> View attachment 230756
> 
> 
> View attachment 230758
> 
> 
> View attachment 230760
> 
> 
> View attachment 230762
> 
> 
> View attachment 230764
> 
> 
> View attachment 230766
> 
> 
> View attachment 230768
> 
> 
> View attachment 230770
> 
> 
> 
> 
> Will run SPECviewperf13 again now, should I try Professional driver mode or game mode?
> 
> *** edit ***
> 
> View attachment 230800



can that bios working on vega56 ref card?


----------



## Danesh_italiano

Can any bios from vega 64/fe be able to change how much you can push the memory frequency? As the voltage for the memory is locked at 1.35 from any 64/fe bios, right?
My vega 56 with 64 bios can only go until 1070Mhz. More than this i am getting green artefacts, doesnt matter the memory or core temperature.

Thanks!


----------



## Jonny321321

Any benefit to a FE bios over a 64 bios?


----------



## steadly2004

MrGenius said:


> Speaking of MSI. If you want a tiny factory OC, you can run the MSI Air Boost BIOS on your reference 56 or 64. Same PCB as reference. Works flawlessly on my reference 64. Not sure if that's been mentioned already. This thread is too big to read from start to finish.


I was just going to post this... its nice. My cards on are water, but don't like the factory water BIOS. I have to manually turn it down on P7, or I sometimes get a crash in games. Saw the BIOS and flashed, worked like a charm. Its not a huge bump, but it is something.


----------



## Antonis78

hello to community.
since i m new to this type of mod ,i d like if can evenyone of you help me with powerplay tables. I have a powercolor red devil vega 56 . I undervoted by -156mv ,the core clock is hit 1600mhz ,the hbm2 is at 945mhz and the powerlimit at +50%. It is nice and stable and i dont have any issues at all. I have not yet update to latest drivers and im still use the 18.9.3.
Today i download the attached power table and edit the power limit to 150%. reboot the machine and when i benchmark no matter if i ve increase the powerlimit nothing change at results. i have the same as before install the powertable. i was not be able to hit more core clock frequency no matter if i try to change the core voltage slider. is it something that i miss here?
I attach the powerplay table from overclock.net unmodified to help me if you can to what changes need to make to it.
Regrats
Antonis


----------



## hellm

Afaik the TDC limit is not affected by increasing the maximum power limit (%) in wattman. Usually you should be fine with 400A and 142%.


----------



## Antonis78

i use msi afterburner for oc and monitoring.
Thank you very much now it works.


----------



## Antonis78

hellm said:


> Afaik the TDC limit is not affected by increasing the maximum power limit (%) in wattman. Usually you should be fine with 400A and 142%.


i use msi afterburner for oc and monitoring.
Thank you very much now it works.


----------



## MrGenius

Jonny321321 said:


> Any benefit to a FE bios over a 64 bios?


Being able to use the Radeon Pro drivers. Which will give HUGE performance increases with certain workloads. Other than that, no. It's also way more of a PITA to overclock and change voltages with a FE too. You have to use the SoftPowerPlay tables to set the clocks and voltages other than stock. And increasing the power limit is impossible with a FE no matter what you do(so far as I can tell).


----------



## 99belle99

I tried to flash a 64 bios to my 56 but get error subsytem mismatch. From reading online it seem the bios I download is Samsung while my 56 has Hynix. I'm afraid to force flash it as I read it will not boot is this true?


----------



## Dekaohtoura

Don't flash a Smsung BIOS to a Hynix card.

You'll end up with a bricked card, at least on this BIOS switch mode.


----------



## cahota

MrGenius said:


> It's also way more of a PITA to overclock and change voltages with a FE too. You have to use the SoftPowerPlay tables to set the clocks and voltages other than stock.


Are there any guides on doing that for Vega FE specifically? Been googling for 2 days now, and I can't find a single guide which would explain what values in the power tables to change and how to calculate those. There are some guides for 56/64, but the tables are different compared to FE and I can't figure out what to change and how.  All I need is OC the HBM a little bit (to 1000?) and undervolt down to 0.95-0.975V. It's easier to start experimenting with 56/64 since there are some pre-made .reg files out there, but I couldn't find a single .reg for FE.


----------



## ZealotKi11er

cahota said:


> Are there any guides on doing that for Vega FE specifically? Been googling for 2 days now, and I can't find a single guide which would explain what values in the power tables to change and how to calculate those. There are some guides for 56/64, but the tables are different compared to FE and I can't figure out what to change and how.  All I need is OC the HBM a little bit (to 1000?) and undervolt down to 0.95-0.975V. It's easier to start experimenting with 56/64 since there are some pre-made .reg files out there, but I couldn't find a single .reg for FE.


Switch the FE to gaming driver and you can do the same as Vega 64.


----------



## cahota

ZealotKi11er said:


> Switch the FE to gaming driver and you can do the same as Vega 64.


That would be an option, but I bought FE specifically to use with the pro drivers. Had a 1080 Ti in this machine before, so the Vega was purchased not for gaming. I just didn't realize that it's pretty much broken in its default state, in a closed Define XL R2 the GPU temp gets to 90+ and HBM goes close to 100 in a matter of minutes under load. I've already ordered Morpheus Vega cooler, but it's gonna take a while to arrive, so trying to survive somehow with the stock cooler for now.  Definitely need to undervolt this thing.


----------



## MrGenius

cahota said:


> Are there any guides on doing that for Vega FE specifically? Been googling for 2 days now, and I can't find a single guide which would explain what values in the power tables to change and how to calculate those. There are some guides for 56/64, but the tables are different compared to FE and I can't figure out what to change and how.  All I need is OC the HBM a little bit (to 1000?) and undervolt down to 0.95-0.975V. It's easier to start experimenting with 56/64 since there are some pre-made .reg files out there, but I couldn't find a single .reg for FE.


I made one for you. But for future reference, they're super easy to make with OverdriveNTool 0.2.7. Just right click the header bar(or ribbon I thinks it's called), then left click on PPTable editor. The rest is pretty self-explanatory. You'll figure it out.

EDIT: It's also easiest to apply the .reg and then use the PPTable editor to make changes and save them. It doesn't allow for as much customization as the Vega64SoftPowerTableEditor. But for quick-changing clocks, and/or voltages, it's much simpler(especially with an FE).


----------



## 113802

I noticed an odd bug when I flash my RX Vega 64 LC from the FE back to the LC bios my card gets stuck in P7 without any undervolting with only +50%. I noticed my frames were much higher than normal. I opened up the AMD overlay and it was running at 1746Mhz-1754Mhz so I ran 3Dmark and sure enough the results showed in fact it was running in P7. After a restart the card runs like normal again. I was able to replicate this three times after flashing the FE bios back to the LC. The card is capable of running 1750Mhz all the time. Time to harass AMD's driver team. 

1750Mhz/1105Mhz P7 stuck: https://www.3dmark.com/fs/17528640

1750Mhz/1105Mhz normal: https://www.3dmark.com/fs/17383255


----------



## cahota

MrGenius said:


> Just right click the header bar(or ribbon I thinks it's called), then left click on PPTable editor. The rest is pretty self-explanatory.


Thanks! I've been using OverdriveNTool with Polaris cards for ages, but didn't know it's got that feature for Vega's. That's a lot easier than filling out the tables by hand with a hex editor, you saved me quite a few headaches. 

By the way, I've ran into a problem the nature of which I don't understand yet. I've switched to the gaming driver for now, just to quickly figure out the stable clocks/voltages for my card with ODNT, and for some reason I've got my system freeze in a matter of seconds under load if I don't increase the "Power Target". So, I'm running 1500/1000 @ 0.95V (actually set to 975mV in ODNT, but GPU-Z shows 1000mV while idling and the voltage drops to 950mV under load). When the Power Target set to 50% - everything's stable, 3D Mark and other tests work just fine and the core clock stays close to 1500 (hovering at 1480-1485 most of the time). But if I set Power Target to 0 (default value) - then any test crashes the system a few seconds after starting it. The voltage stays the same, the core clocks are even a little bit lower (1460-1475), yet the system always crashes. When I add more power again (PT to 50% in ODNT, while everything else is the same) - it's rock solid stable. I don't understand, why would the card crash with 100% PL but would stay stable at pretty much the same clocks/voltages with 150% PL? I'd assume if it doesn't have enough power to stay within the stock power limit - it would simply throttle - lower the clocks/voltages. But it just crashes instead (the screen freezes, then the monitor turns off and the system is unresponsive, have to use reset button). The only idea I've got so far is that it could be due to me disabling some power states and adjusting them incorrectly. I've attached the screenshot with my ODNT settings - everything is working fine like that, but if I change "Power Target" to 0 - then it's crashing all the time (in 3D).


----------



## Bartouille

Interesting. One cool thing I noticed with the new drivers is that when you keep max p-state below P4 (inclusive) it will not overshoot with light loads (e.g. idle).


----------



## dslives

Bartouille said:


> Interesting. One cool thing I noticed with the new drivers is that when you keep max p-state below P4 (inclusive) it will not overshoot with light loads (e.g. idle).




Isn’t this because ACG is only enabled in P5,6,7?

Dumb question: how are you capping max P-state?


Sent from my iPhone using Tapatalk Pro


----------



## Bartouille

dslives said:


> Isn’t this because ACG is only enabled in P5,6,7?
> 
> Dumb question: how are you capping max P-state?
> 
> 
> Sent from my iPhone using Tapatalk Pro


You can cap p-states in WattMan. Just left-click on the state rectangle, it allows you to move min/max state around. Unfortunately locking max state at P4 is not stable for me even though I'm giving the same clock/voltage as I would with P7.


----------



## Sickened1

Hey all just got my reference sapphire vega 64 under an EKWB and preliminary overclock done. I'm in wattman at 1742mhz(1690-1700 actual) core at 1200mv and memory at 1100mhz. Core/HBM temps in the 40's and hotspot lands in the 70's. Do I have much of anything to really gain from modding my power play table or is that gonna be a waste of time/heat?


----------



## wefornes

hello, i have a vega 64 asus strix with a ghetto mode 2.0 (2x120mm vardar fans) and with 1050mv gpu and memory 1100mhz on the vram and the gpu its about 1500-1600mhz. will be worth it to update the bios from the 1st page to my gpu.?

thanks


----------



## Dukes 15

*V64 idle voltage 900mv*

How do i edit idle voltage ? With the newer drivers my gpu sits at 900mv and nearly 50c. No need for it to be that high. Before the new drivers broke most OC software my gpu was undervolted and happily idling at 600mv and gaming at 1050mv


----------



## joshuawi99

*My Two Vega 64 Strix Cards still have Powerlimits*

I edited both Powertables for my two Vega 64 Strix´s to +142% at 400A with triple 264 Socketpowerlimits and it still draws 330 Wats max from the wall at 1.2 V. Also it wont boost above 1550mhz in Firestrike at a 1700mhz offset. Anything im doing wrong? Do i need certain drivers to get it work. The driver reconizes the offset just fine. i can select the new powerlimit .

Thanks guys!​


----------



## hellm

Yes, the Strix has a limit of it's own. Apparently i2c is also locked, and we can't communicate with the vrm controller. So, only way would be to exchange it with a Nitro+.


----------



## Bullseye13

hellm said:


> There is also an editor now:
> Vega64SoftPowerTableEditor
> with FE it is still buggy, afaik


Can you please explain me how i can use this SoftPowerTableEditor? Which Software do i need to open this SoftPowerTableEditor?


----------



## hellm

Sorry, doesn't work at the moment. 

For now, you have to use notepad. We are working on this..


----------



## MrGenius

Bullseye13 said:


> Can you please explain me how i can use this SoftPowerTableEditor? Which Software do i need to open this SoftPowerTableEditor?


Download the compiled version here. Then download and install GTK# for .NET. Then extract/unzip the Vega64SoftPowerTableEditor folder. Open it and click on the Vega64SoftPowerTableEditor application. If the app opens, you're good to go(lucky you!). 

However, if the app doesn't open(which it sometimes will not without a little help), delete everything from the Vega64SoftPowerTableEditor folder except the Vega64SoftPowerTableEditor application and gtk-sharp.dll(and maybe the README, but you can delete that too if you don't want/need it). You're deleting everything else because it's all a bunch of useless crap that has no business being there in the first place. And the app won't open/work because something else actually needs to be there for it to open/work(sometimes, but not always, not sure what's up with that).

So let's fix that by adding what needs to be there so it does open/work. Go to C:\Program Files (x86)\GtkSharp\2.12\bin and copy zlib1.dll, then paste that in the Vega64SoftPowerTableEditor folder. Then try clicking the Vega64SoftPowerTableEditor application and watch how it now magically opens and works perfectly.


hellm said:


> Sorry, doesn't work at the moment.


Works just fine. If you know how to work it.

EDIT: I see what you meant by that now. The Vega FE 16GB GFX clocks thing. Not good. Funny thing is the Vega FE 8GB GFX clocks are right. Why is that I wonder?


hellm said:


> For now, you have to use notepad. We are working on this..


You can also use the PPTable editor in OverdriveNTool with a Vega FE 16GB .reg file and the clocks are correct with that.


----------



## hellm

doesn't work with latest w10, afaik. I had a few pm's because of that. OverdriveN seems to work, but what i am told it is not that powerful. Luckily zero fan is accessible in wattman now, that is what most people complaint about.


----------



## MrGenius

Hmmmm...it sounds like you're trying to say it doesn't work at all with the latest w10. That would be wrong. Like I said...it works just fine. If you know how to work it. The only trouble I've had with it is solved by the workaround I described(an idea I derived from someone else's workaround actually, but my way's better). The wonky GFX clocks with the 16GB FE must have always been an issue(and still are evidently, with the latest w10 or not). Other than those 2 things though...it works perfectly(with the latest w10 or not). Including being able to set zero fan with it. Which in my experience is the only way that actually does work. WattMan is still the hot steaming pile of dog poo it's ever been. You can't force me to use that POS.


----------



## hellm

so.. Vega 20 will be here soon.. and there is something coming, i think this is either an attempt to make the SoftPowerPlay registry hack impossible or just more complex. There is a new datatype at the end, it is called "PPTable_t".
https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_pptable.h



Spoiler






Code:


typedef struct _ATOM_VEGA20_POWERPLAYTABLE
{

	struct atom_common_table_header sHeader;
	{
		USHORT usStructureSize;
		UCHAR  ucTableFormatRevision;   /*Change it when the Parser is not backward compatible */
		UCHAR  ucTableContentRevision;  /*Change it only when the table needs to change but the firmware */
                                                   /*Image can't be updated, while Driver needs to carry the new table! */
	} ATOM_COMMON_TABLE_HEADER;

	  
      UCHAR  ucTableRevision;
      USHORT usTableSize;
      ULONG  ulGoldenPPID;
      ULONG  ulGoldenRevision;
      USHORT usFormatID;

      ULONG  ulPlatformCaps;

      UCHAR  ucThermalControllerType;

      USHORT usSmallPowerLimit1;
      USHORT usSmallPowerLimit2;
      USHORT usBoostPowerLimit;
      USHORT usODTurboPowerLimit;
      USHORT usODPowerSavePowerLimit;
      USHORT usSoftwareShutdownTemp;

      ATOM_VEGA20_POWER_SAVING_CLOCK_RECORD PowerSavingClockTable;    //PowerSavingClock Mode Clock Min/Max array
	typedef struct _ATOM_VEGA20_POWER_SAVING_CLOCK_RECORD
	{
		UCHAR ucTableRevision;
		ULONG PowerSavingClockCount;                // Count of PowerSavingClock Mode
		ULONG PowerSavingClockMax  [16];      		// PowerSavingClock Mode Clock Maximum array In MHz
		ULONG PowerSavingClockMin  [16];      		// PowerSavingClock Mode Clock Minimum array In MHz
	} ATOM_VEGA20_POWER_SAVING_CLOCK_RECORD;
	  
	  
	  
      ATOM_VEGA20_OVERDRIVE8_RECORD OverDrive8Table;       //OverDrive8 Feature capabilities and Settings Range (Max and Min)
	typedef struct _ATOM_VEGA20_OVERDRIVE8_RECORD
	{
		UCHAR ucODTableRevision;
		ULONG ODFeatureCount;
		UCHAR ODFeatureCapabilities [32];   //OD feature support flags
		ULONG ODSettingCount;
		ULONG ODSettingsMax [32];           //Upper Limit for each OD Setting
		ULONG ODSettingsMin [32];           //Lower Limit for each OD Setting
	} ATOM_VEGA20_OVERDRIVE8_RECORD;
	  
	  
      USHORT usReserve[5];

      PPTable_t smcPPTable;

} ATOM_Vega20_POWERPLAYTABLE;




..and here is a function that has a PPTable_t datatype as a parameter, at least it points to one.
https://github.com/torvalds/linux/b.../amd/powerplay/hwmgr/vega20_processpptables.c

i tried to get this into some meaning and replaced all the formatting with known datatypes. And "padding" means it has to be filled with placeholders, i guess.


Spoiler






Code:


PPTable_t
	Version = ULONG, pptable->Version

	FeaturesToRun[0] = ULONG, pptable->FeaturesToRun[0]
	FeaturesToRun[1] = ULONG, pptable->FeaturesToRun[1]

	SocketPowerLimitAc0 = USHORT, pptable->SocketPowerLimitAc0
	SocketPowerLimitAc0Tau = USHORT, pptable->SocketPowerLimitAc0Tau
	SocketPowerLimitAc1 = USHORT, pptable->SocketPowerLimitAc1
	SocketPowerLimitAc1Tau = USHORT, pptable->SocketPowerLimitAc1Tau
	SocketPowerLimitAc2 = USHORT, pptable->SocketPowerLimitAc2
	SocketPowerLimitAc2Tau = USHORT, pptable->SocketPowerLimitAc2Tau
	SocketPowerLimitAc3 = USHORT, pptable->SocketPowerLimitAc3
	SocketPowerLimitAc3Tau = USHORT, pptable->SocketPowerLimitAc3Tau
	SocketPowerLimitDc = USHORT, pptable->SocketPowerLimitDc
	SocketPowerLimitDcTau = USHORT, pptable->SocketPowerLimitDcTau
	TdcLimitSoc = USHORT, pptable->TdcLimitSoc
	TdcLimitSocTau = USHORT, pptable->TdcLimitSocTau
	TdcLimitGfx = USHORT, pptable->TdcLimitGfx
	TdcLimitGfxTau = USHORT, pptable->TdcLimitGfxTau

	TedgeLimit = USHORT, pptable->TedgeLimit
	ThotspotLimit = USHORT, pptable->ThotspotLimit
	ThbmLimit = USHORT, pptable->ThbmLimit
	Tvr_gfxLimit = USHORT, pptable->Tvr_gfxLimit
	Tvr_memLimit = USHORT, pptable->Tvr_memLimit
	Tliquid1Limit = USHORT, pptable->Tliquid1Limit
	Tliquid2Limit = USHORT, pptable->Tliquid2Limit
	TplxLimit = USHORT, pptable->TplxLimit
	FitLimit = USHORT, pptable->FitLimit

	PpmPowerLimit = USHORT, pptable->PpmPowerLimit
	PpmTemperatureThreshold = USHORT, pptable->PpmTemperatureThreshold

	MemoryOnPackage = UCHAR, pptable->MemoryOnPackage
	padding8_limits = UCHAR, pptable->padding8_limits
	Tvr_SocLimit = USHORT, pptable->Tvr_SocLimit

	UlvVoltageOffsetSoc = USHORT, pptable->UlvVoltageOffsetSoc
	UlvVoltageOffsetGfx = USHORT, pptable->UlvVoltageOffsetGfx

	UlvSmnclkDid = USHORT, pptable->UlvSmnclkDid
	UlvMp1clkDid = USHORT, pptable->UlvMp1clkDid
	UlvGfxclkBypass = USHORT, pptable->UlvGfxclkBypass
	Padding234 = UCHAR, pptable->Padding234

	MinVoltageGfx = USHORT, pptable->MinVoltageGfx
	MinVoltageSoc = USHORT, pptable->MinVoltageSoc
	MaxVoltageGfx = USHORT, pptable->MaxVoltageGfx
	MaxVoltageSoc = USHORT, pptable->MaxVoltageSoc

	LoadLineResistanceGfx = USHORT, pptable->LoadLineResistanceGfx
	LoadLineResistanceSoc = USHORT, pptable->LoadLineResistanceSoc

	[PPCLK_GFXCLK]\n
			  .VoltageMode          = UCHAR
			  .SnapToDiscrete       = UCHAR
			  .NumDiscreteLevels    = UCHAR
			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}\n
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
			pptable->DpmDescriptor[PPCLK_GFXCLK].VoltageMode,
			pptable->DpmDescriptor[PPCLK_GFXCLK].SnapToDiscrete,
			pptable->DpmDescriptor[PPCLK_GFXCLK].NumDiscreteLevels,
			pptable->DpmDescriptor[PPCLK_GFXCLK].padding,
			pptable->DpmDescriptor[PPCLK_GFXCLK].ConversionToAvfsClk.m,
			pptable->DpmDescriptor[PPCLK_GFXCLK].ConversionToAvfsClk.b,
			pptable->DpmDescriptor[PPCLK_GFXCLK].SsCurve.a,
			pptable->DpmDescriptor[PPCLK_GFXCLK].SsCurve.b,
			pptable->DpmDescriptor[PPCLK_GFXCLK].SsCurve.c

	[PPCLK_VCLK]\n
			  .VoltageMode          = UCHAR
			  .SnapToDiscrete       = UCHAR
			  .NumDiscreteLevels    = UCHAR
			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}\n
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
			pptable->DpmDescriptor[PPCLK_VCLK].VoltageMode,
			pptable->DpmDescriptor[PPCLK_VCLK].SnapToDiscrete,
			pptable->DpmDescriptor[PPCLK_VCLK].NumDiscreteLevels,
			pptable->DpmDescriptor[PPCLK_VCLK].padding,
			pptable->DpmDescriptor[PPCLK_VCLK].ConversionToAvfsClk.m,
			pptable->DpmDescriptor[PPCLK_VCLK].ConversionToAvfsClk.b,
			pptable->DpmDescriptor[PPCLK_VCLK].SsCurve.a,
			pptable->DpmDescriptor[PPCLK_VCLK].SsCurve.b,
			pptable->DpmDescriptor[PPCLK_VCLK].SsCurve.c

	[PPCLK_DCLK]\n
			  .VoltageMode          = UCHAR
			  .SnapToDiscrete       = UCHAR
			  .NumDiscreteLevels    = UCHAR
			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}\n
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
			pptable->DpmDescriptor[PPCLK_DCLK].VoltageMode,
			pptable->DpmDescriptor[PPCLK_DCLK].SnapToDiscrete,
			pptable->DpmDescriptor[PPCLK_DCLK].NumDiscreteLevels,
			pptable->DpmDescriptor[PPCLK_DCLK].padding,
			pptable->DpmDescriptor[PPCLK_DCLK].ConversionToAvfsClk.m,
			pptable->DpmDescriptor[PPCLK_DCLK].ConversionToAvfsClk.b,
			pptable->DpmDescriptor[PPCLK_DCLK].SsCurve.a,
			pptable->DpmDescriptor[PPCLK_DCLK].SsCurve.b,
			pptable->DpmDescriptor[PPCLK_DCLK].SsCurve.c

	[PPCLK_ECLK]\n
			  .VoltageMode          = UCHAR
			  .SnapToDiscrete       = UCHAR
			  .NumDiscreteLevels    = UCHAR
			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}\n
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
			pptable->DpmDescriptor[PPCLK_ECLK].VoltageMode,
			pptable->DpmDescriptor[PPCLK_ECLK].SnapToDiscrete,
			pptable->DpmDescriptor[PPCLK_ECLK].NumDiscreteLevels,
			pptable->DpmDescriptor[PPCLK_ECLK].padding,
			pptable->DpmDescriptor[PPCLK_ECLK].ConversionToAvfsClk.m,
			pptable->DpmDescriptor[PPCLK_ECLK].ConversionToAvfsClk.b,
			pptable->DpmDescriptor[PPCLK_ECLK].SsCurve.a,
			pptable->DpmDescriptor[PPCLK_ECLK].SsCurve.b,
			pptable->DpmDescriptor[PPCLK_ECLK].SsCurve.c

	[PPCLK_SOCCLK]\n
			  .VoltageMode          = UCHAR
			  .SnapToDiscrete       = UCHAR
			  .NumDiscreteLevels    = UCHAR
			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}\n
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
			pptable->DpmDescriptor[PPCLK_SOCCLK].VoltageMode,
			pptable->DpmDescriptor[PPCLK_SOCCLK].SnapToDiscrete,
			pptable->DpmDescriptor[PPCLK_SOCCLK].NumDiscreteLevels,
			pptable->DpmDescriptor[PPCLK_SOCCLK].padding,
			pptable->DpmDescriptor[PPCLK_SOCCLK].ConversionToAvfsClk.m,
			pptable->DpmDescriptor[PPCLK_SOCCLK].ConversionToAvfsClk.b,
			pptable->DpmDescriptor[PPCLK_SOCCLK].SsCurve.a,
			pptable->DpmDescriptor[PPCLK_SOCCLK].SsCurve.b,
			pptable->DpmDescriptor[PPCLK_SOCCLK].SsCurve.c

	[PPCLK_UCLK]\n
			  .VoltageMode          = UCHAR
			  .SnapToDiscrete       = UCHAR
			  .NumDiscreteLevels    = UCHAR
			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}\n
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
			pptable->DpmDescriptor[PPCLK_UCLK].VoltageMode,
			pptable->DpmDescriptor[PPCLK_UCLK].SnapToDiscrete,
			pptable->DpmDescriptor[PPCLK_UCLK].NumDiscreteLevels,
			pptable->DpmDescriptor[PPCLK_UCLK].padding,
			pptable->DpmDescriptor[PPCLK_UCLK].ConversionToAvfsClk.m,
			pptable->DpmDescriptor[PPCLK_UCLK].ConversionToAvfsClk.b,
			pptable->DpmDescriptor[PPCLK_UCLK].SsCurve.a,
			pptable->DpmDescriptor[PPCLK_UCLK].SsCurve.b,
			pptable->DpmDescriptor[PPCLK_UCLK].SsCurve.c

	[PPCLK_DCEFCLK]\n
			  .VoltageMode          = UCHAR
			  .SnapToDiscrete       = UCHAR
			  .NumDiscreteLevels    = UCHAR
			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}\n
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
			pptable->DpmDescriptor[PPCLK_DCEFCLK].VoltageMode,
			pptable->DpmDescriptor[PPCLK_DCEFCLK].SnapToDiscrete,
			pptable->DpmDescriptor[PPCLK_DCEFCLK].NumDiscreteLevels,
			pptable->DpmDescriptor[PPCLK_DCEFCLK].padding,
			pptable->DpmDescriptor[PPCLK_DCEFCLK].ConversionToAvfsClk.m,
			pptable->DpmDescriptor[PPCLK_DCEFCLK].ConversionToAvfsClk.b,
			pptable->DpmDescriptor[PPCLK_DCEFCLK].SsCurve.a,
			pptable->DpmDescriptor[PPCLK_DCEFCLK].SsCurve.b,
			pptable->DpmDescriptor[PPCLK_DCEFCLK].SsCurve.c

	[PPCLK_DISPCLK]\n
			  .VoltageMode          = UCHAR
			  .SnapToDiscrete       = UCHAR
			  .NumDiscreteLevels    = UCHAR
			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}\n
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
			pptable->DpmDescriptor[PPCLK_DISPCLK].VoltageMode,
			pptable->DpmDescriptor[PPCLK_DISPCLK].SnapToDiscrete,
			pptable->DpmDescriptor[PPCLK_DISPCLK].NumDiscreteLevels,
			pptable->DpmDescriptor[PPCLK_DISPCLK].padding,
			pptable->DpmDescriptor[PPCLK_DISPCLK].ConversionToAvfsClk.m,
			pptable->DpmDescriptor[PPCLK_DISPCLK].ConversionToAvfsClk.b,
			pptable->DpmDescriptor[PPCLK_DISPCLK].SsCurve.a,
			pptable->DpmDescriptor[PPCLK_DISPCLK].SsCurve.b,
			pptable->DpmDescriptor[PPCLK_DISPCLK].SsCurve.c

	[PPCLK_PIXCLK]\n
			  .VoltageMode          = UCHAR
			  .SnapToDiscrete       = UCHAR
			  .NumDiscreteLevels    = UCHAR
			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}\n
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
			pptable->DpmDescriptor[PPCLK_PIXCLK].VoltageMode,
			pptable->DpmDescriptor[PPCLK_PIXCLK].SnapToDiscrete,
			pptable->DpmDescriptor[PPCLK_PIXCLK].NumDiscreteLevels,
			pptable->DpmDescriptor[PPCLK_PIXCLK].padding,
			pptable->DpmDescriptor[PPCLK_PIXCLK].ConversionToAvfsClk.m,
			pptable->DpmDescriptor[PPCLK_PIXCLK].ConversionToAvfsClk.b,
			pptable->DpmDescriptor[PPCLK_PIXCLK].SsCurve.a,
			pptable->DpmDescriptor[PPCLK_PIXCLK].SsCurve.b,
			pptable->DpmDescriptor[PPCLK_PIXCLK].SsCurve.c

	[PPCLK_PHYCLK]\n
			  .VoltageMode          = UCHAR
			  .SnapToDiscrete       = UCHAR
			  .NumDiscreteLevels    = UCHAR
			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}\n
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
			pptable->DpmDescriptor[PPCLK_PHYCLK].VoltageMode,
			pptable->DpmDescriptor[PPCLK_PHYCLK].SnapToDiscrete,
			pptable->DpmDescriptor[PPCLK_PHYCLK].NumDiscreteLevels,
			pptable->DpmDescriptor[PPCLK_PHYCLK].padding,
			pptable->DpmDescriptor[PPCLK_PHYCLK].ConversionToAvfsClk.m,
			pptable->DpmDescriptor[PPCLK_PHYCLK].ConversionToAvfsClk.b,
			pptable->DpmDescriptor[PPCLK_PHYCLK].SsCurve.a,
			pptable->DpmDescriptor[PPCLK_PHYCLK].SsCurve.b,
			pptable->DpmDescriptor[PPCLK_PHYCLK].SsCurve.c

	[PPCLK_FCLK]\n
			  .VoltageMode          = UCHAR
			  .SnapToDiscrete       = UCHAR
			  .NumDiscreteLevels    = UCHAR
			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}\n
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
			pptable->DpmDescriptor[PPCLK_FCLK].VoltageMode,
			pptable->DpmDescriptor[PPCLK_FCLK].SnapToDiscrete,
			pptable->DpmDescriptor[PPCLK_FCLK].NumDiscreteLevels,
			pptable->DpmDescriptor[PPCLK_FCLK].padding,
			pptable->DpmDescriptor[PPCLK_FCLK].ConversionToAvfsClk.m,
			pptable->DpmDescriptor[PPCLK_FCLK].ConversionToAvfsClk.b,
			pptable->DpmDescriptor[PPCLK_FCLK].SsCurve.a,
			pptable->DpmDescriptor[PPCLK_FCLK].SsCurve.b,
			pptable->DpmDescriptor[PPCLK_FCLK].SsCurve.c


	FreqTableGfx\n
	for (i = 0; i < NUM_GFXCLK_DPM_LEVELS; i++)
		  .[%02d] = USHORT, i, pptable->FreqTableGfx[i]

	FreqTableVclk\n
	for (i = 0; i < NUM_VCLK_DPM_LEVELS; i++)
		  .[%02d] = USHORT, i, pptable->FreqTableVclk[i]

	FreqTableDclk\n
	for (i = 0; i < NUM_DCLK_DPM_LEVELS; i++)
		  .[%02d] = USHORT, i, pptable->FreqTableDclk[i]

	FreqTableEclk\n
	for (i = 0; i < NUM_ECLK_DPM_LEVELS; i++)
		  .[%02d] = USHORT, i, pptable->FreqTableEclk[i]

	FreqTableSocclk\n
	for (i = 0; i < NUM_SOCCLK_DPM_LEVELS; i++)
		  .[%02d] = USHORT, i, pptable->FreqTableSocclk[i]

	FreqTableUclk\n
	for (i = 0; i < NUM_UCLK_DPM_LEVELS; i++)
		  .[%02d] = USHORT, i, pptable->FreqTableUclk[i]

	FreqTableFclk\n
	for (i = 0; i < NUM_FCLK_DPM_LEVELS; i++)
		  .[%02d] = USHORT, i, pptable->FreqTableFclk[i]

	FreqTableDcefclk\n
	for (i = 0; i < NUM_DCEFCLK_DPM_LEVELS; i++)
		  .[%02d] = USHORT, i, pptable->FreqTableDcefclk[i]

	FreqTableDispclk\n
	for (i = 0; i < NUM_DISPCLK_DPM_LEVELS; i++)
		  .[%02d] = USHORT, i, pptable->FreqTableDispclk[i]

	FreqTablePixclk\n
	for (i = 0; i < NUM_PIXCLK_DPM_LEVELS; i++)
		  .[%02d] = USHORT, i, pptable->FreqTablePixclk[i]

	FreqTablePhyclk\n
	for (i = 0; i < NUM_PHYCLK_DPM_LEVELS; i++)
		  .[%02d] = USHORT, i, pptable->FreqTablePhyclk[i]

	DcModeMaxFreq[PPCLK_GFXCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_GFXCLK]
	DcModeMaxFreq[PPCLK_VCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_VCLK]
	DcModeMaxFreq[PPCLK_DCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_DCLK]
	DcModeMaxFreq[PPCLK_ECLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_ECLK]
	DcModeMaxFreq[PPCLK_SOCCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_SOCCLK]
	DcModeMaxFreq[PPCLK_UCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_UCLK]
	DcModeMaxFreq[PPCLK_DCEFCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_DCEFCLK]
	DcModeMaxFreq[PPCLK_DISPCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_DISPCLK]
	DcModeMaxFreq[PPCLK_PIXCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_PIXCLK]
	DcModeMaxFreq[PPCLK_PHYCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_PHYCLK]
	DcModeMaxFreq[PPCLK_FCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_FCLK]
	Padding8_Clks = USHORT, pptable->Padding8_Clks

	Mp0clkFreq\n
	for (i = 0; i < NUM_MP0CLK_DPM_LEVELS; i++)
		  .[%d] = USHORT, i, pptable->Mp0clkFreq[i]

	Mp0DpmVoltage\n
	for (i = 0; i < NUM_MP0CLK_DPM_LEVELS; i++)
		  .[%d] = USHORT, i, pptable->Mp0DpmVoltage[i]

	GfxclkFidle = USHORT, pptable->GfxclkFidle
	GfxclkSlewRate = USHORT, pptable->GfxclkSlewRate
	CksEnableFreq = USHORT, pptable->CksEnableFreq
	Padding789 = USHORT, pptable->Padding789
	CksVoltageOffset[a = ULONG b = ULONG c = ULONG]\n,
			pptable->CksVoltageOffset.a,
			pptable->CksVoltageOffset.b,
			pptable->CksVoltageOffset.c
	Padding567[0] = USHORT, pptable->Padding567[0]
	Padding567[1] = USHORT, pptable->Padding567[1]
	Padding567[2] = USHORT, pptable->Padding567[2]
	Padding567[3] = USHORT, pptable->Padding567[3]
	GfxclkDsMaxFreq = USHORT, pptable->GfxclkDsMaxFreq
	GfxclkSource = USHORT, pptable->GfxclkSource
	Padding456 = USHORT, pptable->Padding456

	LowestUclkReservedForUlv = USHORT, pptable->LowestUclkReservedForUlv
	Padding8_Uclk[0] = USHORT, pptable->Padding8_Uclk[0]
	Padding8_Uclk[1] = USHORT, pptable->Padding8_Uclk[1]
	Padding8_Uclk[2] = USHORT, pptable->Padding8_Uclk[2]

	PcieGenSpeed\n
	for (i = 0; i < NUM_LINK_LEVELS; i++)
		  .[%d] = USHORT, i, pptable->PcieGenSpeed[i]

	PcieLaneCount\n
	for (i = 0; i < NUM_LINK_LEVELS; i++)
		  .[%d] = USHORT, i, pptable->PcieLaneCount[i]

	LclkFreq\n
	for (i = 0; i < NUM_LINK_LEVELS; i++)
		  .[%d] = USHORT, i, pptable->LclkFreq[i]

	EnableTdpm = USHORT, pptable->EnableTdpm
	TdpmHighHystTemperature = USHORT, pptable->TdpmHighHystTemperature
	TdpmLowHystTemperature = USHORT, pptable->TdpmLowHystTemperature
	GfxclkFreqHighTempLimit = USHORT, pptable->GfxclkFreqHighTempLimit

	FanStopTemp = USHORT, pptable->FanStopTemp
	FanStartTemp = USHORT, pptable->FanStartTemp

	FanGainEdge = USHORT, pptable->FanGainEdge
	FanGainHotspot = USHORT, pptable->FanGainHotspot
	FanGainLiquid = USHORT, pptable->FanGainLiquid
	FanGainVrGfx = USHORT, pptable->FanGainVrGfx
	FanGainVrSoc = USHORT, pptable->FanGainVrSoc
	FanGainPlx = USHORT, pptable->FanGainPlx
	FanGainHbm = USHORT, pptable->FanGainHbm
	FanPwmMin = USHORT, pptable->FanPwmMin
	FanAcousticLimitRpm = USHORT, pptable->FanAcousticLimitRpm
	FanThrottlingRpm = USHORT, pptable->FanThrottlingRpm
	FanMaximumRpm = USHORT, pptable->FanMaximumRpm
	FanTargetTemperature = USHORT, pptable->FanTargetTemperature
	FanTargetGfxclk = USHORT, pptable->FanTargetGfxclk
	FanZeroRpmEnable = USHORT, pptable->FanZeroRpmEnable
	FanTachEdgePerRev = USHORT, pptable->FanTachEdgePerRev

	FuzzyFan_ErrorSetDelta = USHORT, pptable->FuzzyFan_ErrorSetDelta
	FuzzyFan_ErrorRateSetDelta = USHORT, pptable->FuzzyFan_ErrorRateSetDelta
	FuzzyFan_PwmSetDelta = USHORT, pptable->FuzzyFan_PwmSetDelta
	FuzzyFan_Reserved = USHORT, pptable->FuzzyFan_Reserved

	OverrideAvfsGb[AVFS_VOLTAGE_GFX] = USHORT, pptable->OverrideAvfsGb[AVFS_VOLTAGE_GFX]
	OverrideAvfsGb[AVFS_VOLTAGE_SOC] = USHORT, pptable->OverrideAvfsGb[AVFS_VOLTAGE_SOC]
	Padding8_Avfs[0] = USHORT, pptable->Padding8_Avfs[0]
	Padding8_Avfs[1] = USHORT, pptable->Padding8_Avfs[1]

	qAvfsGb[AVFS_VOLTAGE_GFX]{a = USHORT b = USHORT c = USHORT}\n,
			pptable->qAvfsGb[AVFS_VOLTAGE_GFX].a,
			pptable->qAvfsGb[AVFS_VOLTAGE_GFX].b,
			pptable->qAvfsGb[AVFS_VOLTAGE_GFX].c
	qAvfsGb[AVFS_VOLTAGE_SOC]{a = USHORT b = USHORT c = USHORT}\n,
			pptable->qAvfsGb[AVFS_VOLTAGE_SOC].a,
			pptable->qAvfsGb[AVFS_VOLTAGE_SOC].b,
			pptable->qAvfsGb[AVFS_VOLTAGE_SOC].c
	dBtcGbGfxCksOn{a = USHORT b = USHORT c = USHORT}\n,
			pptable->dBtcGbGfxCksOn.a,
			pptable->dBtcGbGfxCksOn.b,
			pptable->dBtcGbGfxCksOn.c
	dBtcGbGfxCksOff{a = USHORT b = USHORT c = USHORT}\n,
			pptable->dBtcGbGfxCksOff.a,
			pptable->dBtcGbGfxCksOff.b,
			pptable->dBtcGbGfxCksOff.c
	dBtcGbGfxAfll{a = USHORT b = USHORT c = USHORT}\n,
			pptable->dBtcGbGfxAfll.a,
			pptable->dBtcGbGfxAfll.b,
			pptable->dBtcGbGfxAfll.c
	dBtcGbSoc{a = USHORT b = USHORT c = USHORT}\n,
			pptable->dBtcGbSoc.a,
			pptable->dBtcGbSoc.b,
			pptable->dBtcGbSoc.c
	qAgingGb[AVFS_VOLTAGE_GFX]{m = USHORT b = USHORT}\n,
			pptable->qAgingGb[AVFS_VOLTAGE_GFX].m,
			pptable->qAgingGb[AVFS_VOLTAGE_GFX].b
	qAgingGb[AVFS_VOLTAGE_SOC]{m = USHORT b = USHORT}\n,
			pptable->qAgingGb[AVFS_VOLTAGE_SOC].m,
			pptable->qAgingGb[AVFS_VOLTAGE_SOC].b

	qStaticVoltageOffset[AVFS_VOLTAGE_GFX]{a = USHORT b = USHORT c = USHORT}\n,
			pptable->qStaticVoltageOffset[AVFS_VOLTAGE_GFX].a,
			pptable->qStaticVoltageOffset[AVFS_VOLTAGE_GFX].b,
			pptable->qStaticVoltageOffset[AVFS_VOLTAGE_GFX].c
	qStaticVoltageOffset[AVFS_VOLTAGE_SOC]{a = USHORT b = USHORT c = USHORT}\n,
			pptable->qStaticVoltageOffset[AVFS_VOLTAGE_SOC].a,
			pptable->qStaticVoltageOffset[AVFS_VOLTAGE_SOC].b,
			pptable->qStaticVoltageOffset[AVFS_VOLTAGE_SOC].c

	DcTol[AVFS_VOLTAGE_GFX] = USHORT, pptable->DcTol[AVFS_VOLTAGE_GFX]
	DcTol[AVFS_VOLTAGE_SOC] = USHORT, pptable->DcTol[AVFS_VOLTAGE_SOC]

	DcBtcEnabled[AVFS_VOLTAGE_GFX] = USHORT, pptable->DcBtcEnabled[AVFS_VOLTAGE_GFX]
	DcBtcEnabled[AVFS_VOLTAGE_SOC] = USHORT, pptable->DcBtcEnabled[AVFS_VOLTAGE_SOC]
	Padding8_GfxBtc[0] = USHORT, pptable->Padding8_GfxBtc[0]
	Padding8_GfxBtc[1] = USHORT, pptable->Padding8_GfxBtc[1]

	DcBtcMin[AVFS_VOLTAGE_GFX] = USHORT, pptable->DcBtcMin[AVFS_VOLTAGE_GFX]
	DcBtcMin[AVFS_VOLTAGE_SOC] = USHORT, pptable->DcBtcMin[AVFS_VOLTAGE_SOC]
	DcBtcMax[AVFS_VOLTAGE_GFX] = USHORT, pptable->DcBtcMax[AVFS_VOLTAGE_GFX]
	DcBtcMax[AVFS_VOLTAGE_SOC] = USHORT, pptable->DcBtcMax[AVFS_VOLTAGE_SOC]

	XgmiLinkSpeed\n
	for (i = 0; i < NUM_XGMI_LEVELS; i++)
		  .[%d] = USHORT, i, pptable->XgmiLinkSpeed[i]
	XgmiLinkWidth\n
	for (i = 0; i < NUM_XGMI_LEVELS; i++)
		  .[%d] = USHORT, i, pptable->XgmiLinkWidth[i]
	XgmiFclkFreq\n
	for (i = 0; i < NUM_XGMI_LEVELS; i++)
		  .[%d] = USHORT, i, pptable->XgmiFclkFreq[i]
	XgmiUclkFreq\n
	for (i = 0; i < NUM_XGMI_LEVELS; i++)
		  .[%d] = USHORT, i, pptable->XgmiUclkFreq[i]
	XgmiSocclkFreq\n
	for (i = 0; i < NUM_XGMI_LEVELS; i++)
		  .[%d] = USHORT, i, pptable->XgmiSocclkFreq[i]
	XgmiSocVoltage\n
	for (i = 0; i < NUM_XGMI_LEVELS; i++)
		  .[%d] = USHORT, i, pptable->XgmiSocVoltage[i]

	DebugOverrides = USHORT, pptable->DebugOverrides
	ReservedEquation0{a = USHORT b = USHORT c = USHORT}\n,
			pptable->ReservedEquation0.a,
			pptable->ReservedEquation0.b,
			pptable->ReservedEquation0.c
	ReservedEquation1{a = USHORT b = USHORT c = USHORT}\n,
			pptable->ReservedEquation1.a,
			pptable->ReservedEquation1.b,
			pptable->ReservedEquation1.c
	ReservedEquation2{a = USHORT b = USHORT c = USHORT}\n,
			pptable->ReservedEquation2.a,
			pptable->ReservedEquation2.b,
			pptable->ReservedEquation2.c
	ReservedEquation3{a = USHORT b = USHORT c = USHORT}\n,
			pptable->ReservedEquation3.a,
			pptable->ReservedEquation3.b,
			pptable->ReservedEquation3.c

	MinVoltageUlvGfx = USHORT, pptable->MinVoltageUlvGfx
	MinVoltageUlvSoc = USHORT, pptable->MinVoltageUlvSoc

	MGpuFanBoostLimitRpm = USHORT, pptable->MGpuFanBoostLimitRpm
	padding16_Fan = USHORT, pptable->padding16_Fan

	FanGainVrMem0 = USHORT, pptable->FanGainVrMem0
	FanGainVrMem0 = USHORT, pptable->FanGainVrMem0

	DcBtcGb[AVFS_VOLTAGE_GFX] = USHORT, pptable->DcBtcGb[AVFS_VOLTAGE_GFX]
	DcBtcGb[AVFS_VOLTAGE_SOC] = USHORT, pptable->DcBtcGb[AVFS_VOLTAGE_SOC]

	for (i = 0; i < 11; i++)
		Reserved[%d] = USHORT, i, pptable->Reserved[i]

	for (i = 0; i < 3; i++)
		Padding32[%d] = USHORT, i, pptable->Padding32[i]

	MaxVoltageStepGfx = USHORT, pptable->MaxVoltageStepGfx
	MaxVoltageStepSoc = USHORT, pptable->MaxVoltageStepSoc

	VddGfxVrMapping = USHORT, pptable->VddGfxVrMapping
	VddSocVrMapping = USHORT, pptable->VddSocVrMapping
	VddMem0VrMapping = USHORT, pptable->VddMem0VrMapping
	VddMem1VrMapping = USHORT, pptable->VddMem1VrMapping

	GfxUlvPhaseSheddingMask = USHORT, pptable->GfxUlvPhaseSheddingMask
	SocUlvPhaseSheddingMask = USHORT, pptable->SocUlvPhaseSheddingMask
	ExternalSensorPresent = USHORT, pptable->ExternalSensorPresent
	Padding8_V = USHORT, pptable->Padding8_V

	GfxMaxCurrent = USHORT, pptable->GfxMaxCurrent
	GfxOffset = USHORT, pptable->GfxOffset
	Padding_TelemetryGfx = USHORT, pptable->Padding_TelemetryGfx

	SocMaxCurrent = USHORT, pptable->SocMaxCurrent
	SocOffset = USHORT, pptable->SocOffset
	Padding_TelemetrySoc = USHORT, pptable->Padding_TelemetrySoc

	Mem0MaxCurrent = USHORT, pptable->Mem0MaxCurrent
	Mem0Offset = USHORT, pptable->Mem0Offset
	Padding_TelemetryMem0 = USHORT, pptable->Padding_TelemetryMem0

	Mem1MaxCurrent = USHORT, pptable->Mem1MaxCurrent
	Mem1Offset = USHORT, pptable->Mem1Offset
	Padding_TelemetryMem1 = USHORT, pptable->Padding_TelemetryMem1

	AcDcGpio = USHORT, pptable->AcDcGpio
	AcDcPolarity = USHORT, pptable->AcDcPolarity
	VR0HotGpio = USHORT, pptable->VR0HotGpio
	VR0HotPolarity = USHORT, pptable->VR0HotPolarity

	VR1HotGpio = USHORT, pptable->VR1HotGpio
	VR1HotPolarity = USHORT, pptable->VR1HotPolarity
	Padding1 = USHORT, pptable->Padding1
	Padding2 = USHORT, pptable->Padding2

	LedPin0 = USHORT, pptable->LedPin0
	LedPin1 = USHORT, pptable->LedPin1
	LedPin2 = USHORT, pptable->LedPin2
	padding8_4 = USHORT, pptable->padding8_4

	PllGfxclkSpreadEnabled = USHORT, pptable->PllGfxclkSpreadEnabled
	PllGfxclkSpreadPercent = USHORT, pptable->PllGfxclkSpreadPercent
	PllGfxclkSpreadFreq = USHORT, pptable->PllGfxclkSpreadFreq

	UclkSpreadEnabled = USHORT, pptable->UclkSpreadEnabled
	UclkSpreadPercent = USHORT, pptable->UclkSpreadPercent
	UclkSpreadFreq = USHORT, pptable->UclkSpreadFreq

	FclkSpreadEnabled = USHORT, pptable->FclkSpreadEnabled
	FclkSpreadPercent = USHORT, pptable->FclkSpreadPercent
	FclkSpreadFreq = USHORT, pptable->FclkSpreadFreq

	FllGfxclkSpreadEnabled = USHORT, pptable->FllGfxclkSpreadEnabled
	FllGfxclkSpreadPercent = USHORT, pptable->FllGfxclkSpreadPercent
	FllGfxclkSpreadFreq = USHORT, pptable->FllGfxclkSpreadFreq

	for (i = 0; i < I2C_CONTROLLER_NAME_COUNT; i++) {
		I2cControllers[%d]:\n, i
		                   .Enabled = USHORT,
				pptable->I2cControllers[i].Enabled
		                   .SlaveAddress = USHORT,
				pptable->I2cControllers[i].SlaveAddress
		                   .ControllerPort = USHORT,
				pptable->I2cControllers[i].ControllerPort
		                   .ControllerName = USHORT,
				pptable->I2cControllers[i].ControllerName
		                   .ThermalThrottler = USHORT,
				pptable->I2cControllers[i].ThermalThrottler
		                   .I2cProtocol = USHORT,
				pptable->I2cControllers[i].I2cProtocol
		                   .I2cSpeed = USHORT,
				pptable->I2cControllers[i].I2cSpeed
	}

	for (i = 0; i < 10; i++)
		BoardReserved[%d] = USHORT, i, pptable->BoardReserved[i]

	for (i = 0; i < 8; i++)
		MmHubPadding[%d] = USHORT, i, pptable->MmHubPadding[i]
}


----------



## mynm

hellm said:


> so.. Vega 20 will be here soon.. and there is something coming, i think this is either an attempt to make the SoftPowerPlay registry hack impossible or just more complex. There is a new datatype at the end, it is called "PPTable_t".
> https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/amd/powerplay/hwmgr/vega20_pptable.h
> 
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> Code:
> 
> 
> typedef struct _ATOM_VEGA20_POWERPLAYTABLE
> {
> 
> struct atom_common_table_header sHeader;
> {
> USHORT usStructureSize;
> UCHAR  ucTableFormatRevision;   /*Change it when the Parser is not backward compatible */
> UCHAR  ucTableContentRevision;  /*Change it only when the table needs to change but the firmware */
> /*Image can't be updated, while Driver needs to carry the new table! */
> } ATOM_COMMON_TABLE_HEADER;
> 
> 
> UCHAR  ucTableRevision;
> USHORT usTableSize;
> ULONG  ulGoldenPPID;
> ULONG  ulGoldenRevision;
> USHORT usFormatID;
> 
> ULONG  ulPlatformCaps;
> 
> UCHAR  ucThermalControllerType;
> 
> USHORT usSmallPowerLimit1;
> USHORT usSmallPowerLimit2;
> USHORT usBoostPowerLimit;
> USHORT usODTurboPowerLimit;
> USHORT usODPowerSavePowerLimit;
> USHORT usSoftwareShutdownTemp;
> 
> ATOM_VEGA20_POWER_SAVING_CLOCK_RECORD PowerSavingClockTable;    //PowerSavingClock Mode Clock Min/Max array
> typedef struct _ATOM_VEGA20_POWER_SAVING_CLOCK_RECORD
> {
> UCHAR ucTableRevision;
> ULONG PowerSavingClockCount;                // Count of PowerSavingClock Mode
> ULONG PowerSavingClockMax  [16];      		// PowerSavingClock Mode Clock Maximum array In MHz
> ULONG PowerSavingClockMin  [16];      		// PowerSavingClock Mode Clock Minimum array In MHz
> } ATOM_VEGA20_POWER_SAVING_CLOCK_RECORD;
> 
> 
> 
> ATOM_VEGA20_OVERDRIVE8_RECORD OverDrive8Table;       //OverDrive8 Feature capabilities and Settings Range (Max and Min)
> typedef struct _ATOM_VEGA20_OVERDRIVE8_RECORD
> {
> UCHAR ucODTableRevision;
> ULONG ODFeatureCount;
> UCHAR ODFeatureCapabilities [32];   //OD feature support flags
> ULONG ODSettingCount;
> ULONG ODSettingsMax [32];           //Upper Limit for each OD Setting
> ULONG ODSettingsMin [32];           //Lower Limit for each OD Setting
> } ATOM_VEGA20_OVERDRIVE8_RECORD;
> 
> 
> USHORT usReserve[5];
> 
> PPTable_t smcPPTable;
> 
> } ATOM_Vega20_POWERPLAYTABLE;
> 
> 
> 
> 
> ..and here is a function that has a PPTable_t datatype as a parameter, at least it points to one.
> https://github.com/torvalds/linux/b.../amd/powerplay/hwmgr/vega20_processpptables.c
> 
> i tried to get this into some meaning and replaced all the formatting with known datatypes. And "padding" means it has to be filled with placeholders, i guess.
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> Code:
> 
> 
> PPTable_t
> Version = ULONG, pptable->Version
> 
> FeaturesToRun[0] = ULONG, pptable->FeaturesToRun[0]
> FeaturesToRun[1] = ULONG, pptable->FeaturesToRun[1]
> 
> SocketPowerLimitAc0 = USHORT, pptable->SocketPowerLimitAc0
> SocketPowerLimitAc0Tau = USHORT, pptable->SocketPowerLimitAc0Tau
> SocketPowerLimitAc1 = USHORT, pptable->SocketPowerLimitAc1
> SocketPowerLimitAc1Tau = USHORT, pptable->SocketPowerLimitAc1Tau
> SocketPowerLimitAc2 = USHORT, pptable->SocketPowerLimitAc2
> SocketPowerLimitAc2Tau = USHORT, pptable->SocketPowerLimitAc2Tau
> SocketPowerLimitAc3 = USHORT, pptable->SocketPowerLimitAc3
> SocketPowerLimitAc3Tau = USHORT, pptable->SocketPowerLimitAc3Tau
> SocketPowerLimitDc = USHORT, pptable->SocketPowerLimitDc
> SocketPowerLimitDcTau = USHORT, pptable->SocketPowerLimitDcTau
> TdcLimitSoc = USHORT, pptable->TdcLimitSoc
> TdcLimitSocTau = USHORT, pptable->TdcLimitSocTau
> TdcLimitGfx = USHORT, pptable->TdcLimitGfx
> TdcLimitGfxTau = USHORT, pptable->TdcLimitGfxTau
> 
> TedgeLimit = USHORT, pptable->TedgeLimit
> ThotspotLimit = USHORT, pptable->ThotspotLimit
> ThbmLimit = USHORT, pptable->ThbmLimit
> Tvr_gfxLimit = USHORT, pptable->Tvr_gfxLimit
> Tvr_memLimit = USHORT, pptable->Tvr_memLimit
> Tliquid1Limit = USHORT, pptable->Tliquid1Limit
> Tliquid2Limit = USHORT, pptable->Tliquid2Limit
> TplxLimit = USHORT, pptable->TplxLimit
> FitLimit = USHORT, pptable->FitLimit
> 
> PpmPowerLimit = USHORT, pptable->PpmPowerLimit
> PpmTemperatureThreshold = USHORT, pptable->PpmTemperatureThreshold
> 
> MemoryOnPackage = UCHAR, pptable->MemoryOnPackage
> padding8_limits = UCHAR, pptable->padding8_limits
> Tvr_SocLimit = USHORT, pptable->Tvr_SocLimit
> 
> UlvVoltageOffsetSoc = USHORT, pptable->UlvVoltageOffsetSoc
> UlvVoltageOffsetGfx = USHORT, pptable->UlvVoltageOffsetGfx
> 
> UlvSmnclkDid = USHORT, pptable->UlvSmnclkDid
> UlvMp1clkDid = USHORT, pptable->UlvMp1clkDid
> UlvGfxclkBypass = USHORT, pptable->UlvGfxclkBypass
> Padding234 = UCHAR, pptable->Padding234
> 
> MinVoltageGfx = USHORT, pptable->MinVoltageGfx
> MinVoltageSoc = USHORT, pptable->MinVoltageSoc
> MaxVoltageGfx = USHORT, pptable->MaxVoltageGfx
> MaxVoltageSoc = USHORT, pptable->MaxVoltageSoc
> 
> LoadLineResistanceGfx = USHORT, pptable->LoadLineResistanceGfx
> LoadLineResistanceSoc = USHORT, pptable->LoadLineResistanceSoc
> 
> [PPCLK_GFXCLK]\n
> .VoltageMode          = UCHAR
> .SnapToDiscrete       = UCHAR
> .NumDiscreteLevels    = UCHAR
> .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}\n
> .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
> pptable->DpmDescriptor[PPCLK_GFXCLK].VoltageMode,
> pptable->DpmDescriptor[PPCLK_GFXCLK].SnapToDiscrete,
> pptable->DpmDescriptor[PPCLK_GFXCLK].NumDiscreteLevels,
> pptable->DpmDescriptor[PPCLK_GFXCLK].padding,
> pptable->DpmDescriptor[PPCLK_GFXCLK].ConversionToAvfsClk.m,
> pptable->DpmDescriptor[PPCLK_GFXCLK].ConversionToAvfsClk.b,
> pptable->DpmDescriptor[PPCLK_GFXCLK].SsCurve.a,
> pptable->DpmDescriptor[PPCLK_GFXCLK].SsCurve.b,
> pptable->DpmDescriptor[PPCLK_GFXCLK].SsCurve.c
> 
> [PPCLK_VCLK]\n
> .VoltageMode          = UCHAR
> .SnapToDiscrete       = UCHAR
> .NumDiscreteLevels    = UCHAR
> .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}\n
> .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
> pptable->DpmDescriptor[PPCLK_VCLK].VoltageMode,
> pptable->DpmDescriptor[PPCLK_VCLK].SnapToDiscrete,
> pptable->DpmDescriptor[PPCLK_VCLK].NumDiscreteLevels,
> pptable->DpmDescriptor[PPCLK_VCLK].padding,
> pptable->DpmDescriptor[PPCLK_VCLK].ConversionToAvfsClk.m,
> pptable->DpmDescriptor[PPCLK_VCLK].ConversionToAvfsClk.b,
> pptable->DpmDescriptor[PPCLK_VCLK].SsCurve.a,
> pptable->DpmDescriptor[PPCLK_VCLK].SsCurve.b,
> pptable->DpmDescriptor[PPCLK_VCLK].SsCurve.c
> 
> [PPCLK_DCLK]\n
> .VoltageMode          = UCHAR
> .SnapToDiscrete       = UCHAR
> .NumDiscreteLevels    = UCHAR
> .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}\n
> .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
> pptable->DpmDescriptor[PPCLK_DCLK].VoltageMode,
> pptable->DpmDescriptor[PPCLK_DCLK].SnapToDiscrete,
> pptable->DpmDescriptor[PPCLK_DCLK].NumDiscreteLevels,
> pptable->DpmDescriptor[PPCLK_DCLK].padding,
> pptable->DpmDescriptor[PPCLK_DCLK].ConversionToAvfsClk.m,
> pptable->DpmDescriptor[PPCLK_DCLK].ConversionToAvfsClk.b,
> pptable->DpmDescriptor[PPCLK_DCLK].SsCurve.a,
> pptable->DpmDescriptor[PPCLK_DCLK].SsCurve.b,
> pptable->DpmDescriptor[PPCLK_DCLK].SsCurve.c
> 
> [PPCLK_ECLK]\n
> .VoltageMode          = UCHAR
> .SnapToDiscrete       = UCHAR
> .NumDiscreteLevels    = UCHAR
> .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}\n
> .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
> pptable->DpmDescriptor[PPCLK_ECLK].VoltageMode,
> pptable->DpmDescriptor[PPCLK_ECLK].SnapToDiscrete,
> pptable->DpmDescriptor[PPCLK_ECLK].NumDiscreteLevels,
> pptable->DpmDescriptor[PPCLK_ECLK].padding,
> pptable->DpmDescriptor[PPCLK_ECLK].ConversionToAvfsClk.m,
> pptable->DpmDescriptor[PPCLK_ECLK].ConversionToAvfsClk.b,
> pptable->DpmDescriptor[PPCLK_ECLK].SsCurve.a,
> pptable->DpmDescriptor[PPCLK_ECLK].SsCurve.b,
> pptable->DpmDescriptor[PPCLK_ECLK].SsCurve.c
> 
> [PPCLK_SOCCLK]\n
> .VoltageMode          = UCHAR
> .SnapToDiscrete       = UCHAR
> .NumDiscreteLevels    = UCHAR
> .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}\n
> .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
> pptable->DpmDescriptor[PPCLK_SOCCLK].VoltageMode,
> pptable->DpmDescriptor[PPCLK_SOCCLK].SnapToDiscrete,
> pptable->DpmDescriptor[PPCLK_SOCCLK].NumDiscreteLevels,
> pptable->DpmDescriptor[PPCLK_SOCCLK].padding,
> pptable->DpmDescriptor[PPCLK_SOCCLK].ConversionToAvfsClk.m,
> pptable->DpmDescriptor[PPCLK_SOCCLK].ConversionToAvfsClk.b,
> pptable->DpmDescriptor[PPCLK_SOCCLK].SsCurve.a,
> pptable->DpmDescriptor[PPCLK_SOCCLK].SsCurve.b,
> pptable->DpmDescriptor[PPCLK_SOCCLK].SsCurve.c
> 
> [PPCLK_UCLK]\n
> .VoltageMode          = UCHAR
> .SnapToDiscrete       = UCHAR
> .NumDiscreteLevels    = UCHAR
> .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}\n
> .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
> pptable->DpmDescriptor[PPCLK_UCLK].VoltageMode,
> pptable->DpmDescriptor[PPCLK_UCLK].SnapToDiscrete,
> pptable->DpmDescriptor[PPCLK_UCLK].NumDiscreteLevels,
> pptable->DpmDescriptor[PPCLK_UCLK].padding,
> pptable->DpmDescriptor[PPCLK_UCLK].ConversionToAvfsClk.m,
> pptable->DpmDescriptor[PPCLK_UCLK].ConversionToAvfsClk.b,
> pptable->DpmDescriptor[PPCLK_UCLK].SsCurve.a,
> pptable->DpmDescriptor[PPCLK_UCLK].SsCurve.b,
> pptable->DpmDescriptor[PPCLK_UCLK].SsCurve.c
> 
> [PPCLK_DCEFCLK]\n
> .VoltageMode          = UCHAR
> .SnapToDiscrete       = UCHAR
> .NumDiscreteLevels    = UCHAR
> .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}\n
> .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
> pptable->DpmDescriptor[PPCLK_DCEFCLK].VoltageMode,
> pptable->DpmDescriptor[PPCLK_DCEFCLK].SnapToDiscrete,
> pptable->DpmDescriptor[PPCLK_DCEFCLK].NumDiscreteLevels,
> pptable->DpmDescriptor[PPCLK_DCEFCLK].padding,
> pptable->DpmDescriptor[PPCLK_DCEFCLK].ConversionToAvfsClk.m,
> pptable->DpmDescriptor[PPCLK_DCEFCLK].ConversionToAvfsClk.b,
> pptable->DpmDescriptor[PPCLK_DCEFCLK].SsCurve.a,
> pptable->DpmDescriptor[PPCLK_DCEFCLK].SsCurve.b,
> pptable->DpmDescriptor[PPCLK_DCEFCLK].SsCurve.c
> 
> [PPCLK_DISPCLK]\n
> .VoltageMode          = UCHAR
> .SnapToDiscrete       = UCHAR
> .NumDiscreteLevels    = UCHAR
> .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}\n
> .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
> pptable->DpmDescriptor[PPCLK_DISPCLK].VoltageMode,
> pptable->DpmDescriptor[PPCLK_DISPCLK].SnapToDiscrete,
> pptable->DpmDescriptor[PPCLK_DISPCLK].NumDiscreteLevels,
> pptable->DpmDescriptor[PPCLK_DISPCLK].padding,
> pptable->DpmDescriptor[PPCLK_DISPCLK].ConversionToAvfsClk.m,
> pptable->DpmDescriptor[PPCLK_DISPCLK].ConversionToAvfsClk.b,
> pptable->DpmDescriptor[PPCLK_DISPCLK].SsCurve.a,
> pptable->DpmDescriptor[PPCLK_DISPCLK].SsCurve.b,
> pptable->DpmDescriptor[PPCLK_DISPCLK].SsCurve.c
> 
> [PPCLK_PIXCLK]\n
> .VoltageMode          = UCHAR
> .SnapToDiscrete       = UCHAR
> .NumDiscreteLevels    = UCHAR
> .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}\n
> .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
> pptable->DpmDescriptor[PPCLK_PIXCLK].VoltageMode,
> pptable->DpmDescriptor[PPCLK_PIXCLK].SnapToDiscrete,
> pptable->DpmDescriptor[PPCLK_PIXCLK].NumDiscreteLevels,
> pptable->DpmDescriptor[PPCLK_PIXCLK].padding,
> pptable->DpmDescriptor[PPCLK_PIXCLK].ConversionToAvfsClk.m,
> pptable->DpmDescriptor[PPCLK_PIXCLK].ConversionToAvfsClk.b,
> pptable->DpmDescriptor[PPCLK_PIXCLK].SsCurve.a,
> pptable->DpmDescriptor[PPCLK_PIXCLK].SsCurve.b,
> pptable->DpmDescriptor[PPCLK_PIXCLK].SsCurve.c
> 
> [PPCLK_PHYCLK]\n
> .VoltageMode          = UCHAR
> .SnapToDiscrete       = UCHAR
> .NumDiscreteLevels    = UCHAR
> .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}\n
> .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
> pptable->DpmDescriptor[PPCLK_PHYCLK].VoltageMode,
> pptable->DpmDescriptor[PPCLK_PHYCLK].SnapToDiscrete,
> pptable->DpmDescriptor[PPCLK_PHYCLK].NumDiscreteLevels,
> pptable->DpmDescriptor[PPCLK_PHYCLK].padding,
> pptable->DpmDescriptor[PPCLK_PHYCLK].ConversionToAvfsClk.m,
> pptable->DpmDescriptor[PPCLK_PHYCLK].ConversionToAvfsClk.b,
> pptable->DpmDescriptor[PPCLK_PHYCLK].SsCurve.a,
> pptable->DpmDescriptor[PPCLK_PHYCLK].SsCurve.b,
> pptable->DpmDescriptor[PPCLK_PHYCLK].SsCurve.c
> 
> [PPCLK_FCLK]\n
> .VoltageMode          = UCHAR
> .SnapToDiscrete       = UCHAR
> .NumDiscreteLevels    = UCHAR
> .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}\n
> .SsCurve            {a = ULONG b = ULONG c = ULONG}\n,
> pptable->DpmDescriptor[PPCLK_FCLK].VoltageMode,
> pptable->DpmDescriptor[PPCLK_FCLK].SnapToDiscrete,
> pptable->DpmDescriptor[PPCLK_FCLK].NumDiscreteLevels,
> pptable->DpmDescriptor[PPCLK_FCLK].padding,
> pptable->DpmDescriptor[PPCLK_FCLK].ConversionToAvfsClk.m,
> pptable->DpmDescriptor[PPCLK_FCLK].ConversionToAvfsClk.b,
> pptable->DpmDescriptor[PPCLK_FCLK].SsCurve.a,
> pptable->DpmDescriptor[PPCLK_FCLK].SsCurve.b,
> pptable->DpmDescriptor[PPCLK_FCLK].SsCurve.c
> 
> 
> FreqTableGfx\n
> for (i = 0; i < NUM_GFXCLK_DPM_LEVELS; i++)
> .[%02d] = USHORT, i, pptable->FreqTableGfx[i]
> 
> FreqTableVclk\n
> for (i = 0; i < NUM_VCLK_DPM_LEVELS; i++)
> .[%02d] = USHORT, i, pptable->FreqTableVclk[i]
> 
> FreqTableDclk\n
> for (i = 0; i < NUM_DCLK_DPM_LEVELS; i++)
> .[%02d] = USHORT, i, pptable->FreqTableDclk[i]
> 
> FreqTableEclk\n
> for (i = 0; i < NUM_ECLK_DPM_LEVELS; i++)
> .[%02d] = USHORT, i, pptable->FreqTableEclk[i]
> 
> FreqTableSocclk\n
> for (i = 0; i < NUM_SOCCLK_DPM_LEVELS; i++)
> .[%02d] = USHORT, i, pptable->FreqTableSocclk[i]
> 
> FreqTableUclk\n
> for (i = 0; i < NUM_UCLK_DPM_LEVELS; i++)
> .[%02d] = USHORT, i, pptable->FreqTableUclk[i]
> 
> FreqTableFclk\n
> for (i = 0; i < NUM_FCLK_DPM_LEVELS; i++)
> .[%02d] = USHORT, i, pptable->FreqTableFclk[i]
> 
> FreqTableDcefclk\n
> for (i = 0; i < NUM_DCEFCLK_DPM_LEVELS; i++)
> .[%02d] = USHORT, i, pptable->FreqTableDcefclk[i]
> 
> FreqTableDispclk\n
> for (i = 0; i < NUM_DISPCLK_DPM_LEVELS; i++)
> .[%02d] = USHORT, i, pptable->FreqTableDispclk[i]
> 
> FreqTablePixclk\n
> for (i = 0; i < NUM_PIXCLK_DPM_LEVELS; i++)
> .[%02d] = USHORT, i, pptable->FreqTablePixclk[i]
> 
> FreqTablePhyclk\n
> for (i = 0; i < NUM_PHYCLK_DPM_LEVELS; i++)
> .[%02d] = USHORT, i, pptable->FreqTablePhyclk[i]
> 
> DcModeMaxFreq[PPCLK_GFXCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_GFXCLK]
> DcModeMaxFreq[PPCLK_VCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_VCLK]
> DcModeMaxFreq[PPCLK_DCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_DCLK]
> DcModeMaxFreq[PPCLK_ECLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_ECLK]
> DcModeMaxFreq[PPCLK_SOCCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_SOCCLK]
> DcModeMaxFreq[PPCLK_UCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_UCLK]
> DcModeMaxFreq[PPCLK_DCEFCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_DCEFCLK]
> DcModeMaxFreq[PPCLK_DISPCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_DISPCLK]
> DcModeMaxFreq[PPCLK_PIXCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_PIXCLK]
> DcModeMaxFreq[PPCLK_PHYCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_PHYCLK]
> DcModeMaxFreq[PPCLK_FCLK] = USHORT, pptable->DcModeMaxFreq[PPCLK_FCLK]
> Padding8_Clks = USHORT, pptable->Padding8_Clks
> 
> Mp0clkFreq\n
> for (i = 0; i < NUM_MP0CLK_DPM_LEVELS; i++)
> .[%d] = USHORT, i, pptable->Mp0clkFreq[i]
> 
> Mp0DpmVoltage\n
> for (i = 0; i < NUM_MP0CLK_DPM_LEVELS; i++)
> .[%d] = USHORT, i, pptable->Mp0DpmVoltage[i]
> 
> GfxclkFidle = USHORT, pptable->GfxclkFidle
> GfxclkSlewRate = USHORT, pptable->GfxclkSlewRate
> CksEnableFreq = USHORT, pptable->CksEnableFreq
> Padding789 = USHORT, pptable->Padding789
> CksVoltageOffset[a = ULONG b = ULONG c = ULONG]\n,
> pptable->CksVoltageOffset.a,
> pptable->CksVoltageOffset.b,
> pptable->CksVoltageOffset.c
> Padding567[0] = USHORT, pptable->Padding567[0]
> Padding567[1] = USHORT, pptable->Padding567[1]
> Padding567[2] = USHORT, pptable->Padding567[2]
> Padding567[3] = USHORT, pptable->Padding567[3]
> GfxclkDsMaxFreq = USHORT, pptable->GfxclkDsMaxFreq
> GfxclkSource = USHORT, pptable->GfxclkSource
> Padding456 = USHORT, pptable->Padding456
> 
> LowestUclkReservedForUlv = USHORT, pptable->LowestUclkReservedForUlv
> Padding8_Uclk[0] = USHORT, pptable->Padding8_Uclk[0]
> Padding8_Uclk[1] = USHORT, pptable->Padding8_Uclk[1]
> Padding8_Uclk[2] = USHORT, pptable->Padding8_Uclk[2]
> 
> PcieGenSpeed\n
> for (i = 0; i < NUM_LINK_LEVELS; i++)
> .[%d] = USHORT, i, pptable->PcieGenSpeed[i]
> 
> PcieLaneCount\n
> for (i = 0; i < NUM_LINK_LEVELS; i++)
> .[%d] = USHORT, i, pptable->PcieLaneCount[i]
> 
> LclkFreq\n
> for (i = 0; i < NUM_LINK_LEVELS; i++)
> .[%d] = USHORT, i, pptable->LclkFreq[i]
> 
> EnableTdpm = USHORT, pptable->EnableTdpm
> TdpmHighHystTemperature = USHORT, pptable->TdpmHighHystTemperature
> TdpmLowHystTemperature = USHORT, pptable->TdpmLowHystTemperature
> GfxclkFreqHighTempLimit = USHORT, pptable->GfxclkFreqHighTempLimit
> 
> FanStopTemp = USHORT, pptable->FanStopTemp
> FanStartTemp = USHORT, pptable->FanStartTemp
> 
> FanGainEdge = USHORT, pptable->FanGainEdge
> FanGainHotspot = USHORT, pptable->FanGainHotspot
> FanGainLiquid = USHORT, pptable->FanGainLiquid
> FanGainVrGfx = USHORT, pptable->FanGainVrGfx
> FanGainVrSoc = USHORT, pptable->FanGainVrSoc
> FanGainPlx = USHORT, pptable->FanGainPlx
> FanGainHbm = USHORT, pptable->FanGainHbm
> FanPwmMin = USHORT, pptable->FanPwmMin
> FanAcousticLimitRpm = USHORT, pptable->FanAcousticLimitRpm
> FanThrottlingRpm = USHORT, pptable->FanThrottlingRpm
> FanMaximumRpm = USHORT, pptable->FanMaximumRpm
> FanTargetTemperature = USHORT, pptable->FanTargetTemperature
> FanTargetGfxclk = USHORT, pptable->FanTargetGfxclk
> FanZeroRpmEnable = USHORT, pptable->FanZeroRpmEnable
> FanTachEdgePerRev = USHORT, pptable->FanTachEdgePerRev
> 
> FuzzyFan_ErrorSetDelta = USHORT, pptable->FuzzyFan_ErrorSetDelta
> FuzzyFan_ErrorRateSetDelta = USHORT, pptable->FuzzyFan_ErrorRateSetDelta
> FuzzyFan_PwmSetDelta = USHORT, pptable->FuzzyFan_PwmSetDelta
> FuzzyFan_Reserved = USHORT, pptable->FuzzyFan_Reserved
> 
> OverrideAvfsGb[AVFS_VOLTAGE_GFX] = USHORT, pptable->OverrideAvfsGb[AVFS_VOLTAGE_GFX]
> OverrideAvfsGb[AVFS_VOLTAGE_SOC] = USHORT, pptable->OverrideAvfsGb[AVFS_VOLTAGE_SOC]
> Padding8_Avfs[0] = USHORT, pptable->Padding8_Avfs[0]
> Padding8_Avfs[1] = USHORT, pptable->Padding8_Avfs[1]
> 
> qAvfsGb[AVFS_VOLTAGE_GFX]{a = USHORT b = USHORT c = USHORT}\n,
> pptable->qAvfsGb[AVFS_VOLTAGE_GFX].a,
> pptable->qAvfsGb[AVFS_VOLTAGE_GFX].b,
> pptable->qAvfsGb[AVFS_VOLTAGE_GFX].c
> qAvfsGb[AVFS_VOLTAGE_SOC]{a = USHORT b = USHORT c = USHORT}\n,
> pptable->qAvfsGb[AVFS_VOLTAGE_SOC].a,
> pptable->qAvfsGb[AVFS_VOLTAGE_SOC].b,
> pptable->qAvfsGb[AVFS_VOLTAGE_SOC].c
> dBtcGbGfxCksOn{a = USHORT b = USHORT c = USHORT}\n,
> pptable->dBtcGbGfxCksOn.a,
> pptable->dBtcGbGfxCksOn.b,
> pptable->dBtcGbGfxCksOn.c
> dBtcGbGfxCksOff{a = USHORT b = USHORT c = USHORT}\n,
> pptable->dBtcGbGfxCksOff.a,
> pptable->dBtcGbGfxCksOff.b,
> pptable->dBtcGbGfxCksOff.c
> dBtcGbGfxAfll{a = USHORT b = USHORT c = USHORT}\n,
> pptable->dBtcGbGfxAfll.a,
> pptable->dBtcGbGfxAfll.b,
> pptable->dBtcGbGfxAfll.c
> dBtcGbSoc{a = USHORT b = USHORT c = USHORT}\n,
> pptable->dBtcGbSoc.a,
> pptable->dBtcGbSoc.b,
> pptable->dBtcGbSoc.c
> qAgingGb[AVFS_VOLTAGE_GFX]{m = USHORT b = USHORT}\n,
> pptable->qAgingGb[AVFS_VOLTAGE_GFX].m,
> pptable->qAgingGb[AVFS_VOLTAGE_GFX].b
> qAgingGb[AVFS_VOLTAGE_SOC]{m = USHORT b = USHORT}\n,
> pptable->qAgingGb[AVFS_VOLTAGE_SOC].m,
> pptable->qAgingGb[AVFS_VOLTAGE_SOC].b
> 
> qStaticVoltageOffset[AVFS_VOLTAGE_GFX]{a = USHORT b = USHORT c = USHORT}\n,
> pptable->qStaticVoltageOffset[AVFS_VOLTAGE_GFX].a,
> pptable->qStaticVoltageOffset[AVFS_VOLTAGE_GFX].b,
> pptable->qStaticVoltageOffset[AVFS_VOLTAGE_GFX].c
> qStaticVoltageOffset[AVFS_VOLTAGE_SOC]{a = USHORT b = USHORT c = USHORT}\n,
> pptable->qStaticVoltageOffset[AVFS_VOLTAGE_SOC].a,
> pptable->qStaticVoltageOffset[AVFS_VOLTAGE_SOC].b,
> pptable->qStaticVoltageOffset[AVFS_VOLTAGE_SOC].c
> 
> DcTol[AVFS_VOLTAGE_GFX] = USHORT, pptable->DcTol[AVFS_VOLTAGE_GFX]
> DcTol[AVFS_VOLTAGE_SOC] = USHORT, pptable->DcTol[AVFS_VOLTAGE_SOC]
> 
> DcBtcEnabled[AVFS_VOLTAGE_GFX] = USHORT, pptable->DcBtcEnabled[AVFS_VOLTAGE_GFX]
> DcBtcEnabled[AVFS_VOLTAGE_SOC] = USHORT, pptable->DcBtcEnabled[AVFS_VOLTAGE_SOC]
> Padding8_GfxBtc[0] = USHORT, pptable->Padding8_GfxBtc[0]
> Padding8_GfxBtc[1] = USHORT, pptable->Padding8_GfxBtc[1]
> 
> DcBtcMin[AVFS_VOLTAGE_GFX] = USHORT, pptable->DcBtcMin[AVFS_VOLTAGE_GFX]
> DcBtcMin[AVFS_VOLTAGE_SOC] = USHORT, pptable->DcBtcMin[AVFS_VOLTAGE_SOC]
> DcBtcMax[AVFS_VOLTAGE_GFX] = USHORT, pptable->DcBtcMax[AVFS_VOLTAGE_GFX]
> DcBtcMax[AVFS_VOLTAGE_SOC] = USHORT, pptable->DcBtcMax[AVFS_VOLTAGE_SOC]
> 
> XgmiLinkSpeed\n
> for (i = 0; i < NUM_XGMI_LEVELS; i++)
> .[%d] = USHORT, i, pptable->XgmiLinkSpeed[i]
> XgmiLinkWidth\n
> for (i = 0; i < NUM_XGMI_LEVELS; i++)
> .[%d] = USHORT, i, pptable->XgmiLinkWidth[i]
> XgmiFclkFreq\n
> for (i = 0; i < NUM_XGMI_LEVELS; i++)
> .[%d] = USHORT, i, pptable->XgmiFclkFreq[i]
> XgmiUclkFreq\n
> for (i = 0; i < NUM_XGMI_LEVELS; i++)
> .[%d] = USHORT, i, pptable->XgmiUclkFreq[i]
> XgmiSocclkFreq\n
> for (i = 0; i < NUM_XGMI_LEVELS; i++)
> .[%d] = USHORT, i, pptable->XgmiSocclkFreq[i]
> XgmiSocVoltage\n
> for (i = 0; i < NUM_XGMI_LEVELS; i++)
> .[%d] = USHORT, i, pptable->XgmiSocVoltage[i]
> 
> DebugOverrides = USHORT, pptable->DebugOverrides
> ReservedEquation0{a = USHORT b = USHORT c = USHORT}\n,
> pptable->ReservedEquation0.a,
> pptable->ReservedEquation0.b,
> pptable->ReservedEquation0.c
> ReservedEquation1{a = USHORT b = USHORT c = USHORT}\n,
> pptable->ReservedEquation1.a,
> pptable->ReservedEquation1.b,
> pptable->ReservedEquation1.c
> ReservedEquation2{a = USHORT b = USHORT c = USHORT}\n,
> pptable->ReservedEquation2.a,
> pptable->ReservedEquation2.b,
> pptable->ReservedEquation2.c
> ReservedEquation3{a = USHORT b = USHORT c = USHORT}\n,
> pptable->ReservedEquation3.a,
> pptable->ReservedEquation3.b,
> pptable->ReservedEquation3.c
> 
> MinVoltageUlvGfx = USHORT, pptable->MinVoltageUlvGfx
> MinVoltageUlvSoc = USHORT, pptable->MinVoltageUlvSoc
> 
> MGpuFanBoostLimitRpm = USHORT, pptable->MGpuFanBoostLimitRpm
> padding16_Fan = USHORT, pptable->padding16_Fan
> 
> FanGainVrMem0 = USHORT, pptable->FanGainVrMem0
> FanGainVrMem0 = USHORT, pptable->FanGainVrMem0
> 
> DcBtcGb[AVFS_VOLTAGE_GFX] = USHORT, pptable->DcBtcGb[AVFS_VOLTAGE_GFX]
> DcBtcGb[AVFS_VOLTAGE_SOC] = USHORT, pptable->DcBtcGb[AVFS_VOLTAGE_SOC]
> 
> for (i = 0; i < 11; i++)
> Reserved[%d] = USHORT, i, pptable->Reserved[i]
> 
> for (i = 0; i < 3; i++)
> Padding32[%d] = USHORT, i, pptable->Padding32[i]
> 
> MaxVoltageStepGfx = USHORT, pptable->MaxVoltageStepGfx
> MaxVoltageStepSoc = USHORT, pptable->MaxVoltageStepSoc
> 
> VddGfxVrMapping = USHORT, pptable->VddGfxVrMapping
> VddSocVrMapping = USHORT, pptable->VddSocVrMapping
> VddMem0VrMapping = USHORT, pptable->VddMem0VrMapping
> VddMem1VrMapping = USHORT, pptable->VddMem1VrMapping
> 
> GfxUlvPhaseSheddingMask = USHORT, pptable->GfxUlvPhaseSheddingMask
> SocUlvPhaseSheddingMask = USHORT, pptable->SocUlvPhaseSheddingMask
> ExternalSensorPresent = USHORT, pptable->ExternalSensorPresent
> Padding8_V = USHORT, pptable->Padding8_V
> 
> GfxMaxCurrent = USHORT, pptable->GfxMaxCurrent
> GfxOffset = USHORT, pptable->GfxOffset
> Padding_TelemetryGfx = USHORT, pptable->Padding_TelemetryGfx
> 
> SocMaxCurrent = USHORT, pptable->SocMaxCurrent
> SocOffset = USHORT, pptable->SocOffset
> Padding_TelemetrySoc = USHORT, pptable->Padding_TelemetrySoc
> 
> Mem0MaxCurrent = USHORT, pptable->Mem0MaxCurrent
> Mem0Offset = USHORT, pptable->Mem0Offset
> Padding_TelemetryMem0 = USHORT, pptable->Padding_TelemetryMem0
> 
> Mem1MaxCurrent = USHORT, pptable->Mem1MaxCurrent
> Mem1Offset = USHORT, pptable->Mem1Offset
> Padding_TelemetryMem1 = USHORT, pptable->Padding_TelemetryMem1
> 
> AcDcGpio = USHORT, pptable->AcDcGpio
> AcDcPolarity = USHORT, pptable->AcDcPolarity
> VR0HotGpio = USHORT, pptable->VR0HotGpio
> VR0HotPolarity = USHORT, pptable->VR0HotPolarity
> 
> VR1HotGpio = USHORT, pptable->VR1HotGpio
> VR1HotPolarity = USHORT, pptable->VR1HotPolarity
> Padding1 = USHORT, pptable->Padding1
> Padding2 = USHORT, pptable->Padding2
> 
> LedPin0 = USHORT, pptable->LedPin0
> LedPin1 = USHORT, pptable->LedPin1
> LedPin2 = USHORT, pptable->LedPin2
> padding8_4 = USHORT, pptable->padding8_4
> 
> PllGfxclkSpreadEnabled = USHORT, pptable->PllGfxclkSpreadEnabled
> PllGfxclkSpreadPercent = USHORT, pptable->PllGfxclkSpreadPercent
> PllGfxclkSpreadFreq = USHORT, pptable->PllGfxclkSpreadFreq
> 
> UclkSpreadEnabled = USHORT, pptable->UclkSpreadEnabled
> UclkSpreadPercent = USHORT, pptable->UclkSpreadPercent
> UclkSpreadFreq = USHORT, pptable->UclkSpreadFreq
> 
> FclkSpreadEnabled = USHORT, pptable->FclkSpreadEnabled
> FclkSpreadPercent = USHORT, pptable->FclkSpreadPercent
> FclkSpreadFreq = USHORT, pptable->FclkSpreadFreq
> 
> FllGfxclkSpreadEnabled = USHORT, pptable->FllGfxclkSpreadEnabled
> FllGfxclkSpreadPercent = USHORT, pptable->FllGfxclkSpreadPercent
> FllGfxclkSpreadFreq = USHORT, pptable->FllGfxclkSpreadFreq
> 
> for (i = 0; i < I2C_CONTROLLER_NAME_COUNT; i++) {
> I2cControllers[%d]:\n, i
> .Enabled = USHORT,
> pptable->I2cControllers[i].Enabled
> .SlaveAddress = USHORT,
> pptable->I2cControllers[i].SlaveAddress
> .ControllerPort = USHORT,
> pptable->I2cControllers[i].ControllerPort
> .ControllerName = USHORT,
> pptable->I2cControllers[i].ControllerName
> .ThermalThrottler = USHORT,
> pptable->I2cControllers[i].ThermalThrottler
> .I2cProtocol = USHORT,
> pptable->I2cControllers[i].I2cProtocol
> .I2cSpeed = USHORT,
> pptable->I2cControllers[i].I2cSpeed
> }
> 
> for (i = 0; i < 10; i++)
> BoardReserved[%d] = USHORT, i, pptable->BoardReserved[i]
> 
> for (i = 0; i < 8; i++)
> MmHubPadding[%d] = USHORT, i, pptable->MmHubPadding[i]
> }


Interesting, but is to complex for me, and I am bussy so I can't help for now.

I see a new thing now about the usCKSVOffsetandDisable vales into powerplay with my 590, it seems that it have a range of VIDs for one dpm clock and increasing it fron default 26 to 32 is increasing the lower limit of these voltages, and the most usual voltage is increase fron 1.2v to 1.212v . So is like it is reducing the range of voltages.

I see that Vega have in the Gfxclk_Dependency_Table an usCKSVOffsetandDisable value and an usAVFSOffset value for for each dpm:

00 00 USHORT usCKSVOffsetandDisable; /* Bits 0~30: Voltage offset for CKS, Bit 31: Disable/enable for the GFXCLK level. */
00 00 USHORT usAVFSOffset; /* AVFS Voltage offset */ }

Could be interesting to test this in both values. Maybe in increments of 6.


----------



## Vento041

Here https://www.overclock.net/forum/67-...d-radeon-vii-owner-s-club-6.html#post27844288

There are some info on how the Vega20 pptable is structured. Sorry I posted it in the wrong thread.

Btw to write the most interesting stuffs here:
- Main ATOM PowerPlay Table: https://github.com/torvalds/linux/b...drm/amd/powerplay/hwmgr/vega20_pptable.h#L110
- ATOM_VEGA20_POWER_SAVING_CLOCK_RECORD and ATOM_VEGA20_OVERDRIVE8_RECORD are defined in the same file just linked
- PPtable_t struct for Vega20 is defined here: https://github.com/torvalds/linux/b.../drm/amd/powerplay/inc/smu11_driver_if.h#L358


Also since everything is in place and there are no more weird pointer tricks + subtables (older GPUs bioses) the PPtable_t is at offset 0x1DA (from the beginning of the ATOM table)


----------



## Vento041

Also 700 Watts and 700 Amps *.reg trick test attached + image (I'm not sure if this works so I've also attached a reset *.reg, so if pc do not properly boot you can go in safe mode and reset stuffs).

I've changed only:


SocketPowerLimitAc0 (250 watts to 700)
SocketPowerLimitDc (250 watts to 700)
TdcLimitGfx (330 amps to 700)
Used 700 just because is a big num. I didn't touch "TdcLimitSoc" because is 50 Amps (quite low) and if I remember correctly buildzoid said someting about SOC vrm not been powerful enough (but I might be wrong, or not remembering correctly).


Also maybe, maybe, maybe, I'm not sure 100%, AMD code "unlimited" as 00 00 so replacing 00 00 were you want should simply remove the limit (for that variable).


----------



## Voprus

Vento041 said:


> Also 700 Watts and 700 Amps *.reg trick test attached + image (I'm not sure if this works so I've also attached a reset *.reg, so if pc do not properly boot you can go in safe mode and reset stuffs).
> 
> I've changed only:
> 
> 
> SocketPowerLimitAc0 (250 watts to 700)
> SocketPowerLimitDc (250 watts to 700)
> TdcLimitGfx (330 amps to 700)
> Used 700 just because is a big num. I didn't touch "TdcLimitSoc" because is 50 Amps (quite low) and if I remember correctly buildzoid said someting about SOC vrm not been powerful enough (but I might be wrong, or not remembering correctly).
> 
> 
> Also maybe, maybe, maybe, I'm not sure 100%, AMD code "unlimited" as 00 00 so replacing 00 00 were you want should simply remove the limit (for that variable).


Thanks a lot 
Just tried that and card is locked at 1630Mhz for me when applied. 
Is there a way how to convince Wattment to give me bigger offset as used for Vega 64?
EDIT: it is no longer locked ... not sure what happended


----------



## Vento041

@Voprus


Just to be sure. Close all gpu related programs (and remove them from autostart!!!!!!). Open WattMan and reset overclock settings. Reboot. Applay Reg. SHUTDOWN. power up and see how it goes.


----------



## JackCY

Yes please how exactly does it go? Just how insane does the power consumption gets with "unlimited" power limit?
Considering the stock card thermal throttles quite often for many in a closed case... power limit might not help anything when it's overheating on stock already. Needs proper cooling.


----------



## ZealotKi11er

JackCY said:


> Yes please how exactly does it go? Just how insane does the power consumption gets with "unlimited" power limit?
> Considering the stock card thermal throttles quite often for many in a closed case... power limit might not help anything when it's overheating on stock already. Needs proper cooling.


With temps below 0C I was getting ~ 430W with Vega 64 LC. I have not been able to go higher.


----------



## hellm

thx @Vento041 :thumb:
yes, this is the structrure, i guess. and datatypes within, more structures..

Here is the first part of the Vega VII reference PowerPlay table:


Spoiler






Code:


typedef struct _ATOM_VEGA20_POWERPLAYTABLE
{
    struct atom_common_table_header sHeader;
    {
C2 06        USHORT usStructureSize;
0B        UCHAR  ucTableFormatRevision;   /*Change it when the Parser is not backward compatible */
00        UCHAR  ucTableContentRevision;  /*Change it only when the table needs to change but the firmware */
                                                   /*Image can't be updated, while Driver needs to carry the new table! */
    } ATOM_COMMON_TABLE_HEADER;
      
02      UCHAR  ucTableRevision;
C2 06     USHORT usTableSize;
34 08 00 00      ULONG  ulGoldenPPID;
A4 35 00 00      ULONG  ulGoldenRevision;
7C 00      USHORT usFormatID;

09 00 00 00      ULONG  ulPlatformCaps;

1A      UCHAR  ucThermalControllerType;

FA 00 (250W)     USHORT usSmallPowerLimit1;
FA 00 (250W)     USHORT usSmallPowerLimit2;
FA 00 (250W)     USHORT usBoostPowerLimit;
00 00      USHORT usODTurboPowerLimit;
00 00      USHORT usODPowerSavePowerLimit;
76 00 (118°C)     USHORT usSoftwareShutdownTemp;

      ATOM_VEGA20_POWER_SAVING_CLOCK_RECORD PowerSavingClockTable;    //PowerSavingClock Mode Clock Min/Max array
    typedef struct _ATOM_VEGA20_POWER_SAVING_CLOCK_RECORD
    {
01        UCHAR ucTableRevision;
0B 00 00 00        ULONG PowerSavingClockCount;                // Count of PowerSavingClock Mode
        ULONG PowerSavingClockMax  [16];              // PowerSavingClock Mode Clock Maximum array In MHz
09 07 00 00
6E 04 00 00
CC 03 00 00
CC 03 00 00
CC 03 00 00
E8 03 00 00
C9 04 00 00
6E 04 00 00
6E 04 00 00
34 04 00 00
2A 03 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00        
        ULONG PowerSavingClockMin  [16];              // PowerSavingClock Mode Clock Minimum array In MHz
BC 02 00 00
66 01 00 00
36 01 00 00
36 01 00 00
36 01 00 00
5E 01 00 00
26 02 00 00
66 01 00 00
66 01 00 00
93 00 00 00
0E 01 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
    } ATOM_VEGA20_POWER_SAVING_CLOCK_RECORD;
            
      ATOM_VEGA20_OVERDRIVE8_RECORD OverDrive8Table;       //OverDrive8 Feature capabilities and Settings Range (Max and Min)
    typedef struct _ATOM_VEGA20_OVERDRIVE8_RECORD
    {
01        UCHAR ucODTableRevision;
0E 00 00 00        ULONG ODFeatureCount;
        UCHAR ODFeatureCapabilities [32];   //OD feature support flags
01
01
01
01
01
01
01
01
01
00
01
01
01
01
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00    
1D 00 00 00        ULONG ODSettingCount;
        ULONG ODSettingsMax [32];           //Upper Limit for each OD Setting
98 08 00 00
98 08 00 00
98 08 00 00
C2 04 00 00
98 08 00 00
C2 04 00 00
98 08 00 00
C2 04 00 00
B0 04 00 00
14 00 00 00
0A 0F 00 00
0A 0F 00 00
5F 00 00 00
6E 00 00 00
02 00 00 00
00 00 00 00
01 00 00 00
01 00 00 00
01 00 00 00
5F 00 00 00
64 00 00 00
5F 00 00 00
64 00 00 00
5F 00 00 00
64 00 00 00
5F 00 00 00
64 00 00 00
5F 00 00 00
64 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
        ULONG ODSettingsMin [32];           //Lower Limit for each OD Setting
28 03 00 00
28 03 00 00
28 03 00 00
E2 02 00 00
28 03 00 00
E2 02 00 00
28 03 00 00
E2 02 00 00
5E 01 00 00
14 00 00 00
C2 01 00 00
C2 01 00 00
19 00 00 00
32 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
19 00 00 00
14 00 00 00
19 00 00 00
14 00 00 00
19 00 00 00
14 00 00 00
19 00 00 00
14 00 00 00
19 00 00 00
14 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
    } ATOM_VEGA20_OVERDRIVE8_RECORD;
      
      USHORT usReserve[5];
00 00
00 00
00 00
00 00
00 00

      PPTable_t smcPPTable;
      
} ATOM_Vega20_POWERPLAYTABLE;

enum ATOM_VEGA20_ODFEATURE_ID {
  ATOM_VEGA20_ODFEATURE_GFXCLK_LIMITS = 0,
  ATOM_VEGA20_ODFEATURE_GFXCLK_CURVE,
  ATOM_VEGA20_ODFEATURE_UCLK_MAX,
  ATOM_VEGA20_ODFEATURE_POWER_LIMIT,
  ATOM_VEGA20_ODFEATURE_FAN_ACOUSTIC_LIMIT,    //FanMaximumRpm
  ATOM_VEGA20_ODFEATURE_FAN_SPEED_MIN,         //FanMinimumPwm
  ATOM_VEGA20_ODFEATURE_TEMPERATURE_FAN,       //FanTargetTemperature
  ATOM_VEGA20_ODFEATURE_TEMPERATURE_SYSTEM,    //MaxOpTemp
  ATOM_VEGA20_ODFEATURE_MEMORY_TIMING_TUNE,
  ATOM_VEGA20_ODFEATURE_FAN_ZERO_RPM_CONTROL,
  ATOM_VEGA20_ODFEATURE_COUNT,
};

enum ATOM_VEGA20_ODSETTING_ID {
  ATOM_VEGA20_ODSETTING_GFXCLKFMAX = 0,
  ATOM_VEGA20_ODSETTING_GFXCLKFMIN,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEFREQ_P1,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEVOLTAGEOFFSET_P1,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEFREQ_P2,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEVOLTAGEOFFSET_P2,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEFREQ_P3,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEVOLTAGEOFFSET_P3,
  ATOM_VEGA20_ODSETTING_UCLKFMAX,
  ATOM_VEGA20_ODSETTING_POWERPERCENTAGE,
  ATOM_VEGA20_ODSETTING_FANRPMMIN,
  ATOM_VEGA20_ODSETTING_FANRPMACOUSTICLIMIT,
  ATOM_VEGA20_ODSETTING_FANTARGETTEMPERATURE,
  ATOM_VEGA20_ODSETTING_OPERATINGTEMPMAX,
  ATOM_VEGA20_ODSETTING_COUNT,
};
typedef enum ATOM_VEGA20_ODSETTING_ID ATOM_VEGA20_ODSETTING_ID;

enum ATOM_VEGA20_PPCLOCK_ID {
  ATOM_VEGA20_PPCLOCK_GFXCLK = 0,
  ATOM_VEGA20_PPCLOCK_VCLK,
  ATOM_VEGA20_PPCLOCK_DCLK,
  ATOM_VEGA20_PPCLOCK_ECLK,
  ATOM_VEGA20_PPCLOCK_SOCCLK,
  ATOM_VEGA20_PPCLOCK_UCLK,
  ATOM_VEGA20_PPCLOCK_FCLK,
  ATOM_VEGA20_PPCLOCK_DCEFCLK,
  ATOM_VEGA20_PPCLOCK_DISPCLK,
  ATOM_VEGA20_PPCLOCK_PIXCLK,
  ATOM_VEGA20_PPCLOCK_PHYCLK,
  ATOM_VEGA20_PPCLOCK_COUNT,
};
typedef enum ATOM_VEGA20_PPCLOCK_ID ATOM_VEGA20_PPCLOCK_ID;





and the fan table


Code:


00 00    FanStopTemp
00 00    FanStartTemp

90 01    FanGainEdge
90 01    FanGainHotspot
90 01    FanGainLiquid
90 01    FanGainVrGfx
90 01    FanGainVrSoc
90 01    FanGainPlx
90 01    FanGainHbm
14 00    FanPwmMin
54 0B    FanAcousticLimitRpm
54 0B    FanThrottlingRpm
0A 0F    FanMaximumRpm
5F 00    FanTargetTemperature
00 00    FanTargetGfxclk
00       FanZeroRpmEnable
02       FanTachEdgePerRev

00 00  FuzzyFan_ErrorSetDelta
00 00  FuzzyFan_ErrorRateSetDelta
00 00  FuzzyFan_PwmSetDelta
00 00  FuzzyFan_Reserved

so, with all the info about PPTable_t and the other data types..


Spoiler






Code:


typedef struct {
  uint32_t Version;


  uint32_t FeaturesToRun[2];


  uint16_t SocketPowerLimitAc0;
  uint16_t SocketPowerLimitAc0Tau;
  uint16_t SocketPowerLimitAc1;
  uint16_t SocketPowerLimitAc1Tau;
  uint16_t SocketPowerLimitAc2;
  uint16_t SocketPowerLimitAc2Tau;
  uint16_t SocketPowerLimitAc3;
  uint16_t SocketPowerLimitAc3Tau;
  uint16_t SocketPowerLimitDc;
  uint16_t SocketPowerLimitDcTau;
  uint16_t TdcLimitSoc;
  uint16_t TdcLimitSocTau;
  uint16_t TdcLimitGfx;
  uint16_t TdcLimitGfxTau;

  uint16_t TedgeLimit;
  uint16_t ThotspotLimit;
  uint16_t ThbmLimit;
  uint16_t Tvr_gfxLimit;
  uint16_t Tvr_memLimit;
  uint16_t Tliquid1Limit;
  uint16_t Tliquid2Limit;
  uint16_t TplxLimit;
  uint32_t FitLimit;

  uint16_t PpmPowerLimit;
  uint16_t PpmTemperatureThreshold;

  uint8_t  MemoryOnPackage;
  uint8_t  padding8_limits;
  uint16_t Tvr_SocLimit;

  uint16_t  UlvVoltageOffsetSoc;
  uint16_t  UlvVoltageOffsetGfx;

  uint8_t  UlvSmnclkDid;
  uint8_t  UlvMp1clkDid;
  uint8_t  UlvGfxclkBypass;
  uint8_t  Padding234;


  uint16_t     MinVoltageGfx;
  uint16_t     MinVoltageSoc;
  uint16_t     MaxVoltageGfx;
  uint16_t     MaxVoltageSoc;

  uint16_t     LoadLineResistanceGfx;
  uint16_t     LoadLineResistanceSoc;

  DpmDescriptor_t DpmDescriptor[PPCLK_COUNT];
	typedef struct {
		uint8_t        VoltageMode;
		uint8_t        SnapToDiscrete;
		uint8_t        NumDiscreteLevels;
		uint8_t        padding;
		LinearInt_t    ConversionToAvfsClk;
		typedef struct {
			uint32_t m;
			uint32_t b;
		} LinearInt_t;
		QuadraticInt_t SsCurve;
		typedef struct {
			uint32_t a;
			uint32_t b;
			uint32_t c;
		} QuadraticInt_t;
	} DpmDescriptor_t;

  uint16_t       FreqTableGfx      [NUM_GFXCLK_DPM_LEVELS  ];
  uint16_t       FreqTableVclk     [NUM_VCLK_DPM_LEVELS    ];
  uint16_t       FreqTableDclk     [NUM_DCLK_DPM_LEVELS    ];
  uint16_t       FreqTableEclk     [NUM_ECLK_DPM_LEVELS    ];
  uint16_t       FreqTableSocclk   [NUM_SOCCLK_DPM_LEVELS  ];
  uint16_t       FreqTableUclk     [NUM_UCLK_DPM_LEVELS    ];
  uint16_t       FreqTableFclk     [NUM_FCLK_DPM_LEVELS    ];
  uint16_t       FreqTableDcefclk  [NUM_DCEFCLK_DPM_LEVELS ];
  uint16_t       FreqTableDispclk  [NUM_DISPCLK_DPM_LEVELS ];
  uint16_t       FreqTablePixclk   [NUM_PIXCLK_DPM_LEVELS  ];
  uint16_t       FreqTablePhyclk   [NUM_PHYCLK_DPM_LEVELS  ];

  uint16_t       DcModeMaxFreq     [PPCLK_COUNT            ];
  uint16_t       Padding8_Clks;

  uint16_t       Mp0clkFreq        [NUM_MP0CLK_DPM_LEVELS];
  uint16_t       Mp0DpmVoltage     [NUM_MP0CLK_DPM_LEVELS];


  uint16_t        GfxclkFidle;
  uint16_t        GfxclkSlewRate;
  uint16_t        CksEnableFreq;
  uint16_t        Padding789;
  QuadraticInt_t  CksVoltageOffset;
	typedef struct {
		uint32_t a;
		uint32_t b;
		uint32_t c;
	} QuadraticInt_t;
  uint8_t         Padding567[4];
  uint16_t        GfxclkDsMaxFreq;
  uint8_t         GfxclkSource;
  uint8_t         Padding456;

  uint8_t      LowestUclkReservedForUlv;
  uint8_t      Padding8_Uclk[3];


  uint8_t      PcieGenSpeed[NUM_LINK_LEVELS];
  uint8_t      PcieLaneCount[NUM_LINK_LEVELS];
  uint16_t     LclkFreq[NUM_LINK_LEVELS];


  uint16_t     EnableTdpm;
  uint16_t     TdpmHighHystTemperature;
  uint16_t     TdpmLowHystTemperature;
  uint16_t     GfxclkFreqHighTempLimit;


  uint16_t     FanStopTemp;
  uint16_t     FanStartTemp;

  uint16_t     FanGainEdge;
  uint16_t     FanGainHotspot;
  uint16_t     FanGainLiquid;
  uint16_t     FanGainVrGfx;
  uint16_t     FanGainVrSoc;
  uint16_t     FanGainPlx;
  uint16_t     FanGainHbm;
  uint16_t     FanPwmMin;
  uint16_t     FanAcousticLimitRpm;
  uint16_t     FanThrottlingRpm;
  uint16_t     FanMaximumRpm;
  uint16_t     FanTargetTemperature;
  uint16_t     FanTargetGfxclk;
  uint8_t      FanZeroRpmEnable;
  uint8_t      FanTachEdgePerRev;



  int16_t      FuzzyFan_ErrorSetDelta;
  int16_t      FuzzyFan_ErrorRateSetDelta;
  int16_t      FuzzyFan_PwmSetDelta;
  uint16_t     FuzzyFan_Reserved;


  uint8_t           OverrideAvfsGb[AVFS_VOLTAGE_COUNT];
  uint8_t           Padding8_Avfs[2];

  QuadraticInt_t    qAvfsGb[AVFS_VOLTAGE_COUNT];
	typedef struct {
		uint32_t a;
		uint32_t b;
		uint32_t c;
	} QuadraticInt_t;  
  DroopInt_t        dBtcGbGfxCksOn;
	typedef struct {
		uint32_t a;
		uint32_t b;
		uint32_t c;
	} DroopInt_t;
  DroopInt_t        dBtcGbGfxCksOff;
	typedef struct {
		uint32_t a;
		uint32_t b;
		uint32_t c;
	} DroopInt_t;  
  DroopInt_t        dBtcGbGfxAfll;
  	typedef struct {
		uint32_t a;
		uint32_t b;
		uint32_t c;
	} DroopInt_t;
  DroopInt_t        dBtcGbSoc;
  	typedef struct {
		uint32_t a;
		uint32_t b;
		uint32_t c;
	} DroopInt_t;
  LinearInt_t       qAgingGb[AVFS_VOLTAGE_COUNT];
	typedef struct {
		uint32_t m;
		uint32_t b;
	} LinearInt_t;
  QuadraticInt_t    qStaticVoltageOffset[AVFS_VOLTAGE_COUNT];
	typedef struct {
		uint32_t a;
		uint32_t b;
		uint32_t c;
	} QuadraticInt_t;
  uint16_t          DcTol[AVFS_VOLTAGE_COUNT];

  uint8_t           DcBtcEnabled[AVFS_VOLTAGE_COUNT];
  uint8_t           Padding8_GfxBtc[2];

  int16_t           DcBtcMin[AVFS_VOLTAGE_COUNT];
  uint16_t          DcBtcMax[AVFS_VOLTAGE_COUNT];


  uint8_t           XgmiLinkSpeed   [NUM_XGMI_LEVELS];
  uint8_t           XgmiLinkWidth   [NUM_XGMI_LEVELS];
  uint16_t          XgmiFclkFreq    [NUM_XGMI_LEVELS];
  uint16_t          XgmiUclkFreq    [NUM_XGMI_LEVELS];
  uint16_t          XgmiSocclkFreq  [NUM_XGMI_LEVELS];
  uint16_t          XgmiSocVoltage  [NUM_XGMI_LEVELS];

  uint32_t          DebugOverrides;
  QuadraticInt_t    ReservedEquation0;
  	typedef struct {
		uint32_t a;
		uint32_t b;
		uint32_t c;
	} QuadraticInt_t;
  QuadraticInt_t    ReservedEquation1;
  	typedef struct {
		uint32_t a;
		uint32_t b;
		uint32_t c;
	} QuadraticInt_t;
  QuadraticInt_t    ReservedEquation2;
  	typedef struct {
		uint32_t a;
		uint32_t b;
		uint32_t c;
	} QuadraticInt_t;
  QuadraticInt_t    ReservedEquation3;
  	typedef struct {
		uint32_t a;
		uint32_t b;
		uint32_t c;
	} QuadraticInt_t;

  uint16_t     MinVoltageUlvGfx;
  uint16_t     MinVoltageUlvSoc;

  uint16_t     MGpuFanBoostLimitRpm;
  uint16_t     padding16_Fan;

  uint16_t     FanGainVrMem0;
  uint16_t     FanGainVrMem1;

  uint16_t     DcBtcGb[AVFS_VOLTAGE_COUNT];

  uint32_t     Reserved[11];

  uint32_t     Padding32[3];

  uint16_t     MaxVoltageStepGfx;
  uint16_t     MaxVoltageStepSoc;

  uint8_t      VddGfxVrMapping;
  uint8_t      VddSocVrMapping;
  uint8_t      VddMem0VrMapping;
  uint8_t      VddMem1VrMapping;

  uint8_t      GfxUlvPhaseSheddingMask;
  uint8_t      SocUlvPhaseSheddingMask;
  uint8_t      ExternalSensorPresent;
  uint8_t      Padding8_V;


  uint16_t     GfxMaxCurrent;
  int8_t       GfxOffset;
  uint8_t      Padding_TelemetryGfx;

  uint16_t     SocMaxCurrent;
  int8_t       SocOffset;
  uint8_t      Padding_TelemetrySoc;

  uint16_t     Mem0MaxCurrent;
  int8_t       Mem0Offset;
  uint8_t      Padding_TelemetryMem0;

  uint16_t     Mem1MaxCurrent;
  int8_t       Mem1Offset;
  uint8_t      Padding_TelemetryMem1;


  uint8_t      AcDcGpio;
  uint8_t      AcDcPolarity;
  uint8_t      VR0HotGpio;
  uint8_t      VR0HotPolarity;

  uint8_t      VR1HotGpio;
  uint8_t      VR1HotPolarity;
  uint8_t      Padding1;
  uint8_t      Padding2;



  uint8_t      LedPin0;
  uint8_t      LedPin1;
  uint8_t      LedPin2;
  uint8_t      padding8_4;


  uint8_t      PllGfxclkSpreadEnabled;
  uint8_t      PllGfxclkSpreadPercent;
  uint16_t     PllGfxclkSpreadFreq;

  uint8_t      UclkSpreadEnabled;
  uint8_t      UclkSpreadPercent;
  uint16_t     UclkSpreadFreq;

  uint8_t      FclkSpreadEnabled;
  uint8_t      FclkSpreadPercent;
  uint16_t     FclkSpreadFreq;

  uint8_t      FllGfxclkSpreadEnabled;
  uint8_t      FllGfxclkSpreadPercent;
  uint16_t     FllGfxclkSpreadFreq;

  I2cControllerConfig_t I2cControllers[I2C_CONTROLLER_NAME_COUNT];
	typedef struct {
		uint32_t Enabled;
		uint32_t SlaveAddress;
		uint32_t ControllerPort;
		uint32_t ControllerName;

		uint32_t ThermalThrottler;
		uint32_t I2cProtocol;
		uint32_t I2cSpeed;
	} I2cControllerConfig_t;

  uint32_t     BoardReserved[10];


  uint32_t     MmHubPadding[8];

} PPTable_t;




now we just have to learn how to use it 
oh.. and a little late, but here is the vanilla version.


----------



## mynm

It seems that the VII bios don't have the asic profiling table because it seems that is like it is into powerplay.

As you can see in this @Vento041 image: https://i.imgur.com/vmQPFHV.png there are a max and a min voltage for gfx and soc, and it seems that they are the voltage x4, like at the asic profiling table.

Also other "interesting" thing is that the bios have the TV1OutputControl/Gfx_Harvesting table, so maybe some CUs are loked.


----------



## mynm

My above post can't be seen if you are not loged. Maybe with this post it will be solved.

Nope, it seems I'm invisible for not looged people.


----------



## Vento041

@*mynm* @*hellm* Always nice to see the full RBRT on the same thread :3


Btw do we also need a new AtiFlash? 2.84 does not seems to works (I do not own a Vega20 card, I've been told so). The bios on techpowerup database comes from which reviewer (we could ask them)? Technicality using linux should be enough to get the bios right?


----------



## Hwgeek

Sry if it's already asked- what's new in the Vega VII vbios listed on Asrock Phantom Gaming X Radeon VII 16G ?
https://www.asrock.com/Graphics-Card/AMD/Phantom Gaming X Radeon VII 16G/#BIOS


----------



## mynm

I am sorry, I want to help the team. But, I think I'm not going to help for VII things, especially if the owners are telling that I have to buy a gpu I don't need. This is not a complex thing and I am not getting money for this, the owners will can do this on their own. I am bussy, I have better things to do. Sorry.


----------



## hellm

Vento041 said:


> @*mynm* @*hellm* Always nice to see the full RBRT on the same thread :3
> 
> 
> Btw do we also need a new AtiFlash? 2.84 does not seems to works (I do not own a Vega20 card, I've been told so). The bios on techpowerup database comes from which reviewer (we could ask them)? Technicality using linux should be enough to get the bios right?


hehehe, yes, and the rebellion is very pleased about the new pptable, i would assume. A lot MORE POWER! 

oh, and for overdrive settings, we have to be clear about the enums, and what is stored in the arrays. So, this:
ATOM_VEGA20_ODFEATURE_ID
ATOM_VEGA20_ODSETTING_ID
ATOM_VEGA20_PPCLOCK_ID
ODFeatureCapabilities [32]; // OD feature support flags
ODSettingsMax [32]; // Upper limit for each OD setting
ODSettingsMin [32]; // Lower Limit for each OD Setting
PowerSavingClockMax [16]; // PowerSavingClock Mode Clock Maximum array In MHz
PowerSavingClockMin [16]; // PowerSavingClock Mode Clock Minimum array In MHz
the thing with enums is really simple, always count up from the beginning (here = 0; i.e. second entry has ID 1, third ID 2 ... etc.)

And yes, there were some changes, ASIC_Profiling is no more, a lot of command tables went dark. Oh, and TV1OutputControl is there.. we could unlock the last CU..but since we can't mod the BIOS.. 


Spoiler






Code:


Command Tables:
  0000:   9274  Len 003f  (ASIC_Init)
  0001:   -               (GetDisplaySurfaceSize)
  0002:   -               (ASIC_RegistersInit)
  0003:   -               (VRAM_BlockVenderDetection)
  0004:   ad04  Len 0281  (SetClocksRatio/DIGxEncoderControl)
  0005:   -               (MemoryControllerInit)
  0006:   92b4  Len 004b  (EnableCRTCMemReq)
  0007:   -               (MemoryParamAdjust)
  0008:   -               (DVOEncoderControl)
  0009:   9786  Len 00ca  (GPIOPinControl)
  000a:   -               (SetEngineClock)
  000b:   9850  Len 0050  (SetMemoryClock)
  000c:   98a0  Len 03c3  (SetPixelClock)
  000d:   9ce6  Len 00eb  (DynamicClockGating)
  000e:   9dd2  Len 000e  (ResetMemoryDLL)
  000f:   -               (ResetMemoryDevice)
  0010:   acba  Len 004a  (MemoryPLLInit)
  0011:   -               (AdjustDisplayPll)
  0012:   9de0  Len 00ee  (AdjustMemoryController)
  0013:   -               (EnableASIC_StaticPwrMgt)
  0014:   9ece  Len 008e  (ASIC_StaticPwrMgtStatusChange/SetUniphyInstance)
  0015:   9300  Len 0407  (DAC_LoadDetection)
  0016:   9708  Len 0028  (LVTMAEncoderControl)
  0017:   9c64  Len 0081  (LCD1OutputControl)
  0018:   9730  Len 0032  (DAC1EncoderControl)
  0019:   -               (DAC2EncoderControl)
  001a:   9762  Len 0024  (DVOOutputControl)
  001b:   -               (CV1OutputControl)
  001c:   -               (GetConditionalGoldenSetting/SetCRTC_DPM_State)
  001d:   -               (TVEncoderControl)
  001e:   -               (TMDSAEncoderControl)
  001f:   -               (LVDSEncoderControl)
  0020:   bef4  Len 00db  (TV1OutputControl)
  0021:   9f5c  Len 0078  (EnableScaler)
  0022:   9fd4  Len 0074  (BlankCRTC)
  0023:   a048  Len 003e  (EnableCRTC)
  0024:   -               (GetPixelClock)
  0025:   a086  Len 002c  (EnableVGA_Render)
  0026:   -               (EnableVGA_Access/GetSCLKOverMCLKRatio)
  0027:   -               (SetCRTC_Timing)
  0028:   -               (SetCRTC_OverScan)
  0029:   a0b2  Len 01d5  (SetCRTC_Replication)
  002a:   a288  Len 00c6  (SelectCRTC_Source)
  002b:   a34e  Len 01a8  (EnableGraphSurfaces)
  002c:   a4f6  Len 0049  (UpdateCRTC_DoubleBufferRegisters)
  002d:   a540  Len 0095  (LUT_AutoFill)
  002e:   c34c  Len 02e1  (EnableHW_IconCursor)
  002f:   a5d6  Len 001b  (GetMemoryClock)
  0030:   -               (GetEngineClock)
  0031:   a5f2  Len 0153  (SetCRTC_UsingDTDTiming)
  0032:   -               (ExternalEncoderControl)
  0033:   bfd0  Len 01c9  (LVTMAOutputControl)
  0034:   -               (VRAM_BlockDetectionByStrap)
  0035:   c21e  Len 012e  (MemoryCleanUp)
  0036:   a746  Len 01e4  (ReadEDIDFromHWAssistedI2C/ProcessI2cChannelTransaction)
  0037:   -               (WriteOneByteToHWAssistedI2C)
  0038:   a92a  Len 0046  (ReadHWAssistedI2CStatus/HPDInterruptService)
  0039:   a970  Len 000a  (SpeedFanControl)
  003a:   a97a  Len 000a  (PowerConnectorDetection)
  003b:   -               (MC_Synchronization)
  003c:   a984  Len 014f  (ComputeMemoryEnginePLL)
  003d:   aad4  Len 0040  (MemoryRefreshConversion)
  003e:   af86  Len 0029  (VRAM_GetCurrentInfoBlock)
  003f:   ab14  Len 0153  (DynamicMemorySettings)
  0040:   ac68  Len 0052  (MemoryTraining)
  0041:   -               (EnableSpreadSpectrumOnPPLL)
  0042:   -               (TMDSAOutputControl)
  0043:   -               (SetVoltage)
  0044:   -               (DAC1OutputControl)
  0045:   c19a  Len 0083  (DAC2OutputControl)
  0046:   -               (SetupHWAssistedI2CStatus)
  0047:   -               (ClockSource)
  0048:   -               (MemoryDeviceInit)
  0049:   -               (EnableYUV)
  004a:   -               (DIG1EncoderControl)
  004b:   -               (DIG2EncoderControl)
  004c:   afb0  Len 00ff  (DIG1TransmitterControl/UNIPHYTransmitterControl)
  004d:   b0b0  Len 0b9b  (DIG2TransmitterControl/LVTMATransmitterControl)
  004e:   bc4c  Len 024c  (ProcessAuxChannelTransaction)
  004f:   be98  Len 005c  (DPEncoderService)

Data Tables:
  0000:   -                          (UtilityPipeLine)
  0001:   -                          (MultimediaCapabilityInfo)
  0002:   d5c6  Len 0134  Rev 04:04  (MultimediaConfigInfo)
  0003:   c62e  Len 00c8  Rev 02:01  (StandardVESA_Timing)
  0004:   d6fa  Len 0048  Rev 03:02  (FirmwareInfo)
  0005:   c6f6  Len 0034  Rev 02:01  (DAC_Info)
  0006:   c72a  Len 005c  Rev 02:01  (LVDS_Info)
  0007:   caa4  Len 0202  Rev 05:03  (TMDS_Info)
  0008:   e4be  Len 0078  Rev 03:03  (AnalogTV_Info)
  0009:   ccee  Len 01a1  Rev 02:04  (SupportedDevicesInfo)
  000a:   -                          (GPIO_I2C_Info)
  000b:   c786  Len 000c  Rev 02:01  (VRAM_UsageByFirmware)
  000c:   ce90  Len 0074  Rev 02:01  (GPIO_Pin_LUT)
  000d:   c792  Len 0074  Rev 01:01  (VESA_ToInternalModeLUT)
  000e:   cca6  Len 0048  Rev 02:04  (ComponentVideoInfo)
  000f:   cf04  Len 06c2  Rev 0b:00  (PowerPlayInfo)
  0010:   -                          (CompassionateData)
  0011:   c806  Len 0014  Rev 02:01  (SaveRestoreInfo/DispDevicePriorityInfo)
  0012:   e496  Len 0028  Rev 02:01  (PPLL_SS_Info/SS_Info)
  0013:   -                          (OemInfo)
  0014:   e482  Len 0014  Rev 02:02  (XTMDS_Info)
  0015:   -                          (MclkSS_Info)
  0016:   c81a  Len 0088  Rev 01:04  (Object_Info/Object_Header)
  0017:   c8a2  Len 0005  Rev 01:01  (IndirectIOAccess)
  0018:   e34a  Len 0044  Rev 03:03  (MC_InitParameter/AdjustARB_SEQ)
  0019:   -                          (ASIC_VDDC_Info)
  001a:   -                          (ASIC_InternalSS_Info/ASIC_MVDDC_Info)
  001b:   c8a8  Len 01fc  Rev 04:01  (TV_VideoMode/DispOutInfo)
  001c:   d742  Len 0c08  Rev 02:03  (VRAM_Info)
  001d:   -                          (MemoryTrainingInfo/ASIC_MVDDQ_Info)
  001e:   -                          (IntegratedSystemInfo)
  001f:   -                          (ASIC_ProfilingInfo/ASIC_VDDCI_Info)
  0020:   e38e  Len 00f4  Rev 04:02  (VoltageObjectInfo/VRAM_GPIO_DetectionInfo)
  0021:   -                          (PowerSourceInfo)




Another thing, despite the BIOS is now 1024kB long, there is only one image found inside, no GOP/UEFI. After the PCIE string, we find the "80" byte for last image.
And it doesn't seem to carry much more information as well, besides all the copy protetction code or whatever..


----------



## Vento041

mynm said:


> I am sorry, I want to help the team. But, I think I'm not going to help for VII things, especially if the owners are telling that I have to buy a gpu I don't need. This is not a complex thing and I am not getting money for this, the owners will can do this on their own. I am bussy, I have better things to do. Sorry.


 @mynm Me neither xD I'm still a student and money is short xD Nobody expect that some of us buy a new GPU xD Also RBRT is like ano hobby not a job xD


----------



## jaggafeen

i have a radeon 7 , and i would like to help


----------



## hellm

Vento041 said:


> @mynm Me neither xD I'm still a student and money is short xD Nobody expect that some of us buy a new GPU xD Also RBRT is like ano hobby not a job xD


i absolutely concur. And you done enuogh for the community and everything.. shame on those people. :thumbsdow



jaggafeen said:


> i have a radeon 7 , and i would like to help


and you are welcome to do so. Right now we just gathering data, no real plan. But we do need some testing for all the stuff we can adjust now.
i got only 1 conformation the power mod is working, so, if you want to push your card to the limits.. For all the overdrive settings, we need a plan first.


----------



## majestynl

Hwgeek said:


> Sry if it's already asked- what's new in the Vega VII vbios listed on Asrock Phantom Gaming X Radeon VII 16G ?
> https://www.asrock.com/Graphics-Card/AMD/Phantom Gaming X Radeon VII 16G/#BIOS


Just tried to upgrade the vBios with no Luck. The application is not opening. Tried their method as in the PDF.
By the way, i have the Asrock branded card!



hellm said:


> and you are welcome to do so. Right now we just gathering data, no real plan. But we do need some testing for all the stuff we can adjust now.
> i got only 1 conformation the power mod is working, so, if you want to push your card to the limits.. For all the overdrive settings, we need a plan first.


Let me know if i can test something! Meanwhile trying to find the clock/mem lock-down issue!


----------



## Vento041

Guys I'm on my phone now so I can't do it but I bet that the .exe file (inside the asrock radeon vii bios update zip) can be extracted to get the updated atiflash! As soon I go home I'll do it. 7-zip should do it!


----------



## Hwgeek

IT indeed includes some files of ATIFLASH but they ares with same dates:


----------



## hellm

already on it.. 

yes, there is a new Atiflash version inside. In fact, it is the first part of the file, the second is the new BIOS file in a 512kB version, without all the 0xFF placeholder..
i tried to just cut the atiflash.exe, no luck, doesn't work. 
About the BIOS file, the legacy image is the same, so it is the exact same BIOS, only with UEFI/GOP.

update:
i am finally done, all the bytes are in their place now.


Spoiler






Code:


typedef struct _ATOM_VEGA20_POWERPLAYTABLE
{
    struct atom_common_table_header sHeader;
    {
C2 06        USHORT usStructureSize;
0B        UCHAR  ucTableFormatRevision;   /*Change it when the Parser is not backward compatible */
00        UCHAR  ucTableContentRevision;  /*Change it only when the table needs to change but the firmware */
                                                   /*Image can't be updated, while Driver needs to carry the new table! */
    } ATOM_COMMON_TABLE_HEADER;
      
02      UCHAR  ucTableRevision;
C2 06     USHORT usTableSize;
34 08 00 00      ULONG  ulGoldenPPID;
A4 35 00 00      ULONG  ulGoldenRevision;
7C 00      USHORT usFormatID;

09 00 00 00      ULONG  ulPlatformCaps;

1A      UCHAR  ucThermalControllerType;

FA 00 (250W)     USHORT usSmallPowerLimit1;
FA 00 (250W)     USHORT usSmallPowerLimit2;
FA 00 (250W)     USHORT usBoostPowerLimit;
00 00      USHORT usODTurboPowerLimit;
00 00      USHORT usODPowerSavePowerLimit;
76 00 (118°C)     USHORT usSoftwareShutdownTemp;

      ATOM_VEGA20_POWER_SAVING_CLOCK_RECORD PowerSavingClockTable;    //PowerSavingClock Mode Clock Min/Max array
    typedef struct _ATOM_VEGA20_POWER_SAVING_CLOCK_RECORD
    {
01        UCHAR ucTableRevision;
0B 00 00 00        ULONG PowerSavingClockCount;                // Count of PowerSavingClock Mode
        ULONG PowerSavingClockMax  [16];              // PowerSavingClock Mode Clock Maximum array In MHz
09 07 00 00
6E 04 00 00
CC 03 00 00
CC 03 00 00
CC 03 00 00
E8 03 00 00
C9 04 00 00
6E 04 00 00
6E 04 00 00
34 04 00 00
2A 03 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00        
        ULONG PowerSavingClockMin  [16];              // PowerSavingClock Mode Clock Minimum array In MHz
BC 02 00 00
66 01 00 00
36 01 00 00
36 01 00 00
36 01 00 00
5E 01 00 00
26 02 00 00
66 01 00 00
66 01 00 00
93 00 00 00
0E 01 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
    } ATOM_VEGA20_POWER_SAVING_CLOCK_RECORD;
            
      ATOM_VEGA20_OVERDRIVE8_RECORD OverDrive8Table;       //OverDrive8 Feature capabilities and Settings Range (Max and Min)
    typedef struct _ATOM_VEGA20_OVERDRIVE8_RECORD
    {
01        UCHAR ucODTableRevision;
0E 00 00 00        ULONG ODFeatureCount;
        UCHAR ODFeatureCapabilities [32];   //OD feature support flags
01
01
01
01
01
01
01
01
01
00
01
01
01
01
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00    
1D 00 00 00        ULONG ODSettingCount;
        ULONG ODSettingsMax [32];           //Upper Limit for each OD Setting
98 08 00 00 
98 08 00 00 
98 08 00 00 
C2 04 00 00 
98 08 00 00 
C2 04 00 00 
98 08 00 00 
C2 04 00 00 
B0 04 00 00 
14 00 00 00 
0A 0F 00 00 
0A 0F 00 00 
5F 00 00 00 
6E 00 00 00 
02 00 00 00 
00 00 00 00 
01 00 00 00 
01 00 00 00 
01 00 00 00 
5F 00 00 00 
64 00 00 00 
5F 00 00 00 
64 00 00 00 
5F 00 00 00 
64 00 00 00 
5F 00 00 00 
64 00 00 00 
5F 00 00 00 
64 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00
        ULONG ODSettingsMin [32];           //Lower Limit for each OD Setting
28 03 00 00 
28 03 00 00 
28 03 00 00 
E2 02 00 00 
28 03 00 00 
E2 02 00 00 
28 03 00 00 
E2 02 00 00 
5E 01 00 00 
14 00 00 00 
C2 01 00 00 
C2 01 00 00 
19 00 00 00 
32 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
19 00 00 00 
14 00 00 00 
19 00 00 00 
14 00 00 00 
19 00 00 00 
14 00 00 00 
19 00 00 00 
14 00 00 00 
19 00 00 00 
14 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00
    } ATOM_VEGA20_OVERDRIVE8_RECORD;
      
      USHORT usReserve[5];
00 00
00 00
00 00
00 00
00 00

      PPTable_t smcPPTable;
	  
} ATOM_Vega20_POWERPLAYTABLE;

enum ATOM_VEGA20_ODFEATURE_ID {
  ATOM_VEGA20_ODFEATURE_GFXCLK_LIMITS = 0,
  ATOM_VEGA20_ODFEATURE_GFXCLK_CURVE,
  ATOM_VEGA20_ODFEATURE_UCLK_MAX,
  ATOM_VEGA20_ODFEATURE_POWER_LIMIT,
  ATOM_VEGA20_ODFEATURE_FAN_ACOUSTIC_LIMIT,    //FanMaximumRpm
  ATOM_VEGA20_ODFEATURE_FAN_SPEED_MIN,         //FanMinimumPwm
  ATOM_VEGA20_ODFEATURE_TEMPERATURE_FAN,       //FanTargetTemperature
  ATOM_VEGA20_ODFEATURE_TEMPERATURE_SYSTEM,    //MaxOpTemp
  ATOM_VEGA20_ODFEATURE_MEMORY_TIMING_TUNE,
  ATOM_VEGA20_ODFEATURE_FAN_ZERO_RPM_CONTROL,
  ATOM_VEGA20_ODFEATURE_COUNT,
};

enum ATOM_VEGA20_ODSETTING_ID {
  ATOM_VEGA20_ODSETTING_GFXCLKFMAX = 0,
  ATOM_VEGA20_ODSETTING_GFXCLKFMIN,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEFREQ_P1,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEVOLTAGEOFFSET_P1,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEFREQ_P2,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEVOLTAGEOFFSET_P2,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEFREQ_P3,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEVOLTAGEOFFSET_P3,
  ATOM_VEGA20_ODSETTING_UCLKFMAX,
  ATOM_VEGA20_ODSETTING_POWERPERCENTAGE,
  ATOM_VEGA20_ODSETTING_FANRPMMIN,
  ATOM_VEGA20_ODSETTING_FANRPMACOUSTICLIMIT,
  ATOM_VEGA20_ODSETTING_FANTARGETTEMPERATURE,
  ATOM_VEGA20_ODSETTING_OPERATINGTEMPMAX,
  ATOM_VEGA20_ODSETTING_COUNT,
};

enum ATOM_VEGA20_PPCLOCK_ID {
  ATOM_VEGA20_PPCLOCK_GFXCLK = 0,
  ATOM_VEGA20_PPCLOCK_VCLK,
  ATOM_VEGA20_PPCLOCK_DCLK,
  ATOM_VEGA20_PPCLOCK_ECLK,
  ATOM_VEGA20_PPCLOCK_SOCCLK,
  ATOM_VEGA20_PPCLOCK_UCLK,
  ATOM_VEGA20_PPCLOCK_FCLK,
  ATOM_VEGA20_PPCLOCK_DCEFCLK,
  ATOM_VEGA20_PPCLOCK_DISPCLK,
  ATOM_VEGA20_PPCLOCK_PIXCLK,
  ATOM_VEGA20_PPCLOCK_PHYCLK,
  ATOM_VEGA20_PPCLOCK_COUNT,
};

PPTable_t {      

03 00 00 00  uint32_t Version;

  uint32_t FeaturesToRun[2];
FF EF F4 39
00 00 00 00

FA 00  uint16_t SocketPowerLimitAc0;
00 00  uint16_t SocketPowerLimitAc0Tau;
00 00  uint16_t SocketPowerLimitAc1;
00 00  uint16_t SocketPowerLimitAc1Tau;
00 00  uint16_t SocketPowerLimitAc2;
00 00  uint16_t SocketPowerLimitAc2Tau;
00 00  uint16_t SocketPowerLimitAc3;
00 00  uint16_t SocketPowerLimitAc3Tau;
FA 00  uint16_t SocketPowerLimitDc;
00 00  uint16_t SocketPowerLimitDcTau;
32 00  uint16_t TdcLimitSoc;
00 00  uint16_t TdcLimitSocTau;
4A 01  uint16_t TdcLimitGfx;
00 00  uint16_t TdcLimitGfxTau;            

64 00  uint16_t TedgeLimit;
6E 00  uint16_t ThotspotLimit;
5E 00  uint16_t ThbmLimit;
73 00  uint16_t Tvr_gfxLimit;
73 00  uint16_t Tvr_memLimit;
FF FF  uint16_t Tliquid1Limit;
FF FF  uint16_t Tliquid2Limit;
FF FF  uint16_t TplxLimit;
00 00 00 00  uint32_t FitLimit;

00 00  uint16_t PpmPowerLimit;
00 00  uint16_t PpmTemperatureThreshold;

01  uint8_t  MemoryOnPackage;
00  uint8_t  padding8_limits;
73 00  uint16_t Tvr_SocLimit;

00 00  uint16_t  UlvVoltageOffsetSoc;
00 00  uint16_t  UlvVoltageOffsetGfx;

00  uint8_t  UlvSmnclkDid;
00  uint8_t  UlvMp1clkDid;
00  uint8_t  UlvGfxclkBypass;
00  uint8_t  Padding234;

86 0B  uint16_t     MinVoltageGfx;
22 0B  uint16_t     MinVoltageSoc;
0B 13  uint16_t     MaxVoltageGfx;
43 12  uint16_t     MaxVoltageSoc;

26 00  uint16_t     LoadLineResistanceGfx;
00 00  uint16_t     LoadLineResistanceSoc;

  DpmDescriptor_t DpmDescriptor[PPCLK_COUNT 11];
	typedef struct {
		uint8_t        VoltageMode;
		uint8_t        SnapToDiscrete;
		uint8_t        NumDiscreteLevels;
		uint8_t        padding;
		LinearInt_t    ConversionToAvfsClk;
		typedef struct {
			uint32_t m;
			uint32_t b;
		} LinearInt_t;
		QuadraticInt_t SsCurve;
		typedef struct {
			uint32_t a;
			uint32_t b;
			uint32_t c;
		} QuadraticInt_t;
	} DpmDescriptor_t;

	[PPCLK_GFXCLK]\n
01			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
09			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
00 00 00 00			  
00 00 00 00			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
5B B1 BF 3E
EC 51 F8 BE
65 19 52 3F			  

	[PPCLK_VCLK]\n
00			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
08			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
64 3B 9F 3F			  
16 DE A5 BD			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
00 00 00 00			  
00 00 00 00			  
00 00 00 00			  

	[PPCLK_DCLK]\n
00			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
08			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
35 5E 9A 3F			  
8F 36 2E 3E			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
00 00 00 00			  
00 00 00 00			  
00 00 00 00			  

	[PPCLK_ECLK]\n
00			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
08			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
69 6F B0 3F			  
48 33 16 3D			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
00 00 00 00			  
00 00 00 00			  
00 00 00 00			  

	[PPCLK_SOCCLK]\n
00			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
08			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
E5 61 A1 3F
12 F7 58 BD			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
00 00 00 00			  
00 00 00 00			  
00 00 00 00			  

	[PPCLK_UCLK]\n
00			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
03			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
B5 15 83 3F			  
C2 DD 19 3E			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
00 00 00 00			  
00 00 00 00			  
00 00 00 00			  

	[PPCLK_DCEFCLK]\n
00			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
08			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
86 38 86 3F			  
0E BE 30 3E			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
00 00 00 00			  
00 00 00 00			  
00 00 00 00			  

	[PPCLK_DISPCLK]\n
00			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
08			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
83 C0 5A 3F			  
4D A1 F3 3D			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
00 00 00 00			  
00 00 00 00			  
00 00 00 00			  
			  
	[PPCLK_PIXCLK]\n
02			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
08			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
00 00 00 00			  
00 00 00 00			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
A4 70 8D 3F			  
E4 14 85 BF			  
D5 E7 32 3F			  

	[PPCLK_PHYCLK]\n
02			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
03			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
00 00 00 00			  
00 00 00 00			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
00 00 00 00			  
00 00 00 00			  
D5 E7 32 3F			  

	[PPCLK_FCLK]\n
01			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
08			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
00 00 80 3F			  
00 00 00 00			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
D1 91 FC 3E
1F 85 2B BF
32 77 75 3F			  
		
  uint16_t       FreqTableGfx      [NUM_GFXCLK_DPM_LEVELS  16];
BC 02 
28 03 
6E 04 
5C 05 
0A 06 
93 06 
D5 06 
ED 06 
09 07 
00 00 
00 00 
00 00 
00 00 
00 00 
00 00 
00 00  

  uint16_t       FreqTableVclk     [NUM_VCLK_DPM_LEVELS    8];
66 01 
E6 01 
6B 02 
F4 02 
52 03 
CC 03 
6E 04 
6E 04    
  
  uint16_t       FreqTableDclk     [NUM_DCLK_DPM_LEVELS    8];
36 01 
90 01 
0C 02 
6B 02 
A8 02 
F4 02 
52 03 
CC 03    
  
  uint16_t       FreqTableEclk     [NUM_ECLK_DPM_LEVELS    8];
36 01 
90 01 
0C 02 
6B 02 
A8 02 
F4 02 
52 03 
CC 03  
  
  uint16_t       FreqTableSocclk   [NUM_SOCCLK_DPM_LEVELS  8];
36 01 
0C 02 
37 02 
6B 02 
A8 02 
F4 02 
52 03 
CC 03

  uint16_t       FreqTableUclk     [NUM_UCLK_DPM_LEVELS    4];
5E 01 
20 03 
E8 03 
E8 03

  uint16_t       FreqTableFclk     [NUM_FCLK_DPM_LEVELS    8];
26 02 
62 02 
B2 02 
F8 02 
66 03 
C0 03 
38 04 
C9 04 
 
  uint16_t       FreqTableDcefclk  [NUM_DCEFCLK_DPM_LEVELS 8];
66 01 
C6 01 
37 02 
A8 02 
F4 02 
52 03 
CC 03 
6E 04 
 
  uint16_t       FreqTableDispclk  [NUM_DISPCLK_DPM_LEVELS 8];
66 01 
C6 01 
37 02 
A8 02 
F4 02 
52 03 
CC 03 
6E 04  

  uint16_t       FreqTablePixclk   [NUM_PIXCLK_DPM_LEVELS  8];
93 00 
F2 00 
58 01 
E4 01 
15 02 
AA 03 
13 04 
34 04  

  uint16_t       FreqTablePhyclk   [NUM_PHYCLK_DPM_LEVELS  8];
0E 01 
1C 02 
2A 03 
00 00 
00 00 
00 00 
00 00 
00 00

  uint16_t       DcModeMaxFreq     [PPCLK_COUNT            11];
09 07 
6E 04 
CC 03 
CC 03 
CC 03 
E8 03 
6E 04 
6E 04 
34 04 
2A 03 
C9 04
 
00 00  uint16_t       Padding8_Clks;

  uint16_t       Mp0clkFreq        [NUM_MP0CLK_DPM_LEVELS 2];
C8 00  
2C 01  
  
  uint16_t       Mp0DpmVoltage     [NUM_MP0CLK_DPM_LEVELS 2];
60 09  
F0 0A

28 03  uint16_t        GfxclkFidle;
00 00  uint16_t        GfxclkSlewRate;
00 00  uint16_t        CksEnableFreq;
00 00  uint16_t        Padding789;

  QuadraticInt_t  CksVoltageOffset;
	typedef struct {
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
	} QuadraticInt_t;
	
  uint8_t         Padding567[4];
00 
00 
00 
00 
 
09 07  uint16_t        GfxclkDsMaxFreq;
01  uint8_t         GfxclkSource;
00  uint8_t         Padding456;

00  uint8_t      LowestUclkReservedForUlv;
  uint8_t      Padding8_Uclk[3];
00 
00 
00

  uint8_t      PcieGenSpeed[NUM_LINK_LEVELS 2];
00 
02

  uint8_t      PcieLaneCount[NUM_LINK_LEVELS 2];
06 
06

  uint16_t     LclkFreq[NUM_LINK_LEVELS 2];
50 00
34 01

00 00  uint16_t     EnableTdpm;
00 00  uint16_t     TdpmHighHystTemperature;
00 00  uint16_t     TdpmLowHystTemperature;
00 00  uint16_t     GfxclkFreqHighTempLimit;                     
					 
00 00  uint16_t     FanStopTemp;
00 00  uint16_t     FanStartTemp;

90 01  uint16_t     FanGainEdge;
90 01  uint16_t     FanGainHotspot;
90 01  uint16_t     FanGainLiquid;
90 01  uint16_t     FanGainVrGfx;
90 01  uint16_t     FanGainVrSoc;
90 01  uint16_t     FanGainPlx;
90 01  uint16_t     FanGainHbm;
14 00  uint16_t     FanPwmMin;
54 0B  uint16_t     FanAcousticLimitRpm;
54 0B  uint16_t     FanThrottlingRpm;
0A 0F  uint16_t     FanMaximumRpm;
5F 00  uint16_t     FanTargetTemperature;
00 00  uint16_t     FanTargetGfxclk;
00  uint8_t      FanZeroRpmEnable;
02  uint8_t      FanTachEdgePerRev;

00 00  int16_t      FuzzyFan_ErrorSetDelta;
00 00  int16_t      FuzzyFan_ErrorRateSetDelta;
00 00  int16_t      FuzzyFan_PwmSetDelta;
00 00  uint16_t     FuzzyFan_Reserved;

  uint8_t           OverrideAvfsGb[AVFS_VOLTAGE_COUNT 2];
00 
01  
  
  uint8_t           Padding8_Avfs[2];
00 
00

  QuadraticInt_t    qAvfsGb[AVFS_VOLTAGE_COUNT 2];
	typedef struct {
00 00 00 00		uint32_t a;
50 8D 97 3C		uint32_t b;
0A D7 A3 3B		uint32_t c;
	} QuadraticInt_t;
	typedef struct {
00 00 00 00		uint32_t a;
EA B2 98 3C		uint32_t b;
87 A2 40 3D		uint32_t c;
	} QuadraticInt_t;
	
  DroopInt_t        dBtcGbGfxCksOn;
	typedef struct {
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
	} DroopInt_t;
	
  DroopInt_t        dBtcGbGfxCksOff;
	typedef struct {
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
	} DroopInt_t;  
	
  DroopInt_t        dBtcGbGfxAfll;
  	typedef struct {
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
	} DroopInt_t;
	
  DroopInt_t        dBtcGbSoc;
  	typedef struct {
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
	} DroopInt_t;
	
  LinearInt_t       qAgingGb[AVFS_VOLTAGE_COUNT 2];
	typedef struct {
00 00 00 00		uint32_t m;
00 00 00 00		uint32_t b;
	} LinearInt_t;
	typedef struct {
00 00 00 00		uint32_t m;
00 00 00 00		uint32_t b;
	} LinearInt_t;
	
  QuadraticInt_t    qStaticVoltageOffset[AVFS_VOLTAGE_COUNT 2];
	typedef struct {
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
	} QuadraticInt_t;
	typedef struct {
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
	} QuadraticInt_t;
	
  uint16_t          DcTol[AVFS_VOLTAGE_COUNT 2];
00 00
A0 00  
  
  uint8_t           DcBtcEnabled[AVFS_VOLTAGE_COUNT 2];
01  
00  
  
  uint8_t           Padding8_GfxBtc[2];
00
00  
  
  int16_t           DcBtcMin[AVFS_VOLTAGE_COUNT 2];
00 00 
00 00  
   
  uint16_t          DcBtcMax[AVFS_VOLTAGE_COUNT 2];
A0 00 
00 00

  uint8_t           XgmiLinkSpeed   [NUM_XGMI_LEVELS 2];
08 
10  
  
  uint8_t           XgmiLinkWidth   [NUM_XGMI_LEVELS 2];
02 
10
  
  uint16_t          XgmiFclkFreq    [NUM_XGMI_LEVELS 2];
1A 04 
4C 04 
 
  uint16_t          XgmiUclkFreq    [NUM_XGMI_LEVELS 2];
E8 03 
E8 03 
 
  uint16_t          XgmiSocclkFreq  [NUM_XGMI_LEVELS 2];
E8 03 
E8 03 
 
  uint16_t          XgmiSocVoltage  [NUM_XGMI_LEVELS 2];
00 00 
00 00

00 00 00 00  uint32_t          DebugOverrides;
           
  QuadraticInt_t    ReservedEquation0;
  	typedef struct {
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
	} QuadraticInt_t;
  QuadraticInt_t    ReservedEquation1;
  	typedef struct {
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
	} QuadraticInt_t;
  QuadraticInt_t    ReservedEquation2;
  	typedef struct {
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
	} QuadraticInt_t;
  QuadraticInt_t    ReservedEquation3;
  	typedef struct {
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
	} QuadraticInt_t;

86 0B  uint16_t     MinVoltageUlvGfx;
22 0B  uint16_t     MinVoltageUlvSoc;

54 0B  uint16_t     MGpuFanBoostLimitRpm;
00 00  uint16_t     padding16_Fan;   

90 01  uint16_t     FanGainVrMem0;
90 01  uint16_t     FanGainVrMem1;

  uint16_t     DcBtcGb[AVFS_VOLTAGE_COUNT 2];
38 00 
00 00
 
  uint32_t     Reserved[11];
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00

  uint32_t     Padding32[3];
00 00 00 00  
00 00 00 00  
00 00 00 00 

00 00  uint16_t     MaxVoltageStepGfx;
00 00  uint16_t     MaxVoltageStepSoc;

00  uint8_t      VddGfxVrMapping;
00  uint8_t      VddSocVrMapping;
00  uint8_t      VddMem0VrMapping;
00  uint8_t      VddMem1VrMapping;

00  uint8_t      GfxUlvPhaseSheddingMask;
00  uint8_t      SocUlvPhaseSheddingMask;
00  uint8_t      ExternalSensorPresent;
00  uint8_t      Padding8_V;


00 00  uint16_t     GfxMaxCurrent;
00  int8_t       GfxOffset;
00  uint8_t      Padding_TelemetryGfx;

00 00  uint16_t     SocMaxCurrent;
00  int8_t       SocOffset;
00  uint8_t      Padding_TelemetrySoc;

00 00  uint16_t     Mem0MaxCurrent;
00  int8_t       Mem0Offset;
00  uint8_t      Padding_TelemetryMem0;

00 00  uint16_t     Mem1MaxCurrent;
00  int8_t       Mem1Offset;
00  uint8_t      Padding_TelemetryMem1;

00  uint8_t      AcDcGpio;
00  uint8_t      AcDcPolarity;
00  uint8_t      VR0HotGpio;
00  uint8_t      VR0HotPolarity;

00  uint8_t      VR1HotGpio;
00  uint8_t      VR1HotPolarity;
00  uint8_t      Padding1;
00  uint8_t      Padding2;

00  uint8_t      LedPin0;
00  uint8_t      LedPin1;
00  uint8_t      LedPin2;
00  uint8_t      padding8_4;

00  uint8_t      PllGfxclkSpreadEnabled;
00  uint8_t      PllGfxclkSpreadPercent;
00 00  uint16_t     PllGfxclkSpreadFreq;

00  uint8_t      UclkSpreadEnabled;
00  uint8_t      UclkSpreadPercent;
00 00  uint16_t     UclkSpreadFreq;

00  uint8_t      FclkSpreadEnabled;
00  uint8_t      FclkSpreadPercent;
00 00  uint16_t     FclkSpreadFreq;

00  uint8_t      FllGfxclkSpreadEnabled;
00  uint8_t      FllGfxclkSpreadPercent;
00 00  uint16_t     FllGfxclkSpreadFreq;

  I2cControllerConfig_t I2cControllers[I2C_CONTROLLER_NAME_COUNT 7];
	typedef struct {
00 00 00 00		uint32_t Enabled;
00 00 00 00		uint32_t SlaveAddress;
00 00 00 00		uint32_t ControllerPort;
00 00 00 00		uint32_t ControllerName;
00 00 00 00		uint32_t ThermalThrottler;
00 00 00 00		uint32_t I2cProtocol;
00 00 00 00		uint32_t I2cSpeed;
	} I2cControllerConfig_t;
	typedef struct {
00 00 00 00		uint32_t Enabled;
00 00 00 00		uint32_t SlaveAddress;
00 00 00 00		uint32_t ControllerPort;
00 00 00 00		uint32_t ControllerName;
00 00 00 00		uint32_t ThermalThrottler;
00 00 00 00		uint32_t I2cProtocol;
00 00 00 00		uint32_t I2cSpeed;
	} I2cControllerConfig_t;	typedef struct {
00 00 00 00		uint32_t Enabled;
00 00 00 00		uint32_t SlaveAddress;
00 00 00 00		uint32_t ControllerPort;
00 00 00 00		uint32_t ControllerName;
00 00 00 00		uint32_t ThermalThrottler;
00 00 00 00		uint32_t I2cProtocol;
00 00 00 00		uint32_t I2cSpeed;
	} I2cControllerConfig_t;	typedef struct {
00 00 00 00		uint32_t Enabled;
00 00 00 00		uint32_t SlaveAddress;
00 00 00 00		uint32_t ControllerPort;
00 00 00 00		uint32_t ControllerName;
00 00 00 00		uint32_t ThermalThrottler;
00 00 00 00		uint32_t I2cProtocol;
00 00 00 00		uint32_t I2cSpeed;
	} I2cControllerConfig_t;	typedef struct {
00 00 00 00		uint32_t Enabled;
00 00 00 00		uint32_t SlaveAddress;
00 00 00 00		uint32_t ControllerPort;
00 00 00 00		uint32_t ControllerName;
00 00 00 00		uint32_t ThermalThrottler;
00 00 00 00		uint32_t I2cProtocol;
00 00 00 00		uint32_t I2cSpeed;
	} I2cControllerConfig_t;	typedef struct {
00 00 00 00		uint32_t Enabled;
00 00 00 00		uint32_t SlaveAddress;
00 00 00 00		uint32_t ControllerPort;
00 00 00 00		uint32_t ControllerName;
00 00 00 00		uint32_t ThermalThrottler;
00 00 00 00		uint32_t I2cProtocol;
00 00 00 00		uint32_t I2cSpeed;
	} I2cControllerConfig_t;	typedef struct {
00 00 00 00		uint32_t Enabled;
00 00 00 00		uint32_t SlaveAddress;
00 00 00 00		uint32_t ControllerPort;
00 00 00 00		uint32_t ControllerName;
00 00 00 00		uint32_t ThermalThrottler;
00 00 00 00		uint32_t I2cProtocol;
00 00 00 00		uint32_t I2cSpeed;
	} I2cControllerConfig_t;

  uint32_t     BoardReserved[10];
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00

  uint32_t     MmHubPadding[8];
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00

} PPTable_t;





more update:
added vanilla and no power limit version.
500W(250W), +99%(+20%), 600A Core (330A), 100A SoC (50A)


----------



## heavyarms1912

hellm said:


> already on it..
> 
> yes, there is a new Atiflash version inside. In fact, it is the first part of the file, the second is the new BIOS file in a 512kB version, without all the 0xFF placeholder..
> i tried to just cut the atiflash.exe, no luck, doesn't work.
> About the BIOS file, the legacy image is the same, so it is the exact same BIOS, only with UEFI/GOP.
> 
> update:
> i am finally done, all the bytes are in their place now.
> 
> ..now we just need to know what to do with them.
> 
> more update:
> after some testing, Vcore/SoC voltages are editable; somehow the core temperature is affected, gives wrong readings, at least in idle? Doesn't change the behaviour, though. And more than 100% power limit doesn't seem to work.
> here more for testing:
> 
> OV_v4:
> +99% power limit, 1268mV Vcore (1218mV), 1193mV SoC (1168mV), 300W (250W), 450A Core (330A), 70A SoC (50A ref, 95A Instinct), 1300MHz max mem oc
> 
> OC_v1 without voltage change (correct temps):
> +99% power limit, 300W (250W), 450A Core (330A), 70A SoC (50A ref, 95A Instinct), 1300MHz max mem oc
> 
> UV_v2:
> +70% power limit, 1168mV Vcore, 1100mV SoC, less mV in idle, 350A Core, 55A SoC
> 
> and the last one should only raise limits in wattman.


Thanks a lot. Tested OV_v4.


----------



## BeeDeeEff

heavyarms1912 said:


> Thanks a lot. Tested OV_v4.


Are the settings mentioned for the OV_v4 just increases to the max you're allowed to set? or it actually locks in all of those power and voltage values?

Hello btw


----------



## heavyarms1912

BeeDeeEff said:


> Are the settings mentioned for the OV_v4 just increases to the max you're allowed to set? or it actually locks in all of those power and voltage values?
> 
> Hello btw


The max limit it would support is changed. That's my understanding. Haven't tried to run them at those volts anyways. Cooling this card is tricky.

Hello


----------



## hellm

so far it seems that Vcore and max allowed Vcore in overdrive limits has to fit again, as with previous cards. That is why i only raised it by 50mV. And the temperature reading is foobar then.. if water cooled, it maybe doesn't matter, but i wouldn't recommend this PPT with air cooling. Probably not coolable with air anyway..
I tried to only raise the max voltage in overdrive settings, but ODLimits version doesn't work, results in no overdrive at all.

For now, power limit and voltage for SoC/Core can be changed (not HBM). We will see what is possible with more time..


----------



## CarbonFire

hellm said:


> so far it seems that Vcore and max allowed Vcore in overdrive limits has to fit again, as with previous cards. That is why i only raised it by 50mV. And the temperature reading is foobar then.. if water cooled, it maybe doesn't matter, but i wouldn't recommend this PPT with air cooling. Probably not coolable with air anyway..
> I tried to only raise the max voltage in overdrive settings, but ODLimits version doesn't work, results in no overdrive at all.
> 
> For now, power limit and voltage for SoC/Core can be changed (not HBM). We will see what is possible with more time..


Awesome work, I've been playing around with the v4 file tonight and saw an improvement.

In firestrike graphics score, I went from 28.5k stock, then 32.8K maxing out the driver adjustment. With the reg mod, I was able to push over 33k!
http://www.3dmark.com/fs/18314984

I tried upping the voltage and frequency, but its hitting a power limit wall and producing lower scores even with 99%. The best results were at 2111Mhz and 1190mV. Memory at 1200, I haven't tried pushing this further yet.

After playing with the file for a while, I found some instability and inconsistent performance. Testing now with the new driver it seems wattman settings are working.


----------



## hellm

I removed the test files. Since Wattman is working now, and 1218mV is apparently more than enough for beyond 2GHz.. i guess overvolting is not the first idea. Cooling on the other hand..
HBM voltage is still under investigation..

so, i added a no power limit version to my previous post, for anyone who wants to beat some records..


----------



## Vento041

@*hellm* I would have really loved those kind of powerplay tables with polaris xD having to work with subtables of pointers is madness xD Everything here is f**** fixed hahahha


----------



## CarbonFire

hellm said:


> I removed the test files. Since Wattman is working now, and 1218mV is apparently more than enough for beyond 2GHz.. i guess overvolting is not the first idea. Cooling on the other hand..
> HBM voltage is still under investigation..
> 
> so, i added a no power limit version to my previous post, for anyone who wants to beat some records..


Very cool. I will try again tonight with this and the new driver. The test file was good for at least 300 points improvement over the driver limits, hopefully this is the key to more.

Do you think the driver voltage 1.218V is enough? I don't mind trying higher, with an unlocked power limit  There is still head room in the cooling, running 30C-40C with 50C-60C hotspot under load.


----------



## hellm

Vento041 said:


> @*hellm* I would have really loved those kind of powerplay tables with polaris xD having to work with subtables of pointers is madness xD Everything here is f**** fixed hahahha


yeah, but Polaris isn't locked down, well the 580 is not. the other ones do need a driver patch, if modified. But i guess everything could have happened with the table, especially the soft registry version. But AMD didn't cut it down, they gave us more power! 



CarbonFire said:


> Very cool. I will try again tonight with this and the new driver. The test file was good for at least 300 points improvement over the driver limits, hopefully this is the key to more.
> 
> Do you think the driver voltage 1.218V is enough? I don't mind trying higher, with an unlocked power limit  There is still head room in the cooling, running 30C-40C with 50C-60C hotspot under load.


I can provide more, if you want to, also more than 2,2GHz. I thought you were stuck at 1190mV and 2,1GHz?


----------



## CarbonFire

hellm said:


> yeah, but Polaris isn't locked down, well the 580 is not. the other ones do need a driver patch, if modified. But i guess everything could have happened with the table, especially the soft registry version. But AMD didn't cut it down, they gave us more power!
> 
> 
> I can provide more, if you want to, also more than 2,2GHz. I thought you were stuck at 1190mV and 2,1GHz?


Hah, it was more stuck on power limit I think? I tried setting 2125+ with the max voltage the v4 test file allowed. It would run, but it was setting lower scores. 2111 and 1190 seemed like the sweet spot for the v4 file with the 99% power limit.

Edit: If you make a file with more, I'll try it! I doubt I'll hit 2.2Ghz, but let's give it a shot. Just keep the voltage under 1.3V in case I make a mistake in the driver or it tries to set max voltage for whatever reason. I'm not confident in wattman.


----------



## hellm

CarbonFire said:


> [..]If you make a file with more, I'll try it! I doubt I'll hit 2.2Ghz, but let's give it a shot. Just keep the voltage under 1.3V in case I make a mistake in the driver or it tries to set max voltage for whatever reason. I'm not confident in wattman.


if you want to try this one, i changed Vcore to 1293mV. SoC voltage is the same. Also raised clockrate limits to 2300MHz and 1300MHz Core/HBM.

edit:
ok, raised clock limits to 2400MHz Core and 1400MHz HBM.


----------



## CarbonFire

hellm said:


> if you want to try this one, i changed Vcore to 1293mV. SoC voltage is the same. Also raised clockrate limits to 2300MHz and 1300MHz Core/HBM.
> 
> edit:
> ok, raised clock limits to 2400MHz Core and 1400MHz HBM.


haha, let me give it a go!

Here is the best with the evenmorepower file without voltage
http://www.3dmark.com/fs/18345039

That was a lucky run at 2124Mhz 1201mV 1200mem. I was able to get over 2130Mhz with more voltage, but it did worse. Also, lowering the memory would get slightly higher core clocks with less voltage. Even 1150Mhz memory instead of 1200Mhz helps stabilize it.


----------



## hellm

hmm maybe if we raise SoC voltage from 1168mV to 1218mV? But i believe temperature will be gone again..


----------



## CarbonFire

hellm said:


> hmm maybe if we raise SoC voltage from 1168mV to 1218mV? But i believe temperature will be gone again..


We are making progress! Definitely clocking higher now with the extra voltage, but there is some sort of power limit we are hitting here. Through all these benches, my temps are staying the same under load, even with max volts.

Here is what I got with 1293 file:
Core Mhz, mV, Memory Mhz, Firestrike graphics score
2133 1234 1200 33032
2145 1246 1200 33040
2155 1259 1200 32878
2171 1268 1200 32864
2190 1289 1200 32847
and
2200! 1293 1100 32453

Looks like its applying some voltage curve in the background and as it gets higher, it spends less time at the higher clocks. Not sure though... But we hit 2200! 

Going to start testing the 1293+ file now


----------



## hellm

A power limit? i don't know if more than 1000W with 600A Core and 95A SoC will do any good..  if it was reached already, quite hard to believe, but i could make an insane version.. let's wait how the 1293+ file with +50mV SoC does.


----------



## CarbonFire

hellm said:


> A power limit? i don't know if more than 1000W with 600A Core and 95A SoC will do any good..  if it was reached already, quite hard to believe, but i could make an insane version.. let's wait how the 1293+ file with +50mV SoC does.


Whatever you did in that 1293+ file, give it a little more. It was able to complete a run at 1200Mhz memory and 2200Mhz 1293mV 

Hotspot temp still barely hitting 60C underload. Something is holding it back, I'd expect the temps to be rising?


----------



## Hwgeek

Wait a second, are we talking about 2.2Ghz core clock on AIO? is it just me or this early TSMC 7NM looks really promising? imaging then the next 7+ update in the middle of the year-WOW!.


----------



## CarbonFire

Hwgeek said:


> Wait a second, are we talking about 2.2Ghz core clock on AIO? is it just me or this early TSMC 7NM looks really promising? imaging then the next 7+ update in the middle of the year-WOW!.


 Yep, and still going right now

Here is the build:
https://imgur.com/a/ecbuxwY


----------



## Hwgeek

I think you can easily break some Luxmark scores with those clocks ..
hellm & CarbonFire - GJ! and many thanks.


----------



## CarbonFire

Hwgeek said:


> I think you can easily break some Luxmark scores with those clocks ..
> hellm & CarbonFire - GJ! and many thanks.


Thanks! I didn't even think of professional workloads, great idea! Now AMD gave it back 1/4 double precision. Not sure how the pro drivers will take to reg mods though

Hellm, we are going to need more vcore here too, maybe another 50mV?


----------



## sinnedone

hellm said:


> A power limit? i don't know if more than 1000W with 600A Core and 95A SoC will do any good..  if it was reached already, quite hard to believe, but i could make an insane version.. let's wait how the 1293+ file with +50mV SoC does.



Whats the most watts and amperage or a vega 64 on good water loop with 64LC bios?

I need a PP table that will let me go all out


----------



## hellm

sinnedone said:


> Whats the most watts and amperage or a vega 64 on good water loop with 64LC bios?
> 
> I need a PP table that will let me go all out


i am up in VII now.. but iu added a 600A +242% version. 



CarbonFire said:


> Whatever you did in that 1293+ file, give it a little more. It was able to complete a run at 1200Mhz memory and 2200Mhz 1293mV
> 
> Hotspot temp still barely hitting 60C underload. Something is holding it back, I'd expect the temps to be rising?


2200MHz core with 1200MHz memory! :thumb:
Are the temperature readings still plausible?

1243mV SoC for both files.



CarbonFire said:


> Thanks! I didn't even think of professional workloads, great idea! Now AMD gave it back 1/4 double precision. Not sure how the pro drivers will take to reg mods though
> 
> Hellm, we are going to need more vcore here too, maybe another 50mV?


ok.. wait for it


----------



## CarbonFire

hellm said:


> 2200MHz core with 1200MHz memory! :thumb:
> Are the temperature readings still plausible?
> 
> 1243mV SoC for both files.
> 
> 
> ok.. wait for it


haha, exciting stuff. Temp readings are working, all the numbers reported are accurate and match closely to my previous numbers.

I'm waiting!


----------



## hellm

CarbonFire said:


> haha, exciting stuff. Temp readings are working, all the numbers reported are accurate and match closely to my previous numbers.
> 
> I'm waiting!


Here you go.

1268mV SoC for the +++

edit:
-deleted-


----------



## CarbonFire

hellm said:


> Here you go.
> 
> 1268mV SoC for the +++


We are at 2235 1318 1200 with the 1318 file

Starting on the +++ now


----------



## CarbonFire

On 1343+++ we are up to 2270Mhz 1343mV 1200Mhz 

Can we get more than 99% power limit? Hotspot temp is still around 50C - 60C


----------



## hellm

99% is already 1000W. I was told slider disappears with >99%, so i raised absolute to 500W. I thought that 1000W and 600A is more than crazy before you kill your silicon? I guess i could raise it... u are sure you need more?

maybe SOC tdC limit? i could raise it a notch.. wait i will update the 1300mV files..


----------



## CarbonFire

hellm said:


> 99% is already 1000W. I was told slider disappears with >99%, so i raised absolute to 500W. I thought that 1000W and 600A is more than crazy before you kill your silicon? I guess i could raise it... u are sure you need more?
> 
> maybe SOC tdC limit? i could raise it a notch.. wait i will update the 1300mV files..


Let's try it and verify what happens? I don't have a meter on it, but it can't be pulling more than 400W or the temps would be rising. The highest I've seen so far is 39C with 65C junction temp.

Ideally I'd like to be hitting a thermal limit with a lower voltage/clock. Even though its peaking to 2270Mhz, it isn't holding that clock speed under load, staying in the 2000 to 2100Mhz area.


----------



## sinnedone

hellm said:


> i am up in VII now.. *but iu added a 600A +242% version.*


For VII or 64?






(EDIT)

Oops sorry, I see it now  

(EDIT)


----------



## hellm

sinnedone said:


> For VII or 64?


a Vega64LC PPT as requested



CarbonFire said:


> Let's try it and verify what happens? I don't have a meter on it, but it can't be pulling more than 400W or the temps would be rising. The highest I've seen so far is 39C with 65C junction temp.
> 
> Ideally I'd like to be hitting a thermal limit with a lower voltage/clock. Even though its peaking to 2270Mhz, it isn't holding that clock speed under load, staying in the 2000 to 2100Mhz area.


..already was an 100A SoC limit, i updated the 1343 files to 150A SoC. And 1000W/800A core so there should be absolutely no power limit now..


----------



## CarbonFire

hellm said:


> a Vega64LC PPT as requested
> 
> 
> 
> ..already was an 100A SoC limit, i updated the 1343 files to 150A SoC. And 1000W/800A core so there should be absolutely no power limit now..


That picked up an extra 100 points in firestrike. 2124Mhz produced the highest score. It still doesn't seem to be scaling with the amount you raised the limit? Maybe we hit a hardware limit?

I'm really happy with what we have done though! I was previously using a vega 56 flashed to the 64LC and using your mods with a similar setup 

Any benches you want me to run while we got this set up?


----------



## hellm

hm, same thing under air cooling, but far earlier. Can't say for sure, but it appears as some limitation.

i am also very impressed what clock rates can be achieved with VII.. and what is possible with this new PowerPlay table. 

Maybe a legit firestrike with >2,1GHz?


----------



## CarbonFire

hellm said:


> hm, same thing under air cooling, but far earlier. Can't say for sure, but it appears as some limitation.
> 
> i am also very impressed what clock rates can be achieved with VII.. and what is possible with this new PowerPlay table.
> 
> Maybe a legit firestrike with >2,1GHz?


You did an awesome job on it!

Ok, I'm having trouble getting a decent full firestrike run here since its installed on steam right now.

Our best graphics score is 33306 and 16000 for firestrike extreme.

Here is the best overall, although it only has a graphics score of 33170.
http://www.3dmark.com/fs/18347606

For an 8700K and Radeon VII, we have that score locked down by a mile and the fastest graphics score of any Radeon VII by about 2000 points  Even beating some 2080ti results


----------



## heavyarms1912

@hellm any idea why the HBM2 clocks would drop back to 800 once I run particular applications and set the hbm2 to 1000+
It works on some other apps. Tried to increase power limit and core is underclocked/undervolted too. Yet the same result.
Seems like somehow the gpu goes back to previous state.

EDIT: Yup it was the broken 19.2.1 drivers.


----------



## hellm

CarbonFire said:


> You did an awesome job on it!
> 
> Ok, I'm having trouble getting a decent full firestrike run here since its installed on steam right now.
> 
> Our best graphics score is 33306 and 16000 for firestrike extreme.
> 
> Here is the best overall, although it only has a graphics score of 33170.
> http://www.3dmark.com/fs/18347606
> 
> For an 8700K and Radeon VII, we have that score locked down by a mile and the fastest graphics score of any Radeon VII by about 2000 points  Even beating some 2080ti results


This is totally world record. :thumbsups

https://hwbot.org/hardware/videocards#key=radeon_vii



edit: hmm maybe we can beat that VII sitting on the 3rd place in timespy extreme? I guess not, because of the CPU that was used.. but graphics score, sure.
https://www.3dmark.com/hall-of-fame-2/timespy+3dmark+score+extreme+preset/version+1.0/1+gpu


----------



## tsamolotoff

Amazing discoveries, do I understand it correctly that it's now possible to increase TDC on first-gen vegas? If so, can you please add extra 100A to my Nitro+ table (don't want to go all extreme, probably even super-air cooler won't be able to hold it for long enough)


----------



## hellm

tsamolotoff said:


> Amazing discoveries, do I understand it correctly that it's now possible to increase TDC on first-gen vegas? If so, can you please add extra 100A to my Nitro+ table (don't want to go all extreme, probably even super-air cooler won't be able to hold it for long enough)


this was possible from the start.


hellm said:


> [..]*TDP, TDC...*
> 
> 
> Spoiler
> 
> 
> 
> 56:
> 
> A5 00 -> 0xA5 -> 165W Socket PowerLimit
> A5 00 -> 0xA5 -> 165W Battery PowerLimit
> A5 00 -> 0xA5 -> 165W Small PowerLimit
> 2C 01 -> 0x12C -> 300A Tdc Limit
> 64:
> 
> FE:
> 
> DC 00 -> 0xDC -> 220W Socket PowerLimit
> DC 00 -> 0xDC -> 220W Battery PowerLimit
> DC 00 -> 0xDC -> 220W Small PowerLimit
> 2C 01 -> 0x12C -> 300A Tdc Limit
> 64 LC:
> 
> FE LC:
> 
> 08 01 -> 0x108 -> 264W Socket PowerLimit
> 08 01 -> 0x108 -> 264W Battery PowerLimit
> 08 01 -> 0x108 -> 264W Small PowerLimit
> 2C 01 -> 0x12C -> 300A Tdc Limit
> 
> 
> *Vega64 PowerTune Table*
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> Code:
> 
> 
> typedef struct _ATOM_Vega10_PowerTune_Table_V2 {
> 07      UCHAR  ucRevId;
> DC 00 (220W)    USHORT usSocketPowerLimit;
> DC 00 (220W)    USHORT usBatteryPowerLimit;
> DC 00 (220W)    USHORT usSmallPowerLimit;
> 2C 01 (300A)    USHORT usTdcLimit;
> 00 00           USHORT usEdcLimit;
> 59 00 (89°C)    USHORT usSoftwareShutdownTemp;
> 69 00 (105°C)   USHORT usTemperatureLimitHotSpot;
> 4A 00 (75°C)    USHORT usTemperatureLimitLiquid1;
> 4A 00 (75°C)    USHORT usTemperatureLimitLiquid2;
> 5F 00 (95°C)    USHORT usTemperatureLimitHBM;
> 73 00 (115°C)   USHORT usTemperatureLimitVrSoc;
> 73 00 (115°C)   USHORT usTemperatureLimitVrMem;
> 64 00 (100°C)   USHORT usTemperatureLimitPlx;
> 40 00 (64Ω??)   USHORT usLoadLineResistance;
> 90      UCHAR ucLiquid1_I2C_address;
> 92      UCHAR ucLiquid2_I2C_address;
> 97      UCHAR ucLiquid_I2C_Line;
> 60      UCHAR ucVr_I2C_address;
> 96      UCHAR ucVr_I2C_Line;
> 00      UCHAR ucPlx_I2C_address;
> 90      UCHAR ucPlx_I2C_Line;
> 55 00 (85°C)    USHORT usTemperatureLimitTedge;
> } ATOM_Vega10_PowerTune_Table_V2;
> [/Spoiler]
> 
> [..]





Spoiler



what u are looking for in your file is at the end:
"08,01,08,01,08,01,2C,01"
0x108 = 264W, 0x12C = 300A


----------



## majestynl

@hellm

Nice work again! Can you attach your latest PPTables you have for the VII. Im currently still on air. Maybe with higher powerlimits etc.
So i can test some things over here..

thanks


----------



## tsamolotoff

hellm said:


> this was possible from the start.
> 
> what u are looking for in your file is at the end:
> "08,01,08,01,08,01,2C,01"
> 0x108 = 264W, 0x12C = 300A


Uh, I always thought (after reading some of the early gupsterg or stilt messages that it's impossible to change TDC via software tables


----------



## poisson21

delete


----------



## hellm

majestynl said:


> @hellm
> 
> Nice work again! Can you attach your latest PPTables you have for the VII. Im currently still on air. Maybe with higher powerlimits etc.
> So i can test some things over here..
> 
> thanks


https://www.overclock.net/forum/67-amd/1633446-preliminary-view-amd-vega-bios-125.html#post27847568
..and the overvoltage ones page 127/128.. hf.


----------



## CarbonFire

hellm said:


> This is totally world record. :thumbsups
> 
> https://hwbot.org/hardware/videocards#key=radeon_vii
> 
> 
> 
> edit: hmm maybe we can beat that VII sitting on the 3rd place in timespy extreme? I guess not, because of the CPU that was used.. but graphics score, sure.
> https://www.3dmark.com/hall-of-fame-2/timespy+3dmark+score+extreme+preset/version+1.0/1+gpu


Finally nailed a run of firestrike 
http://www.3dmark.com/fs/18358630

Edit: I'm not sure what is up with timespy normal/extreme results. The graphics scores from the top results are about double what I'm getting, that doesn't seem right? It is just in those 2 tests, the others are in line. Looks more like 2 cards showing up as 1? Anyone with 2 cards try this? There aren't any results listed under 2 GPUs.

Edit2: I've been taking a break from overclocking and trying to figure out stability. Here is what I came up with.

Firestrike extreme stress test is probably the most brutal. There is a breaking point around 70C hotspot temp where if it goes over, you are going to need more voltage. The extra SOC voltage of the +++ file helps stability overall.

I'm settling on a 24/7 stable settings of 2122Mhz core, 1265mV, and 1252Mhz memory. The extra voltage does take a hit on performance. 33,300+ Firestrike graphics score down to just under 33K.

Its worth noting that if you can pass a standard run of Firestrike extreme, most games aren't going to have an issue. Logging temps in Battlefield 5, my hotspot is around 40C and temps in the 30C range. I was able to run a 2200Mhz 1310mV no problem. Just for giggles, I managed to play a round of BF5 at 2270Mhz.


----------



## Bullseye13

I'm too stupid to set the voltage higher, then i am able to do with the softpowerplaytable i think.
How does it work? The voltage dont change according to gpu-z.


----------



## giroep

hellm said:


> This is totally world record. :thumbsups
> 
> https://hwbot.org/hardware/videocards#key=radeon_vii
> 
> 
> 
> edit: hmm maybe we can beat that VII sitting on the 3rd place in timespy extreme? I guess not, because of the CPU that was used.. but graphics score, sure.
> https://www.3dmark.com/hall-of-fame-2/timespy+3dmark+score+extreme+preset/version+1.0/1+gpu


This 3rd place in TimeSpyExtreme score is My score.
https://www.3dmark.com/spy/6241549
https://www.3dmark.com/hall-of-fame-2/timespy+3dmark+score+extreme+preset/version+1.0/1+gpu

This score is 2GPUs.
Since FuturemarkSystemInfo still does not support Radeon VII, the display is 1GPU.

My best score at 1GPU

TimeSpyExtreme
https://www.3dmark.com/spy/6258116
EvenMorePowerVII_1293
2030MHz, 1200MHz, PowerLimit+30% @stockCooler

TimeSpy
https://www.3dmark.com/spy/6256956
EvenMorePowerVII_1293
2051MHz, 1200MHz, PowerLimit+99% @stockCooler


----------



## giroep

hellm said:


> This is totally world record. :thumbsups
> 
> https://hwbot.org/hardware/videocards#key=radeon_vii
> 
> 
> 
> edit: hmm maybe we can beat that VII sitting on the 3rd place in timespy extreme? I guess not, because of the CPU that was used.. but graphics score, sure.
> https://www.3dmark.com/hall-of-fame-2/timespy+3dmark+score+extreme+preset/version+1.0/1+gpu



This 3rd place in TimeSpyExtreme score is My score.
https://www.3dmark.com/spy/6241549
https://www.3dmark.com/hall-of-fame-2/timespy+3dmark+score+extreme+preset/version+1.0/1+gpu

This score is 2GPUs.
https://i.imgur.com/6YoqR7H.jpg
Since FuturemarkSystemInfo still does not support Radeon VII, the display is 1GPU.

My best score at 1GPU

TimeSpyExtreme
https://www.3dmark.com/spy/6258116
EvenMorePowerVII_1293
2030MHz, 1200MHz, PowerLimit+30% StockCooler

TimeSpy
https://www.3dmark.com/spy/6256956
EvenMorePowerVII_1293
2051MHz, 1200MHz, PowerLimit+99% StockCooler


----------



## majestynl

hellm said:


> https://www.overclock.net/forum/67-amd/1633446-preliminary-view-amd-vega-bios-125.html#post27847568
> ..and the overvoltage ones page 127/128.. hf.


thanks  will give it a try


----------



## Bullseye13

MrGenius said:


> Download the compiled version here. Then download and install GTK# for .NET. Then extract/unzip the Vega64SoftPowerTableEditor folder. Open it and click on the Vega64SoftPowerTableEditor application. If the app opens, you're good to go(lucky you!).
> 
> However, if the app doesn't open(which it sometimes will not without a little help), delete everything from the Vega64SoftPowerTableEditor folder except the Vega64SoftPowerTableEditor application and gtk-sharp.dll(and maybe the README, but you can delete that too if you don't want/need it). You're deleting everything else because it's all a bunch of useless crap that has no business being there in the first place. And the app won't open/work because something else actually needs to be there for it to open/work(sometimes, but not always, not sure what's up with that).
> 
> So let's fix that by adding what needs to be there so it does open/work. Go to C:\Program Files (x86)\GtkSharp\2.12\bin and copy zlib1.dll, then paste that in the Vega64SoftPowerTableEditor folder. Then try clicking the Vega64SoftPowerTableEditor application and watch how it now magically opens and works perfectly.
> Works just fine. If you know how to work it.
> 
> EDIT: I see what you meant by that now. The Vega FE 16GB GFX clocks thing. Not good. Funny thing is the Vega FE 8GB GFX clocks are right. Why is that I wonder?
> 
> You can also use the PPTable editor in OverdriveNTool with a Vega FE 16GB .reg file and the clocks are correct with that.


Thank you.

Sorry I got no time for that in the last month... Now i'm trying, but the Voltage wont change if i set it to 1.3V...


----------



## hellm

If you talking about Vega64/56, voltage mod needs some "workaround" here.
You have to delete all manual voltage settings of wattman or overdrive etc.; then you apply the modified PPT file, and reboot. Next time you switch to manual voltage, the higher voltage value should appear. You can't change this to anything between maximum limit and your voltage, or even enter your value manualy. But if you delete any settings, hit the manual voltage button and apply, your modified value will be accepted.


----------



## Bullseye13

Thank you. Now i got it


----------



## Xuper

Hi , can you see VRM's temp in HWINFO or Gpu-z ? or perhaps at 2100Mhz , you touch heatsink and see how temp is.


----------



## MSIMAX

now who do we petition for full cover blocks this is amazing.
and its to bad these don't cfx


----------



## Hwgeek

*Just found out that the vBios update on Asus page contains all the AtiFlash files that can be extracted from the .exe *
https://www.asus.com/Graphics-Cards/RADEONVII-16G/HelpDesk_Download/
So now we have new atiflash utility .


----------



## jstefanop

anyone figure out if the radeon vii has its Vbios locked down with a security chip like 56/64?


----------



## hellm

Hwgeek said:


> *Just found out that the vBios update on Asus page contains all the AtiFlash files that can be extracted from the .exe *
> https://www.asus.com/Graphics-Cards/RADEONVII-16G/HelpDesk_Download/
> So now we have new atiflash utility .


It's really funny Asus named the VII BIOS (v105) "moonshot". 
i extracted atiflash v2.87 and attached it.



Hwgeek said:


> *New Bios is out:*
> Old BIOS Version: 016.004.000.030.011639
> New BIOS Version: 016.004.000.038.011717
> https://www.amd.com/en/support/radeonvii-vbios-eula
> [..]


some slight changes, new VRAM_Info table, PowerPlay table is the same as in v105 (initial release);


----------



## gupsterg

hellm said:


> If you talking about Vega64/56, voltage mod needs some "workaround" here.
> You have to delete all manual voltage settings of wattman or overdrive etc.; then you apply the modified PPT file, and reboot. Next time you switch to manual voltage, the higher voltage value should appear. You can't change this to anything between maximum limit and your voltage, or even enter your value manualy. But if you delete any settings, hit the manual voltage button and apply, your modified value will be accepted.
> 
> 
> 
> Bullseye13 said:
> 
> 
> 
> Thank you. Now i got it
Click to expand...

Make sure in Windows you don't have Fast Startup enabled, can cause quirks when using the reg mods from my experience.

Sometimes the reg mod is applied, but Wattman has not caught up, so clicking reset brings it to "life". If you experience a crash on next repost of OS Wattman may reset settings and you have to reapply Custom mode.

Yey! For locked VBIOS  ....



jstefanop said:


> anyone figure out if the radeon vii has its Vbios locked down with a security chip like 56/64?


I'd be very surprised if does not. I'd only risk a flash if had access to a external hardware tool to recover VBIOS, as I do recall a few cases of where OS flash tool did not recognise Polaris/Fiji when someone had both VBIOS borked.

If "We" were gonna be locked out, I don't see why on "Enthusiast" GPU we don't get access to VBIOS at say POST, to set settings and save like say on MOBOs.


----------



## hellm

It is definitely locked. All the byte-code in the BIOS is still there, and this code cleary changed with non-UEFI and UEFI v105 BIOS.

Also, there has to be some lock to prevent sold out VII for cheap Radeon Instinct workstation cards.

Whatever, we still have PowerPlay, and the newest version has more to offer than on Vega64/56.
Here is the complete PPT for VII again:


Spoiler






Code:


C2 06        	USHORT usStructureSize;
0B        	UCHAR  ucTableFormatRevision;   /*Change it when the Parser is not backward compatible */
00        	UCHAR  ucTableContentRevision;  /*Change it only when the table needs to change but the firmware */
                                                   
02      	UCHAR  ucTableRevision;
C2 06     	USHORT usTableSize;
34 08 00 00     ULONG  ulGoldenPPID;
A4 35 00 00     ULONG  ulGoldenRevision;
7C 00      	USHORT usFormatID;

09 00 00 00     ULONG  ulPlatformCaps;

1A      	UCHAR  ucThermalControllerType;

FA 00		USHORT usSmallPowerLimit1;
FA 00 		USHORT usSmallPowerLimit2;
FA 00 		USHORT usBoostPowerLimit;
00 00      	USHORT usODTurboPowerLimit;
00 00      	USHORT usODPowerSavePowerLimit;
76 00 		USHORT usSoftwareShutdownTemp;

01        	UCHAR ucTableRevision;
0B 00 00 00     ULONG PowerSavingClockCount;                // Count of PowerSavingClock Mode
        	ULONG PowerSavingClockMax  [16];              // PowerSavingClock Mode Clock Maximum array In MHz
09 07 00 00
6E 04 00 00
CC 03 00 00
CC 03 00 00
CC 03 00 00
E8 03 00 00
C9 04 00 00
6E 04 00 00
6E 04 00 00
34 04 00 00
2A 03 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00        
        	ULONG PowerSavingClockMin  [16];              // PowerSavingClock Mode Clock Minimum array In MHz
BC 02 00 00
66 01 00 00
36 01 00 00
36 01 00 00
36 01 00 00
5E 01 00 00
26 02 00 00
66 01 00 00
66 01 00 00
93 00 00 00
0E 01 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00
00 00 00 00

01        	UCHAR ucODTableRevision;
0E 00 00 00     ULONG ODFeatureCount;
        	UCHAR ODFeatureCapabilities [32];   //OD feature support flags
01
01
01
01
01
01
01
01
01
00
01
01
01
01
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00    
1D 00 00 00     ULONG ODSettingCount;
        	ULONG ODSettingsMax [32];           //Upper Limit for each OD Setting
98 08 00 00 
98 08 00 00 
98 08 00 00 
C2 04 00 00 
98 08 00 00 
C2 04 00 00 
98 08 00 00 
C2 04 00 00 
B0 04 00 00 
14 00 00 00 
0A 0F 00 00 
0A 0F 00 00 
5F 00 00 00 
6E 00 00 00 
02 00 00 00 
00 00 00 00 
01 00 00 00 
01 00 00 00 
01 00 00 00 
5F 00 00 00 
64 00 00 00 
5F 00 00 00 
64 00 00 00 
5F 00 00 00 
64 00 00 00 
5F 00 00 00 
64 00 00 00 
5F 00 00 00 
64 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00
        	ULONG ODSettingsMin [32];           //Lower Limit for each OD Setting
28 03 00 00 
28 03 00 00 
28 03 00 00 
E2 02 00 00 
28 03 00 00 
E2 02 00 00 
28 03 00 00 
E2 02 00 00 
5E 01 00 00 
14 00 00 00 
C2 01 00 00 
C2 01 00 00 
19 00 00 00 
32 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
19 00 00 00 
14 00 00 00 
19 00 00 00 
14 00 00 00 
19 00 00 00 
14 00 00 00 
19 00 00 00 
14 00 00 00 
19 00 00 00 
14 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00
      		USHORT usReserve[5];
00 00
00 00
00 00
00 00
00 00

03 00 00 00  	uint32_t Version;
  		uint32_t FeaturesToRun[2];
FF EF F4 39
00 00 00 00

FA 00  		uint16_t SocketPowerLimitAc0;
00 00  		uint16_t SocketPowerLimitAc0Tau;
00 00  		uint16_t SocketPowerLimitAc1;
00 00  		uint16_t SocketPowerLimitAc1Tau;
00 00  		uint16_t SocketPowerLimitAc2;
00 00  		uint16_t SocketPowerLimitAc2Tau;
00 00  		uint16_t SocketPowerLimitAc3;
00 00  		uint16_t SocketPowerLimitAc3Tau;
FA 00  		uint16_t SocketPowerLimitDc;
00 00  		uint16_t SocketPowerLimitDcTau;
32 00  		uint16_t TdcLimitSoc;
00 00  		uint16_t TdcLimitSocTau;
4A 01  		uint16_t TdcLimitGfx;
00 00  		uint16_t TdcLimitGfxTau;            

64 00  		uint16_t TedgeLimit;
6E 00  		uint16_t ThotspotLimit;
5E 00  		uint16_t ThbmLimit;
73 00  		uint16_t Tvr_gfxLimit;
73 00  		uint16_t Tvr_memLimit;
FF FF  		uint16_t Tliquid1Limit;
FF FF  		uint16_t Tliquid2Limit;
FF FF  		uint16_t TplxLimit;
00 00 00 00  	uint32_t FitLimit;

00 00  		uint16_t PpmPowerLimit;
00 00  		uint16_t PpmTemperatureThreshold;

01  		uint8_t  MemoryOnPackage;
00  		uint8_t  padding8_limits;
73 00 		uint16_t Tvr_SocLimit;

00 00  		uint16_t  UlvVoltageOffsetSoc;
00 00  		uint16_t  UlvVoltageOffsetGfx;

00  		uint8_t  UlvSmnclkDid;
00  		uint8_t  UlvMp1clkDid;
00  		uint8_t  UlvGfxclkBypass;
00  		uint8_t  Padding234;

86 0B  		uint16_t     MinVoltageGfx;
22 0B  		uint16_t     MinVoltageSoc;
0B 13  		uint16_t     MaxVoltageGfx;
43 12  		uint16_t     MaxVoltageSoc;

26 00  		uint16_t     LoadLineResistanceGfx;
00 00  		uint16_t     LoadLineResistanceSoc;

		[PPCLK_GFXCLK]
01			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
09			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
00 00 00 00			  
00 00 00 00			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
5B B1 BF 3E
EC 51 F8 BE
65 19 52 3F			  
		[PPCLK_VCLK]
00			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
08			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
64 3B 9F 3F			  
16 DE A5 BD			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
00 00 00 00			  
00 00 00 00			  
00 00 00 00			  
		[PPCLK_DCLK]
00			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
08			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
35 5E 9A 3F			  
8F 36 2E 3E			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
00 00 00 00			  
00 00 00 00			  
00 00 00 00			  
		[PPCLK_ECLK]
00			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
08			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
69 6F B0 3F			  
48 33 16 3D			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
00 00 00 00			  
00 00 00 00			  
00 00 00 00			  
		[PPCLK_SOCCLK]
00			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
08			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
E5 61 A1 3F
12 F7 58 BD			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
00 00 00 00			  
00 00 00 00			  
00 00 00 00			  
		[PPCLK_UCLK]
00			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
03			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
B5 15 83 3F			  
C2 DD 19 3E			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
00 00 00 00			  
00 00 00 00			  
00 00 00 00			  
		[PPCLK_DCEFCLK]
00			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
08			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
86 38 86 3F			  
0E BE 30 3E			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
00 00 00 00			  
00 00 00 00			  
00 00 00 00			  
		[PPCLK_DISPCLK]
00			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
08			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
83 C0 5A 3F			  
4D A1 F3 3D			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
00 00 00 00			  
00 00 00 00			  
00 00 00 00			  
		[PPCLK_PIXCLK]
02			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
08			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
00 00 00 00			  
00 00 00 00			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
A4 70 8D 3F			  
E4 14 85 BF			  
D5 E7 32 3F			  
		[PPCLK_PHYCLK]
02			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
03			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
00 00 00 00			  
00 00 00 00			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
00 00 00 00			  
00 00 00 00			  
D5 E7 32 3F			  
		[PPCLK_FCLK]
01			  .VoltageMode          = UCHAR
01			  .SnapToDiscrete       = UCHAR
08			  .NumDiscreteLevels    = UCHAR
00			  .padding              = UCHAR
			  .ConversionToAvfsClk{m = ULONG b = ULONG}
00 00 80 3F			  
00 00 00 00			  
			  .SsCurve            {a = ULONG b = ULONG c = ULONG}
D1 91 FC 3E
1F 85 2B BF
32 77 75 3F			  
		uint16_t       FreqTableGfx[16];
BC 02 
28 03 
6E 04 
5C 05 
0A 06 
93 06 
D5 06 
ED 06 
09 07 
00 00 
00 00 
00 00 
00 00 
00 00 
00 00 
00 00  
  		uint16_t       FreqTableVclk     [NUM_VCLK_DPM_LEVELS    8];
66 01 
E6 01 
6B 02 
F4 02 
52 03 
CC 03 
6E 04 
6E 04     
  		uint16_t       FreqTableDclk     [NUM_DCLK_DPM_LEVELS    8];
36 01 
90 01 
0C 02 
6B 02 
A8 02 
F4 02 
52 03 
CC 03    
  		uint16_t       FreqTableEclk     [NUM_ECLK_DPM_LEVELS    8];
36 01 
90 01 
0C 02 
6B 02 
A8 02 
F4 02 
52 03 
CC 03  
  		uint16_t       FreqTableSocclk   [NUM_SOCCLK_DPM_LEVELS  8];
36 01 
0C 02 
37 02 
6B 02 
A8 02 
F4 02 
52 03 
CC 03
  		uint16_t       FreqTableUclk     [NUM_UCLK_DPM_LEVELS    4];
5E 01 
20 03 
E8 03 
E8 03
  		uint16_t       FreqTableFclk     [NUM_FCLK_DPM_LEVELS    8];
26 02 
62 02 
B2 02 
F8 02 
66 03 
C0 03 
38 04 
C9 04 
  		uint16_t       FreqTableDcefclk  [NUM_DCEFCLK_DPM_LEVELS 8];
66 01 
C6 01 
37 02 
A8 02 
F4 02 
52 03 
CC 03 
6E 04 
  		uint16_t       FreqTableDispclk  [NUM_DISPCLK_DPM_LEVELS 8];
66 01 
C6 01 
37 02 
A8 02 
F4 02 
52 03 
CC 03 
6E 04  
  		uint16_t       FreqTablePixclk   [NUM_PIXCLK_DPM_LEVELS  8];
93 00 
F2 00 
58 01 
E4 01 
15 02 
AA 03 
13 04 
34 04  
  		uint16_t       FreqTablePhyclk   [NUM_PHYCLK_DPM_LEVELS  8];
0E 01 
1C 02 
2A 03 
00 00 
00 00 
00 00 
00 00 
00 00
  		uint16_t       DcModeMaxFreq     [PPCLK_COUNT            11];
09 07 
6E 04 
CC 03 
CC 03 
CC 03 
E8 03 
6E 04 
6E 04 
34 04 
2A 03 
C9 04

00 00  		uint16_t       Padding8_Clks;
  		uint16_t       Mp0clkFreq        [NUM_MP0CLK_DPM_LEVELS 2];
C8 00  
2C 01  
  		uint16_t       Mp0DpmVoltage     [NUM_MP0CLK_DPM_LEVELS 2];
60 09  
F0 0A

28 03  		uint16_t        GfxclkFidle;
00 00  		uint16_t        GfxclkSlewRate;
00 00  		uint16_t        CksEnableFreq;
00 00  		uint16_t        Padding789;

  		QuadraticInt_t  CksVoltageOffset;
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
	
  		uint8_t         Padding567[4];
00 
00 
00 
00 
 
09 07  		uint16_t        GfxclkDsMaxFreq;
01  		uint8_t         GfxclkSource;
00  		uint8_t         Padding456;

00  		uint8_t      LowestUclkReservedForUlv;
  		uint8_t      Padding8_Uclk[3];
00 
00 
00

  		uint8_t      PcieGenSpeed[NUM_LINK_LEVELS 2];
00 
02
  		uint8_t      PcieLaneCount[NUM_LINK_LEVELS 2];
06 
06
  		uint16_t     LclkFreq[NUM_LINK_LEVELS 2];
50 00
34 01

00 00  		uint16_t     EnableTdpm;
00 00  		uint16_t     TdpmHighHystTemperature;
00 00  		uint16_t     TdpmLowHystTemperature;
00 00  		uint16_t     GfxclkFreqHighTempLimit;                     
					 
00 00  		uint16_t     FanStopTemp;
00 00  		uint16_t     FanStartTemp;

90 01  		uint16_t     FanGainEdge;
90 01  		uint16_t     FanGainHotspot;
90 01  		uint16_t     FanGainLiquid;
90 01  		uint16_t     FanGainVrGfx;
90 01  		uint16_t     FanGainVrSoc;
90 01  		uint16_t     FanGainPlx;
90 01  		uint16_t     FanGainHbm;
14 00  		uint16_t     FanPwmMin;
54 0B  		uint16_t     FanAcousticLimitRpm;
54 0B  		uint16_t     FanThrottlingRpm;
0A 0F  		uint16_t     FanMaximumRpm;
5F 00  		uint16_t     FanTargetTemperature;
00 00  		uint16_t     FanTargetGfxclk;
00  		uint8_t      FanZeroRpmEnable;
02  		uint8_t      FanTachEdgePerRev;

00 00  		int16_t      FuzzyFan_ErrorSetDelta;
00 00  		int16_t      FuzzyFan_ErrorRateSetDelta;
00 00  		int16_t      FuzzyFan_PwmSetDelta;
00 00  		uint16_t     FuzzyFan_Reserved;

  		uint8_t           OverrideAvfsGb[AVFS_VOLTAGE_COUNT 2];
00 
01   
  		uint8_t           Padding8_Avfs[2];
00 
00

  		QuadraticInt_t    qAvfsGb[AVFS_VOLTAGE_COUNT 2];	
00 00 00 00		uint32_t a;
50 8D 97 3C		uint32_t b;
0A D7 A3 3B		uint32_t c;
	
00 00 00 00		uint32_t a;
EA B2 98 3C		uint32_t b;
87 A2 40 3D		uint32_t c;
  		DroopInt_t        dBtcGbGfxCksOn;
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;	
  		DroopInt_t        dBtcGbGfxCksOff;
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
  		DroopInt_t        dBtcGbGfxAfll;
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
  		DroopInt_t        dBtcGbSoc;
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;	
  		LinearInt_t       qAgingGb[AVFS_VOLTAGE_COUNT 2];
00 00 00 00		uint32_t m;
00 00 00 00		uint32_t b;
		LinearInt_t;
00 00 00 00		uint32_t m;
00 00 00 00		uint32_t b;
	
  		QuadraticInt_t    qStaticVoltageOffset[AVFS_VOLTAGE_COUNT 2];
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;

00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
	
  		uint16_t          DcTol[AVFS_VOLTAGE_COUNT 2];
00 00
A0 00    
  		uint8_t           DcBtcEnabled[AVFS_VOLTAGE_COUNT 2];
01  
00   
  		uint8_t           Padding8_GfxBtc[2];
00
00   
  		int16_t           DcBtcMin[AVFS_VOLTAGE_COUNT 2];
00 00 
00 00     
  		uint16_t          DcBtcMax[AVFS_VOLTAGE_COUNT 2];
A0 00 
00 00
  		uint8_t           XgmiLinkSpeed   [NUM_XGMI_LEVELS 2];
08 
10   
  		uint8_t           XgmiLinkWidth   [NUM_XGMI_LEVELS 2];
02 
10
  		uint16_t          XgmiFclkFreq    [NUM_XGMI_LEVELS 2];
1A 04 
4C 04  
  		uint16_t          XgmiUclkFreq    [NUM_XGMI_LEVELS 2];
E8 03 
E8 03 
  		uint16_t          XgmiSocclkFreq  [NUM_XGMI_LEVELS 2];
E8 03 
E8 03 
  		uint16_t          XgmiSocVoltage  [NUM_XGMI_LEVELS 2];
00 00 
00 00

00 00 00 00  	uint32_t          DebugOverrides;
           
 		QuadraticInt_t    ReservedEquation0;
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
  		QuadraticInt_t    ReservedEquation1;
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
  		QuadraticInt_t    ReservedEquation2;
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
  		QuadraticInt_t    ReservedEquation3;
00 00 00 00		uint32_t a;
00 00 00 00		uint32_t b;
00 00 00 00		uint32_t c;
		QuadraticInt_t;

86 0B  		uint16_t     MinVoltageUlvGfx;
22 0B  		uint16_t     MinVoltageUlvSoc;

54 0B  		uint16_t     MGpuFanBoostLimitRpm;
00 00  		uint16_t     padding16_Fan;   

90 01  		uint16_t     FanGainVrMem0;
90 01  		uint16_t     FanGainVrMem1;

  		uint16_t     DcBtcGb[AVFS_VOLTAGE_COUNT 2];
38 00 
00 00
  		uint32_t     Reserved[11];
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00
  		uint32_t     Padding32[3];
00 00 00 00  
00 00 00 00  
00 00 00 00 

00 00  		uint16_t     MaxVoltageStepGfx;
00 00  		uint16_t     MaxVoltageStepSoc;

00  		uint8_t      VddGfxVrMapping;
00  		uint8_t      VddSocVrMapping;
00  		uint8_t      VddMem0VrMapping;
00  		uint8_t      VddMem1VrMapping;

00  		uint8_t      GfxUlvPhaseSheddingMask;
00  		uint8_t      SocUlvPhaseSheddingMask;
00  		uint8_t      ExternalSensorPresent;
00  		uint8_t      Padding8_V;


00 00  		uint16_t     GfxMaxCurrent;
00  		int8_t       GfxOffset;
00  		uint8_t      Padding_TelemetryGfx;

00 00  		uint16_t     SocMaxCurrent;
00  		int8_t       SocOffset;
00  		uint8_t      Padding_TelemetrySoc;

00 00  		uint16_t     Mem0MaxCurrent;
00  		int8_t       Mem0Offset;
00  		uint8_t      Padding_TelemetryMem0;

00 00  		uint16_t     Mem1MaxCurrent;
00  		int8_t       Mem1Offset;
00  		uint8_t      Padding_TelemetryMem1;

00  		uint8_t      AcDcGpio;
00  		uint8_t      AcDcPolarity;
00  		uint8_t      VR0HotGpio;
00  		uint8_t      VR0HotPolarity;

00  		uint8_t      VR1HotGpio;
00  		uint8_t      VR1HotPolarity;
00  		uint8_t      Padding1;
00  		uint8_t      Padding2;

00  		uint8_t      LedPin0;
00  		uint8_t      LedPin1;
00  		uint8_t      LedPin2;
00  		uint8_t      padding8_4;

00  		uint8_t      PllGfxclkSpreadEnabled;
00  		uint8_t      PllGfxclkSpreadPercent;
00 00  		uint16_t     PllGfxclkSpreadFreq;

00  		uint8_t      UclkSpreadEnabled;
00  		uint8_t      UclkSpreadPercent;
00 00  		uint16_t     UclkSpreadFreq;

00  		uint8_t      FclkSpreadEnabled;
00  		uint8_t      FclkSpreadPercent;
00 00  		uint16_t     FclkSpreadFreq;

00  		uint8_t      FllGfxclkSpreadEnabled;
00  		uint8_t      FllGfxclkSpreadPercent;
00 00  		uint16_t     FllGfxclkSpreadFreq;

  		I2cControllerConfig_t I2cControllers[I2C_CONTROLLER_NAME_COUNT 7];
00 00 00 00		uint32_t Enabled;
00 00 00 00		uint32_t SlaveAddress;
00 00 00 00		uint32_t ControllerPort;
00 00 00 00		uint32_t ControllerName;
00 00 00 00		uint32_t ThermalThrottler;
00 00 00 00		uint32_t I2cProtocol;
00 00 00 00		uint32_t I2cSpeed;

00 00 00 00		uint32_t Enabled;
00 00 00 00		uint32_t SlaveAddress;
00 00 00 00		uint32_t ControllerPort;
00 00 00 00		uint32_t ControllerName;
00 00 00 00		uint32_t ThermalThrottler;
00 00 00 00		uint32_t I2cProtocol;
00 00 00 00		uint32_t I2cSpeed;

00 00 00 00		uint32_t Enabled;
00 00 00 00		uint32_t SlaveAddress;
00 00 00 00		uint32_t ControllerPort;
00 00 00 00		uint32_t ControllerName;
00 00 00 00		uint32_t ThermalThrottler;
00 00 00 00		uint32_t I2cProtocol;
00 00 00 00		uint32_t I2cSpeed;

00 00 00 00		uint32_t Enabled;
00 00 00 00		uint32_t SlaveAddress;
00 00 00 00		uint32_t ControllerPort;
00 00 00 00		uint32_t ControllerName;
00 00 00 00		uint32_t ThermalThrottler;
00 00 00 00		uint32_t I2cProtocol;
00 00 00 00		uint32_t I2cSpeed;

00 00 00 00		uint32_t Enabled;
00 00 00 00		uint32_t SlaveAddress;
00 00 00 00		uint32_t ControllerPort;
00 00 00 00		uint32_t ControllerName;
00 00 00 00		uint32_t ThermalThrottler;
00 00 00 00		uint32_t I2cProtocol;
00 00 00 00		uint32_t I2cSpeed;

00 00 00 00		uint32_t Enabled;
00 00 00 00		uint32_t SlaveAddress;
00 00 00 00		uint32_t ControllerPort;
00 00 00 00		uint32_t ControllerName;
00 00 00 00		uint32_t ThermalThrottler;
00 00 00 00		uint32_t I2cProtocol;
00 00 00 00		uint32_t I2cSpeed;

00 00 00 00		uint32_t Enabled;
00 00 00 00		uint32_t SlaveAddress;
00 00 00 00		uint32_t ControllerPort;
00 00 00 00		uint32_t ControllerName;
00 00 00 00		uint32_t ThermalThrottler;
00 00 00 00		uint32_t I2cProtocol;
00 00 00 00		uint32_t I2cSpeed;

  		uint32_t     BoardReserved[10];
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00
  		uint32_t     MmHubPadding[8];
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00




The fan settings:


Spoiler






Code:


00 00  (°C)  FanStopTemp
00 00  (°C)  FanStartTemp
90 01  (0x190 = 400)  FanGainEdge
90 01  (0x190 = 400)  FanGainHotspot
90 01  (0x190 = 400)  FanGainLiquid
90 01  (0x190 = 400)  FanGainVrGfx
90 01  (0x190 = 400)  FanGainVrSoc
90 01  (0x190 = 400)  FanGainPlx
90 01  (0x190 = 400)  FanGainHbm
14 00  (0x14 = 20%)  FanPwmMin
54 0B  (0xB54 = 2900RPM)  FanAcousticLimitRpm
54 0B  (0xB54 = 2900RPM)  FanThrottlingRpm
0A 0F  (0xF0A = 3850RPM)  FanMaximumRpm
5F 00  (0x5F = 95°C)  FanTargetTemperature
00 00    FanTargetGfxclk
00  (00=off, 01=on)     FanZeroRpmEnable
02       FanTachEdgePerRev
00 00  FuzzyFan_ErrorSetDelta;
00 00  FuzzyFan_ErrorRateSetDelta;
00 00  FuzzyFan_PwmSetDelta;
00 00  FuzzyFan_Reserved;
...
54 0B (0xB54 = 2900RPM)  MGpuFanBoostLimitRpm;
00 00  padding16_Fan;   

90 01 (0x190 = 400)  FanGainVrMem0;
90 01 (0x190 = 400)  FanGainVrMem1;
...
--------------------------------------------------
ATOM_VEGA20_ODSETTING_FANRPMMIN,
ATOM_VEGA20_ODSETTING_FANRPMACOUSTICLIMIT,
ATOM_VEGA20_ODSETTING_FANTARGETTEMPERATURE

ODSettingsMax [32];           //Upper Limit for each OD Setting
98 08 00 00 
98 08 00 00 
98 08 00 00 
C2 04 00 00 
98 08 00 00 
C2 04 00 00 
98 08 00 00 
C2 04 00 00 
B0 04 00 00 
14 00 00 00 
0A 0F 00 00 
0A 0F 00 00 
5F 00 00 00 
6E 00 00 00 
02 00 00 00 
00 00 00 00 
01 00 00 00 
01 00 00 00 
01 00 00 00 
5F 00 00 00 
64 00 00 00 
5F 00 00 00 
64 00 00 00 
5F 00 00 00 
64 00 00 00 
5F 00 00 00 
64 00 00 00 
5F 00 00 00 
64 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00

ATOM_VEGA20_ODSETTING_ID:
  ATOM_VEGA20_ODSETTING_GFXCLKFMAX = 0,
  ATOM_VEGA20_ODSETTING_GFXCLKFMIN,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEFREQ_P1,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEVOLTAGEOFFSET_P1,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEFREQ_P2,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEVOLTAGEOFFSET_P2,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEFREQ_P3,
  ATOM_VEGA20_ODSETTING_VDDGFXCURVEVOLTAGEOFFSET_P3,
  ATOM_VEGA20_ODSETTING_UCLKFMAX,
  ATOM_VEGA20_ODSETTING_POWERPERCENTAGE,
  ATOM_VEGA20_ODSETTING_FANRPMMIN,
  ATOM_VEGA20_ODSETTING_FANRPMACOUSTICLIMIT,
  ATOM_VEGA20_ODSETTING_FANTARGETTEMPERATURE,
  ATOM_VEGA20_ODSETTING_OPERATINGTEMPMAX,
  ATOM_VEGA20_ODSETTING_COUNT,




And here are some tables i made:

MorePowerVII:
vanilla version, no changes.

MorePowerVII_50:
+50%(+20%) max power limit, max HBM 1300MHz (1200MHz)

MorePowerVII_77:
+77%(+20%) max power limit, 400A TDC Core (330A), 66A TDC SoC (50A), max HBM 1300MHz (1200MHz)

MorePowerVII_77+:
+77%(+20%) max power limit, 400A TDC Core (330A), 66A TDC SoC (50A)
1193mV SoC (1168mV), max HBM 1300MHz (1200MHz)

MorePowerVII_77_UV:
+77%(+20%) max power limit, 400A TDC Core (330A), 66A TDC SoC (50A)
1168mV Vcore (1218mV), max HBM 1300MHz (1200MHz)

EvenMorePowerVII:
500W(250W) TDP, +99%(+20%) max power limit, 600A TDC Core (330A), 100A TDC SoC (50A), max HBM 1300MHz (1200MHz)

EvenMorePowerVII_1293:
500W(250W) TDP, +99%(+20%) max power limit, 600A TDC Core (330A), 100A TDC SoC (50A)
1293mV Vcore (1218mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)

EvenMorePowerVII_1293+:
500W(250W) TDP, +99%(+20%) max power limit, 600A TDC Core (330A), 100A TDC SoC (50A)
1293mV Vcore (1218mV), 1218mV SoC (1168mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)

EvenMorePowerVII_1293++:
500W(250W) TDP, +99%(+20%) max power limit, 600A TDC Core (330A), 100A TDC SoC (50A)
1293mV Vcore (1218mV), 1243mV SoC (1168mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)

EvenMorePowerVII_1318++:
500W(250W) TDP, +99%(+20%) max power limit, 600A TDC Core (330A), 100A TDC SoC (50A)
1318mV Vcore (1218mV), 1243mV SoC (1168mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)

EvenMorePowerVII_1343++:
1000W(250W) TDP, +99%(+20%) max power limit, 800A TDC Core (330A), 150A TDC SoC (50A)
1343mV Vcore (1218mV), 1243mV SoC (1168mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)

EvenMorePowerVII_1343+++:
1000W(250W) TDP, +99%(+20%) max power limit, 800A TDC Core (330A), 150A TDC SoC (50A)
1343mV Vcore (1218mV), 1268mV SoC (1168mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)


Spoiler






Code:










Spoiler






Code:


----------



## domistroy

Eey all,

So I've been reading quite a bit of this thread because I want to be able to use 900mv for the core instead of the 950mv that I can without any modding. I installed the softpowerplay tables for vega 56 (from the OP) and initially it seems to be working, when I test in firestrike windowed mode the measured voltage is somewhere around 870mv (when set to 950mv it measures around 918mv) and I also see a reduction in powerdraw on my wallmeter. The problem is that, as soon as I start an application in fullscreen it will override and use the 950mv. Do I need to alter that powerplay reg file to 900mv for all the states myself, because even if I want to try this, I can't seem to start the Vega64SoftPowerTableEditor from Halsafar. I'm unsure what I'm doing wrong, anyone care to chime in? 

edit 02-24-2019: Found post 1226 by MrGenius with a solution for the Vega64SoftPowerTableEditor not opening and will try that tomorrow. Can't seem to get the "search this thread" function to work properly, since it found nothing in relation to the editor (not even when shortening it to tableeditor) 



hellm said:


> If you talking about Vega64/56, voltage mod needs some "workaround" here.
> You have to delete all manual voltage settings of wattman or overdrive etc.; then you apply the modified PPT file, and reboot. Next time you switch to manual voltage, the higher voltage value should appear. You can't change this to anything between maximum limit and your voltage, or even enter your value manualy. But if you delete any settings, hit the manual voltage button and apply, your modified value will be accepted.


Is the above quote related to my problem aswell? 

edit: 02-25-2019: I managed to apply a stable 900mv by editing the Vega 56 reg file (from OP's VEGA_Soft_PP.zip) with the "Vega64SoftPowerTableEditor" (after using MrGenius his fix to get it to work (THX for that!)) and editing all but Core State 0 to 900mv (I kept the core clocks at stock because I had already figured out what the clock would become and how much higher it could go before a crash by using firestrike extreme in windowed mode). Besides that I followed the above qoute by Hellm 


Thanks in advance,


Kind regards,

Domistroy


----------



## majestynl

hellm said:


> Whatever, we still have PowerPlay, and the newest version has more to offer than on Vega64/56.
> Here is the complete PPT for VII again:
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> Code:
> 
> 
> C2 06        	USHORT usStructureSize;
> 0B        	UCHAR  ucTableFormatRevision;   /*Change it when the Parser is not backward compatible */
> 00        	UCHAR  ucTableContentRevision;  /*Change it only when the table needs to change but the firmware */
> 
> 02      	UCHAR  ucTableRevision;
> C2 06     	USHORT usTableSize;
> 34 08 00 00     ULONG  ulGoldenPPID;
> A4 35 00 00     ULONG  ulGoldenRevision;
> 7C 00      	USHORT usFormatID;
> 
> 09 00 00 00     ULONG  ulPlatformCaps;
> 
> 1A      	UCHAR  ucThermalControllerType;
> 
> FA 00		USHORT usSmallPowerLimit1;
> FA 00 		USHORT usSmallPowerLimit2;
> FA 00 		USHORT usBoostPowerLimit;
> 00 00      	USHORT usODTurboPowerLimit;
> 00 00      	USHORT usODPowerSavePowerLimit;
> 76 00 		USHORT usSoftwareShutdownTemp;
> 
> 01        	UCHAR ucTableRevision;
> 0B 00 00 00     ULONG PowerSavingClockCount;                // Count of PowerSavingClock Mode
> ULONG PowerSavingClockMax  [16];              // PowerSavingClock Mode Clock Maximum array In MHz
> 09 07 00 00
> 6E 04 00 00
> CC 03 00 00
> CC 03 00 00
> CC 03 00 00
> E8 03 00 00
> C9 04 00 00
> 6E 04 00 00
> 6E 04 00 00
> 34 04 00 00
> 2A 03 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> ULONG PowerSavingClockMin  [16];              // PowerSavingClock Mode Clock Minimum array In MHz
> BC 02 00 00
> 66 01 00 00
> 36 01 00 00
> 36 01 00 00
> 36 01 00 00
> 5E 01 00 00
> 26 02 00 00
> 66 01 00 00
> 66 01 00 00
> 93 00 00 00
> 0E 01 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 
> 01        	UCHAR ucODTableRevision;
> 0E 00 00 00     ULONG ODFeatureCount;
> UCHAR ODFeatureCapabilities [32];   //OD feature support flags
> 01
> 01
> 01
> 01
> 01
> 01
> 01
> 01
> 01
> 00
> 01
> 01
> 01
> 01
> 00
> 00
> 00
> 00
> 00
> 00
> 00
> 00
> 00
> 00
> 00
> 00
> 00
> 00
> 00
> 00
> 00
> 00
> 1D 00 00 00     ULONG ODSettingCount;
> ULONG ODSettingsMax [32];           //Upper Limit for each OD Setting
> 98 08 00 00
> 98 08 00 00
> 98 08 00 00
> C2 04 00 00
> 98 08 00 00
> C2 04 00 00
> 98 08 00 00
> C2 04 00 00
> B0 04 00 00
> 14 00 00 00
> 0A 0F 00 00
> 0A 0F 00 00
> 5F 00 00 00
> 6E 00 00 00
> 02 00 00 00
> 00 00 00 00
> 01 00 00 00
> 01 00 00 00
> 01 00 00 00
> 5F 00 00 00
> 64 00 00 00
> 5F 00 00 00
> 64 00 00 00
> 5F 00 00 00
> 64 00 00 00
> 5F 00 00 00
> 64 00 00 00
> 5F 00 00 00
> 64 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> ULONG ODSettingsMin [32];           //Lower Limit for each OD Setting
> 28 03 00 00
> 28 03 00 00
> 28 03 00 00
> E2 02 00 00
> 28 03 00 00
> E2 02 00 00
> 28 03 00 00
> E2 02 00 00
> 5E 01 00 00
> 14 00 00 00
> C2 01 00 00
> C2 01 00 00
> 19 00 00 00
> 32 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 19 00 00 00
> 14 00 00 00
> 19 00 00 00
> 14 00 00 00
> 19 00 00 00
> 14 00 00 00
> 19 00 00 00
> 14 00 00 00
> 19 00 00 00
> 14 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> USHORT usReserve[5];
> 00 00
> 00 00
> 00 00
> 00 00
> 00 00
> 
> 03 00 00 00  	uint32_t Version;
> uint32_t FeaturesToRun[2];
> FF EF F4 39
> 00 00 00 00
> 
> FA 00  		uint16_t SocketPowerLimitAc0;
> 00 00  		uint16_t SocketPowerLimitAc0Tau;
> 00 00  		uint16_t SocketPowerLimitAc1;
> 00 00  		uint16_t SocketPowerLimitAc1Tau;
> 00 00  		uint16_t SocketPowerLimitAc2;
> 00 00  		uint16_t SocketPowerLimitAc2Tau;
> 00 00  		uint16_t SocketPowerLimitAc3;
> 00 00  		uint16_t SocketPowerLimitAc3Tau;
> FA 00  		uint16_t SocketPowerLimitDc;
> 00 00  		uint16_t SocketPowerLimitDcTau;
> 32 00  		uint16_t TdcLimitSoc;
> 00 00  		uint16_t TdcLimitSocTau;
> 4A 01  		uint16_t TdcLimitGfx;
> 00 00  		uint16_t TdcLimitGfxTau;
> 
> 64 00  		uint16_t TedgeLimit;
> 6E 00  		uint16_t ThotspotLimit;
> 5E 00  		uint16_t ThbmLimit;
> 73 00  		uint16_t Tvr_gfxLimit;
> 73 00  		uint16_t Tvr_memLimit;
> FF FF  		uint16_t Tliquid1Limit;
> FF FF  		uint16_t Tliquid2Limit;
> FF FF  		uint16_t TplxLimit;
> 00 00 00 00  	uint32_t FitLimit;
> 
> 00 00  		uint16_t PpmPowerLimit;
> 00 00  		uint16_t PpmTemperatureThreshold;
> 
> 01  		uint8_t  MemoryOnPackage;
> 00  		uint8_t  padding8_limits;
> 73 00 		uint16_t Tvr_SocLimit;
> 
> 00 00  		uint16_t  UlvVoltageOffsetSoc;
> 00 00  		uint16_t  UlvVoltageOffsetGfx;
> 
> 00  		uint8_t  UlvSmnclkDid;
> 00  		uint8_t  UlvMp1clkDid;
> 00  		uint8_t  UlvGfxclkBypass;
> 00  		uint8_t  Padding234;
> 
> 86 0B  		uint16_t     MinVoltageGfx;
> 22 0B  		uint16_t     MinVoltageSoc;
> 0B 13  		uint16_t     MaxVoltageGfx;
> 43 12  		uint16_t     MaxVoltageSoc;
> 
> 26 00  		uint16_t     LoadLineResistanceGfx;
> 00 00  		uint16_t     LoadLineResistanceSoc;
> 
> [PPCLK_GFXCLK]
> 01			  .VoltageMode          = UCHAR
> 01			  .SnapToDiscrete       = UCHAR
> 09			  .NumDiscreteLevels    = UCHAR
> 00			  .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}
> 00 00 00 00
> 00 00 00 00
> .SsCurve            {a = ULONG b = ULONG c = ULONG}
> 5B B1 BF 3E
> EC 51 F8 BE
> 65 19 52 3F
> [PPCLK_VCLK]
> 00			  .VoltageMode          = UCHAR
> 01			  .SnapToDiscrete       = UCHAR
> 08			  .NumDiscreteLevels    = UCHAR
> 00			  .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}
> 64 3B 9F 3F
> 16 DE A5 BD
> .SsCurve            {a = ULONG b = ULONG c = ULONG}
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> [PPCLK_DCLK]
> 00			  .VoltageMode          = UCHAR
> 01			  .SnapToDiscrete       = UCHAR
> 08			  .NumDiscreteLevels    = UCHAR
> 00			  .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}
> 35 5E 9A 3F
> 8F 36 2E 3E
> .SsCurve            {a = ULONG b = ULONG c = ULONG}
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> [PPCLK_ECLK]
> 00			  .VoltageMode          = UCHAR
> 01			  .SnapToDiscrete       = UCHAR
> 08			  .NumDiscreteLevels    = UCHAR
> 00			  .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}
> 69 6F B0 3F
> 48 33 16 3D
> .SsCurve            {a = ULONG b = ULONG c = ULONG}
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> [PPCLK_SOCCLK]
> 00			  .VoltageMode          = UCHAR
> 01			  .SnapToDiscrete       = UCHAR
> 08			  .NumDiscreteLevels    = UCHAR
> 00			  .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}
> E5 61 A1 3F
> 12 F7 58 BD
> .SsCurve            {a = ULONG b = ULONG c = ULONG}
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> [PPCLK_UCLK]
> 00			  .VoltageMode          = UCHAR
> 01			  .SnapToDiscrete       = UCHAR
> 03			  .NumDiscreteLevels    = UCHAR
> 00			  .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}
> B5 15 83 3F
> C2 DD 19 3E
> .SsCurve            {a = ULONG b = ULONG c = ULONG}
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> [PPCLK_DCEFCLK]
> 00			  .VoltageMode          = UCHAR
> 01			  .SnapToDiscrete       = UCHAR
> 08			  .NumDiscreteLevels    = UCHAR
> 00			  .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}
> 86 38 86 3F
> 0E BE 30 3E
> .SsCurve            {a = ULONG b = ULONG c = ULONG}
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> [PPCLK_DISPCLK]
> 00			  .VoltageMode          = UCHAR
> 01			  .SnapToDiscrete       = UCHAR
> 08			  .NumDiscreteLevels    = UCHAR
> 00			  .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}
> 83 C0 5A 3F
> 4D A1 F3 3D
> .SsCurve            {a = ULONG b = ULONG c = ULONG}
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> [PPCLK_PIXCLK]
> 02			  .VoltageMode          = UCHAR
> 01			  .SnapToDiscrete       = UCHAR
> 08			  .NumDiscreteLevels    = UCHAR
> 00			  .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}
> 00 00 00 00
> 00 00 00 00
> .SsCurve            {a = ULONG b = ULONG c = ULONG}
> A4 70 8D 3F
> E4 14 85 BF
> D5 E7 32 3F
> [PPCLK_PHYCLK]
> 02			  .VoltageMode          = UCHAR
> 01			  .SnapToDiscrete       = UCHAR
> 03			  .NumDiscreteLevels    = UCHAR
> 00			  .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}
> 00 00 00 00
> 00 00 00 00
> .SsCurve            {a = ULONG b = ULONG c = ULONG}
> 00 00 00 00
> 00 00 00 00
> D5 E7 32 3F
> [PPCLK_FCLK]
> 01			  .VoltageMode          = UCHAR
> 01			  .SnapToDiscrete       = UCHAR
> 08			  .NumDiscreteLevels    = UCHAR
> 00			  .padding              = UCHAR
> .ConversionToAvfsClk{m = ULONG b = ULONG}
> 00 00 80 3F
> 00 00 00 00
> .SsCurve            {a = ULONG b = ULONG c = ULONG}
> D1 91 FC 3E
> 1F 85 2B BF
> 32 77 75 3F
> uint16_t       FreqTableGfx[16];
> BC 02
> 28 03
> 6E 04
> 5C 05
> 0A 06
> 93 06
> D5 06
> ED 06
> 09 07
> 00 00
> 00 00
> 00 00
> 00 00
> 00 00
> 00 00
> 00 00
> uint16_t       FreqTableVclk     [NUM_VCLK_DPM_LEVELS    8];
> 66 01
> E6 01
> 6B 02
> F4 02
> 52 03
> CC 03
> 6E 04
> 6E 04
> uint16_t       FreqTableDclk     [NUM_DCLK_DPM_LEVELS    8];
> 36 01
> 90 01
> 0C 02
> 6B 02
> A8 02
> F4 02
> 52 03
> CC 03
> uint16_t       FreqTableEclk     [NUM_ECLK_DPM_LEVELS    8];
> 36 01
> 90 01
> 0C 02
> 6B 02
> A8 02
> F4 02
> 52 03
> CC 03
> uint16_t       FreqTableSocclk   [NUM_SOCCLK_DPM_LEVELS  8];
> 36 01
> 0C 02
> 37 02
> 6B 02
> A8 02
> F4 02
> 52 03
> CC 03
> uint16_t       FreqTableUclk     [NUM_UCLK_DPM_LEVELS    4];
> 5E 01
> 20 03
> E8 03
> E8 03
> uint16_t       FreqTableFclk     [NUM_FCLK_DPM_LEVELS    8];
> 26 02
> 62 02
> B2 02
> F8 02
> 66 03
> C0 03
> 38 04
> C9 04
> uint16_t       FreqTableDcefclk  [NUM_DCEFCLK_DPM_LEVELS 8];
> 66 01
> C6 01
> 37 02
> A8 02
> F4 02
> 52 03
> CC 03
> 6E 04
> uint16_t       FreqTableDispclk  [NUM_DISPCLK_DPM_LEVELS 8];
> 66 01
> C6 01
> 37 02
> A8 02
> F4 02
> 52 03
> CC 03
> 6E 04
> uint16_t       FreqTablePixclk   [NUM_PIXCLK_DPM_LEVELS  8];
> 93 00
> F2 00
> 58 01
> E4 01
> 15 02
> AA 03
> 13 04
> 34 04
> uint16_t       FreqTablePhyclk   [NUM_PHYCLK_DPM_LEVELS  8];
> 0E 01
> 1C 02
> 2A 03
> 00 00
> 00 00
> 00 00
> 00 00
> 00 00
> uint16_t       DcModeMaxFreq     [PPCLK_COUNT            11];
> 09 07
> 6E 04
> CC 03
> CC 03
> CC 03
> E8 03
> 6E 04
> 6E 04
> 34 04
> 2A 03
> C9 04
> 
> 00 00  		uint16_t       Padding8_Clks;
> uint16_t       Mp0clkFreq        [NUM_MP0CLK_DPM_LEVELS 2];
> C8 00
> 2C 01
> uint16_t       Mp0DpmVoltage     [NUM_MP0CLK_DPM_LEVELS 2];
> 60 09
> F0 0A
> 
> 28 03  		uint16_t        GfxclkFidle;
> 00 00  		uint16_t        GfxclkSlewRate;
> 00 00  		uint16_t        CksEnableFreq;
> 00 00  		uint16_t        Padding789;
> 
> QuadraticInt_t  CksVoltageOffset;
> 00 00 00 00		uint32_t a;
> 00 00 00 00		uint32_t b;
> 00 00 00 00		uint32_t c;
> 
> uint8_t         Padding567[4];
> 00
> 00
> 00
> 00
> 
> 09 07  		uint16_t        GfxclkDsMaxFreq;
> 01  		uint8_t         GfxclkSource;
> 00  		uint8_t         Padding456;
> 
> 00  		uint8_t      LowestUclkReservedForUlv;
> uint8_t      Padding8_Uclk[3];
> 00
> 00
> 00
> 
> uint8_t      PcieGenSpeed[NUM_LINK_LEVELS 2];
> 00
> 02
> uint8_t      PcieLaneCount[NUM_LINK_LEVELS 2];
> 06
> 06
> uint16_t     LclkFreq[NUM_LINK_LEVELS 2];
> 50 00
> 34 01
> 
> 00 00  		uint16_t     EnableTdpm;
> 00 00  		uint16_t     TdpmHighHystTemperature;
> 00 00  		uint16_t     TdpmLowHystTemperature;
> 00 00  		uint16_t     GfxclkFreqHighTempLimit;
> 
> 00 00  		uint16_t     FanStopTemp;
> 00 00  		uint16_t     FanStartTemp;
> 
> 90 01  		uint16_t     FanGainEdge;
> 90 01  		uint16_t     FanGainHotspot;
> 90 01  		uint16_t     FanGainLiquid;
> 90 01  		uint16_t     FanGainVrGfx;
> 90 01  		uint16_t     FanGainVrSoc;
> 90 01  		uint16_t     FanGainPlx;
> 90 01  		uint16_t     FanGainHbm;
> 14 00  		uint16_t     FanPwmMin;
> 54 0B  		uint16_t     FanAcousticLimitRpm;
> 54 0B  		uint16_t     FanThrottlingRpm;
> 0A 0F  		uint16_t     FanMaximumRpm;
> 5F 00  		uint16_t     FanTargetTemperature;
> 00 00  		uint16_t     FanTargetGfxclk;
> 00  		uint8_t      FanZeroRpmEnable;
> 02  		uint8_t      FanTachEdgePerRev;
> 
> 00 00  		int16_t      FuzzyFan_ErrorSetDelta;
> 00 00  		int16_t      FuzzyFan_ErrorRateSetDelta;
> 00 00  		int16_t      FuzzyFan_PwmSetDelta;
> 00 00  		uint16_t     FuzzyFan_Reserved;
> 
> uint8_t           OverrideAvfsGb[AVFS_VOLTAGE_COUNT 2];
> 00
> 01
> uint8_t           Padding8_Avfs[2];
> 00
> 00
> 
> QuadraticInt_t    qAvfsGb[AVFS_VOLTAGE_COUNT 2];
> 00 00 00 00		uint32_t a;
> 50 8D 97 3C		uint32_t b;
> 0A D7 A3 3B		uint32_t c;
> 
> 00 00 00 00		uint32_t a;
> EA B2 98 3C		uint32_t b;
> 87 A2 40 3D		uint32_t c;
> DroopInt_t        dBtcGbGfxCksOn;
> 00 00 00 00		uint32_t a;
> 00 00 00 00		uint32_t b;
> 00 00 00 00		uint32_t c;
> DroopInt_t        dBtcGbGfxCksOff;
> 00 00 00 00		uint32_t a;
> 00 00 00 00		uint32_t b;
> 00 00 00 00		uint32_t c;
> DroopInt_t        dBtcGbGfxAfll;
> 00 00 00 00		uint32_t a;
> 00 00 00 00		uint32_t b;
> 00 00 00 00		uint32_t c;
> DroopInt_t        dBtcGbSoc;
> 00 00 00 00		uint32_t a;
> 00 00 00 00		uint32_t b;
> 00 00 00 00		uint32_t c;
> LinearInt_t       qAgingGb[AVFS_VOLTAGE_COUNT 2];
> 00 00 00 00		uint32_t m;
> 00 00 00 00		uint32_t b;
> LinearInt_t;
> 00 00 00 00		uint32_t m;
> 00 00 00 00		uint32_t b;
> 
> QuadraticInt_t    qStaticVoltageOffset[AVFS_VOLTAGE_COUNT 2];
> 00 00 00 00		uint32_t a;
> 00 00 00 00		uint32_t b;
> 00 00 00 00		uint32_t c;
> 
> 00 00 00 00		uint32_t a;
> 00 00 00 00		uint32_t b;
> 00 00 00 00		uint32_t c;
> 
> uint16_t          DcTol[AVFS_VOLTAGE_COUNT 2];
> 00 00
> A0 00
> uint8_t           DcBtcEnabled[AVFS_VOLTAGE_COUNT 2];
> 01
> 00
> uint8_t           Padding8_GfxBtc[2];
> 00
> 00
> int16_t           DcBtcMin[AVFS_VOLTAGE_COUNT 2];
> 00 00
> 00 00
> uint16_t          DcBtcMax[AVFS_VOLTAGE_COUNT 2];
> A0 00
> 00 00
> uint8_t           XgmiLinkSpeed   [NUM_XGMI_LEVELS 2];
> 08
> 10
> uint8_t           XgmiLinkWidth   [NUM_XGMI_LEVELS 2];
> 02
> 10
> uint16_t          XgmiFclkFreq    [NUM_XGMI_LEVELS 2];
> 1A 04
> 4C 04
> uint16_t          XgmiUclkFreq    [NUM_XGMI_LEVELS 2];
> E8 03
> E8 03
> uint16_t          XgmiSocclkFreq  [NUM_XGMI_LEVELS 2];
> E8 03
> E8 03
> uint16_t          XgmiSocVoltage  [NUM_XGMI_LEVELS 2];
> 00 00
> 00 00
> 
> 00 00 00 00  	uint32_t          DebugOverrides;
> 
> QuadraticInt_t    ReservedEquation0;
> 00 00 00 00		uint32_t a;
> 00 00 00 00		uint32_t b;
> 00 00 00 00		uint32_t c;
> QuadraticInt_t    ReservedEquation1;
> 00 00 00 00		uint32_t a;
> 00 00 00 00		uint32_t b;
> 00 00 00 00		uint32_t c;
> QuadraticInt_t    ReservedEquation2;
> 00 00 00 00		uint32_t a;
> 00 00 00 00		uint32_t b;
> 00 00 00 00		uint32_t c;
> QuadraticInt_t    ReservedEquation3;
> 00 00 00 00		uint32_t a;
> 00 00 00 00		uint32_t b;
> 00 00 00 00		uint32_t c;
> QuadraticInt_t;
> 
> 86 0B  		uint16_t     MinVoltageUlvGfx;
> 22 0B  		uint16_t     MinVoltageUlvSoc;
> 
> 54 0B  		uint16_t     MGpuFanBoostLimitRpm;
> 00 00  		uint16_t     padding16_Fan;
> 
> 90 01  		uint16_t     FanGainVrMem0;
> 90 01  		uint16_t     FanGainVrMem1;
> 
> uint16_t     DcBtcGb[AVFS_VOLTAGE_COUNT 2];
> 38 00
> 00 00
> uint32_t     Reserved[11];
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> uint32_t     Padding32[3];
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 
> 00 00  		uint16_t     MaxVoltageStepGfx;
> 00 00  		uint16_t     MaxVoltageStepSoc;
> 
> 00  		uint8_t      VddGfxVrMapping;
> 00  		uint8_t      VddSocVrMapping;
> 00  		uint8_t      VddMem0VrMapping;
> 00  		uint8_t      VddMem1VrMapping;
> 
> 00  		uint8_t      GfxUlvPhaseSheddingMask;
> 00  		uint8_t      SocUlvPhaseSheddingMask;
> 00  		uint8_t      ExternalSensorPresent;
> 00  		uint8_t      Padding8_V;
> 
> 
> 00 00  		uint16_t     GfxMaxCurrent;
> 00  		int8_t       GfxOffset;
> 00  		uint8_t      Padding_TelemetryGfx;
> 
> 00 00  		uint16_t     SocMaxCurrent;
> 00  		int8_t       SocOffset;
> 00  		uint8_t      Padding_TelemetrySoc;
> 
> 00 00  		uint16_t     Mem0MaxCurrent;
> 00  		int8_t       Mem0Offset;
> 00  		uint8_t      Padding_TelemetryMem0;
> 
> 00 00  		uint16_t     Mem1MaxCurrent;
> 00  		int8_t       Mem1Offset;
> 00  		uint8_t      Padding_TelemetryMem1;
> 
> 00  		uint8_t      AcDcGpio;
> 00  		uint8_t      AcDcPolarity;
> 00  		uint8_t      VR0HotGpio;
> 00  		uint8_t      VR0HotPolarity;
> 
> 00  		uint8_t      VR1HotGpio;
> 00  		uint8_t      VR1HotPolarity;
> 00  		uint8_t      Padding1;
> 00  		uint8_t      Padding2;
> 
> 00  		uint8_t      LedPin0;
> 00  		uint8_t      LedPin1;
> 00  		uint8_t      LedPin2;
> 00  		uint8_t      padding8_4;
> 
> 00  		uint8_t      PllGfxclkSpreadEnabled;
> 00  		uint8_t      PllGfxclkSpreadPercent;
> 00 00  		uint16_t     PllGfxclkSpreadFreq;
> 
> 00  		uint8_t      UclkSpreadEnabled;
> 00  		uint8_t      UclkSpreadPercent;
> 00 00  		uint16_t     UclkSpreadFreq;
> 
> 00  		uint8_t      FclkSpreadEnabled;
> 00  		uint8_t      FclkSpreadPercent;
> 00 00  		uint16_t     FclkSpreadFreq;
> 
> 00  		uint8_t      FllGfxclkSpreadEnabled;
> 00  		uint8_t      FllGfxclkSpreadPercent;
> 00 00  		uint16_t     FllGfxclkSpreadFreq;
> 
> I2cControllerConfig_t I2cControllers[I2C_CONTROLLER_NAME_COUNT 7];
> 00 00 00 00		uint32_t Enabled;
> 00 00 00 00		uint32_t SlaveAddress;
> 00 00 00 00		uint32_t ControllerPort;
> 00 00 00 00		uint32_t ControllerName;
> 00 00 00 00		uint32_t ThermalThrottler;
> 00 00 00 00		uint32_t I2cProtocol;
> 00 00 00 00		uint32_t I2cSpeed;
> 
> 00 00 00 00		uint32_t Enabled;
> 00 00 00 00		uint32_t SlaveAddress;
> 00 00 00 00		uint32_t ControllerPort;
> 00 00 00 00		uint32_t ControllerName;
> 00 00 00 00		uint32_t ThermalThrottler;
> 00 00 00 00		uint32_t I2cProtocol;
> 00 00 00 00		uint32_t I2cSpeed;
> 
> 00 00 00 00		uint32_t Enabled;
> 00 00 00 00		uint32_t SlaveAddress;
> 00 00 00 00		uint32_t ControllerPort;
> 00 00 00 00		uint32_t ControllerName;
> 00 00 00 00		uint32_t ThermalThrottler;
> 00 00 00 00		uint32_t I2cProtocol;
> 00 00 00 00		uint32_t I2cSpeed;
> 
> 00 00 00 00		uint32_t Enabled;
> 00 00 00 00		uint32_t SlaveAddress;
> 00 00 00 00		uint32_t ControllerPort;
> 00 00 00 00		uint32_t ControllerName;
> 00 00 00 00		uint32_t ThermalThrottler;
> 00 00 00 00		uint32_t I2cProtocol;
> 00 00 00 00		uint32_t I2cSpeed;
> 
> 00 00 00 00		uint32_t Enabled;
> 00 00 00 00		uint32_t SlaveAddress;
> 00 00 00 00		uint32_t ControllerPort;
> 00 00 00 00		uint32_t ControllerName;
> 00 00 00 00		uint32_t ThermalThrottler;
> 00 00 00 00		uint32_t I2cProtocol;
> 00 00 00 00		uint32_t I2cSpeed;
> 
> 00 00 00 00		uint32_t Enabled;
> 00 00 00 00		uint32_t SlaveAddress;
> 00 00 00 00		uint32_t ControllerPort;
> 00 00 00 00		uint32_t ControllerName;
> 00 00 00 00		uint32_t ThermalThrottler;
> 00 00 00 00		uint32_t I2cProtocol;
> 00 00 00 00		uint32_t I2cSpeed;
> 
> 00 00 00 00		uint32_t Enabled;
> 00 00 00 00		uint32_t SlaveAddress;
> 00 00 00 00		uint32_t ControllerPort;
> 00 00 00 00		uint32_t ControllerName;
> 00 00 00 00		uint32_t ThermalThrottler;
> 00 00 00 00		uint32_t I2cProtocol;
> 00 00 00 00		uint32_t I2cSpeed;
> 
> uint32_t     BoardReserved[10];
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> uint32_t     MmHubPadding[8];
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 
> 
> 
> 
> The fan settings:
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> Code:
> 
> 
> 00 00  (°C)  FanStopTemp
> 00 00  (°C)  FanStartTemp
> 90 01  (0x190 = 400)  FanGainEdge
> 90 01  (0x190 = 400)  FanGainHotspot
> 90 01  (0x190 = 400)  FanGainLiquid
> 90 01  (0x190 = 400)  FanGainVrGfx
> 90 01  (0x190 = 400)  FanGainVrSoc
> 90 01  (0x190 = 400)  FanGainPlx
> 90 01  (0x190 = 400)  FanGainHbm
> 14 00  (0x14 = 20%)  FanPwmMin
> 54 0B  (0xB54 = 2900RPM)  FanAcousticLimitRpm
> 54 0B  (0xB54 = 2900RPM)  FanThrottlingRpm
> 0A 0F  (0xF0A = 3850RPM)  FanMaximumRpm
> 5F 00  (0x5F = 95°C)  FanTargetTemperature
> 00 00    FanTargetGfxclk
> 00  (00=off, 01=on)     FanZeroRpmEnable
> 02       FanTachEdgePerRev
> 00 00  FuzzyFan_ErrorSetDelta;
> 00 00  FuzzyFan_ErrorRateSetDelta;
> 00 00  FuzzyFan_PwmSetDelta;
> 00 00  FuzzyFan_Reserved;
> ...
> 54 0B (0xB54 = 2900RPM)  MGpuFanBoostLimitRpm;
> 00 00  padding16_Fan;
> 
> 90 01 (0x190 = 400)  FanGainVrMem0;
> 90 01 (0x190 = 400)  FanGainVrMem1;
> ...
> --------------------------------------------------
> ATOM_VEGA20_ODSETTING_FANRPMMIN,
> ATOM_VEGA20_ODSETTING_FANRPMACOUSTICLIMIT,
> ATOM_VEGA20_ODSETTING_FANTARGETTEMPERATURE
> 
> ODSettingsMax [32];           //Upper Limit for each OD Setting
> 98 08 00 00
> 98 08 00 00
> 98 08 00 00
> C2 04 00 00
> 98 08 00 00
> C2 04 00 00
> 98 08 00 00
> C2 04 00 00
> B0 04 00 00
> 14 00 00 00
> 0A 0F 00 00
> 0A 0F 00 00
> 5F 00 00 00
> 6E 00 00 00
> 02 00 00 00
> 00 00 00 00
> 01 00 00 00
> 01 00 00 00
> 01 00 00 00
> 5F 00 00 00
> 64 00 00 00
> 5F 00 00 00
> 64 00 00 00
> 5F 00 00 00
> 64 00 00 00
> 5F 00 00 00
> 64 00 00 00
> 5F 00 00 00
> 64 00 00 00
> 00 00 00 00
> 00 00 00 00
> 00 00 00 00
> 
> ATOM_VEGA20_ODSETTING_ID:
> ATOM_VEGA20_ODSETTING_GFXCLKFMAX = 0,
> ATOM_VEGA20_ODSETTING_GFXCLKFMIN,
> ATOM_VEGA20_ODSETTING_VDDGFXCURVEFREQ_P1,
> ATOM_VEGA20_ODSETTING_VDDGFXCURVEVOLTAGEOFFSET_P1,
> ATOM_VEGA20_ODSETTING_VDDGFXCURVEFREQ_P2,
> ATOM_VEGA20_ODSETTING_VDDGFXCURVEVOLTAGEOFFSET_P2,
> ATOM_VEGA20_ODSETTING_VDDGFXCURVEFREQ_P3,
> ATOM_VEGA20_ODSETTING_VDDGFXCURVEVOLTAGEOFFSET_P3,
> ATOM_VEGA20_ODSETTING_UCLKFMAX,
> ATOM_VEGA20_ODSETTING_POWERPERCENTAGE,
> ATOM_VEGA20_ODSETTING_FANRPMMIN,
> ATOM_VEGA20_ODSETTING_FANRPMACOUSTICLIMIT,
> ATOM_VEGA20_ODSETTING_FANTARGETTEMPERATURE,
> ATOM_VEGA20_ODSETTING_OPERATINGTEMPMAX,
> ATOM_VEGA20_ODSETTING_COUNT,
> 
> 
> 
> 
> And here are some tables i made:
> 
> MorePowerVII:
> vanilla version, no changes.
> 
> MorePowerVII_50:
> +50%(+20%) max power limit, max HBM 1300MHz (1200MHz)
> 
> MorePowerVII_77:
> +77%(+20%) max power limit, 400A TDC Core (330A), 66A TDC SoC (50A), max HBM 1300MHz (1200MHz)
> 
> MorePowerVII_77+:
> +77%(+20%) max power limit, 400A TDC Core (330A), 66A TDC SoC (50A)
> 1193mV SoC (1168mV), max HBM 1300MHz (1200MHz)
> 
> MorePowerVII_77_UV:
> +77%(+20%) max power limit, 400A TDC Core (330A), 66A TDC SoC (50A)
> 1168mV Vcore (1218mV), max HBM 1300MHz (1200MHz)
> 
> EvenMorePowerVII:
> 500W(250W) TDP, +99%(+20%) max power limit, 600A TDC Core (330A), 100A TDC SoC (50A), max HBM 1300MHz (1200MHz)
> 
> EvenMorePowerVII_1293:
> 500W(250W) TDP, +99%(+20%) max power limit, 600A TDC Core (330A), 100A TDC SoC (50A)
> 1293mV Vcore (1218mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)
> 
> EvenMorePowerVII_1293+:
> 500W(250W) TDP, +99%(+20%) max power limit, 600A TDC Core (330A), 100A TDC SoC (50A)
> 1293mV Vcore (1218mV), 1218mV SoC (1168mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)
> 
> EvenMorePowerVII_1293++:
> 500W(250W) TDP, +99%(+20%) max power limit, 600A TDC Core (330A), 100A TDC SoC (50A)
> 1293mV Vcore (1218mV), 1243mV SoC (1168mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)
> 
> EvenMorePowerVII_1318++:
> 500W(250W) TDP, +99%(+20%) max power limit, 600A TDC Core (330A), 100A TDC SoC (50A)
> 1318mV Vcore (1218mV), 1243mV SoC (1168mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)
> 
> EvenMorePowerVII_1343++:
> 1000W(250W) TDP, +99%(+20%) max power limit, 800A TDC Core (330A), 150A TDC SoC (50A)
> 1343mV Vcore (1218mV), 1243mV SoC (1168mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)
> 
> EvenMorePowerVII_1343+++:
> 1000W(250W) TDP, +99%(+20%) max power limit, 800A TDC Core (330A), 150A TDC SoC (50A)
> 1343mV Vcore (1218mV), 1268mV SoC (1168mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> Code:
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> Code:


Thanks hellm again! Currently running EvenMorePowerVII_1293+ with no issues. Im waiting for the GPU waterblock so i can OC ever further with more voltage.

New vBios from AMD worked like a charm over here. Im running game-stable @ 1950mhz with 1090mv! Stock voltage was 1072mv
Benchmarks are running @ way lower voltage tho!


----------



## 113802

majestynl said:


> Thanks hellm again! Currently running EvenMorePowerVII_1293+ with no issues. Im waiting for the GPU waterblock so i can OC ever further with more voltage.
> 
> New vBios from AMD worked like a charm over here. Im running game-stable @ 1950mhz with 1090mv! Stock voltage was 1072mv
> Benchmarks are running @ way lower voltage tho!


What a card! I'm unlucky with my card, it's stock voltage is 1136mV @ 1800Mhz. I can run 1800Mhz @ 1050mV but overclocking just black screens.


----------



## majestynl

WannaBeOCer said:


> What a card! I'm unlucky with my card, it's stock voltage is 1136mV @ 1800Mhz. I can run 1800Mhz @ 1050mV but overclocking just black screens.


yeah i got lucky with it. Its not the best around but definitely not the worst 

That's [email protected] yours cant OC that well.. Probably you already did, but just asking it: 
Did you flash the latest vBios? and what are the tJunction peaks at 1800mhz and 1050mv


----------



## 113802

majestynl said:


> yeah i got lucky with it. Its not the best around but definitely not the worst
> 
> That's [email protected] yours cant OC that well.. Probably you already did, but just asking it:
> Did you flash the latest vBios? and what are the tJunction peaks at 1800mhz and 1050mv


Yeah I flashed the v106 bios, tJunction peaks around 88c at 1050mV.


----------



## majestynl

WannaBeOCer said:


> Yeah I flashed the v106 bios, tJunction peaks around 88c at 1050mV.


hmm 88c is oke. And are you increasing the power limit? Its really strange you cant OC above stock Boost clocks. 
Have you tried to log data with HwInfo while trying to OC?


----------



## jaggafeen

when i run battlefield 5 ultra at 5120x2160 using stock settings on wattman (power slider all the way down -20) i get 104 degrees junction temperature is this normal or is my card toasty?


----------



## CarbonFire

Back at it @hellm with 19.3.1

Did some quick testing at lunch. If this is fixing my stability issues, we can probably push further again


----------



## hellm

CarbonFire said:


> Back at it @hellm with 19.3.1
> 
> Did some quick testing at lunch. If this is fixing my stability issues, we can probably push further again


missed 35k graphics score by 3 points! i don't think anyone came near this score so far :thumbsups
https://www.3dmark.com/search#/?mod...?minScore=0&gpuName=AMD Radeon VII&gpuCount=1
https://hwbot.org/benchmark/3dmark_...Id=videocard_3150&cores=1#start=0#interval=20


----------



## CarbonFire

hellm said:


> missed 35k graphics score by 3 points! i don't think anyone came near this score so far :thumbsups
> https://www.3dmark.com/search#/?mod...?minScore=0&gpuName=AMD Radeon VII&gpuCount=1
> https://hwbot.org/benchmark/3dmark_...Id=videocard_3150&cores=1#start=0#interval=20




I got a run over 35K, but without the CPU turned up:
https://www.3dmark.com/fs/18619679

Working on Superposition:
https://benchmark.unigine.com/results/rid_5c121ad3a12f4b8fbe574ccb9abee3cf

And TimeSpy:
https://www.3dmark.com/spy/6525910

Is there any way to improve the memory? Voltage, timings, or more than 1 target frequency?


----------



## hellm

There is. I am not the person to talk to for this, though. Buildzoid made a vid about mem timings, i believe.

oh, wait, not system memory, vmem! right.. ugh, i think there might be. Since the driver can override it, there should be a way. I didn't heard about any successful attempts to make use of this so far. So, whatever wattman is offering.. but we can't change timings with the PowerPlay mod.


----------



## lmolenaar

hellm said:


> It is definitely locked. All the byte-code in the BIOS is still there, and this code cleary changed with non-UEFI and UEFI v105 BIOS.
> 
> Also, there has to be some lock to prevent sold out VII for cheap Radeon Instinct workstation cards.
> 
> Whatever, we still have PowerPlay, and the newest version has more to offer than on Vega64/56.
> ...
> 
> And here are some tables i made:
> 
> 
> Spoiler
> 
> 
> 
> 
> 
> 
> Code:
> 
> 
> MorePowerVII:
> vanilla version, no changes.
> 
> MorePowerVII_50:
> +50%(+20%) max power limit, max HBM 1300MHz (1200MHz)
> 
> MorePowerVII_77:
> +77%(+20%) max power limit, 400A TDC Core (330A), 66A TDC SoC (50A), max HBM 1300MHz (1200MHz)
> 
> MorePowerVII_77+:
> +77%(+20%) max power limit, 400A TDC Core (330A), 66A TDC SoC (50A)
> 1193mV SoC (1168mV), max HBM 1300MHz (1200MHz)
> 
> MorePowerVII_77_UV:
> +77%(+20%) max power limit, 400A TDC Core (330A), 66A TDC SoC (50A)
> 1168mV Vcore (1218mV), max HBM 1300MHz (1200MHz)
> 
> EvenMorePowerVII:
> 500W(250W) TDP, +99%(+20%) max power limit, 600A TDC Core (330A), 100A TDC SoC (50A), max HBM 1300MHz (1200MHz)
> 
> EvenMorePowerVII_1293:
> 500W(250W) TDP, +99%(+20%) max power limit, 600A TDC Core (330A), 100A TDC SoC (50A)
> 1293mV Vcore (1218mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)
> 
> EvenMorePowerVII_1293+:
> 500W(250W) TDP, +99%(+20%) max power limit, 600A TDC Core (330A), 100A TDC SoC (50A)
> 1293mV Vcore (1218mV), 1218mV SoC (1168mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)
> 
> EvenMorePowerVII_1293++:
> 500W(250W) TDP, +99%(+20%) max power limit, 600A TDC Core (330A), 100A TDC SoC (50A)
> 1293mV Vcore (1218mV), 1243mV SoC (1168mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)
> 
> EvenMorePowerVII_1318++:
> 500W(250W) TDP, +99%(+20%) max power limit, 600A TDC Core (330A), 100A TDC SoC (50A)
> 1318mV Vcore (1218mV), 1243mV SoC (1168mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)
> 
> EvenMorePowerVII_1343++:
> 1000W(250W) TDP, +99%(+20%) max power limit, 800A TDC Core (330A), 150A TDC SoC (50A)
> 1343mV Vcore (1218mV), 1243mV SoC (1168mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)
> 
> EvenMorePowerVII_1343+++:
> 1000W(250W) TDP, +99%(+20%) max power limit, 800A TDC Core (330A), 150A TDC SoC (50A)
> 1343mV Vcore (1218mV), 1268mV SoC (1168mV), max Core 2400MHz (2200MHz), max HBM 1400MHz (1200MHz)
> 
> [/SPOILER][/quote]
> 
> Could somebody please explain how I as n00b should approach these Powerplay tables? Are these already increasing clock speeds/mV values or do they only enable (remove software limits) them so I can manually try to find out what my card is capable of by baby step increases in wattman?


----------



## hellm

try page 1 and 26.
or translate this site from german to your favorite language. however, i believe his style of writing is not really compatible..
https://www.tomshw.de/2019/02/27/rt...weaks-fuer-neueinsteiger-und-profis-igorslab/


----------



## KL0nLutiy

AMD Memory Tweak https://bitcointalk.org/index.php?topic=5123724.0


----------



## jordanpchome

@wolf9466

Can you please upload [D0501192.006] this BIOS file to me?
Thank you


----------



## DDSZ

My strix vega 56 acts strange, as I wrote here: https://www.overclock.net/forum/67-...r-rx-vega-owners-thread-745.html#post27911266
In short, when I disable CSM in MoBo's boot settings, the monitor, thats connected using displayport, starts turning on and off until the driver loads (on POST screen, in MoBo settings, on windows boot screen etc).
I was thinking that updating UEFI GOP using GOPupd could help, but there are some problems too. 
First: it didn't help 
Second: amdvbflashwin.exe shows that my updated rom has 2.4.0.0.0 GOP, but after flashing it and going to GPU info section in MoBo's settings, it still shows 2.1.0.0.0.
Any ideas?


----------



## MrPerforations

hello's
flashing the Hynix with the vega64lc bios , bad or good idea please?
I get the feeling that Hynix cant accept the v64bios, is that the case please?


----------



## heavyarms1912

@hellm can we increase SoC voltage on v56/v64?


----------



## hellm

No, neither can we increase HBM voltage. There is an entry for that, it is just not used. No mentioning of SoC. On Vega 56/64 the voltage stuff is realized through the tables ASIC_Profiling and ASIC_init, former is gone with VII, the latter is shrinked down. We are still locked out, so for any mods on the SoC Voltage you have to ask buildzoid for hardmods.


----------



## MrGenius

KL0nLutiy said:


> AMD Memory Tweak https://bitcointalk.org/index.php?topic=5123724.0


Linux only. Soooooo...pretty much worthless.:rolleyess


----------



## heavyarms1912

hellm said:


> No, neither can we increase HBM voltage. There is an entry for that, it is just not used. No mentioning of SoC. On Vega 56/64 the voltage stuff is realized through the tables ASIC_Profiling and ASIC_init, former is gone with VII, the latter is shrinked down. We are still locked out, so for any mods on the SoC Voltage you have to ask buildzoid for hardmods.


So does that mean only SoC frequency is what made the reference vega 56 overclock to 1100 range? Given the fact that they all use same HBM2.


----------



## shadowxaero

@hellm Anyway to set core clocks in PPT for Radeon VII like we could on Vega 56/64?


Edit: Also


----------



## hellm

Frequency, yes, plenty of frequency. We got so much frequency here.. 
maybe start with FreqTableGfx and the two values after the freq tables, minimum and maximum frequency.


Code:


uint16_t       FreqTableGfx[16];
BC 02 
28 03 
6E 04 
5C 05 
0A 06 
93 06 
D5 06 
ED 06 
09 07 
00 00 
00 00 
00 00 
00 00 
00 00 
00 00 
00 00  
  		uint16_t       FreqTableVclk     [NUM_VCLK_DPM_LEVELS    8];
66 01 
E6 01 
6B 02 
F4 02 
52 03 
CC 03 
6E 04 
6E 04     
  		uint16_t       FreqTableDclk     [NUM_DCLK_DPM_LEVELS    8];
36 01 
90 01 
0C 02 
6B 02 
A8 02 
F4 02 
52 03 
CC 03    
  		uint16_t       FreqTableEclk     [NUM_ECLK_DPM_LEVELS    8];
36 01 
90 01 
0C 02 
6B 02 
A8 02 
F4 02 
52 03 
CC 03  
  		uint16_t       FreqTableSocclk   [NUM_SOCCLK_DPM_LEVELS  8];
36 01 
0C 02 
37 02 
6B 02 
A8 02 
F4 02 
52 03 
CC 03
  		uint16_t       FreqTableUclk     [NUM_UCLK_DPM_LEVELS    4];
5E 01 
20 03 
E8 03 
E8 03
  		uint16_t       FreqTableFclk     [NUM_FCLK_DPM_LEVELS    8];
26 02 
62 02 
B2 02 
F8 02 
66 03 
C0 03 
38 04 
C9 04 
  		uint16_t       FreqTableDcefclk  [NUM_DCEFCLK_DPM_LEVELS 8];
66 01 
C6 01 
37 02 
A8 02 
F4 02 
52 03 
CC 03 
6E 04 
  		uint16_t       FreqTableDispclk  [NUM_DISPCLK_DPM_LEVELS 8];
66 01 
C6 01 
37 02 
A8 02 
F4 02 
52 03 
CC 03 
6E 04  
  		uint16_t       FreqTablePixclk   [NUM_PIXCLK_DPM_LEVELS  8];
93 00 
F2 00 
58 01 
E4 01 
15 02 
AA 03 
13 04 
34 04  
  		uint16_t       FreqTablePhyclk   [NUM_PHYCLK_DPM_LEVELS  8];
0E 01 
1C 02 
2A 03 
00 00 
00 00 
00 00 
00 00 
00 00
  		uint16_t       DcModeMaxFreq     [PPCLK_COUNT            11];
09 07 
6E 04 
CC 03 
CC 03 
CC 03 
E8 03 
6E 04 
6E 04 
34 04 
2A 03 
C9 04
..
28 03  (300MHz)		uint16_t        GfxclkFidle;
..
09 07  (1801MHz)		uint16_t        GfxclkDsMaxFreq;


----------



## MrPerforations

nvm


----------



## shadowxaero

@hellm Okay, so when I change the default frequency (to 2075) changes reflect in Radeon settings but voltages changes to  to 1.455v to be exact lol?

So I know what to change for freq now but what to change to set voltage at that freq? I am confused lol. I noticed what I thought were the voltage values in the 1293+ reg file. The line

"60,09,00,00,0D,05,00,00,60,09,00,00,0D,05,00,00,60,09,00,00,0D,05,00,00,78"

and the values 0D,05 but maybe I am wrong as changing those do nothing.

All this to say, with Vega 64 after I found my max stable OC I would save that in PPT and thus wouldn't need to bother with AB, Radeon Setting, or any other OC software. So I am trying to accomplish the same with R7 lol.


----------



## m70b1jr

Hey! I could use some help. I just got a waterblock for my vega 56 (Custom water loop), Im using the vega64LC +142% Regedit, but the card throttles at 50c. Can i get some help?


----------



## heavyarms1912

hellm said:


> Frequency, yes, plenty of frequency. We got so much frequency here..
> maybe start with FreqTableGfx and the two values after the freq tables, minimum and maximum frequency.
> 
> 
> 
> Code:
> 
> 
> uint16_t       FreqTableSocclk   [NUM_SOCCLK_DPM_LEVELS  8];
> 36 01
> 0C 02
> 37 02
> 6B 02
> A8 02
> F4 02
> 52 03
> CC 03


Does the first two translate as min and max for soc clocks too


----------



## MrPerforations

hello's,
I have no knowledge of registry hacking, I managed to get the powerplay table in to the registry and set both cards up to 100% power, but I have Hynix™ ram and it can't do 945mhz, can you tell me which piece of code to change to set the hbm to the 800mhz value please?

only just started fiddling with them, just took the lead with the AMD™ Ryzen R7 1700 and MSI™ AMD™ RX Vega 56 Crossfire™ timespy, 12782. can wait for my water blocks in next few days, my hair is totally dry now.
and I think I'm on the limit of wattage from my EVGA™ Supernova™ 1000 G2.


----------



## Galactic Rebel

Has anyone tried BIOS flashing a ASUS STRIX Vega 64 with a LC bios? The VRMs are firmware locked so I can't override them with PowerPlay Tables and therefor the card throttles clocks more as I get closer to the 330W max, temps never go over 50C with an aggressive fan profile and all other temps are in check as well. The card should have a dual BIOS (master & slave BIOS) so I'm considering flashing it with different BIOS, obviously this isn't a reference card so it's a bit of unknown territory but I've seen others flash their Air 64 with a LC 64 bios successfully.


----------



## MrPerforations

nvm, I got it sorted.
MSI™ AMD™ Radeon™ RX Vega 56 Air boost oc powerplay table.

220w base with 100% power limit.

don't forget to turn the cooling up.

Crossfire scores on air cooling,
3dmark Time spy 12876 at 50%
3dmark Time spy 12855 at 100%


please check if you can.


----------



## AstralStorm

Hello folks, I'm trying to either make Vega 64 look like Vega FE to Windows or vice versa. This is to workaround some dumb application's DirectX 12 bad compute implementation which does not work in multiple adapter mode when the adapters are either linked or separate.

Unfortunately, the Vega FE 8 GB VBIOS just fails to post this my Sapphire Vega 64 despite memory types etc. matching. Apparently the HBM2 I got on the 64 do not like overvolting by 0.05V?
That Vega 64 is Sapphire's newer "black" reference, 21275-03-20G with VBIOS PN 113-D0500150-105, water cooled under Watercool Heatkiller.

Is there any other way to trick the drivers and/or software that this Vega FE is a Vega 64 or vice versa? (PCI IDs, DirectX 12 compute node ids etc.)


----------



## shadowxaero

MrGenius said:


> Linux only. Soooooo...pretty much worthless.:rolleyess


There is a windows version now.


----------



## BeetleatWar1977

AstralStorm said:


> Hello folks, I'm trying to either make Vega 64 look like Vega FE to Windows or vice versa. This is to workaround some dumb application's DirectX 12 bad compute implementation which does not work in multiple adapter mode when the adapters are either linked or separate.
> 
> Unfortunately, the Vega FE 8 GB VBIOS just fails to post this my Sapphire Vega 64 despite memory types etc. matching. Apparently the HBM2 I got on the 64 do not like overvolting by 0.05V?
> That Vega 64 is Sapphire's newer "black" reference, 21275-03-20G with VBIOS PN 113-D0500150-105, water cooled under Watercool Heatkiller.
> 
> Is there any other way to trick the drivers and/or software that this Vega FE is a Vega 64 or vice versa? (PCI IDs, DirectX 12 compute node ids etc.)


how about using the W8200 bios? https://www.techpowerup.com/vgabios/205876/amd-wx8200-8192-180922


----------



## mtrai

MrGenius said:


> Linux only. Soooooo...pretty much worthless.:rolleyess


It is now also available for windows.



> Current support:
> - AMD GPU's with GDDR5, HBM(Later) and HBM2 memory. (check code for more details)
> - Linux only
> - Windows supported
> 
> As of now, also a GUI version (Windows)
> Can be found in the releases section on github.
> Link: Github
> Direct Link for latest GUI version: GUI https://github.com/Eliovp/amdmemorytweak/releases/tag/0.2


https://bitcointalk.org/index.php?topic=5123724.0


----------



## newls1

is there any advantage for me to flash the bios on my radeon VII? if so, which bios do i choose from and how to flash it? Thank you for any assistance


----------



## MrGenius

shadowxaero said:


> There is a windows version now.





mtrai said:


> It is now also available for windows.
> 
> 
> 
> https://bitcointalk.org/index.php?topic=5123724.0


Good to know. Thanks! :thumb:


----------



## mtrai

MrGenius said:


> Good to know. Thanks! :thumb:


It works great on all the gpus supported. It supports Vega 56/ 64, Vega VII, and Polaris 470, 570, 580.

@hellm have you checked out the AMD Memory Tweak tool? It rocks.

First Pic is stock Vega 64 HBM timing. Second pic is with my custom hbm time with this tool...note still testing.


----------



## ivoto88

Hi guys. I have strange problem I managed to to reach [email protected]
1150mhz hbm2 1200mv 150% power target 3700 timespy ex. 
the card is powercolour samsung mem. 
the problem is if i flash 64lc instead of just 64 it start throttle the power it cant pass 350w on the monitoring and it falls to 40w and then it gets back. 
i tried with pptable all kinds same story. exept one time and after it started again. 
i want this extra 50mv but i cant do nothing i tried many bioses of lc same thing. any ideas?


----------



## MrGenius

ivoto88 said:


> i want this extra 50mv but i cant do nothing i tried many bioses of lc same thing. any ideas?


You don't really even need the LC BIOS. You can overvolt the core with the SoftPowerPlay tables(it's a PITA though). And, in my experience, overvolting the core doesn't get you anywhere(on ambient cooling anyway). I've got the same card as yours with a Morpheus II on it. I got the core overvolted with the SPP tables and WattMan. All it did was throttle like mad though. The more volts you add the harder/faster it throttles(or just flat out crashes when you start adding a lot). I couldn't even manage to get a single MHz gain no matter how much I overvolted it. And even just +25mV made it throttle worse than stock. Complete waste of time. I don't recommend it. I've never been able to get the LC BIOS to work at all either. It's an even bigger waste of time than overvolting with SPP and WattMan. Literally, my card will barely boot with the LC BIOS, do any little thing and it just crashes. I don't get how some people are able to get anywhere with that. :headscrat

Anywho...Vega pretty much sucks. But I don't blame the card. I blame the idiots who came up with AVFS(Advanced Voltage and Frequency Scaling). Which artificially cripples it. It'd be *WAY* better if we could disable that garbage and do some serious tweaking. But whatever. It runs my games plenty good @ 1440p. So I can't complain too much...


----------



## Eliovp

MrGenius said:


> You don't really even need the LC BIOS. You can overvolt the core with the SoftPowerPlay tables(it's a PITA though). And, in my experience, overvolting the core doesn't get you anywhere(on ambient cooling anyway). I've got the same card as yours with a Morpheus II on it. I got the core overvolted with the SPP tables and WattMan. All it did was throttle like mad though. The more volts you add the harder/faster it throttles(or just flat out crashes when you start adding a lot). I couldn't even manage to get a single MHz gain no matter how much I overvolted it. And even just +25mV made it throttle worse than stock. Complete waste of time. I don't recommend it. I've never been able to get the LC BIOS to work at all either. It's an even bigger waste of time than overvolting with SPP and WattMan. Literally, my card will barely boot with the LC BIOS, do any little thing and it just crashes. I don't get how some people are able to get anywhere with that. :headscrat
> 
> Anywho...Vega pretty much sucks. But I don't blame the card. I blame the idiots who came up with AVFS(Advanced Voltage and Frequency Scaling). Which artificially cripples it. It'd be *WAY* better if we could disable that garbage and do some serious tweaking. But whatever. It runs my games plenty good @ 1440p. So I can't complain too much...


You can turn AVFS off in powerplay table.

Here's a stock powerplaytable from a Vega 56


Code:


A9 02 08 01 00 5C 00 68 07 00 00 DC 2C 00 00 1B 00 48 00 00 00 80 A9 03 00 F0 49 02 00 32 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 01 5C 00 40 02 37 02 94 00 8F 01 B4 00 1E 01 7A 00 8C 00 AD 01 00 00 00 00 65 02 00 00 90 00 9B 02 5E 01 34 01 88 01 68 36 02 00 71 02 02 02 00 00 00 00 00 00 08 00 00 00 00 00 00 00 05 00 07 00 03 00 05 00 00 00 00 00 00 00 01 08 20 03 84 03 B6 03 E8 03 1A 04 4C 04 7E 04 B0 04 01 01 E2 04 01 01 84 03 00 06 60 EA 00 00 00 40 19 01 00 01 DC 4A 01 00 02 00 77 01 00 03 90 91 01 00 05 6C B0 01 00 07 01 08 D0 4C 01 00 00 00 80 00 00 00 00 00 00 1C 83 01 00 01 00 00 00 00 00 00 00 00 88 BC 01 00 02 00 00 00 00 00 00 00 00 B4 EF 01 00 03 00 00 00 00 00 00 00 00 80 00 02 00 04 00 00 00 00 00 00 00 00 C8 3F 02 00 05 00 00 00 00 01 00 00 00 C8 58 02 00 06 00 00 00 00 01 00 00 00 18 6D 02 00 07 00 00 00 00 01 00 00 00 00 04 60 EA 00 00 00 40 19 01 00 00 DC 4A 01 00 00 90 5F 01 00 00 00 08 28 6E 00 00 00 2C C9 00 00 01 F8 0B 01 00 02 80 38 01 00 03 90 5F 01 00 04 F4 91 01 00 05 D0 B0 01 00 06 C0 D4 01 00 07 00 08 6C 39 00 00 00 24 5E 00 00 01 FC 85 00 00 02 AC BC 00 00 03 34 D0 00 00 04 68 6E 01 00 05 08 97 01 00 06 EC A3 01 00 07 00 01 68 3C 01 00 00 01 04 3C 41 00 00 00 00 00 50 C3 00 00 00 00 00 70 11 01 00 01 00 00 80 38 01 00 02 00 00 01 08 00 98 85 00 00 40 B5 00 00 60 EA 00 00 50 C3 00 00 01 80 BB 00 00 60 EA 00 00 94 0B 01 00 50 C3 00 00 02 78 FF 00 00 40 19 01 00 B4 27 01 00 50 C3 00 00 03 B4 27 01 00 DC 4A 01 00 DC 4A 01 00 50 C3 00 00 04 80 38 01 00 90 5F 01 00 DC 4A 01 00 50 C3 00 00 05 DC 4A 01 00 00 77 01 00 90 5F 01 00 50 C3 00 00 06 00 77 01 00 00 77 01 00 90 5F 01 00 50 C3 00 00 07 00 77 01 00 90 91 01 00 00 77 01 00 50 C3 00 00 01 18 00 00 00 00 00 00 00 0C E4 12 72 06 8C 0A 48 00 1D 00 54 03 90 01 90 01 90 01 90 01 90 01 90 01 90 01 01 32 00 37 00 02 04 21 00 00 07 B4 00 B4 00 B4 00 2C 01 00 00 5B 00 69 00 4A 00 4A 00 5F 00 69 00 69 00 64 00 40 00 90 92 97 60 96 00 90 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 02 D4 30 00 00 02 10 60 EA 00 00 02 10

Here's the same 56 pp table but GFX and SOC AVFS off.


Code:


A9 02 08 01 00 5C 00 68 07 00 00 DC 2C 00 00 1B 00 48 00 00 00 80 A9 03 00 F0 49 02 00 32 00 08 00 00 00 00 00 00 00 00 00 [b]02 02[/b] 00 00 00 02 01 5C 00 40 02 37 02 94 00 8F 01 B4 00 1E 01 7A 00 8C 00 AD 01 00 00 00 00 65 02 00 00 90 00 9B 02 5E 01 34 01 88 01 68 36 02 00 71 02 02 02 00 00 00 00 00 00 08 00 00 00 00 00 00 00 05 00 07 00 03 00 05 00 00 00 00 00 00 00 01 08 20 03 84 03 B6 03 E8 03 1A 04 4C 04 7E 04 B0 04 01 01 E2 04 01 01 84 03 00 06 60 EA 00 00 00 40 19 01 00 01 DC 4A 01 00 02 00 77 01 00 03 90 91 01 00 05 6C B0 01 00 07 01 08 D0 4C 01 00 00 00 80 00 00 00 00 00 00 1C 83 01 00 01 00 00 00 00 00 00 00 00 88 BC 01 00 02 00 00 00 00 00 00 00 00 B4 EF 01 00 03 00 00 00 00 00 00 00 00 80 00 02 00 04 00 00 00 00 00 00 00 00 C8 3F 02 00 05 00 00 00 00 01 00 00 00 C8 58 02 00 06 00 00 00 00 01 00 00 00 18 6D 02 00 07 00 00 00 00 01 00 00 00 00 04 60 EA 00 00 00 40 19 01 00 00 DC 4A 01 00 00 90 5F 01 00 00 00 08 28 6E 00 00 00 2C C9 00 00 01 F8 0B 01 00 02 80 38 01 00 03 90 5F 01 00 04 F4 91 01 00 05 D0 B0 01 00 06 C0 D4 01 00 07 00 08 6C 39 00 00 00 24 5E 00 00 01 FC 85 00 00 02 AC BC 00 00 03 34 D0 00 00 04 68 6E 01 00 05 08 97 01 00 06 EC A3 01 00 07 00 01 68 3C 01 00 00 01 04 3C 41 00 00 00 00 00 50 C3 00 00 00 00 00 70 11 01 00 01 00 00 80 38 01 00 02 00 00 01 08 00 98 85 00 00 40 B5 00 00 60 EA 00 00 50 C3 00 00 01 80 BB 00 00 60 EA 00 00 94 0B 01 00 50 C3 00 00 02 78 FF 00 00 40 19 01 00 B4 27 01 00 50 C3 00 00 03 B4 27 01 00 DC 4A 01 00 DC 4A 01 00 50 C3 00 00 04 80 38 01 00 90 5F 01 00 DC 4A 01 00 50 C3 00 00 05 DC 4A 01 00 00 77 01 00 90 5F 01 00 50 C3 00 00 06 00 77 01 00 00 77 01 00 90 5F 01 00 50 C3 00 00 07 00 77 01 00 90 91 01 00 00 77 01 00 50 C3 00 00 01 18 00 00 00 00 00 00 00 0C E4 12 72 06 8C 0A 48 00 1D 00 54 03 90 01 90 01 90 01 90 01 90 01 90 01 90 01 01 32 00 37 00 02 04 21 00 00 07 B4 00 B4 00 B4 00 2C 01 00 00 5B 00 69 00 4A 00 4A 00 5F 00 69 00 69 00 64 00 40 00 90 92 97 60 96 00 90 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 02 D4 30 00 00 02 10 60 EA 00 00 02 10

Oh and here's only GFX AVFS off


Code:


A9 02 08 01 00 5C 00 68 07 00 00 DC 2C 00 00 1B 00 48 00 00 00 80 A9 03 00 F0 49 02 00 32 00 08 00 00 00 00 00 00 00 00 00 [b]02[/b] 00 00 00 00 02 01 5C 00 40 02 37 02 94 00 8F 01 B4 00 1E 01 7A 00 8C 00 AD 01 00 00 00 00 65 02 00 00 90 00 9B 02 5E 01 34 01 88 01 68 36 02 00 71 02 02 02 00 00 00 00 00 00 08 00 00 00 00 00 00 00 05 00 07 00 03 00 05 00 00 00 00 00 00 00 01 08 20 03 84 03 B6 03 E8 03 1A 04 4C 04 7E 04 B0 04 01 01 E2 04 01 01 84 03 00 06 60 EA 00 00 00 40 19 01 00 01 DC 4A 01 00 02 00 77 01 00 03 90 91 01 00 05 6C B0 01 00 07 01 08 D0 4C 01 00 00 00 80 00 00 00 00 00 00 1C 83 01 00 01 00 00 00 00 00 00 00 00 88 BC 01 00 02 00 00 00 00 00 00 00 00 B4 EF 01 00 03 00 00 00 00 00 00 00 00 80 00 02 00 04 00 00 00 00 00 00 00 00 C8 3F 02 00 05 00 00 00 00 01 00 00 00 C8 58 02 00 06 00 00 00 00 01 00 00 00 18 6D 02 00 07 00 00 00 00 01 00 00 00 00 04 60 EA 00 00 00 40 19 01 00 00 DC 4A 01 00 00 90 5F 01 00 00 00 08 28 6E 00 00 00 2C C9 00 00 01 F8 0B 01 00 02 80 38 01 00 03 90 5F 01 00 04 F4 91 01 00 05 D0 B0 01 00 06 C0 D4 01 00 07 00 08 6C 39 00 00 00 24 5E 00 00 01 FC 85 00 00 02 AC BC 00 00 03 34 D0 00 00 04 68 6E 01 00 05 08 97 01 00 06 EC A3 01 00 07 00 01 68 3C 01 00 00 01 04 3C 41 00 00 00 00 00 50 C3 00 00 00 00 00 70 11 01 00 01 00 00 80 38 01 00 02 00 00 01 08 00 98 85 00 00 40 B5 00 00 60 EA 00 00 50 C3 00 00 01 80 BB 00 00 60 EA 00 00 94 0B 01 00 50 C3 00 00 02 78 FF 00 00 40 19 01 00 B4 27 01 00 50 C3 00 00 03 B4 27 01 00 DC 4A 01 00 DC 4A 01 00 50 C3 00 00 04 80 38 01 00 90 5F 01 00 DC 4A 01 00 50 C3 00 00 05 DC 4A 01 00 00 77 01 00 90 5F 01 00 50 C3 00 00 06 00 77 01 00 00 77 01 00 90 5F 01 00 50 C3 00 00 07 00 77 01 00 90 91 01 00 00 77 01 00 50 C3 00 00 01 18 00 00 00 00 00 00 00 0C E4 12 72 06 8C 0A 48 00 1D 00 54 03 90 01 90 01 90 01 90 01 90 01 90 01 90 01 01 32 00 37 00 02 04 21 00 00 07 B4 00 B4 00 B4 00 2C 01 00 00 5B 00 69 00 4A 00 4A 00 5F 00 69 00 69 00 64 00 40 00 90 92 97 60 96 00 90 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 02 D4 30 00 00 02 10 60 EA 00 00 02 10

Cheers!


----------



## mtrai

Eliovp said:


> You can turn AVFS off in powerplay table.


Do you know if there is a guide to turn this off in the softpowerplay key?...I would like to play around with it on my vega64 with turning it off.


----------



## shadowxaero

Eliovp said:


> You can turn AVFS off in powerplay table.
> 
> Here's a stock powerplaytable from a Vega 56
> 
> 
> Code:
> 
> 
> A9 02 08 01 00 5C 00 68 07 00 00 DC 2C 00 00 1B 00 48 00 00 00 80 A9 03 00 F0 49 02 00 32 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 01 5C 00 40 02 37 02 94 00 8F 01 B4 00 1E 01 7A 00 8C 00 AD 01 00 00 00 00 65 02 00 00 90 00 9B 02 5E 01 34 01 88 01 68 36 02 00 71 02 02 02 00 00 00 00 00 00 08 00 00 00 00 00 00 00 05 00 07 00 03 00 05 00 00 00 00 00 00 00 01 08 20 03 84 03 B6 03 E8 03 1A 04 4C 04 7E 04 B0 04 01 01 E2 04 01 01 84 03 00 06 60 EA 00 00 00 40 19 01 00 01 DC 4A 01 00 02 00 77 01 00 03 90 91 01 00 05 6C B0 01 00 07 01 08 D0 4C 01 00 00 00 80 00 00 00 00 00 00 1C 83 01 00 01 00 00 00 00 00 00 00 00 88 BC 01 00 02 00 00 00 00 00 00 00 00 B4 EF 01 00 03 00 00 00 00 00 00 00 00 80 00 02 00 04 00 00 00 00 00 00 00 00 C8 3F 02 00 05 00 00 00 00 01 00 00 00 C8 58 02 00 06 00 00 00 00 01 00 00 00 18 6D 02 00 07 00 00 00 00 01 00 00 00 00 04 60 EA 00 00 00 40 19 01 00 00 DC 4A 01 00 00 90 5F 01 00 00 00 08 28 6E 00 00 00 2C C9 00 00 01 F8 0B 01 00 02 80 38 01 00 03 90 5F 01 00 04 F4 91 01 00 05 D0 B0 01 00 06 C0 D4 01 00 07 00 08 6C 39 00 00 00 24 5E 00 00 01 FC 85 00 00 02 AC BC 00 00 03 34 D0 00 00 04 68 6E 01 00 05 08 97 01 00 06 EC A3 01 00 07 00 01 68 3C 01 00 00 01 04 3C 41 00 00 00 00 00 50 C3 00 00 00 00 00 70 11 01 00 01 00 00 80 38 01 00 02 00 00 01 08 00 98 85 00 00 40 B5 00 00 60 EA 00 00 50 C3 00 00 01 80 BB 00 00 60 EA 00 00 94 0B 01 00 50 C3 00 00 02 78 FF 00 00 40 19 01 00 B4 27 01 00 50 C3 00 00 03 B4 27 01 00 DC 4A 01 00 DC 4A 01 00 50 C3 00 00 04 80 38 01 00 90 5F 01 00 DC 4A 01 00 50 C3 00 00 05 DC 4A 01 00 00 77 01 00 90 5F 01 00 50 C3 00 00 06 00 77 01 00 00 77 01 00 90 5F 01 00 50 C3 00 00 07 00 77 01 00 90 91 01 00 00 77 01 00 50 C3 00 00 01 18 00 00 00 00 00 00 00 0C E4 12 72 06 8C 0A 48 00 1D 00 54 03 90 01 90 01 90 01 90 01 90 01 90 01 90 01 01 32 00 37 00 02 04 21 00 00 07 B4 00 B4 00 B4 00 2C 01 00 00 5B 00 69 00 4A 00 4A 00 5F 00 69 00 69 00 64 00 40 00 90 92 97 60 96 00 90 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 02 D4 30 00 00 02 10 60 EA 00 00 02 10
> 
> Here's the same 56 pp table but GFX and SOC AVFS off.
> 
> 
> Code:
> 
> 
> A9 02 08 01 00 5C 00 68 07 00 00 DC 2C 00 00 1B 00 48 00 00 00 80 A9 03 00 F0 49 02 00 32 00 08 00 00 00 00 00 00 00 00 00 [b]02 02[/b] 00 00 00 02 01 5C 00 40 02 37 02 94 00 8F 01 B4 00 1E 01 7A 00 8C 00 AD 01 00 00 00 00 65 02 00 00 90 00 9B 02 5E 01 34 01 88 01 68 36 02 00 71 02 02 02 00 00 00 00 00 00 08 00 00 00 00 00 00 00 05 00 07 00 03 00 05 00 00 00 00 00 00 00 01 08 20 03 84 03 B6 03 E8 03 1A 04 4C 04 7E 04 B0 04 01 01 E2 04 01 01 84 03 00 06 60 EA 00 00 00 40 19 01 00 01 DC 4A 01 00 02 00 77 01 00 03 90 91 01 00 05 6C B0 01 00 07 01 08 D0 4C 01 00 00 00 80 00 00 00 00 00 00 1C 83 01 00 01 00 00 00 00 00 00 00 00 88 BC 01 00 02 00 00 00 00 00 00 00 00 B4 EF 01 00 03 00 00 00 00 00 00 00 00 80 00 02 00 04 00 00 00 00 00 00 00 00 C8 3F 02 00 05 00 00 00 00 01 00 00 00 C8 58 02 00 06 00 00 00 00 01 00 00 00 18 6D 02 00 07 00 00 00 00 01 00 00 00 00 04 60 EA 00 00 00 40 19 01 00 00 DC 4A 01 00 00 90 5F 01 00 00 00 08 28 6E 00 00 00 2C C9 00 00 01 F8 0B 01 00 02 80 38 01 00 03 90 5F 01 00 04 F4 91 01 00 05 D0 B0 01 00 06 C0 D4 01 00 07 00 08 6C 39 00 00 00 24 5E 00 00 01 FC 85 00 00 02 AC BC 00 00 03 34 D0 00 00 04 68 6E 01 00 05 08 97 01 00 06 EC A3 01 00 07 00 01 68 3C 01 00 00 01 04 3C 41 00 00 00 00 00 50 C3 00 00 00 00 00 70 11 01 00 01 00 00 80 38 01 00 02 00 00 01 08 00 98 85 00 00 40 B5 00 00 60 EA 00 00 50 C3 00 00 01 80 BB 00 00 60 EA 00 00 94 0B 01 00 50 C3 00 00 02 78 FF 00 00 40 19 01 00 B4 27 01 00 50 C3 00 00 03 B4 27 01 00 DC 4A 01 00 DC 4A 01 00 50 C3 00 00 04 80 38 01 00 90 5F 01 00 DC 4A 01 00 50 C3 00 00 05 DC 4A 01 00 00 77 01 00 90 5F 01 00 50 C3 00 00 06 00 77 01 00 00 77 01 00 90 5F 01 00 50 C3 00 00 07 00 77 01 00 90 91 01 00 00 77 01 00 50 C3 00 00 01 18 00 00 00 00 00 00 00 0C E4 12 72 06 8C 0A 48 00 1D 00 54 03 90 01 90 01 90 01 90 01 90 01 90 01 90 01 01 32 00 37 00 02 04 21 00 00 07 B4 00 B4 00 B4 00 2C 01 00 00 5B 00 69 00 4A 00 4A 00 5F 00 69 00 69 00 64 00 40 00 90 92 97 60 96 00 90 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 02 D4 30 00 00 02 10 60 EA 00 00 02 10
> 
> Oh and here's only GFX AVFS off
> 
> 
> Code:
> 
> 
> A9 02 08 01 00 5C 00 68 07 00 00 DC 2C 00 00 1B 00 48 00 00 00 80 A9 03 00 F0 49 02 00 32 00 08 00 00 00 00 00 00 00 00 00 [b]02[/b] 00 00 00 00 02 01 5C 00 40 02 37 02 94 00 8F 01 B4 00 1E 01 7A 00 8C 00 AD 01 00 00 00 00 65 02 00 00 90 00 9B 02 5E 01 34 01 88 01 68 36 02 00 71 02 02 02 00 00 00 00 00 00 08 00 00 00 00 00 00 00 05 00 07 00 03 00 05 00 00 00 00 00 00 00 01 08 20 03 84 03 B6 03 E8 03 1A 04 4C 04 7E 04 B0 04 01 01 E2 04 01 01 84 03 00 06 60 EA 00 00 00 40 19 01 00 01 DC 4A 01 00 02 00 77 01 00 03 90 91 01 00 05 6C B0 01 00 07 01 08 D0 4C 01 00 00 00 80 00 00 00 00 00 00 1C 83 01 00 01 00 00 00 00 00 00 00 00 88 BC 01 00 02 00 00 00 00 00 00 00 00 B4 EF 01 00 03 00 00 00 00 00 00 00 00 80 00 02 00 04 00 00 00 00 00 00 00 00 C8 3F 02 00 05 00 00 00 00 01 00 00 00 C8 58 02 00 06 00 00 00 00 01 00 00 00 18 6D 02 00 07 00 00 00 00 01 00 00 00 00 04 60 EA 00 00 00 40 19 01 00 00 DC 4A 01 00 00 90 5F 01 00 00 00 08 28 6E 00 00 00 2C C9 00 00 01 F8 0B 01 00 02 80 38 01 00 03 90 5F 01 00 04 F4 91 01 00 05 D0 B0 01 00 06 C0 D4 01 00 07 00 08 6C 39 00 00 00 24 5E 00 00 01 FC 85 00 00 02 AC BC 00 00 03 34 D0 00 00 04 68 6E 01 00 05 08 97 01 00 06 EC A3 01 00 07 00 01 68 3C 01 00 00 01 04 3C 41 00 00 00 00 00 50 C3 00 00 00 00 00 70 11 01 00 01 00 00 80 38 01 00 02 00 00 01 08 00 98 85 00 00 40 B5 00 00 60 EA 00 00 50 C3 00 00 01 80 BB 00 00 60 EA 00 00 94 0B 01 00 50 C3 00 00 02 78 FF 00 00 40 19 01 00 B4 27 01 00 50 C3 00 00 03 B4 27 01 00 DC 4A 01 00 DC 4A 01 00 50 C3 00 00 04 80 38 01 00 90 5F 01 00 DC 4A 01 00 50 C3 00 00 05 DC 4A 01 00 00 77 01 00 90 5F 01 00 50 C3 00 00 06 00 77 01 00 00 77 01 00 90 5F 01 00 50 C3 00 00 07 00 77 01 00 90 91 01 00 00 77 01 00 50 C3 00 00 01 18 00 00 00 00 00 00 00 0C E4 12 72 06 8C 0A 48 00 1D 00 54 03 90 01 90 01 90 01 90 01 90 01 90 01 90 01 01 32 00 37 00 02 04 21 00 00 07 B4 00 B4 00 B4 00 2C 01 00 00 5B 00 69 00 4A 00 4A 00 5F 00 69 00 69 00 64 00 40 00 90 92 97 60 96 00 90 55 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 02 D4 30 00 00 02 10 60 EA 00 00 02 10
> 
> Cheers!



Is there a way to do this on Radeon VII?


----------



## MrGenius

Eliovp said:


> You can turn AVFS off in powerplay table.


Doesn't work.


mtrai said:


> Do you know if there is a guide to turn this off in the softpowerplay key?...I would like to play around with it on my vega64 with turning it off.


Open your PowerPlay table with a text editor(NP++ etc.). On the 3rd line the first 2 hex values are...*supposedly*...for AVFS. They'll be 00 if AVFS is ON. The 1st 00 is for "GFX", the 2nd 00 is for "SOC"...*supposedly*. To turn AVFS OFF...*supposedly*...change them to 02 and save it. Then apply it to your registry and restart(your PC or just the graphics driver). 

Example with "GFX" and "SOC" AVFS turned OFF:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
"PP_PhmSoftPowerPlayTable"=hex:B6,02,08,01,00,5C,00,E1,06,00,00,90,2C,00,00,1B,\
00,48,00,00,00,80,A9,03,00,F0,49,02,00,2C,01,08,00,00,00,00,00,00,00,00,00,\
*02*,*02*,00,00,00,02,01,5C,00,4F,02,46,02,94,00,9E,01,BE,00,28,01,7A,00,8C,00,\
………..

Anyway...good luck with that. I just tried it on my 64 and it did nothing...big surprise...*NOT!!!*...:rolleyess


----------



## mtrai

MrGenius said:


> Doesn't work.
> Open your PowerPlay table with a text editor(NP++ etc.). On the 3rd line the first 2 hex values are...*supposedly*...for AVFS. They'll be 00 if AVFS is ON. The 1st 00 is for "GFX", the 2nd 00 is for "SOC"...*supposedly*. To turn AVFS OFF...*supposedly*...change them to 02 and save it. Then apply it to your registry and restart(your PC or just the graphics driver).
> 
> Example with "GFX" and "SOC" AVFS turned OFF:
> 
> [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
> "PP_PhmSoftPowerPlayTable"=hex:B6,02,08,01,00,5C,00,E1,06,00,00,90,2C,00,00,1B,\
> 00,48,00,00,00,80,A9,03,00,F0,49,02,00,2C,01,08,00,00,00,00,00,00,00,00,00,\
> *02*,*02*,00,00,00,02,01,5C,00,4F,02,46,02,94,00,9E,01,BE,00,28,01,7A,00,8C,00,\
> ………..
> 
> Anyway...good luck with that. I just tried it on my 64 and it did nothing...big surprise...*NOT!!!*...:rolleyess


Thanks that is a big help...will give me a jumping off point of where and what to look.


----------



## newls1

how do you install the v106 bios on amd's website for this card? I cant find any instructions anywhere

edit... nvr mind, my card already has this bios installed


----------



## AstralStorm

BeetleatWar1977 said:


> how about using the W8200 bios? https://www.techpowerup.com/vgabios/205876/amd-wx8200-8192-180922


Won't work, wrong memory, wrong subsystem ID. The card is subsystem id locked, cannot even boot STRIX or MSI Boost firmware or such on any of them.

Even if it did, it'd only work with Pro, that is crippled, drivers, so all OC would have to be done via PP tables, and I don't even know if pro drivers support crossfire.


----------



## AstralStorm

m70b1jr said:


> Hey! I could use some help. I just got a waterblock for my vega 56 (Custom water loop), Im using the vega64LC +142% Regedit, but the card throttles at 50c. Can i get some help?


LC bioses throttle at surprisingly low hotspot temperature, check if tweaking that up with Vega PP table editor helps. (I'll check too, why not.) But make sure to fix up the card number in registry key and to use the LC table. Alternatively flash the AIR bios and bump up the power limit, though that will still throttle at very high powers.


----------



## NexusVibee

Galactic Rebel said:


> Has anyone tried BIOS flashing a ASUS STRIX Vega 64 with a LC bios? The VRMs are firmware locked so I can't override them with PowerPlay Tables and therefor the card throttles clocks more as I get closer to the 330W max, temps never go over 50C with an aggressive fan profile and all other temps are in check as well. The card should have a dual BIOS (master & slave BIOS) so I'm considering flashing it with different BIOS, obviously this isn't a reference card so it's a bit of unknown territory but I've seen others flash their Air 64 with a LC 64 bios successfully.


Yes I've tried. Doesn't work. Have yet to flash the bad bios back to factory. Need a pc with another gpu in top slot to do it. I only have an ITX Mobo. A friend down the road should be able to help. PC just refuses to post. Bypasses gpu stage and just sits on as it if was in splash screen but no image when connected to iGPU


----------



## ducegt

Bummer. If you have a 1x PCIE slot and a video card, you can modify the back of the slot to allow it to seat a 16x slot full sized card. A soldering iron to melt the plastic works. 



NexusVibee said:


> Galactic Rebel said:
> 
> 
> 
> Has anyone tried BIOS flashing a ASUS STRIX Vega 64 with a LC bios? The VRMs are firmware locked so I can't override them with PowerPlay Tables and therefor the card throttles clocks more as I get closer to the 330W max, temps never go over 50C with an aggressive fan profile and all other temps are in check as well. The card should have a dual BIOS (master & slave BIOS) so I'm considering flashing it with different BIOS, obviously this isn't a reference card so it's a bit of unknown territory but I've seen others flash their Air 64 with a LC 64 bios successfully.
> 
> 
> 
> Yes I've tried. Doesn't work. Have yet to flash the bad bios back to factory. Need a pc with another gpu in top slot to do it. I only have an ITX Mobo. A friend down the road should be able to help. PC just refuses to post. Bypasses gpu stage and just sits on as it if was in splash screen but no image when connected to iGPU
Click to expand...


----------



## Galactic Rebel

NexusVibee said:


> Yes I've tried. Doesn't work. Have yet to flash the bad bios back to factory. Need a pc with another gpu in top slot to do it. I only have an ITX Mobo. A friend down the road should be able to help. PC just refuses to post. Bypasses gpu stage and just sits on as it if was in splash screen but no image when connected to iGPU


Ahh that sucks, may be a dumb question but you used an official LC bios signed by AMD right? I hope you can get it back online with help from a friend, cheers.


----------



## NexusVibee

Galactic Rebel said:


> Ahh that sucks, may be a dumb question but you used an official LC bios signed by AMD right? I hope you can get it back online with help from a friend, cheers.


I got it flashed back. For some reason i had to enable CSM Legacy in bios IDK why. BTW i grabbed the AMD 64 Bios off of the TechPowerUp forums so i guess it signed by AMD? It showed up in device manager and everything. Just when it is enabled it will not show a display. I ended up getting a trade for a LC v64 that clocks over 1700 which is nice


----------



## Jesaul

I've got problems with the latest drivers (actually starting from 19.5.x) Overclocking Radeon VII using the reg files from here crashes immediately in 3dmark. 14.x behaves fine.
Is it driver problem? Or registry offset changes?


----------



## hellm

Shouldn't be a problem with offsets or something like that. Just a copy of the BIOS version. If this behaviour remains with the vanilla version of the softpowerplay table, then AMD did cut it.
..though i don't believe it would crash, more like just don't work anymore..


----------



## Jesaul

Well, it crashes mostly just when I start any game. In 5 seconds. I'm forever on 19.4.3


----------



## eliteone11

Jesaul said:


> Well, it crashes mostly just when I start any game. In 5 seconds. I'm forever on 19.4.3


Your a beast dude. I recently just created a 3700x + Radeon 7 machine and of course used the latest drivers and couldn't overclock for squat!! I thought I had the worst card in the world and then I saw your post and DDU'd and installed 19.4.3 and am now getting wayyy better overclocks when previously games would INSTANTLY crash! This needs to be made more known because I'm sure a lot of people have run into the same issue! Running Win10 1903 fwiw


----------



## eliteone11

hellm said:


> Shouldn't be a problem with offsets or something like that. Just a copy of the BIOS version. If this behaviour remains with the vanilla version of the softpowerplay table, then AMD did cut it.
> ..though i don't believe it would crash, more like just don't work anymore..


Confirming that I am seeing the same issue as Jesaul. Just put together a rig with a Radeon 7 and couldnt figure out why my card was overclocking so bad, games were instantly crashing or within 30 seconds. I saw Jesaul's post and sure enough no more issues at all with 19.4.3!! Going wayy higher than what was ever possible before. Windows 10 1903, 3700X + Radeon 7


----------



## Heuchler

Vega64SoftPowerTableEditor Version 1.0.4 being released tomorrow according to hellm - VII Support and minor bug fixes
https://github.com/halsafar/Vega64SoftPowerTableEditor


----------



## hellm

nope.. i was talking about MorePowerTool.  Sorry for the misunderstanding.. fixed it.


----------



## PontiacGTX

Heuchler said:


> Vega64SoftPowerTableEditor Version 1.0.4 being released tomorrow according to hellm - VII Support and minor bug fixes
> https://github.com/halsafar/Vega64SoftPowerTableEditor


mmm this program, why does it lack of limits for the card? I mean if anyone knows the limit for the values on the program I could edit it and make a warning for anyone who want to surpass those values


----------



## Heuchler

PontiacGTX said:


> mmm this program, why does it lack of limits for the card? I mean if anyone knows the limit for the values on the program I could edit it and make a warning for anyone who want to surpass those values


I would have to say these tools are made by people that know what they are doing for people that know what they are doing. Then somebody links me a video of a youtube tech reviewer that selects the maximum voltage available and you know

people that are watching their videos will do the same. Some of these guys are totally unaware of the differences between manufactures and fabs being used in CPUs or GPUs that they are overclocking.


So, when tech tubers claim overclocking methods don't work or aren't worth idoing I tend to ignore them. User Error most likely.

Ryzen 3000 overclocking with 1.4 vcore. HBM overclocking on Fiji with latest drivers. Using a metal PCI bracket to scrape Hitachi TC-HM03 graphite pad of a RX 5700 XT die. Some of these guys have a million followers.


----------



## PontiacGTX

Heuchler said:


> I would have to say these tools are made by people that know what they are doing for people that know what they are doing. Then somebody links me a video of a youtube tech reviewer that selects the maximum voltage available and you know
> 
> people that are watching their videos will do the same. Some of these guys are totally unaware of the differences between manufactures and fabs being used in CPUs or GPUs that they are overclocking.
> 
> 
> So, when tech tubers claim overclocking methods don't work or aren't worth idoing I tend to ignore them. User Error most likely.
> 
> Ryzen 3000 overclocking with 1.4 vcore. HBM overclocking on Fiji with latest drivers. Using a metal PCI bracket to scrape Hitachi TC-HM03 graphite pad of a RX 5700 XT die. Some of these guys have a million followers.


if they know what they do why the max values arent locked? i mean doesnt seem like they know what is the max safe limit, lets say someone who knows the details about these would avoid some kind user error, blocking it or just making a warning before setting the option


----------



## hellm

We have put enough disclaimers and explanations around MorePowerTool, so everyone should get a hint what this little software is capable of and that it should be handled with care. But max OC is not everything you can achieve with it, basically it lets you decide what possibilities wattman will give you. Memory timing control is not capped to 2 extra settings (should be an algorithm), you can do everything with the fan, and you can also decrease voltage and power settings if you want. I capped voltage to 1350mV max for SoC and GFX, because that is already too much but won't kill your card instantly. Its not a LN2 tool. And i let MVDD and VDDCI out, because you have to adjust them accordingly, and not just add here and subtract there.. the mem controller on the GPU is very sensitive, you can easily kill your card in quite a short time with raising just one related voltage.

But since i am with the rebellion.. give power to the people still applies. You have do educate them maybe, can't help everyone, but this is the way to go. Period.


----------



## Heuchler

Thank you hellm. 9 volts does seems like enough but I like to have the options. Sounds like with MorePowerTool Wattmann might replace RivaTuner. When I upgrade my GPU eventually. 

I was wonder if Navi 10 has an artificial memory clock limit. XFX Radeon RX 5700 XT RAW edition seemed to max out at 950 MHz like other cards. But they seem to have boost clocks to 2100 MHz. 

Will just spam F5 till I see a new Igor'sLAB video on youtube.


----------



## PontiacGTX

hellm said:


> We have put enough disclaimers and explanations around MorePowerTool, so everyone should get a hint what this little software is capable of and that it should be handled with care. But max OC is not everything you can achieve with it, basically it lets you decide what possibilities wattman will give you. Memory timing control is not capped to 2 extra settings (should be an algorithm), you can do everything with the fan, and you can also decrease voltage and power settings if you want. I capped voltage to 1350mV max for SoC and GFX, because that is already too much but won't kill your card instantly. Its not a LN2 tool. And i let MVDD and VDDCI out, because you have to adjust them accordingly, and not just add here and subtract there.. the mem controller on the GPU is very sensitive, you can easily kill your card in quite a short time with raising just one related voltage.
> 
> But since i am with the rebellion.. give power to the people still applies. You have do educate them maybe, can't help everyone, but this is the way to go. Period.


I wasnt talking about your tool btw it was about the Vega tool for the power play soft mod


----------



## hellm

PontiacGTX said:


> I wasnt talking about your tool btw it was about the Vega tool for the power play soft mod


sry, i was in a flow of writing..


----------



## strumf666

Any chance for 1st gen Vega support?


----------



## hellm

Sorry, not planned. Too old PowerPlay table, and there are tools already. Like the VegaSPPTEditor, see link on the last page. Registry files see my signature.

But MPT 1.0.4.1 now really works with Vega 20. 

oh and what we already found out.. Memory Timing Control will give you more timing levels, but wattman doesn't accept them, jumps back to level 2.


----------



## PontiacGTX

I havent read all these 137 pages, has anyone compared if the changed in memory timming in RX Vega 64/56 improves gaming performance/compute performance?


----------



## Vento041

PontiacGTX said:


> I havent read all these 137 pages, has anyone compared if the changed in memory timming in RX Vega 64/56 improves gaming performance/compute performance?



Yes. "Easier" starting point: https://www.overclock.net/forum/70-...md-mem-tweak-read-modify-mem-timings-fly.html


----------



## Nevk

My GPU is Vega 64 Liquid Edition, is it safe to increase the power limit to 100% or 150%...even more?

the frequency/voltage at p7 1752 is 1.25v.

i am try to use overdriventool to increase the power limit but im not sure if it is safe/worth to increase the power limit.

Thanks!


----------



## gino8080

hellm said:


> ...
> The following SoftPowerPlay registry files are unmodified copies of the PowerPlay Table found in the BIOS.
> 
> MorePowerVega56msi.zip 1k .zip file
> ...


Hello, sorry I'm very newbie on these arguments

I have a MSI Radeon RX Vega 56 Air Boost 8G

And I want to set it correctly on my Hackintosh rig,
because (on mac) I have very high temps on Idle, 
60-70° C!
and it seems that fans are stopped until 60/70°

Can i use this zip file as PowerPlay Table as a STARTING DEFAULT POINT ?

I found a great excel (attached) by @CMMChris for setting the values to use on Clover,

but I want to know which are the default values for my GPU to use to start trying to fix values
I don't know which are my default values to put into the excel

can anyone help me with that?

thank you!


----------



## strumf666

If you are efficiency-conscious then overclocking or increasing the power limit is out of the question. If you want to squeeze the last fps from the gpu, then it's the only way


----------



## jordanpchome

Https://www.overclock.net/forum/26289209-post193.html
Can someone upload the BIOS file "D0501192.006" to me?
Thank you


----------



## wefornes

hello people, i few weeks ago i put on water cooling my vega 64 strix from asus, and i wolud like to get more performance from my gpu,
can you help me with some tips. 
best regards.

P.D: i have a custom profile on radeon software power limit of 25% very stable. later i will upload an image with this custom profile for gaming.


----------



## MrGenius

Ok...what the hell's going on with the SPPT not working with these latest 2 drivers? That's gonna screw us up BIG TIME!!! I WANT MY HIGHER POWER LIMITS AND MY RIS TOO!!! :madsmiley










Wait...I think I figured out what my problem is. Registry got fouled up somehow. My card got put under 0003 instead of 0000. NM...
:wackosmil


----------



## Skinnered

Any chance getting this to work for the second VII ? In Watt the value's (max freq., max voltage and power etc.) keep the same. (playing with two VII's for the 7 or 8 games that support expliciet multi GPU )


----------



## Alastair

Guys I was wondering if anyone can give me a hand.

I have a reference Vega 64 air. 
I have it cooled with a Barrow full cover water block. 
I live in South Africa. Summer is here. And I don't have AC. If I leave my fans at around 1500 rpm I'll get about 48C core and around 70C hot-spot at 163MHz +50% power limit which gives me around 1600 in games. 

I want to load the LC bios to my card. But every time I do I get very odd behavior. When I use the LC bios I get very odd clock fluctuations. They swing very wildly to the point it causes severe stutter in games. Even when I lower my clocks down to the same level as the air biosit still does it. Thermals are fine even with the extra voltage. I have also done the soft power play table mod for 150% power and it still happens. 

Has anyone had any experience with something like this?


----------



## jearly410

Alastair said:


> Guys I was wondering if anyone can give me a hand.
> 
> I have a reference Vega 64 air.
> I have it cooled with a Barrow full cover water block.
> I live in South Africa. Summer is here. And I don't have AC. If I leave my fans at around 1500 rpm I'll get about 48C core and around 70C hot-spot at 163MHz +50% power limit which gives me around 1600 in games.
> 
> I want to load the LC bios to my card. But every time I do I get very odd behavior. When I use the LC bios I get very odd clock fluctuations. They swing very wildly to the point it causes severe stutter in games. Even when I lower my clocks down to the same level as the air biosit still does it. Thermals are fine even with the extra voltage. I have also done the soft power play table mod for 150% power and it still happens.
> 
> Has anyone had any experience with something like this?


I’ve got an LC I used to flash with the non-lc bios for testing and I would experience that clock fluctuation (most of the time the LEDs on card would be halfway) when I forgot to Uninstall/reinstall driver software after flashing. Fwiw I use the lc bios again with no issues. 

If your original bios is stutter free in safe mode, it’ll be a software problem somewhere in windows. If you have a spare ssd you could test a fresh install of windows. 

Hope this helps.


----------



## Alastair

I get the stutter and clock swings on the LC bios. When I revert back to normal bios it's perfect.

I will have to try clean installing drivers after the flash to see of that helps. 

Yeah for example I'll be running timespy for example and it will be sitting at around +- 1650MHz at around 55ish FPS then the clocks will drop way down HBM will also drop to like 500. FPS tanks for a second or two and then recovers. And rinse and repeat the cycle.


----------



## Alastair

So again I tried the LC bios after I removed the old drivers. So I removed the old drivers. Updated bios. Put new drivers on (19.10.1) 



And I still get the massive fluctuations. I have posted pictures of the AB graphs during heaven. You can see on one of the graphs the core clock is much more stable and clocks only dip during scene transitions. 

On the LC Bios I have set +50% -50mv and I am asking for 1670mhz 

The air BIOS I have set +50% and asking for 1645MHz.


----------



## Alastair

So I did some research into the clock fluctuations with the LC Bios. It appears to be a bug with the standard air cards that were modded with LC edition bios'es running on 19.X drivers. Anyone else experienced this? And has anyone that has their air cards under a custom loop managed to find a way around the issue?


----------



## strumf666

I tried using LC bios on my vega 64 reference card, using EK waterblocks but it wasn't stable, even if I lowered the clocks to air cooled version, I got random freezes and restarts. I didn't have any weird clocks fluctuations, but this was about a year ago, so on much older drivers. I newer figured what the problem is, but the exact same thing was happening to a colleague of mine running and identical card.
Using air cooled bios and clocks from LC card with increased power limit works for me.


----------



## Alastair

If I use the BIOS out the box it crashes. But if I lower volts and clocks I can get it to run but with these wild clock fluctuations. It seems to effect 19.X drivers.


----------



## kotory22

*Vega 64 Strix Power Throttling*

Hi guys.
I have Strix Vega 64 with EK full cover. It works pretty nice and with modest power draw with UV. 
Recently i tried to play with SoftPowerPlay to see how far i can push it since the card is clearly capable to go above 1700 mhz.

At first i tried to eliminate power throttling and edited SoftPowerPlay table for 
+150% power limit slider
300W + 400A TDP and TDC

With double 420mm rads thermal throttling is obviously not a problem - i never see it above 44 C

Unfortunately it brought me nowhere. Card simply starts to throttle when it comes closer to 300 W no matter of what.
I even tried to go full "madman mode" and edited PPST to 800W + 800A tdp,tdc - no effect.
The card just refuses to go above 300 Watts and throttle like a b***h.

Seems like firmware setting for power limits ignore PPST. 
Is there anything i'm missing? How do i get rid off this power throttling? Maybe direct BIOS editing?


----------



## Alastair

kotory22 said:


> Hi guys.
> I have Strix Vega 64 with EK full cover. It works pretty nice and with modest power draw with UV.
> Recently i tried to play with SoftPowerPlay to see how far i can push it since the card is clearly capable to go above 1700 mhz.
> 
> At first i tried to eliminate power throttling and edited SoftPowerPlay table for
> +150% power limit slider
> 300W + 400A TDP and TDC
> 
> With double 420mm rads thermal throttling is obviously not a problem - i never see it above 44 C
> 
> Unfortunately it brought me nowhere. Card simply starts to throttle when it comes closer to 300 W no matter of what.
> I even tried to go full "madman mode" and edited PPST to 800W + 800A tdp,tdc - no effect.
> The card just refuses to go above 300 Watts and throttle like a b***h.
> 
> Seems like firmware setting for power limits ignore PPST.
> Is there anything i'm missing? How do i get rid off this power throttling? Maybe direct BIOS editing?


Are you using the LC edition BIOS?


----------



## kotory22

No. I'm using original asus strix bios + SoftPowerPlay Table
LC bios won't work with this card anyway.
My issue is that card completely ignores SoftPowerPlay power settings.
I tried all kinds of values from 300W up to 800W with no effect.

I wonder if that is Asus related issue then will flashing of sapphire (or any other vendor) BIOS help


----------



## Jonny321321

kotory22 said:


> No. I'm using original asus strix bios + SoftPowerPlay Table
> LC bios won't work with this card anyway.
> My issue is that card completely ignores SoftPowerPlay power settings.
> I tried all kinds of values from 300W up to 800W with no effect.
> 
> I wonder if that is Asus related issue then will flashing of sapphire (or any other vendor) BIOS help


Have you checked your hotspot temperature and VRM temperature sensors with HWINFO64? Use Rivatuner with HWINFO and see what your temperatures are reaching during load, if your hotspot reaches 105c it will throttle. VRMs I'm not sure what temp they will throttle at (probably 125c) but I suspect you'd want them much lower than that, I'm trying to solve pesky VRM temps (using Morpheus)

Ensure you have two separate PCIE cables powering the Vega rather than just 1 cable powering 2 slots.


----------



## ducegt

kotory22 said:


> No. I'm using original asus strix bios + SoftPowerPlay Table
> LC bios won't work with this card anyway.
> My issue is that card completely ignores SoftPowerPlay power settings.
> I tried all kinds of values from 300W up to 800W with no effect.
> 
> I wonder if that is Asus related issue then will flashing of sapphire (or any other vendor) BIOS help


It's not possible to push past +50% of the BIOS PL. Nothing to do with ASUS. There is lots of misinformation. You can do the mod and indeed move the slider farther, but it doesn't apply those higher values.


----------



## kotory22

Jonny321321 said:


> Have you checked your hotspot temperature and VRM temperature sensors with HWINFO64? Use Rivatuner with HWINFO and see what your temperatures are reaching during load, if your hotspot reaches 105c it will throttle. VRMs I'm not sure what temp they will throttle at (probably 125c) but I suspect you'd want them much lower than that, I'm trying to solve pesky VRM temps (using Morpheus)
> 
> Ensure you have two separate PCIE cables powering the Vega rather than just 1 cable powering 2 slots.


I'm using full cover waterblock with overkill amount of radiators - double "hardware labs gtx 420"
"Hot spot" in worst case scenario is between 50 to 60С
Gpu temp never goes above 42-43C


ducegt said:


> It's not possible to push past +50% of the BIOS PL. Nothing to do with ASUS. There is lots of misinformation. You can do the mod and indeed move the slider farther, but it doesn't apply those higher values.


Still doesn't explain why clocks are dropping pretty low even before reaching 300 watts mark with +50% pl.


----------



## Jonny321321

Anyone tested LC VBIOS on Vega on newer driver versions? Anything past 19.1.1 was causing clock drops, alas I want higher memory voltage and higher core voltage option.


----------



## Alastair

Jonny321321 said:


> Anyone tested LC VBIOS on Vega on newer driver versions? Anything past 19.1.1 was causing clock drops, alas I want higher memory voltage and higher core voltage option.


I have tested as far as 19.10.1. Said stuff it and bought a used LC EDITION.


----------



## Jonny321321

Unfortunately 64 LC BIOS is still gimped on a Vega 56 with frequent clock drops irrespective of OS. Oh well. 

Also, my poclmembench (https://github.com/kruzer/poclmembench) is reporting lower speeds than I recall 464GB/s @ 1100). None of the 64 BIOSes raise the scores to the reference picture I have (475GB/s-ish at 1100Mhz memory, Automatic memory setting), perhaps it's driver side. It would be good if anyone with a Vega 64 or 56 with Samsung memory could test the aforementioned poclmembench with 1100mhz & Automatic memory timing setting.


----------



## jearly410

Jonny321321 said:


> Unfortunately 64 LC BIOS is still gimped on a Vega 56 with frequent clock drops irrespective of OS. Oh well.
> 
> Also, my poclmembench (https://github.com/kruzer/poclmembench) is reporting lower speeds than I recall 464GB/s @ 1100). None of the 64 BIOSes raise the scores to the reference picture I have (475GB/s-ish at 1100Mhz memory, Automatic memory setting), perhaps it's driver side. It would be good if anyone with a Vega 64 or 56 with Samsung memory could test the aforementioned poclmembench with 1100mhz & Automatic memory timing setting.


Where does the .exe export results to?


----------



## Jonny321321

jearly410 said:


> Where does the .exe export results to?


Run the .exe in command prompt and the window won't close automatically.


----------



## XR5777

Hello,

Having some serious issues with the Radeon VII Powerplay parameters downclocking the GPU to 50mhz on p0 state.

My old GPU, I flashed a custom BIOS which disabled powerplay on the FuryX, it was absolutely brilliant, no phantom lag what so ever.

The main problem now is that I cannot seem to edit the p0 state on the Radeon VII, I was instructed to post on this thread and ask for Hellm for any assistance, if I may ask?

I would like to setup the tables for the Radeon VII similar to the custom FuryX. 

p0 State 500mhz

So because the Radeon VII is 50mhz on the desktop, the Windows GUI is laggy, also DAW software its all over the place.

Please help.

Thankyou for your time and hope to speak soon.


----------



## hellm

Sure, i'm still here. Done some programming meanwhile, called it MorePowerTool.

There is also a thread related to this from another user, i recently posted there:
https://www.overclock.net/forum/67-...ng-overclocking-software-14.html#post28267312

So, with MPT v1.2 we also have features available now. Everything with DS means deep sleep, so DS_GFXCLK deactivated and GPU clocks down to 800MHz not 50MHz. Maybe its a good idea to deactivate DS_SOCCLK as well.

You are also able to just raise minimum GFX clock rate which means DPM0 aka P0 for the VII. And raise minimum voltage. And overdrive limits. And a lot more.


----------



## XR5777

Hello Hellm and thankyou very much for the reply much appreciated.

This all sounds fantastic! This is the best news I've heard in a long time, everyone over at the AMD forum is literally going insane with all the issues.

This is brilliant how you managed to achieve this, I am eternally grateful for your works.

Thanks again for the updates, so am I correct in that DS_GFXCLK is ''Deep Sleep GPU CoreClock'' and that's a new powerplay feature? Is it even called powerplay anymore? Sorry for the wrong terms.

May I ask what exactly is DS_SOCCLK? I cannot find any descriptions on this string? You say I should disable that feature?

Hellm am I reading this right? Are you saying that we could alter the p0 state of 50mhz to something like the custom Fury X @ 500mhz? 

All bow to the king! KING HELLM! The AMD savior !

Blessings to you! Going to test the new update, this is brilliant!

Thanks again for your time and hope to speak soon.


----------



## XR5777

Update here.

Before even testing the exe we ran it through Virustotal, can someone please explain this? Its picked up 6 viruses.

https://www.virustotal.com/gui/file...aaa177091dabe012c9e98b2f8456663159d/detection

How can this be? I have ran tools like Overdrive mod exe through Virustotal and that's 100% clean?

Please help.


----------



## hellm

Not just the installer, my tool itself has 1 finding. Doesn't mean that there is a virus inside, there is not, just a false positive.

If you search for the findings relating to the installer, it seems that this is also the case here. Also, all the search engines that triggered an alarm found something else.

I will ask igor about it, and what we could do about it. If we can do anything. So far, no user had any problems.


----------



## XR5777

Hello and thanks for the reply.

May I ask, did you use a generic packer to build the exe? Or did you use InstallShield?

Those generic packers are malware.

It shouldn't be flagged 6 times?

Thanks again.


----------



## hellm

No, of course not. MPT is built with Visual Studio 2017 Enterprise, and uses only the Windows API. Igor built the installer, and i am sure with his background he didn't use something with malware. He is a former lead software engineer, so he knows what he is doing.

I asked him about the issue, and this is his answer:


> ***** virus scanner. This is due to the reloader for the online installer. Cheap heuristics. Then there are the registry accesses.


It is flagged from 6 differnet virus scanner, with 6 different findings. So, i guess he is right. All i can say, IgorsLab isn't compromised, the file contains no virus or any malware at all, and is only downloadable at igorsLab to ensure exactly this.

If you have any doubts, try to scan it with a good, sophisticated anti virus software and let this software also watch the installation process with real time protection. There won't be any issues.


----------



## XR5777

Hello and thanks for the reply.

What do you mean an online installer causing the issue? What does it need to go online for may I ask?

One of the logs on Virustotal stated a cloud virus so seems on the right path.

What do you mean by it flags registry changes? OverdriveNTool 0.2.8beta11 does pretty much the same registry edits and that's not flagged? Seems abit strange how this program is flagged 6 times when Overdrive isn't flagged once.

Can we request an offline installer please, or better still, an offline only portable version, no install.

Why do we need an online installer? Can I ask, could you upload the program extracted from the installer please?

I'm watching this Youtube video on MPT because I'm not too sure how it works? Does it have to be loaded up everytime on bootup? ie a new process? 






Thankyou very much for your time and hope to speak soon.


----------



## hellm

The installer is there for a reason, also the reloader. Mostly legal stuff, in the end our software manipulates a product to run out of spec. We do need the disclaimer and everything.

Again, VirusTotal is very good, i use it too. But keep in mind, this is not a virus scanner. So, there weren't 6 findings, reality is all the big virus scanner out there say there is no problem. If u trust one of the scanners that claim to found something, maybe get in contact with them to verify their findings. They couldn't, cause this is a false positive.

Sadly, there is no detailed how-to at the moment. The thread here has some information, and u can ask other users. Of course, also at igorsLab, has an english corner as well. If you want to install it.


----------



## XR5777

Hello and thanks for the reply.

Can I ask, there must be a way to manually edit the p0 state of the Radeon VII seeing the MPT is editing the reg files?

Cant we create our own powerplay table with the p0 state raised to 500mhz without using MPT?

You can write a disclaimer in a simple txt file, you don't need any online installer for this program.

Is there any way you could dropbox the program extracted so I can test it out please? I don't trust the installer with all due respect, to be honest such an expert should be quite easy to create an installer with 0 flags.

Overdrive tool does the same parameters and that's clean.

Thanks again.


----------



## hellm

XR5777 said:


> Hello and thanks for the reply.
> 
> Can I ask, there must be a way to manually edit the p0 state of the Radeon VII seeing the MPT is editing the reg files?
> 
> Cant we create our own powerplay table with the p0 state raised to 500mhz without using MPT?
> 
> You can write a disclaimer in a simple txt file, you don't need any online installer for this program.
> 
> Is there any way you could dropbox the program extracted so I can test it out please? I don't trust the installer with all due respect, to be honest such an expert should be quite easy to create an installer with 0 flags.
> 
> Overdrive tool does the same parameters and that's clean.
> 
> Thanks again.


MorePowerTool is also clean. As i already said, i used the WinAPI to write to the registry. I don't know about ODNTool.

I already tried to explain to you, there was one single finding, from some mysterious virus scanner. Means also, over 70 other virus scanner said this file is clean. Problem was not on my end. And guess what, same file, few days later, 0 findings.
https://www.virustotal.com/gui/file...6af22e60d910615e31ab5a2f8315634ae68/detection

Same thing about the installer. 68 virus scanner say this file is ok. Igor says this file is ok. Or put your trust in last virus scanner VirusTotal has on their list. That is really up to you. Cheers. 

PS: If there was some virus of any kind inside, someone could actually prove it. I think Igor takes this very seriously, and igorsLab wasn't hacked, and the setup file isn't compromised.


----------



## XR5777

Thanks for the reply.

Just scanned the installer again and its now 8. So it has increased by 2.

So what's the problem with uploading the extracted program?

Why are you insisting I use the installer?

Can you provide the program extracted?

You would save me so much bloody time, I have to install this on an old laptop and then wipe it just to test this out?


----------



## XR5777

Also it looks like your MPT don't work on the 20.1.1 driver from other threads online.


----------



## hellm

I am not the one insisting. Just don't use it. And i told u about the reason for the installer. If you want to ignore what i wrote we don't have a conversation. I don't want to repeat myself.

Now, we could try something here, get in contact with the programmer of those 6 or 8 virus scanners. Not helping them build better heuristics, but we could find a way. I also said, if there was a virus, well you can't hide it.
We will find a solution. Thank you.

Until then, i recommend you to only use the installer when the count is 0, and don't use it if there is a single finding from whomever. Please let other people decide on their own.

And "my" MPT works just fine. So does the SoftPowerPlayTable registry mod, afaik, even for the Pro W5700. Oh, and MPT is merely a GUI for that mod, nothing more.


----------



## XR5777

Hello and thanks for the reply.

Hellm Im not ignoring you, not at all, I'm just trying to bypass the installer, I don't want no online installer, who am I connecting too? I don't know so that's why. Please don't take this personal, I don't understand why you would give your work to someone else to pack it, and get 8 flags, are you sure this expert can pack an installer correctly?

I would literally pay you for this program, I really would like to test MPT.

You would save me 3/4 days of hassle with an OS reformat.

In the meantime I'll do as you say, we will contact the devs of the virus scanners and see if we can get some answers.

Antiy-AVL - GrayWare/Win32.Presenoker

Grayware encompasses spyware, adware, dialers, joke programs, lie detectors, barcode scanners, remote access tools, and any other unwelcome files and programs apart from viruses that are designed to harm the performance of computers on the user's network


Cyren - W32/Trojan.VZCS-1630

Remote Hijack.

eGambit - Unsafe.AI_Score_96%

Endgame - Malicious (moderate Confidence)

Jiangmin - Trojan.Garvi.k

Garvi. is classified as a Trojan that performs activities without the user.

McAfee-GW-Edition - BehavesLike.Win32.InstallMonster.rc

Win32/InstallMonster is a type of potentially unwanted program that may install other threats when run into the computer.


Rising - PUA.Presenoker!8.F608 (CLOUD)

Win32/Presenoker is considered dangerous by lots of security experts.


Zillya - Downloader.PsDownload.Win32.435


----------



## Z1zzy

As far as I understood there's no way to enable Zero RPM on Radeon VII? I tried editing Soft PPT to enable it, but Radeon SW doesn't let me disable fans when idling


----------



## Falkentyne

XR5777 said:


> Hello and thanks for the reply.
> 
> Hellm Im not ignoring you, not at all, I'm just trying to bypass the installer, I don't want no online installer, who am I connecting too? I don't know so that's why. Please don't take this personal, I don't understand why you would give your work to someone else to pack it, and get 8 flags, are you sure this expert can pack an installer correctly?
> 
> I would literally pay you for this program, I really would like to test MPT.
> 
> You would save me 3/4 days of hassle with an OS reformat.
> 
> In the meantime I'll do as you say, we will contact the devs of the virus scanners and see if we can get some answers.
> 
> Antiy-AVL - GrayWare/Win32.Presenoker
> 
> Grayware encompasses spyware, adware, dialers, joke programs, lie detectors, barcode scanners, remote access tools, and any other unwelcome files and programs apart from viruses that are designed to harm the performance of computers on the user's network
> 
> 
> Cyren - W32/Trojan.VZCS-1630
> 
> Remote Hijack.
> 
> eGambit - Unsafe.AI_Score_96%
> 
> Endgame - Malicious (moderate Confidence)
> 
> Jiangmin - Trojan.Garvi.k
> 
> Garvi. is classified as a Trojan that performs activities without the user.
> 
> McAfee-GW-Edition - BehavesLike.Win32.InstallMonster.rc
> 
> Win32/InstallMonster is a type of potentially unwanted program that may install other threats when run into the computer.
> 
> 
> Rising - PUA.Presenoker!8.F608 (CLOUD)
> 
> Win32/Presenoker is considered dangerous by lots of security experts.
> 
> 
> Zillya - Downloader.PsDownload.Win32.435


Malwarebytes Anti-malware says this program is clean.
I think you should stop using mickey mouse anti virus programs. Mcafee? That guy stopped being relevant when he made a fool of himself in Mexico ...
@hellm I know you got asked this before, but was there a reason why you couldn't make your excellent program work with Vega cards?


----------



## thomasck

Omg such a drama here. Mate, just.dont.use.it and stop bothering someone that developed a software for free and which is very useful by the way.

Sent from Tapatalk


----------



## Z1zzy

Is there any way to enable Zero RPM on Radeon VII? Tried editing Soft PPT - no luck


----------



## hellm

On Radeons with Zero RPM we have this:

Features Tab: Zero Rpm is activated in Overdrive Limits
Overdrive Limits: Zero RPM Control is set to 1
..this should be the wattman stuff.

Fan Tab: Zero RPM Enable and start and stop temps are set.
..and that should activate Zero RPM. At least on the BIOS side.


----------



## Alastair

Can we get more than the 1.2V that the LC Bios limits us to?


Edit cause I only ever see 1.2V from the 1.25V LC bios.


I am running 1750-1780MHz now during heaven. But I want that 1800. And I can only see myself hitting that with 1.25V ACTUAL.


----------



## imimixa

Share original bios from Vega FE AIR. There should be two, 200w and 220w.


----------



## imimixa

hellm said:


> Yeah, and if it dies before then, you should have gotten really a lot of fun out of it. That is what i love about a Radeon, there is always more performance available, as long as your power supply doesn't give up.
> 
> mynm has come up with an idea, what if someone would change the voltage values in the Power Play table to the evv values:
> So this:
> 
> 20 03 (800mV) USHORT usVdd; /* Base voltage */
> 84 03 (900mV) USHORT usVdd; /* Base voltage */
> B6 03 (950mV) USHORT usVdd; /* Base voltage */
> E8 03 (1000mV) USHORT usVdd; /* Base voltage */
> 1A 04 (1050mV) USHORT usVdd; /* Base voltage */
> 4C 04 (1100mV) USHORT usVdd; /* Base voltage */
> 7E 04 (1150mV) USHORT usVdd; /* Base voltage */
> B0 04 (1200mV) USHORT usVdd; /* Base voltage */
> 
> To this:
> 
> 20 03 (800mV) USHORT usVdd; /* Base voltage */
> 02 FF (900mV) USHORT usVdd; /* Base voltage */
> 03 FF (950mV) USHORT usVdd; /* Base voltage */
> 04 FF (1000mV) USHORT usVdd; /* Base voltage */
> 05 FF (1050mV) USHORT usVdd; /* Base voltage */
> 06 FF (1100mV) USHORT usVdd; /* Base voltage */
> 07 FF (1150mV) USHORT usVdd; /* Base voltage */
> 08 FF (1200mV) USHORT usVdd; /* Base voltage */
> 
> anyone want to give this a try. Only if something changes, i don't know, for the science? RBRT has no Vega at the moment..
> I think this would only be interesting, if someone switches then to manual voltage. Shouldn't be any risk to it.



And the numbering for Vega FE is exactly 1->8, maybe it should be 0->7


----------



## Alastair

@hellm


Does more power tool work with vega64?


----------



## Nighthog

Seems we have a Vega RX 64 PRO bios available from someone discussing it on videocardz site.
http://disq.us/p/298jbil


RX VEGA 64 PRO BIOS

It's for reference RX VEGA 64 as far I could tell and limited for 165Watt board limit.

But using it you get the PRO driver controls. 

Test on your own risk, I will not be testing it at the moment.


----------



## hellm

Alastair said:


> @hellm
> 
> 
> Does more power tool work with vega64?


https://github.com/halsafar/Vega64SoftPowerTableEditor


----------



## ducegt

Nighthog said:


> Test on your own risk, I will not be testing it at the moment.





hellm said:


> https://github.com/halsafar/Vega64SoftPowerTableEditor


Cool BIOS and editor app. I used the 8GB FE BIOS from TPU on my 64LC and created a custom PP table. Used the editor to copy 64LC values to the 8GB FE one and ran SPECviewperf 13.

I even ran the fan higher on the RX BIOS which is below, but as expected, the FE BIOS outperforms it greatly. Both done with HBM @ 1000

Viewset	Composite Score	Window
3dsmax-06	179.87	1900 x 1060
catia-05	120.12	1900 x 1060
creo-02	88.09	1900 x 1060
energy-02	25.38	1900 x 1060
maya-05	116.64	1900 x 1060
medical-02	59.3	1900 x 1060
showcase-02	127.31	1900 x 1060
snx-03	42.46	1900 x 1060
sw-04	73.08	1900 x 1060

8GB FE BIOS

3dsmax-06	190.05	1900 x 1060
catia-05	278.82	1900 x 1060
creo-02	205.31	1900 x 1060
energy-02	55.39	1900 x 1060
maya-05	260.87	1900 x 1060
medical-02	87.12	1900 x 1060
showcase-02	149.16	1900 x 1060
snx-03	338.75	1900 x 1060
sw-04	148.52	1900 x 1060


----------



## xtremefunky

Hey Guys,

i recently bought my self a Radeon VII. Liquid Metal and EKWB cooler. I managed to get around 2150MHz @1,275V and 1200HBM (with own Timings mods).
I´m quite happy so far, but I wanted to know if someone knows how to set the soc clock? Stock its around 980MHz. I want to push it a bit further, like I did
on my Vega. 
I know Soc clock doesnt increase the score massive, but I want to try out, how much my R VII can take. 

Any advice how to set up?


----------



## BeeDeeEff

xtremefunky said:


> I wanted to know if someone knows how to set the soc clock? Stock its around 980MHz. I want to push it a bit further, like I did
> on my Vega.
> I know Soc clock doesnt increase the score massive, but I want to try out, how much my R VII can take.



I also want this information, posting here for my own future reference.


----------



## xtremefunky

Anyone? No idea?


----------



## masteratarms

hellm said:


> https://github.com/halsafar/Vega64SoftPowerTableEditor


I've not figured out how to proceed when I download a program without an executable?


----------



## Jdorman12

Does anyone know if I can flash the bios chip on the Vega 64, I bricked it accidentally trying a Vega fe bios and it broke both bios. I can read it with the usb programmer but using the tech gpu rom files for it it would light up, but not post and shut back down. I'm thinking it's the security chip or verification blocking it. I've tried multiple bioses and the stilts i2c and the Vega 64 to Vega fe bios. I appreciate any info, thanks


----------



## ducegt

@Jdorman12 Just boot with another card or iGPU and you can flash it like before.


----------



## Jdorman12

ducegt said:


> @Jdorman12 Just boot with another card or iGPU and you can flash it like before.


Yeah I think that's my only option, thanks


----------



## jordanpchome

help me need amd vega frontier edition BIOS Files !!

The bios of the display card has two switches
I only backed up the bios of the left switch (performance mode)
I forgot to back up the bios of the right switch and lost it (power saving mode)
I need a BIOS file in power saving mode
I tried to find it on techpowerup.com but there is nothing
Please help me!
Thanks


----------



## dagget3450

Cannot quote your post for some reason. I don't know what the best way to give one of my bioses off my vega frontier but mine are air cooled. If yours are water cooled they have different settings.


----------



## homeless dorito

Know where I can find a powerplay table for my Vega 56 air? The link doesn't work anymore.


----------

