https://bugs.kde.org/show_bug.cgi?id=522776

            Bug ID: 522776
           Summary: AMDGPU memory clock sensor reports 0 MHz when
                    pp_dpm_mclk has no active "*" entry (RX 7900 XTX)
    Classification: Frameworks and Libraries
           Product: ksystemstats
      Version First 6.4.0
       Reported In:
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: General
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
  Target Milestone: ---

Summary

On an AMD Radeon RX 7900 XTX (Navi31), the Plasma System Monitor memory clock
sensor correctly reports 772 MHz while idle, but reports 0 MHz whenever the
VRAM reaches its highest performance state.

The kernel, hwmon, amdgpu_top and lm_sensors all report the correct frequency.

This appears to be caused by ksystemstats parsing pp_dpm_mclk and expecting an
active * entry, which disappears in the highest memory DPM state.

Software Versions
Plasma: 6.7.2
ksystemstats: 6.7.2
Kernel: (paste output of uname -r)
Mesa: (paste output of glxinfo -B | grep "OpenGL version")
GPU:
Sapphire RX 7900 XTX Vapor-X
Steps to reproduce
Add the "GPU Memory Frequency" sensor to a Plasma widget.
Observe the value while the GPU is idle.
Run a GPU-intensive workload.
Observe the sensor.
Expected result

The sensor should display the actual memory frequency.

For example:

772 MHz

↓

1300 MHz

(or the corresponding effective value depending on how the sensor is defined).

Actual result

The sensor changes from

772 MHz

to

0 MHz

while the GPU is under load.

Evidence

The Plasma sensor reports:

Idle

gdbus ... sensorData ['gpu/gpu0/memoryFrequency']

772

Load

gdbus ... sensorData ['gpu/gpu0/memoryFrequency']

0

However, the driver reports:

Idle

cat /sys/class/drm/card1/device/pp_dpm_mclk

0: 96Mhz
1: 456Mhz
2: 772Mhz *
3: 1249Mhz

Load

0: 96Mhz
1: 456Mhz
2: 772Mhz
3: 1249Mhz

Notice that the active * disappears completely.

The actual memory clock is still reported correctly by:

amdgpu_top
lm_sensors
/sys/kernel/debug/dri/1/amdgpu_pm_info

Therefore the driver is functioning correctly and only the ksystemstats sensor
returns 0.

It looks like the AMD backend assumes that one DPM state is always marked with
*, which is not true on this GPU.

A more reliable source may be:

/sys/class/drm/card1/device/hwmon/.../freq2_input

which is what lm_sensors reads.

SOFTWARE/OS VERSIONS
Operating System (available in the Info Center app, or by running `kinfo` in a
terminal window):
Operating System: Arch Linux 
KDE Plasma Version: 6.7.2
KDE Frameworks Version: 6.27.0
Qt Version: 6.11.1
Kernel Version: 7.1.3-1-cachyos-bore (64-bit)
Graphics Platform: Wayland
Processors: 32 × AMD Ryzen 9 5950X 16-Core Processor
Memory: 32 GiB of RAM (31.2 GiB usable)
Graphics Processor: AMD Radeon RX 7900 XTX

ADDITIONAL INFORMATION

Linux Ry 7.1.3-1-cachyos-bore #1 SMP PREEMPT_DYNAMIC Mon, 06 Jul 2026 17:33:12
+0000 x86_64 GNU/Linux

ksystemstats 6.7.2-1
plasma-systemmonitor 6.7.2-1
mesa-git 26.2.0_devel.223596.f1c30d65e15.d41d8cd-1
linux 7.1.2.arch3-1
linux-firmware 20260622-1

cat /sys/class/drm/card1/device/pp_dpm_mclk
0: 96Mhz 
1: 456Mhz 
2: 772Mhz *
3: 1249Mhz 

gdbus call --session \
  --dest org.kde.ksystemstats1 \
  --object-path /org/kde/ksystemstats1 \
  --method org.kde.ksystemstats1.sensorData \
  "['gpu/gpu0/memoryFrequency']"
([('gpu/gpu0/memoryFrequency', <772>)],)

When memory is up to 2600mhz:
cat /sys/class/drm/card1/device/pp_dpm_mclk
0: 96Mhz 
1: 456Mhz 
2: 772Mhz 
3: 1249Mhz 

gdbus call --session \
  --dest org.kde.ksystemstats1 \
  --object-path /org/kde/ksystemstats1 \
  --method org.kde.ksystemstats1.sensorData \
  "['gpu/gpu0/memoryFrequency']"
([('gpu/gpu0/memoryFrequency', <0>)],)


I have confirmed that this is not a widget issue. The widget simply displays
the value returned by org.kde.ksystemstats1.sensorData, which itself changes
from 772 to 0 under load.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to