Hi,
I opened drm/amd#5863 because I am seeing a fairly large and very
reproducible power-consumption difference between Linux and Windows on
my Lenovo ThinkPad T14 Gen 6 AMD (21QJ0057HV, Ryzen AI 7 PRO 350 /
Krackan Point):
https://gitlab.freedesktop.org/drm/amd/-/issues/5863
The problem originally appeared with normal distribution kernels,
including the Ubuntu 24.04 OEM kernel. I only started building custom
kernels later, because I wanted to understand what was actually keeping
the machine at this higher power level.
The short version of the measurements is:
|Screen on / idle Linux, clean multi-user.target: ~7.57 W Windows,
normal desktop: ~5.60–5.78 W Internal display off Linux, panel verified
powered off: ~5.27–5.45 W Windows, after natural screen-off: ~2.25–2.29 W|
On Linux I can now verify zero DRM streams, an inactive eDP link,
backlight and panel power off, all HUBPs power-gated, and actual
IPS1/IPS2 entries. Despite this, the machine still remains around 5.3–5.5 W.
During the investigation I also found what looks like a separate DCN35
zero-stream idle-policy issue. With the existing logic, a connected eDP
panel with zero streams does not satisfy the headless condition used to
reallow idle optimizations.
An experimental change allows IPS2 to work, but the measured improvement
is only around 0.1–0.2 W at APU level, so it does not seem to explain
the main difference. Active RCG also remains at zero despite long
idle-admission windows and quiescent HUBP state.
I am trying to be careful with the Windows comparison because this is a
Modern Standby system. The PowerShell measurement process remained
runnable with SYSTEM_REQUIRED and EXECUTION_REQUIRED requests, but
Windows may still be reaching deeper runtime residency between samples.
I therefore do not want to claim that the Linux and Windows states are
internally identical.
One thing that makes me hesitant to blame the APU itself is that I have
found reports from other Linux users with very similar hardware showing
much better efficiency.
A ThinkPad T14s Gen 6 AMD owner with a Ryzen AI 7 350 / Radeon 860M
reported roughly 2.1 W idle with the stock TuneD profiles and about 1.5
W after further tuning. I also found a Framework 13 owner with the Ryzen
AI 7 350 reporting roughly 10–12 hours of Linux battery life.
I realize these are anecdotal reports from different machines and
configurations, so I am not treating them as controlled evidence. Still,
they make me think the platform itself should be capable of considerably
better Linux power efficiency.
For some practical context, my normal workload is software development
and cybersecurity work: VSCodium, Signal/Discord, Spotify, a browser
with several tabs, SSH terminals, and usually an RDP session.
With that workload, Linux tends to put the laptop around 10–11 W, while
Windows is closer to ~7 W. Unfortunately, Windows does not provide the
environment and tooling I normally need, which is why I have been trying
quite hard to understand what Linux might be missing here.
At this point I am mostly trying to determine whether Linux is missing
some Krackan-specific platform-power transition or initialization
involving SMU/PMFW, DF/UMC, ACPI/platform coordination, or another
parent power domain.
I may of course be looking in the wrong place, which is why guidance
from people familiar with the platform would be extremely useful.
The GitLab issue contains the measurements and the investigation so far.
I have the machine available for testing and can build and test kernels
quickly. If there is a diagnostic patch, additional telemetry, firmware
trace, or a specific experiment that could help narrow this down, I
would be very happy to run it.
Thanks for taking a look.
Regards,
--
_____________________________________
Daniel Ruszin
Software Engineer | Cybersecurity Practitioner | Accountant
Mobile: +36 20 249-2996 (+Viber, Signal, Telegram, etc.)
E-mail:[email protected]