[plasmashell] [Bug 507456] Powerdevil slows down login due to timeout with dccutil execution
Mauro <[email protected]>
| Newsgroups | gmane.comp.kde.devel.bugs |
|---|---|
| Message-ID | <[email protected]/> |
https://bugs.kde.org/show_bug.cgi?id=507456 --- Comment #16 from Mauro <[email protected]> --- (In reply to Nate Graham from comment #12) Now tested reliably on Kubuntu 26.04. Short answer: **yes, the underlying regression is still present** — but it was hidden on my day-to-day session by a misconfiguration, so it's worth reading the details. **Environment** - Kubuntu 26.04 LTS, kernel 7.0.0-29-generic, Wayland - KDE Plasma 6.6.6, powerdevil 4:6.6.6-0ubuntu0.1 - ddcutil / libddcutil5 2.2.6-1 (shared lib libddcutil.so.5.5.0) - AMD RX 6700 XT (amdgpu), 2× ASUS ROG on DisplayPort (PG278QR, PG279Q) **Why login *felt* fine at first** On my normal session, powerdevil started fast — but only because a leftover `~/.config/ddcutil/ddcutilrc` from my 25.04 tuning attempts uses the pre-2.0 `key = value` syntax, which is invalid in ddcutil 2.2.x. Every line is rejected and libddcutil fails to initialize: ``` org.kde.powerdevil: [DDCutilDetector]: Could not initialize ddcutil API. Not using DDC for monitor brightness. Error(s) processing configuration file: /home/mauro/.config/ddcutil/ddcutilrc Line 4: Invalid key name "sleep-multiplier" in section global ... ``` So powerdevil was simply skipping DDC entirely. That masks the bug (and disables DDC brightness control). **Clean test with default settings (config moved aside)** Once the invalid `ddcutilrc` is removed, the regression reproduces exactly as before: ``` $ time ddcutil detect # 4 consecutive runs warm-up : 12.42 s #1 : 13.19 s #2 : 12.41 s #3 : 12.40 s $ time systemctl --user restart plasma-powerdevil.service 12.37 s ``` powerdevil log during that restart (same retry storm as in the original report): ``` Starting libddcutil. library built Mar 11 2026 ... Initializing libddcutil. ddcutil version: 2.2.6 busno=9, sleep-multiplier= 2,00, Testing for unsupported feature 0xdd returned Error_Info[DDCRC_RETRIES ... causes: DDCRC_READ_ALL_ZERO(10)] Turning off dynamic sleep and retrying busno=9, sleep-multiplier = 1,00, Retesting for unsupported feature 0xdd ... DDCRC_READ_ALL_ZERO(10) busno=9, ... feature 0x41 ... DDCRC_READ_ALL_ZERO(10) busno=10, ... feature 0xdd ... DDCRC_READ_ALL_ZERO(10) busno=10, ... feature 0x41 ... DDCRC_READ_ALL_ZERO(10) Library initialization complete. <-- ~12 s after "Starting libddcutil" ``` **Conclusion** On Kubuntu 26.04 with ddcutil 2.2.6, libddcutil still spends ~12 s probing two DisplayPort ASUS ROG monitors, because the "unsupported feature" reads (0xdd, 0x41) return DDCRC_READ_ALL_ZERO and are retried with dynamic sleep. This matches your suspicion in comment #9 that the root cause is in ddcutil itself, not powerdevil. The monitors are otherwise fully DDC-responsive (I2C 0x37 responsive: true) and all controls work instantly once initialized. Side note that may help other reporters: my earlier claim that `ddcutilrc` tweaks "had no effect" was wrong — the options were never applied because of the invalid pre-2.0 syntax. With correct 2.2.x syntax (`options : --sleep-multiplier ... --disable-dynamic-sleep` under `[libddcutil]`), these settings *are* applied and do change init time, so they can serve as a workaround. Happy to test any patched libddcutil or provide `--ddcdata`/verbose traces. Setting status back to REPORTED. -- You are receiving this mail because: You are watching all bug changes.