No announcement yet.

Recomendations for Underclocking RX480 Under Fedora 29

  • Filter
  • Time
  • Show
Clear All
new posts

  • Recomendations for Underclocking RX480 Under Fedora 29

    I have a Sapphire RX480 installed in a rig that I am hoping to use as a server for an assortment of services (NextCloud, GOGs, NMS) under docker. I anticipate it being powered up 24/7. My problem is that the RX480 fans are running constantly. I’m wondering what the best way possible is to underclock & under-volt the card to a point where the fans only spin up under load.

    BIOS/UEFI doesn't seem to provide me an option of doing this, so I'm stuck configuring it through the OS.

    I've read the following material related to accomplishing my goal:

    Overclocking your graphic cards in Linux and getting the most out of them is more difficult than Windows. For AMD card owners, the utilities that you need to overclock your card are included in the drivers you already have installed. Here's how you can easily overclock the AMD GPU to get the best performance possible.

    However, I'm still unclear as to what best-practice would be. I'm hoping to get input from some of you who are more familiar with this. As I've stated, my end-game is to get the fans to only spin up under load.

    Any input is much appreciated!

    Information about my card follows:

    `$ sensors' output:
    Adapter: PCI adapter
    vddgfx:       +0.88 V  
    fan1:         715 RPM
    temp1:        +37.0°C  (crit = +94.0°C, hyst = -273.1°C)
    power1:       12.04 W  (cap = 142.00 W)
    `$ sudo cat /sys/kernel/debug/dri/0/amdgpu_pm_info'
    GFX Clocks and Power:
        300 MHz (MCLK)
        321 MHz (SCLK)
        300 MHz (PSTATE_SCLK)
        300 MHz (PSTATE_MCLK)
        881 mV (VDDGFX)
        11.72 W (average GPU)
    GPU Temperature: 36 C
    GPU Load: 0 %
    `$ sudo lspci -v -s $(lspci | grep ' VGA ' | cut -d" " -f 1)' output:
    06:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X] (rev c7) (prog-if 00 [VGA controller])
        Subsystem: PC Partner Limited / Sapphire Technology Device e353
        Flags: bus master, fast devsel, latency 0, IRQ 63
        Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Memory at f0000000 (64-bit, prefetchable) [size=2M]
        I/O ports at e000 [size=256]
        Memory at fe900000 (32-bit, non-prefetchable) [size=256K]
        Expansion ROM at 000c0000 [disabled] [size=128K]
        Capabilities: [48] Vendor Specific Information: Len=08 <?>
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Legacy Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Capabilities: [150] Advanced Error Reporting
        Capabilities: [200] #15
        Capabilities: [270] #19
        Capabilities: [2b0] Address Translation Service (ATS)
        Capabilities: [2c0] Page Request Interface (PRI)
        Capabilities: [2d0] Process Address Space ID (PASID)
        Capabilities: [320] Latency Tolerance Reporting
        Capabilities: [328] Alternative Routing-ID Interpretation (ARI)
        Capabilities: [370] L1 PM Substates
        Kernel driver in use: amdgpu
        Kernel modules: amdgpu
    `$ ls /sys/class/drm/card0/device/' output:
    ari_enabled               current_link_width  drm_dp_aux_dev  i2c-3        local_cpulist   numa_node                          pp_dpm_sclk            pp_table      resource2     subsystem_device
        boot_vga                  d3cold_allowed      enable          i2c-4        local_cpus      power                              pp_force_state         remove        resource2_wc  subsystem_vendor
        broken_parity_status      device              graphics        i2c-5        max_link_speed  power_dpm_force_performance_level  pp_mclk_od             rescan        resource4     uevent
        class                     dma_mask_bits       hwmon           i2c-6        max_link_width  power_dpm_state                    pp_num_states          reset         resource5     vbios_version
        config                    driver              i2c-0           iommu        modalias        pp_cur_state                       pp_od_clk_voltage      resource      revision      vendor
        consistent_dma_mask_bits  driver_override     i2c-1           iommu_group  msi_bus         pp_dpm_mclk                        pp_power_profile_mode  resource0     rom
        current_link_speed        drm                 i2c-2           irq          msi_irqs        pp_dpm_pcie                        pp_sclk_od             resource0_wc  subsystem

  • #2
    U can create a custom fan curve using radeon-profile:

    Or maybe u want to underclock and undervolt your card. In that case, just follow the ARCH wiki. You only need to undervolt the last state of your card. You can test if ur new settings are stable using Unigine Valley. If u can run it in a loop for three or four hours your new config is stable. You can even add a little more voltage for peace of mind.


    • #3
      Originally posted by debianxfce View Post

      That qt application works only with an ancient ubuntu.
      Why am I using it in Archlinux then?


      • #4
        Perhaps I should have been more clear: I'm using latest stable Fedora mesa drivers.

        Also, I appreciate everyone's responses, but my question is how specifically would I follow the Archwiki in order to accomplish my goal?

        As in,
        • What power states do I adjust?
        • What might be some safe settings to try?
        • Will undervolting be enough, or will I need to adjust frequency as well?
        • Do I focus on SCLCK or MCLCK if adjusting frequency?
        • Will I need to adjust the fan speed separately, or will undervolting reduce heat enough for the fan to slow down on its own?
        I'm green to this and am unsure about things of that nature. If someone cares to help clear those questions up before I go poking around, I could use the help.