Announcement

Collapse
No announcement yet.

RDNA2: High idle power usage

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • RDNA2: High idle power usage

    Hi there,

    my switch from Polaris (RX 570) to RDNA2 (RX 6800) has increased my idle (Gnome Desktop) total power usage by ~30 Watts in Linux. With default auto fan control this causes the fans to periodically stop and ramp up again every few minutes, because the card generates too much heat to keep the fans turned off permanently.
    In Windows 10 Desktop power usage is 35-40 Watts lower than on my Linux Desktop, so the hardware is definitely capable of running more power efficient. All power usage was measured at the wall plug.

    I'm running Ubuntu 20.04 with Kernel 5.11 (hwe-edge) and kisak-mesa. Only a single monitor is attached via DP.
    Manually setting /sys/class/drm/card0/device/power_dpm_force_performance_level to "low" used to improve things on Polaris, but doesn't have any measurable effect on my RDNA2 card:
    Code:
    # cat /sys/kernel/debug/dri/0/amdgpu_pm_info
    GFX Clocks and Power:
    1000 MHz (MCLK)
    0 MHz (SCLK)
    1825 MHz (PSTATE_SCLK)
    1000 MHz (PSTATE_MCLK)
    6 mV (VDDGFX)
    33.0 W (average GPU)
    
    GPU Temperature: 47 C
    GPU Load: 0 %
    MEM Load: 0 %
    
    SMC Feature Mask: 0x00003762a37f7dff
    VCN: Disabled
    
    Clock Gating Flags Mask: 0x38118305
    Graphics Fine Grain Clock Gating: Off
    Graphics Medium Grain Clock Gating: On
    Graphics Medium Grain memory Light Sleep: Off
    Graphics Coarse Grain Clock Gating: On
    Graphics Coarse Grain memory Light Sleep: Off
    Graphics Coarse Grain Tree Shader Clock Gating: Off
    Graphics Coarse Grain Tree Shader Light Sleep: Off
    Graphics Command Processor Light Sleep: Off
    Graphics Run List Controller Light Sleep: Off
    Graphics 3D Coarse Grain Clock Gating: On
    Graphics 3D Coarse Grain memory Light Sleep: Off
    Memory Controller Light Sleep: On
    Memory Controller Medium Grain Clock Gating: On
    System Direct Memory Access Light Sleep: Off
    System Direct Memory Access Medium Grain Clock Gating: Off
    Bus Interface Medium Grain Clock Gating: Off
    Bus Interface Light Sleep: Off
    Unified Video Decoder Medium Grain Clock Gating: Off
    Video Compression Engine Medium Grain Clock Gating: Off
    Host Data Path Light Sleep: On
    Host Data Path Medium Grain Clock Gating: On
    Digital Right Management Medium Grain Clock Gating: Off
    Digital Right Management Light Sleep: Off
    Rom Medium Grain Clock Gating: Off
    Data Fabric Medium Grain Clock Gating: Off
    VCN Medium Grain Clock Gating: Off
    Host Data Path Deep Sleep: Off
    Host Data Path Shutdown: Off
    Interrupt Handler Clock Gating: On
    JPEG Medium Grain Clock Gating: Off
    Address Translation Hub Medium Grain Clock Gating: On
    Address Translation Hub Light Sleep: On
    This raises a lot of questions: Is this a known issue due to the early state of the drivers or is this behavior caused by a bug? Is there any way to make idle power usage comparable to Windows? Are there improvements in newer Kernels?
    I am really happy with 3D (Vulkan) performance and system stability, but the power draw in idle is unfortunate and makes me regret not paying attention to this before my purchase. On the other hand, while it's a common test in Windows based reviews, the information available on graphics cards idle power usage in Linux is really sparse.

    I'd be really grateful for any hints on how to improve idle power usage. At least suspend to RAM is working fine, so I'll be using that a lot...
    Last edited by whatever; 11 July 2021, 05:57 AM.

  • #2
    What mode is the monitor using (e.g., 4k@60Hz, 4K@144Hz, etc.)? The ability to change the memory clock is dependent on the length of the display blanking periods.

    Comment


    • #3
      My monitor is running at 2560x1440@60Hz, I think that should be pretty average by today's standards.

      Edit: Tried Kernel 5.13.1, same behavior
      Last edited by whatever; 13 July 2021, 12:04 PM.

      Comment


      • #4
        Update:

        If I lower my settings to 1920x1080@30Hz power consumption drops by ~30 Watts
        Code:
        # cat /sys/kernel/debug/dri/0/amdgpu_pm_info
        GFX Clocks and Power:
        96 MHz (MCLK)
        0 MHz (SCLK)
        1825 MHz (PSTATE_SCLK)
        1000 MHz (PSTATE_MCLK)
        6 mV (VDDGFX)
        6.0 W (average GPU)
        
        GPU Temperature: 38 C
        GPU Load: 0 %
        MEM Load: 0 %
        
        SMC Feature Mask: 0x00003762a37f7dff
        VCN: Disabled
        
        Clock Gating Flags Mask: 0x38118305
        Graphics Fine Grain Clock Gating: Off
        Graphics Medium Grain Clock Gating: On
        Graphics Medium Grain memory Light Sleep: Off
        Graphics Coarse Grain Clock Gating: On
        Graphics Coarse Grain memory Light Sleep: Off
        Graphics Coarse Grain Tree Shader Clock Gating: Off
        Graphics Coarse Grain Tree Shader Light Sleep: Off
        Graphics Command Processor Light Sleep: Off
        Graphics Run List Controller Light Sleep: Off
        Graphics 3D Coarse Grain Clock Gating: On
        Graphics 3D Coarse Grain memory Light Sleep: Off
        Memory Controller Light Sleep: On
        Memory Controller Medium Grain Clock Gating: On
        System Direct Memory Access Light Sleep: Off
        System Direct Memory Access Medium Grain Clock Gating: Off
        Bus Interface Medium Grain Clock Gating: Off
        Bus Interface Light Sleep: Off
        Unified Video Decoder Medium Grain Clock Gating: Off
        Video Compression Engine Medium Grain Clock Gating: Off
        Host Data Path Light Sleep: On
        Host Data Path Medium Grain Clock Gating: On
        Digital Right Management Medium Grain Clock Gating: Off
        Digital Right Management Light Sleep: Off
        Rom Medium Grain Clock Gating: Off
        Data Fabric Medium Grain Clock Gating: Off
        VCN Medium Grain Clock Gating: Off
        Host Data Path Deep Sleep: Off
        Host Data Path Shutdown: Off
        Interrupt Handler Clock Gating: On
        JPEG Medium Grain Clock Gating: Off
        Address Translation Hub Medium Grain Clock Gating: On
        Address Translation Hub Light Sleep: On
        But 2560x1440@30Hz, 1920x1080@60Hz and even 1280x720@60Hz are keeping MCLK locked at 1000 MHz.
        This looks like a bug to me.
        Last edited by whatever; 15 July 2021, 01:52 PM.

        Comment


        • #5
          Fixed by creating a custom modeline with slightly increased vertical back porch as described at https://gitlab.freedesktop.org/drm/a...03#note_919886

          Comment


          • #6
            Thank you, I'm sure my setup suffers from this too (5700 XT plus two 1920x1200(x60?) Dell monitors connected with DisplayPort cables).

            Comment

            Working...
            X