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.

Reply via email to