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. ***
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).
I've set the "Version First Reported In" back to what it had been. This shouldn't be changed.
xe support will be added in 6.8
*** This bug has been marked as a duplicate of bug 512866 ***
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
Created attachment 195068 [details] Ksystemmonitor GPU usage currently
Created attachment 195069 [details] Ksystemmonitor GPU usage after patching
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
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
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
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
*** Bug 524424 has been marked as a duplicate of this bug. ***