Bug 517334 - KDE System Monitor 6.6.2 shows 0% GPU usage for Intel Arc A380 (ksystemstats wrong i915 event_source path)
Summary: KDE System Monitor 6.6.2 shows 0% GPU usage for Intel Arc A380 (ksystemstats ...
Status: RESOLVED FIXED
Alias: None
Product: plasma-systemmonitor
Classification: Applications
Component: general (other bugs)
Version First Reported In: 6.6.2
Platform: CachyOS Linux
: NOR normal
Target Milestone: ---
Assignee: KSysGuard Developers
URL:
Keywords:
: 524424 (view as bug list)
Depends on:
Blocks:
 
Reported: 2026-03-09 10:14 UTC by Samuel J Chiazza
Modified: 2026-08-19 07:53 UTC (History)
10 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.6.7
Sentry Crash Report:


Attachments
Ksystemmonitor GPU usage currently (351.62 KB, image/png)
2026-08-11 15:40 UTC, Takahiro Hashimoto
Details
Ksystemmonitor GPU usage after patching (332.86 KB, image/png)
2026-08-11 15:41 UTC, Takahiro Hashimoto
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Samuel J Chiazza 2026-03-09 10:14:33 UTC
KDE System Monitor 6.6.2 shows 0% GPU usage for Intel Arc A380 (ksystemstats wrong i915 event_source path)

### Product / Components

- Product: Plasma  
- Component: `ksystemstats` / System Monitor GPU sensors  
- Version: 6.6.2 (KDE neon User Edition, up to date)

### Description

On my system with an Intel Arc A380 (Sparkle) discrete GPU, KDE System Monitor always shows **0% GPU utilization**, even under heavy load, while `intel_gpu_top` and other tools report correct usage.

The Intel GPU appears to be working correctly in the kernel and userspace:

- `intel_gpu_top` shows live engine usage for `Intel Dg2 (Gen12) @ /dev/dri/card1`.
- `CAP_PERFMON` is set on `ksystemstats_intel_helper`.
- `perf_event_paranoid` is set to `2`.

However, `ksystemstats` logs an error about a missing event_source device directory and never reports any GPU load.

### System information

Please edit these lines to match your system if needed:

- Distro: KDE neon User Edition (Ubuntu‑based, fully updated as of March 2026)  
- Plasma: 6.6.2  
- KDE Frameworks: (whatever System Settings → About shows)  
- Qt: 6.x (from About)  
- Session: Wayland  
- CPU: Intel Core i7‑4930K (X79 platform)  
- GPU: Intel Arc A380 (Sparkle) discrete card, using `i915` driver  
- `/dev/dri`:
  ```bash
  ls -l /dev/dri
  total 0
  drwxr-xr-x  2 root root   80 Mar  9 05:43 by-path
  crw-rw----+ 1 root video  226,   1 Mar  9 05:43 card1
  crw-rw----+ 1 root render 226, 128 Mar  9 05:43 renderD128
  ```

### Commands run / configuration

```bash
# Give Intel helper perfmon capability
sudo setcap 'CAP_PERFMON=+ep' /usr/lib/x86_64-linux-gnu/libexec/ksystemstats_intel_helper
getcap /usr/lib/x86_64-linux-gnu/libexec/ksystemstats_intel_helper
# Output:
# /usr/lib/x86_64-linux-gnu/libexec/ksystemstats_intel_helper cap_perfmon=ep

# Relax perf security to allow GPU PMUs:
cat /proc/sys/kernel/perf_event_paranoid
# 2
```

`intel_gpu_top` works and shows live usage:

```bash
sudo intel_gpu_top
# Shows: Intel Dg2 (Gen12) @ /dev/dri/card1 with Render3D/Video/etc engines
```

`ksystemstats` is running:

```bash
ps aux | grep ksystemstats | head
# joechia+  3214  1.1  0.0 338480 41752 ?  Ssl  05:45  0:11 /usr/bin/ksystemstats
```

### Relevant journalctl logs

From `journalctl -b | grep -i ksystemstats`:

```text
Mar 09 05:44:30 x79a380hexacorex12i7 dbus-daemon[1787]: [session uid=1000 pid=1787] Activating via systemd: service name='org.kde.ksystemstats1' unit='plasma-ksystemstats.service' requested by ':1.57' (uid=1000 pid=2706 comm="/usr/bin/plasma-systemmonitor" label="unconfined")
Mar 09 05:44:30 x79a380hexacorex12i7 systemd[1769]: Starting plasma-ksystemstats.service - Track hardware statistics...
Mar 09 05:44:30 x79a380hexacorex12i7 dbus-daemon[1787]: [session uid=1000 pid=1787] Successfully activated service 'org.kde.ksystemstats1'
Mar 09 05:44:30 x79a380hexacorex12i7 systemd[1769]: Started plasma-ksystemstats.service - Track hardware statistics.
Mar 09 05:47:19 x79a380hexacorex12i7 ksystemstats[3214]: "Device directory \"/sys/bus/event_source/devices/i9150000_04_00.0\" does not exist\n"
```

That last line looks like the root cause: `ksystemstats` is looking for an `i915` perf event_source directory named `i9150000_04_00.0`, but on this system there is only `card1` and `renderD128` under `/dev/dri`, and `/sys/bus/event_source/devices/i9150000_04_00.0` really does not exist. As a result, the Intel GPU plugin never finds a PMU and System Monitor’s GPU utilization stays at 0%.

### Expected vs actual behavior

- **Expected**: System Monitor GPU sensors show non‑zero utilization for Intel Arc (DG2) when the GPU is under load, similar to what `intel_gpu_top` reports.
- **Actual**: System Monitor shows 0% GPU usage at all times. `intel_gpu_top` reports correct usage.

### Steps to reproduce

1. Boot KDE neon User Edition with Intel Arc A380 (DG2) as primary GPU, using `i915` driver.  
2. Install `intel-gpu-tools` and verify `sudo intel_gpu_top` shows live engine usage.  
3. Set:
   ```bash
   sudo setcap 'CAP_PERFMON=+ep' /usr/lib/x86_64-linux-gnu/libexec/ksystemstats_intel_helper
   sudo sysctl kernel.perf_event_paranoid=2
   ```
4. Log out and back in (or reboot).  
5. Open **System Monitor → Edit Page**, add a GPU utilization graph, and put the GPU under load (game, benchmark, etc.).  
6. Observe that GPU utilization remains 0% while `intel_gpu_top` shows non‑zero usage.  
7. Check `journalctl -b | grep -i ksystemstats` and see:
   ```text
   Device directory "/sys/bus/event_source/devices/i9150000_04_00.0" does not exist
   ```

### Request

Could `ksystemstats` be updated to:

- Discover the correct `i915`/Arc perf event_source device directory dynamically on DG2/Arc (instead of hard‑coding `i9150000_04_00.0`), or  
- Use the same mechanism as `intel_gpu_top` to locate the GPU PMUs?

If you need additional logs (full `inxi -Gxx`, `ls -R /sys/bus/event_source/devices`, or a debug build), I’m happy to provide them.

***
Comment 1 fbrataon 2026-07-08 19:48:22 UTC
Confirming this also affects xe-driver iGPUs, not just discrete Arc cards
— same root cause, different hardware class.

System: Intel Core Ultra 9 288V (Lunar Lake), Arc 130V/140V iGPU
KDE Plasma 6.7.2, Frameworks 6.27.0, Qt 6.11.1, kernel 7.1.3-1-cachyos, xe driver

journalctl confirms the same failure mode:
  ksystemstats[PID]: "Device directory \"/sys/bus/event_source/devices/i915\" does not exist\n"

The actual xe PMU device is present on this system at:
  /sys/bus/event_source/devices/xe_0000_00_02.0

Ruled out permissions as a factor — cap_perfmon is correctly set on
ksystemstats_intel_helper (getcap confirms cap_perfmon=ep) and
kernel.perf_event_paranoid=2. The helper fails before reaching that
stage because it checks the i915 path first and exits early when it's
not found, rather than falling back to checking for an xe* device.

Given this now confirmed on both a discrete Arc card (A380) and an iGPU
(Lunar Lake 130V/140V), this looks like a straightforward "helper only
checks i915, needs an xe* fallback path" fix rather than anything
platform-specific — should affect every xe-driver system uniformly
(Lunar Lake, Arrow Lake, Battlemage, Alchemist-on-xe).
Comment 2 TraceyC 2026-07-08 20:34:41 UTC
I've set the "Version First Reported In" back to what it had been. This shouldn't be changed.
Comment 3 David Redondo 2026-07-16 06:53:34 UTC
xe support will be added in 6.8
Comment 4 Arjen Hiemstra 2026-07-17 07:55:42 UTC

*** This bug has been marked as a duplicate of bug 512866 ***
Comment 5 Takahiro Hashimoto 2026-08-11 15:38:12 UTC
Hi, the Alchemist GPUs (Intel Arc Axyz) don't use Xe driver but i915. This issue can be resolved by fixing the correct PMU path.
In my environment (A770) this issue can be resolved by this patch. Could you review the MR for it?

invent.kde.org/plasma/ksystemstats/-/merge_requests/146
Comment 6 Takahiro Hashimoto 2026-08-11 15:40:35 UTC
Created attachment 195068 [details]
Ksystemmonitor GPU usage currently
Comment 7 Takahiro Hashimoto 2026-08-11 15:41:15 UTC
Created attachment 195069 [details]
Ksystemmonitor GPU usage after patching
Comment 8 Takahiro Hashimoto 2026-08-11 15:58:05 UTC
By the way, my environment (Fedora 44 Kinoite, Intel Arc A770) doesn't have the pmu path of Xe. I need this fix rather than Xe support. Thank you.

---
kenya888@fedora:/sys/bus/event_source/devices$ LANG=en_US ls -l /sys/bus/event_source/devices
total 0
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 breakpoint -> ../../../devices/breakpoint
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 cpu_atom -> ../../../devices/cpu_atom
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 cpu_core -> ../../../devices/cpu_core
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 cstate_core -> ../../../devices/cstate_core
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 cstate_pkg -> ../../../devices/cstate_pkg
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 i915_0000_03_00.0 -> ../../../devices/i915_0000_03_00.0
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 intel_bts -> ../../../devices/intel_bts
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 intel_pt -> ../../../devices/intel_pt
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 kprobe -> ../../../devices/kprobe
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 msr -> ../../../devices/msr
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 power -> ../../../devices/power
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 software -> ../../../devices/software
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 tracepoint -> ../../../devices/tracepoint
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 uncore_arb_0 -> ../../../devices/uncore_arb_0
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 uncore_arb_1 -> ../../../devices/uncore_arb_1
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 uncore_cbox_0 -> ../../../devices/uncore_cbox_0
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 uncore_cbox_1 -> ../../../devices/uncore_cbox_1
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 uncore_cbox_2 -> ../../../devices/uncore_cbox_2
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 uncore_cbox_3 -> ../../../devices/uncore_cbox_3
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 uncore_cbox_4 -> ../../../devices/uncore_cbox_4
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 uncore_cbox_5 -> ../../../devices/uncore_cbox_5
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 uncore_clock -> ../../../devices/uncore_clock
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 uncore_imc_0 -> ../../../devices/uncore_imc_0
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 uncore_imc_1 -> ../../../devices/uncore_imc_1
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 uncore_imc_free_running_0 -> ../../../devices/uncore_imc_free_running_0
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 uncore_imc_free_running_1 -> ../../../devices/uncore_imc_free_running_1
lrwxrwxrwx. 1 root root 0 Aug 12 00:22 uprobe -> ../../../devices/uprobe
Comment 9 Takahiro Hashimoto 2026-08-13 07:37:47 UTC
Git commit 954ae7057b73440f1b8ac0e3a7fe1fb3b138595e by Takahiro Hashimoto.
Committed on 11/08/2026 at 09:54.
Pushed by davidre into branch 'master'.

Fix i915 PMU path for discrete Intel GPUs

The i915 PMU device for a discrete GPU uses a name such as
`i915_0000_03_00.0`, but IntelHelper constructs the path as
`i9150000_03_00.0`, missing the separator between `i915` and the
PCI address.

This prevents KSystemStats from collecting GPU statistics for
discrete Intel GPUs using the i915 driver.

Add the missing underscore when constructing the PMU device path.

M  +1    -1    plugins/gpu/IntelHelper.cpp

https://invent.kde.org/plasma/ksystemstats/-/commit/954ae7057b73440f1b8ac0e3a7fe1fb3b138595e
Comment 10 David Redondo 2026-08-13 07:43:19 UTC
Git commit d8e953176237789d98378116d3ec173222cda19f by David Redondo.
Committed on 13/08/2026 at 07:41.
Pushed by davidre into branch 'Plasma/6.7'.

Fix i915 PMU path for discrete Intel GPUs

The i915 PMU device for a discrete GPU uses a name such as
`i915_0000_03_00.0`, but IntelHelper constructs the path as
`i9150000_03_00.0`, missing the separator between `i915` and the
PCI address.

This prevents KSystemStats from collecting GPU statistics for
discrete Intel GPUs using the i915 driver.

Add the missing underscore when constructing the PMU device path.


(cherry picked from commit 954ae7057b73440f1b8ac0e3a7fe1fb3b138595e)

Co-authored-by: Takahiro Hashimoto <kenya888@gmail.com>

M  +1    -1    plugins/gpu/IntelHelper.cpp

https://invent.kde.org/plasma/ksystemstats/-/commit/d8e953176237789d98378116d3ec173222cda19f
Comment 11 David Redondo 2026-08-13 07:46:36 UTC
Git commit 573dfa62c6143da52d64841d540cdffa4360b136 by David Redondo.
Committed on 13/08/2026 at 07:43.
Pushed by davidre into branch 'Plasma/6.6'.

Fix i915 PMU path for discrete Intel GPUs

The i915 PMU device for a discrete GPU uses a name such as
`i915_0000_03_00.0`, but IntelHelper constructs the path as
`i9150000_03_00.0`, missing the separator between `i915` and the
PCI address.

This prevents KSystemStats from collecting GPU statistics for
discrete Intel GPUs using the i915 driver.

Add the missing underscore when constructing the PMU device path.


(cherry picked from commit 954ae7057b73440f1b8ac0e3a7fe1fb3b138595e)

Co-authored-by: Takahiro Hashimoto <kenya888@gmail.com>

(cherry picked from commit d8e953176237789d98378116d3ec173222cda19f)

Co-authored-by: David Redondo <kde@david-redondo.de>

M  +1    -1    plugins/gpu/IntelHelper.cpp

https://invent.kde.org/plasma/ksystemstats/-/commit/573dfa62c6143da52d64841d540cdffa4360b136
Comment 12 Arjen Hiemstra 2026-08-19 07:53:49 UTC
*** Bug 524424 has been marked as a duplicate of this bug. ***