No announcement yet.

I made Linux patches to get full frequency/voltage control on 5700(XT) (Navi10)

  • Filter
  • Time
  • Show
Clear All
new posts

  • I made Linux patches to get full frequency/voltage control on 5700(XT) (Navi10)

    My patches aren't quite cleaned up enough to submit to the mailing list yet, but I'm getting close. They should be usable by you all though. If you need to go farther than it will let you, use a tool like upp to edit your powerplay table (located at `/sys/class/drm/cardN/device/pp_table`). Igor's MorePowerTool tables from Windows registry also work if you just convert the hex to binary, then write it to the `pp_table` file.

    Standard usage:

    echo 's <minclock> <maxclock>' > pp_od_clk_voltage
    echo 'm <maxclock>' > pp_od_clk_voltage
    To set the voltage curve (if desired):
    echo 'vc 0|1|2 <clockspeed> <voltage>' > pp_od_clk_voltage
    Finally to commit the changes to the card:
    echo 'c' > pp_od_clk_voltage
    Make sure to change your power target with
    , or you'll likely just throttle and not meet the maximum clock you set.

    I have had issues with setting over 1.2V (it takes it, and works "fine" but throttles and doesn't actually meet the clocks) so YMMV with higher voltages.

    For now, though, this should get us closer to back on par with the windows folks.

    LINK TO PATCHES( (rebased off of 5.4-rc6 right now).


    If you've made it this far, then I really with there were more competitive benchmarkers on linux, so if you can beat my Superposition score of 5281 on Linux (I get 55xx on Windows), then lets talk. I'd love to see.

    My current settings: [2220MHz @ 1.18V + 910MHz + 300W power limit](

    My current pptable: [`pp_table-morepower-modded.bin`](

    DISCLAIMER: Although these patches should follow the limits set by the card or your custom pptable, by using any of this you obviously run the risk of damaging your hardware. Unless you really know what you're doing, don't overwrite the pp_table, and deal with the overclocking limits that come with your card. Many settings here are meant to try and get through a single benchmark one time, and are not for prolonged use.