https://bugs.kde.org/show_bug.cgi?id=525216

            Bug ID: 525216
           Summary: Plasmashell hangs on login due to brightness applet
                    QML error with non-standard monitor VCP range
    Classification: Plasma
           Product: plasmashell
      Version First 6.7.4
       Reported In:
          Platform: CachyOS
                OS: Linux
            Status: REPORTED
          Severity: major
          Priority: NOR
         Component: Brightness and Color widget
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected]
  Target Milestone: 1.0

NOTE: I had this bug report generated by Claude (I personally confirmed the
accuracy of the system information and the fix it gave). Originally posted at
https://discuss.cachyos.org/t/plasmashell-hangs-on-login-due-to-brightness-applet-qml-error-with-non-standard-monitor-vcp-range/35250

System:

CachyOS, kernel 7.2.2-1-cachyos
plasma-workspace 6.7.4-3.1, plasma-desktop 6.7.4-1.1, plasmashell 6.7.4
Session: Wayland (plasma.desktop)
GPU: AMD Radeon RX 7700 XT/7800 XT (Navi 32)
Dual external monitor setup, no laptop panel (/sys/class/backlight is empty):
Display 1: Dell U2415 (DDC/CI VCP 2.1) - brightness VCP 0x10: current=85,
max=100 (normal)
Display 2: Samsung Odyssey G60SF (DDC/CI VCP 2.0) - brightness VCP 0x10:
current=50, max=50 (non-standard - most monitors report max=100)
Symptom:
plasmashell hangs completely on every login/restart - taskbar and panel become
totally unresponsive to mouse input within seconds of starting. The main
plasmashell thread pegs at 100-140% CPU indefinitely (state R, “running”, not
blocked/sleeping) and never recovers on its own. Confirmed reproducible:
killing and restarting plasmashell (via systemctl --user restart
plasma-plasmashell.service) reproduces the exact same hang every time,
including immediately after a full system reboot.

Relevant log output (journalctl --user -u plasma-plasmashell.service),
appearing right before the hang begins each time:

qrc:/qt/qml/plasma/applet/org/kde/plasma/brightness/PopupDialog.qml:96:
TypeError: Value is null and could not be converted to an object

No further errors are logged after this - CPU just stays pegged with no new
output, consistent with an infinite QML property-binding loop rather than a
blocked I/O call (confirmed separately: raw ddcutil getvcp 10 against both
monitors returns correctly in ~1s each, so DDC/CI communication itself is not
the bottleneck).

Suspected root cause:
The org.kde.plasma.brightness systray applet’s PopupDialog.qml appears to
mishandle a monitor whose VCP 0x10 max value is not 100 (Display 2 above
reports max=50). This is likely producing a null somewhere in a list/model
derived from the brightness range (e.g. quick-set presets, step calculation, or
percentage mapping), which QML’s TypeError doesn’t crash on but instead
re-evaluates in a tight binding loop, pegging the main thread forever.

Reproduction steps:

Have at least one DDC/CI-controlled external monitor whose VCP 0x10 max value
!= 100 (e.g. Samsung Odyssey G60SF reports max=50).
Log into a Plasma 6.7.4 Wayland session with the default systray brightness
applet enabled.
plasmashell hangs (100%+ CPU on main thread) within seconds; taskbar/panel
become unresponsive.
Workaround currently in use:
Renamed /usr/lib/qt6/plugins/plasma/applets/org.kde.plasma.brightness.so to
org.kde.plasma.brightness.so.disabled, forcing the applet to fail to load
instead of hanging. This removes the brightness slider from the systray
entirely (powerdevil’s hardware brightness-key handling is a separate plugin
and is unaffected) but is not a real fix and will presumably be undone by the
next plasma-workspace package update.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to