Goal
My goal is to get the optimal power management one gets on Windows. Meaning:
- the GPU fans should not spin at low temperature (the hardware supports 0 RPM mode)
- optimize power draw (on Windows it draws around 10W on idle, whereas on Ubuntu it draws 30W minimum)
Issue
Reading ArchWiki, Gentoo Wiki and the amdgpu driver docs, I have found something called dpm. I thought of changing power_dpm_state
's value from performance
to low
. But I get the following error:
➜ ~ echo "low" | sudo tee /sys/class/drm/card0/device/power_dpm_state
low
tee: /sys/class/drm/card0/device/power_dpm_state: Invalid argument
Questions
What is causing that error? How can I successfully change the value?
Do you think I am on the right path to achieve my goal, or is this approach wrong?
System Info
➜ ~ uname -a
Linux hostname 5.3.0-46-generic #38~18.04.1-Ubuntu SMP Tue Mar 31 04:17:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
➜ ~ sudo lshw -c video
*-display
description: VGA compatible controller
product: Ellesmere [Radeon RX 470/480/570/570X/580/580X]
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0
bus info: pci@0000:26:00.0
version: e7
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi vga_controller bus_master cap_list rom
configuration: driver=amdgpu latency=0
resources: irq:74 memory:e0000000-efffffff memory:f0000000-f01fffff ioport:e000(size=256) memory:fce00000-fce3ffff memory:c0000-dffff