https://bugs.kde.org/show_bug.cgi?id=516646
Bug ID: 516646
Summary: [BUG] PowerDevil DDC/CI brightness slider missing on
session start (Race condition with amdgpu/DisplayPort)
Classification: Plasma
Product: plasmashell
Version First 6.6.0
Reported In:
Platform: CachyOS
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: Power management & brightness
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: 1.0
### Description:
A race condition has been identified in KDE Plasma 6 (PowerDevil) during DDC/CI
brightness initialization. On systems using the `amdgpu` driver and monitors
connected via DisplayPort (specifically Xiaomi Mi Monitors), the I2C
communication fails during the initial boot sequence, causing the brightness
slider to be completely missing from the UI.
**Technical Evidence (Logs):**
The logs show that during the initial service start, `libddcutil` encounters
multiple timeouts (`ETIMEDOUT`) while probing the monitor:
```text
# Initial failure during boot sequence:
org_kde_powerdevil[43477]: [43477] (check_supported_feature) busno=8,
sleep-multiplier = 4,00. Testing for supported feature 0x10 returned
Error_Info[DDCRC_RETRIES in ddc_write_read_with_retry, causes: ETIMEDOUT,
DDCRC_DDC_DATA(4), ETIMEDOUT, DDCRC_DDC_DATA(2), ETIMEDOUT, DDCRC_DDC_DATA]
org_kde_powerdevil[43477]: org.kde.powerdevil.backlighthelper.brightness failed
# Success after Udev event / Manual restart:
org_kde_powerdevil[61435]: [61516] Udev event detected
org_kde_powerdevil[61435]: [61516] Adding connected display with bus 8
org_kde_powerdevil[61435]: [61516] Emitting DDCA_Display_Status_Event[...
io_path:/dev/i2c-8, ddc working: true]
```
**Steps to Reproduce:**
1. Boot the system normally.
2. Check the "Battery and Brightness" widget. The brightness slider is missing.
3. Run `systemctl --user restart plasma-powerdevil` or power-cycle the monitor.
4. The slider appears and works perfectly.
**Suggested Fix:**
The `DDCutilDetector.cpp` component in PowerDevil should implement a retry
strategy or an exponential backoff if the initial probe fails with `ETIMEDOUT`.
--
You are receiving this mail because:
You are watching all bug changes.