Polaris Bios Editor spotted in the wild.

Discussion in 'Videocards - AMD Radeon Drivers Section' started by mtrai, Jul 2, 2016.

  1. mtrai

    mtrai Maha Guru

    Messages:
    1,175
    Likes Received:
    369
    GPU:
    PowerColor RD Vega
    Okay I found this over on reddit. I did down load and look them over however I have never had much luck using the editors since R9 290.

    But here we go. I did download and keep store the download including the "source" in case the post there vanishes. I can put on googledrive if needed. I did take a quick look at the editor using the 2 bios available on tech powerpup for the RX 480.

    Reddit post by the "author" of this : https://www.reddit.com/r/Amd/comments/4qu9y0/polaris_bios_editor/

    So here you go:

    Download: http://puu.sh/pN3A5/6bd0958cee.zip

    Supposed source code: http://puu.sh/pN4Vk/1f4243a194.zip

    Warning pic it gives:

    [​IMG]

    Pic with both RX 480 bios from techpowerup database.

    [​IMG]

    I did try to load my own R9 290 bios and get an error. It also fails to read a fury bios I downloaded.
     
    Last edited: Jul 2, 2016
  2. vase

    vase Ancient Guru

    Messages:
    1,653
    Likes Received:
    2
    GPU:
    -
    :eek3:
     
  3. mtrai

    mtrai Maha Guru

    Messages:
    1,175
    Likes Received:
    369
    GPU:
    PowerColor RD Vega
  4. mtrai

    mtrai Maha Guru

    Messages:
    1,175
    Likes Received:
    369
    GPU:
    PowerColor RD Vega
    Ha I had to look your emoji up...eek! lol Just trying to pass on developing info and right now the author seems to be open to sharing.
     

  5. vase

    vase Ancient Guru

    Messages:
    1,653
    Likes Received:
    2
    GPU:
    -
    i used the emoji to express that i am positively surprised :)
    can't wait for the first legit 8gb bioses on '4gb' cards if that rumor is true.
     
  6. mtrai

    mtrai Maha Guru

    Messages:
    1,175
    Likes Received:
    369
    GPU:
    PowerColor RD Vega
    Well I had to post the info and the editor and all here and at overclock.net..through the years some amazing "discoveries" have come from both. The original author told me he/she ( I do not know) was gonna join and follow both threads. I was just kind of amazed as well.

    I can just remember seeing the start of a tool being developed "be crowd sources" by both users of the 2 websites and just explode into goodness.
     
  7. vase

    vase Ancient Guru

    Messages:
    1,653
    Likes Received:
    2
    GPU:
    -
    so this is confirmed NOT the tool the press got for switching between 8GB and 4GB?
     
  8. Fox2232

    Fox2232 Ancient Guru

    Messages:
    11,810
    Likes Received:
    3,363
    GPU:
    6900XT+AW@240Hz
    I made Fiji vBIOS pretending to be Polaris 10 vBIOS. (Just for testing.)
    And this tool actually reads it. it even looks correctly through some offset tables (not all).

    It properly reads vBIOS CRC, TDP, TDC, MPDL, Throttle Temp. Max GPU and Max memory clock.

    What it does not read correctly are values from DPM/VID table.
    In that table, all VIDs are correct, but DPMs has only 1st value correct. (Table probably changed its inner offsets between Fiji to Polaris atombios revision.)
    - - - -
    Loading Polaris 10 vBIOS, and it reads everything well.
    But it is not useful at all. AMD has given this clock/voltage table to Polaris 10 owners under control.
    And Power limits/Temperature target too.
     
  9. PCIEgate

    PCIEgate Member

    Messages:
    23
    Likes Received:
    0
    GPU:
    Radeon 8500
    Seems like it's intended to only show some "placeholder" values:

    [​IMG]

    Source: http://www.overclock.net/t/1592384/fiji-bios-editing-fury-fury-x-nano-radeon-pro-duo/0_50

    Of course this is useful, i will set my frequency / voltage one time correctly on the BIOS and never has to bother with it again.
    For example: settings aren't lost / don't need to be imported after driver re-install. And sometimes the Software doesn't apply all settings correctly.
     
    Last edited: Jul 2, 2016
  10. Fox2232

    Fox2232 Ancient Guru

    Messages:
    11,810
    Likes Received:
    3,363
    GPU:
    6900XT+AW@240Hz
    BOLD: They are not placeholders, they are offsets pointing towards actual voltage control mechanisms. And for Fiji, it was way better to leave there way they were and bump/reduce voltage globally.
    Because setting those voltage hard way actually blocked some stability ensuring mechanisms and stable OC required higher voltage than default.

    So, yes, it may feel useful to have it set up once. But I would say: "Be careful not to actually increase power consumption as there is global Power limit and RX 480 is already hitting it at stock clock."

    In other words: "Increase voltage, decrease performance." That bios editor needs global voltage offset.
    Or someone who has time has reverse engineer how those voltage control mechanisms work.

    Secondly. Stock RX 480 does not have dual bios switch. You make mistake, be ready to get another card to reflash 1st one.
     

  11. PCIEgate

    PCIEgate Member

    Messages:
    23
    Likes Received:
    0
    GPU:
    Radeon 8500
    Edit:
    I understand now, those pointers are just replaced with "hardcoded" values.
    -> http://cdn.overclock.net/d/d6/d6218cdd_Fiji_VID_Mod_v2.0.jpeg

    Edit2:
    The Voltage table seems different compared to Fiji, also state 0 seems rather to start at 800mV instead of 900mV.
    -> http://i.imgur.com/90q8lFw.png

    Edit3:
    Changing:
    Code:
    vidOffset = getValueAtPosition(16, powerPointer + 0x31) + 0x02;
    to ->
    Code:
    vidOffset = getValueAtPosition(16, powerPointer + 0x2F) + 0x02;
    Shows the 800mV "chunk", unfortunately i have no idea which is the correct one.

    Personally, i'm using this only for undervolting / adjust fan control curve if that function is added in a future release.
     
    Last edited: Jul 2, 2016
  12. WarDocsRevenge

    WarDocsRevenge Master Guru

    Messages:
    294
    Likes Received:
    0
    GPU:
    Fury-x Crossfire
    So am i correct that this could cap TDP ? and fix the RX480 rare issue
     
  13. fantaskarsef

    fantaskarsef Ancient Guru

    Messages:
    12,187
    Likes Received:
    4,342
    GPU:
    2080Ti @h2o
    By what it looks it hasn't per chance got a way to edit power draw lines like Maxwell editor, yet? Would be easy and elegant to get rid of the alleged 480 problem then.
     
  14. PCIEgate

    PCIEgate Member

    Messages:
    23
    Likes Received:
    0
    GPU:
    Radeon 8500
    Tried to made some debugging with the AMDGPU Linux driver:
    https://github.com/torvalds/linux/b...m/amd/powerplay/hwmgr/polaris10_hwmgr.c#L1736

    Result was:
    Code:
    [DEBUG]: BootVddc: 384, BootVddci: 352, BootMVdd: 0, VScale: 4
    Maybe this is useful somehow.

    Edit:
    Voltage Table count:
    VDCC: 10, VDDCI: 4, MVDD: 0

    https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c#L454
    Code:
    [    9.193241] [DEBUG]: phm_get_voltage_index: 320
    [    9.193242] [DEBUG]: phm_get_voltage_index: 352
    [    9.193243] [DEBUG]: phm_get_voltage_index: 384
    [    9.193244] [DEBUG]: phm_get_voltage_index: 3b6
    [    9.193246] [DEBUG]: phm_get_voltage_index: 3cf
    [    9.193247] [DEBUG]: phm_get_voltage_index: 3e8
    [    9.193248] [DEBUG]: phm_get_voltage_index: 41a
    [    9.193250] [DEBUG]: phm_get_voltage_index: 44c
    [    9.193251] [DEBUG]: phm_get_voltage_index: 47e
    I would guess 0x2F are the pointers for hardcoded default values (up to 1.150), as 0x31 includes pointers for dynamic ASIC adjusted values.
     
    Last edited: Jul 3, 2016
  15. PCIEgate

    PCIEgate Member

    Messages:
    23
    Likes Received:
    0
    GPU:
    Radeon 8500

  16. PCIEgate

    PCIEgate Member

    Messages:
    23
    Likes Received:
    0
    GPU:
    Radeon 8500
    Last edited: Jul 4, 2016
  17. vase

    vase Ancient Guru

    Messages:
    1,653
    Likes Received:
    2
    GPU:
    -
  18. OnnA

    OnnA Ancient Guru

    Messages:
    12,832
    Likes Received:
    3,205
    GPU:
    Vega XTX LiQuiD
    Added in my Thread and Blog for ppl all around...

    Great Job :thumbup:

    Give'em something they can feel :banana:
     
  19. PrMinisterGR

    PrMinisterGR Ancient Guru

    Messages:
    7,690
    Likes Received:
    616
    GPU:
    Inno3D RTX 3090
    This baby along with a card with a bios switch, look very sweet. Tahiti benefited tremendously from just the existence of VBE7.
     
  20. caa82437

    caa82437 New Member

    Messages:
    3
    Likes Received:
    0
    GPU:
    2 x R9 290X
    Thanks for the contribution PCIEgate!

    I have updated the project to v1.2 with some major improvements.

    - Rewrote BIOS handling internals
    - Updated GUI (again..)
    - Added Fan controls
    - Added VRAM controls

    However, I can't post links since my post count is below 5.

    Please check my GitHub.
     

Share This Page