To all
I worked with Gemini AI to solve the dimming issue on my screen after a set period (2 mins) of inactity)
I believe that this will help you, if you face the same issue.
[Issue] Bypassing broken Plasma 6 PowerDevil idle dimming on Desktop via swayidle + kscreen-doctor
Hi everyone,
I wanted to share a successful, rock-solid engineering workaround for an issue I ran into on my openSUSE Plasma 6 Wayland desktop session: the system completely failed to dim the screen on idle.
Digging into the systemd user journal for powerdevil, the root causes became immediately clear. On desktop hardware with external monitors, PowerDevil encounters two massive roadblocks:
- Hardware/Kernel Failure ($I^2C$ Bus Flooding): It attempts to call
libddcutilover the $I^2C$ bus (/dev/i2c-2) to change physical backlight voltages, but errors out with max retries exceeded, flagging the display asddc working: false. - D-Bus Omission Bug: The high-level event loop is broken because the compiled PowerDevil binary drops the session tracker signals:
Continuing on…
qt.dbus.integration: QDBusConnection: couldn’t handle call to triggerSessionIdle, no slot matched
qt.dbus.integration: Could not find slot PowerManagementAdaptor::triggerSessionIdle
The Solution (A Pure Wayland User-Space Workaround)
Instead of waiting for a downstream fix to PowerDevil or fighting with unstable DDC/CI hardware cables, I bypassed the broken desktop stack entirely. By pairing swayidle (which reads the native Wayland ext-idle-notify-v1 compositor protocol directly) with kscreen-doctor (which dims the display safely via software graphics scaling instead of hardware I2C lines), we get a bulletproof loop.
Here is the exact setup that successfully solved it for me:
- Install swayidle from the official repos:
sudo zypper in -y swayidle
- Create a dedicated automation script (~/bin/safe-dimmer.sh):
#!/bin/bash
pkill swayidle
swayidle -w \
timeout 120 'kscreen-doctor output.1.brightness.20' \
resume 'kscreen-doctor output.1.brightness.100'
(Note: Because human eyes perceive brightness logarithmically rather than linearly, a drop to 20 provides an ideal, noticeable dimming effect without turning off the display entirely or hitting the 1% black-screen freeze bug).
- Write it into the Freedesktop/XDG Autostart Specification (~/.config/autostart/safe-dimmer.desktop):
Create this desktop entry:
[Desktop Entry]
Type=Application
Name=Safe Dimmer Daemon
Comment=Bypass broken PowerDevil using swayidle
Exec=/home/owner/bin/safe-dimmer.sh
StartupNotify=false
Terminal=false
X-KDE-Autostart-phase=2
Using X-KDE-Autostart-phase=2 ensures that the script waits until the Plasma session and KWin Wayland compositor are fully initialized before spawning, preventing any early-boot race conditions.
The script successfully populates right inside the Plasma 6 Autostart settings panel alongside other startup items, and it executes flawlessly on login. If the system is left untouched for exactly 2 minutes, it dims smoothly to 20%, and restores to 100% the exact millisecond the mouse or keyboard registers an interrupt.
Hopefully, this breakdown helps anyone else running into desktop power-management regressions on modern Plasma 6 builds!
I am offering this as my solution for this issue.
- Randall