Fix High Idle Power Consumption with AMD dGPU on Kernel 6.13
-
I am using a AMD RX 7800 XT and realized that my idle power consumption has went up recently from ~5-10W to ~30W. After some investigation I found out it was caused by the change to the default power profiles from
BOOTUP_DEFAULT
to3D_FULLSCREEN
in 6.13. When in3D_FULLSCREEN
profile, the GPU memory clock won't transition to the lowest clock speed and consuming extra ~20W (!!) of power.To fix this, I have to manually change the power profile using following commands (as root):
echo 'manual' > /sys/class/drm/card1/device/power_dpm_force_performance_level # check the available power profiles to get the index cat /sys/class/drm/card1/device/pp_power_profile_mode # normally 0 = BOOTUP_DEFAULT echo 0 > /sys/class/drm/card1/device/pp_power_profile_mode
(you may need to change
card1
tocard0
depends on your system)Note that the configuration is not persisted across reboot and you may encounter shuttering during gaming with
BOOTUP_DEFAULT
.I highly recommend to use some tools like LACT to automatically apply the power profile on startup and also automatically switch the profile to
3D_FULLSCREEN
when running games.That's pretty bad if it's changed the default behaviour for this. Can you tell us which distro this is with
-
I am using a AMD RX 7800 XT and realized that my idle power consumption has went up recently from ~5-10W to ~30W. After some investigation I found out it was caused by the change to the default power profiles from
BOOTUP_DEFAULT
to3D_FULLSCREEN
in 6.13. When in3D_FULLSCREEN
profile, the GPU memory clock won't transition to the lowest clock speed and consuming extra ~20W (!!) of power.To fix this, I have to manually change the power profile using following commands (as root):
echo 'manual' > /sys/class/drm/card1/device/power_dpm_force_performance_level # check the available power profiles to get the index cat /sys/class/drm/card1/device/pp_power_profile_mode # normally 0 = BOOTUP_DEFAULT echo 0 > /sys/class/drm/card1/device/pp_power_profile_mode
(you may need to change
card1
tocard0
depends on your system)Note that the configuration is not persisted across reboot and you may encounter shuttering during gaming with
BOOTUP_DEFAULT
.I highly recommend to use some tools like LACT to automatically apply the power profile on startup and also automatically switch the profile to
3D_FULLSCREEN
when running games.So I'm still on kernel 6.8, and my Vega 56 is running at 20-30W while posting this and watching Youtube. Not sure if that's normal for that older card, or if I've been wasting energy for a really long time.
-
So I'm still on kernel 6.8, and my Vega 56 is running at 20-30W while posting this and watching Youtube. Not sure if that's normal for that older card, or if I've been wasting energy for a really long time.
video playback will likely kick the asic out of idle. What's your power use at true desktop idle?
-
That's pretty bad if it's changed the default behaviour for this. Can you tell us which distro this is with
Interesting, maybe this issue only happens for RDNA3?
I'm also using F41 with same kernel but with KDE. Display is 2560x1440 @ 120Hz. On
3D_FULLSCREEN
, mypp_dpm_mclk
is on 772Mhz most of the time with some occasional 456Mhz, but never drop to 96Mhz. It will only drop to 96Mhz if I change toBOOUP_DEFAULT
(orPOWER_SAVING
). -
video playback will likely kick the asic out of idle. What's your power use at true desktop idle?
I killed Firefox and waited a while, and now I'm seeing 17-19W.
-
I killed Firefox and waited a while, and now I'm seeing 17-19W.
huh, I generally expect Vega10 based GPUs to idle at ~3W TGP (not inclusive of other board power losses like VRM). Can you tell us what you display setup is?
-
Interesting, maybe this issue only happens for RDNA3?
I'm also using F41 with same kernel but with KDE. Display is 2560x1440 @ 120Hz. On
3D_FULLSCREEN
, mypp_dpm_mclk
is on 772Mhz most of the time with some occasional 456Mhz, but never drop to 96Mhz. It will only drop to 96Mhz if I change toBOOUP_DEFAULT
(orPOWER_SAVING
).That's kind of curious. I don't think 3D_FULLSCREEN should inherently determine idle mclk behaviour in and of itself. Is this just a single 1440p display at 120Hz? Is VRR enabled?
-
huh, I generally expect Vega10 based GPUs to idle at ~3W TGP (not inclusive of other board power losses like VRM). Can you tell us what you display setup is?
Display setup is 3x 1440p 100Hz.
I can't give you any new readings because I just took the computer apart to do upgrades. This one is getting a 9070 XT, and the Vega is getting handed down to my home server for (hopefully, if it's capable of it) Jellyfin transcoding and local LLM duty.
That means I'll still be very interested in making sure it idles properly since it'll be doing so almost 24/7, but it'll have to wait a minute because getting it installed isn't my priority.
(The desktop upgrade is complicated because the new card is too wide to fit in my old case, which sent me down a rabbit hole of picking out a new SFF case and replacing supporting components like the PSU and CPU cooler...)
-
Display setup is 3x 1440p 100Hz.
I can't give you any new readings because I just took the computer apart to do upgrades. This one is getting a 9070 XT, and the Vega is getting handed down to my home server for (hopefully, if it's capable of it) Jellyfin transcoding and local LLM duty.
That means I'll still be very interested in making sure it idles properly since it'll be doing so almost 24/7, but it'll have to wait a minute because getting it installed isn't my priority.
(The desktop upgrade is complicated because the new card is too wide to fit in my old case, which sent me down a rabbit hole of picking out a new SFF case and replacing supporting components like the PSU and CPU cooler...)
These older (maybe also current) amd gpus for some reason defaults to higher vram speeds when a monitor has mor than 60hz. The fix requires generating a custom edid file, which is a great pain in the ass to get to work
-
These older (maybe also current) amd gpus for some reason defaults to higher vram speeds when a monitor has mor than 60hz. The fix requires generating a custom edid file, which is a great pain in the ass to get to work
This isn't true for Vega 10 and 20 due to its use of HBM2. In general what you're describing is a comparative weakness of GDDR as a technology. I don't think there's anything to suggest there's an inherent issue with idle power on older gen asics at >60 Hz save from the typical limitations with VBI compatibility or display bandwidth thresholds. In the case of VBI compact issues, modifying the EDID can indeed help.
-
Display setup is 3x 1440p 100Hz.
I can't give you any new readings because I just took the computer apart to do upgrades. This one is getting a 9070 XT, and the Vega is getting handed down to my home server for (hopefully, if it's capable of it) Jellyfin transcoding and local LLM duty.
That means I'll still be very interested in making sure it idles properly since it'll be doing so almost 24/7, but it'll have to wait a minute because getting it installed isn't my priority.
(The desktop upgrade is complicated because the new card is too wide to fit in my old case, which sent me down a rabbit hole of picking out a new SFF case and replacing supporting components like the PSU and CPU cooler...)
Huh interesting. Are these displays all the exact same model?
There's a relatively new feature in the and gfx display abstraction layer called freesync power optimisation. This feature leverages panel VRR to help mclk idle low. This was introduced for single display use with RDNA 2, and expanded to dual display along with RDNA3s MALL advancements. I'm not sure if this is expanded further with RDNA 4 but I can try to find out.
-
Huh interesting. Are these displays all the exact same model?
There's a relatively new feature in the and gfx display abstraction layer called freesync power optimisation. This feature leverages panel VRR to help mclk idle low. This was introduced for single display use with RDNA 2, and expanded to dual display along with RDNA3s MALL advancements. I'm not sure if this is expanded further with RDNA 4 but I can try to find out.
Huh interesting. Are these displays all the exact same model?
Yep. I like me some symmetry.
I'm not sure if this is expanded further with RDNA 4 but I can try to find out.
Thanks very much; I would love to have all three displays freesyncing!
-
Huh interesting. Are these displays all the exact same model?
Yep. I like me some symmetry.
I'm not sure if this is expanded further with RDNA 4 but I can try to find out.
Thanks very much; I would love to have all three displays freesyncing!
I don't believe FPO was expanded to >2 displays, though having identical panels would eliminate VBI complexities. Will be interested in understanding how this behaves with rdna 4.
-
This isn't true for Vega 10 and 20 due to its use of HBM2. In general what you're describing is a comparative weakness of GDDR as a technology. I don't think there's anything to suggest there's an inherent issue with idle power on older gen asics at >60 Hz save from the typical limitations with VBI compatibility or display bandwidth thresholds. In the case of VBI compact issues, modifying the EDID can indeed help.
you're probably right, I have an RDNA1 card, I have no idea what could be causing this otherwise. probably some weird amd driver issue
-