Graphics card not reacting to power saving modes (Radeon RX 570)

Hello everyone,

when investigating the high power usage of my PC I measured with a tool at the cord, I found that most of the power was consumed by the graphics card / GPU. Even when idling (Gnome Desktop with no apps open except the temperature monitor), it uses around 30 W according to corectrl and radeon-profiles. I know these measurements are not supposed to be accurate, but as I said, I can also see the high power consumption on my power outlet (total usage of the PC is 48 W). I have seen reports of lower than 10 W for this specific graphics chip.

The card is a Sapphire Radeon RX 570 (Polaris), I tried Kernel 5.4 and 5.10 and I use the amdgpu driver (not pro). I have a single monitor connected with a 1920x1200 resolution. I use the kernel parameters amdgpu.dc=1 amdgpu.ppfeaturemask=0xffffffff radeon.dpm=1. I also tried without the last one and without all of them with no effect.

So, I tried to activate power saving options. I tried TLPUI but that was not helpful at all, for example it deactivates dynamic power management because that is only for radeon drivers. Other options are only for radeon, too, but are activated.

I also tried corectrl and I can control the fan from there, however, all other options have no effect. Then I tried radeon-profile and I can see that whatever profile I select, the selection jumps back to 3D_FULL_SCREEN after a second or so.

What did I miss?

Indeed, my radeon-profile says 8-10W when idle. I have a Radeon RX 470 (4GB). 30W seems too much. I don’t have any kernel parameters related with GPU. Could you be using some desktop config which is constantly offloading to the GPU some compositor tasks?

If that was the case, I should see a decrease in power usage when booting into CLI only, right? Unfortunately, that’s not the case.

Also, I meanwhile re-installed Manjaro but the problem persists. That way I made sure that I did not mess with the drivers myself as I did nothing to the drivers since the installation.

Yes, you’re right. The power saving isn’t working as it should.

EDIT: You can take a look for any cue in the module tab of radeon profile. I think those can be toggled as kernel parameters (or possibly through the command line).

First of all, sorry for the late reply and thanks for the hint. I tried to make sense of the kernel modules myself but failed. I found ppfeaturemask but it already states all the power features are on. Do you or anyone else know if any of the other parameters / modules are related to power usage? Here is the list.

That’s not what I meant. I meant the module tab in radeon-profile.

That’s the same view, I made several screenshots and glued them together because the list did not fit on one screenshot.

My bad!

Please post the output of ls /sys/class/drm/card0/device/

Maybe we can set it manually through the command line.

EDIT: here there are some hints which may lead you in the right direction, but radeon-profile already offers those options anyway. Have you tried enabling manual frequency control in radeon-profile?

Here is the requested output.
aer_dev_correctable
aer_dev_fatal
aer_dev_nonfatal
ari_enabled
boot_vga
broken_parity_status
class
config
consistent_dma_mask_bits
consumer:0000:26:00.1
current_link_speed
current_link_width
d3cold_allowed
device
devspec
dma_mask_bits
driver
driver_override
drm
enable
fw_version
gpu_busy_percent
graphics
hwmon
i2c-3
i2c-4
i2c-5
i2c-6
i2c-7
iommu
iommu_group
irq
link
local_cpulist
local_cpus
max_link_speed
max_link_width
mem_busy_percent
mem_info_gtt_total
mem_info_gtt_used
mem_info_vis_vram_total
mem_info_vis_vram_used
mem_info_vram_total
mem_info_vram_used
mem_info_vram_vendor
modalias
msi_bus
msi_irqs
numa_node
pcie_bw
pcie_replay_count
power
power_dpm_force_performance_level
power_dpm_state
pp_cur_state
pp_dpm_mclk
pp_dpm_pcie
pp_dpm_sclk
pp_force_state
pp_mclk_od
pp_num_states
pp_power_profile_mode
pp_sclk_od
pp_table
product_name
product_number
remove
rescan
reset
resource
resource0
resource0_wc
resource2
resource2_wc
resource4
resource5
revision
rom
serial_number
subsystem
subsystem_device
subsystem_vendor
thermal_throttling_logging
uevent
vbios_version
vendor

I can try enabling manual frequency control but the frequencies of GPU and memory are already at 300 Mhz, which is the minimum, right?

Well, if dpm is working and GPU use is low, then I don’t understand why power consumption is so high. Maybe it is related with the brand (Sapphire). Have you searched for specs or reviews which may indicate power consumption?

I have. Unfortunately, the brand does not give any information on minimal power consumption or typical power consumption when idling, and reviews are inconsistent. Some report low numbers like you, some report numbers like mine.