Brightness slider missing in Plasma when PowerDevil has no DDC or backlight backend

Component: Plasma

Title: PowerDevil repeatedly fails to set DDC/CI brightness on external monitor and drops brightness control support

Report:

This issue occurs on KDE Plasma 6.7.0 during PowerDevil startup and runtime when controlling screen brightness for an external monitor (Samsung Odyssey G40B using DDC/CI via libddcutil).

After session start, PowerDevil detects the display correctly and initializes libddcutil. Brightness control initially works and values are successfully applied through DDC/CI. However, shortly after, repeated failures occur when attempting to set brightness, leading to retries and eventual removal of the display from brightness management.

Observed behavior in system logs includes:

  • Repeated brightness adjustment attempts using DDC/CI with incremental values

  • Failure responses from ddcutil: “ddca_set_non_table_vcp_value -3023”

  • Multiple retry attempts by PowerDevil with increasing delays

  • Final failure message indicating the display is removed from brightness control:
    “failed to set DDC/CI brightness”
    “No suitable displays detected. Brightness controls are unsupported in this configuration”

After this, PowerDevil stops managing brightness for the external monitor until the service is restarted.

In addition, the following related messages appear during initialization:

  • Failed to create Wayland display connection (wl_display not available)

  • D-Bus portal registration failure for org.kde.org_kde_powerdevil (“App info not found”)

These may or may not be related to the brightness issue.

Expected behavior:
PowerDevil should consistently maintain DDC/CI brightness control for supported external monitors without dropping support after temporary failures or retries.

Actual behavior:
Brightness control becomes unstable, triggers repeated retry loops, and eventually disables brightness management for the affected display.

This appears to be a stability or error-handling issue in the interaction between PowerDevil and libddcutil rather than a complete lack of hardware support, since detection and initial control succeed.

So how to fix it ?