this post was submitted on 16 Mar 2025
68 points (97.2% liked)

Linux

52059 readers
1267 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I am using a AMD RX 7800 XT and noticed 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 to 3D_FULLSCREEN in 6.13. When in 3D_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 to card0 depends on your system)

Note that the configuration is not persisted across reboot and you may encounter shuttering during gaming with BOOTUP_DEFAULT.

I recommend to use tools like LACT to automatically apply the power profile on startup and also automatically switch the profile to 3D_FULLSCREEN when running games.

Edit: you should check you current GPU idle power consumption first (with nvtop or lm_sensors) before applying the change, the issue may not affect all AMD GPU

you are viewing a single comment's thread
view the rest of the comments
[–] vikingtons@lemmy.world 4 points 3 days ago* (last edited 3 days ago) (1 children)

Can you tell us which distro and display config this is with?

I'm also in 3D_FULLSCREEN on NV21XT but my idle mclk is 96 MHz. TGP (not to be confused with TBP which is only communicated on RDNA 3 and up) is 6 watts at idle with my browsers open. GNOME 47 + Wayland, 2560 x 1440 @ 180Hz + 1920 x 1080 @ 60Hz, VRR enabled on both displays. This is with Fedora 41, kernel 6.13.6-200.fc41.x86_64

For context, the GPU index (0,1,2 etc) will depend on the number of video adapters you have in the system. If you have a CPU with integrated graphics, there's a chance this will be registered as 0000 whereas the dGPU will be 0001.

[–] nexv@programming.dev 2 points 3 days ago (1 children)

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, my pp_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 to BOOUP_DEFAULT (or POWER_SAVING).

[–] vikingtons@lemmy.world 1 points 3 days ago

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?