https://bugs.kde.org/show_bug.cgi?id=525928
Bug ID: 525928
Summary: Panel brightness not re-applied when re-activating a
session after a user switch
Classification: Plasma
Product: plasmashell
Version First 6.7.5
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
Switching between two logged-in Wayland sessions (A -> greeter -> B) and
returning to session A leaves the panel at the brightness session B set (100%,
correct for B's wide color gamut mode), while A's slider still reads its own
value (6%). A manual slider move fixes it instantly, until the next switch.
Happens on every switch.
STEPS TO REPRODUCE
1. Two Plasma Wayland sessions of different users. Laptop panel connected to
the NVIDIA dGPU (card1-eDP-1, backlight device nvidia_0, raw, max 100; no
intel_backlight on the system).
2. Session A: HDR off, plain SDR, panel brightness 6%. Session B: wide color
gamut enabled on the panel (backlight at max is the correct state there).
3. From A, "Switch user" to B through the plasmalogin greeter, stay a few
seconds, switch back to A.
4. Do not touch the brightness slider.
OBSERVED RESULT
The panel is at full brightness while the slider still reads 6%.
Instrumented evidence for one switch cycle (mtime of
/sys/class/backlight/nvidia_0/brightness, a 0.3 s poller on the value,
journalctl):
12:07:50 leave A -> greeter: brightness 7/100 (the greeter does not touch the
backlight)
12:07:57 B activates: 100/100; org.kde.powerdevil.backlighthelper D-Bus
activation in the journal (B's re-apply, correct for its wide color gamut mode)
12:08:07 return to A: still 100/100; no backlighthelper activation in the
journal for this re-entry, sysfs mtime unchanged
12:08:09 manual slider move: 7/100 again (powerdevil SetBrightnessWithContext
-> backlighthelper -> sysfs)
So on session re-activation nothing re-applies the stored brightness: no
backlighthelper activation, no sysfs write. The write only happens on a user
slider move.
EXPECTED RESULT
Re-activating a session re-applies its stored panel brightness, same as at
login.
SOFTWARE/OS VERSIONS
Operating System: CachyOS (Arch-based), kernel 7.2.4-3-cachyos-bore-lto
KDE Plasma Version: 6.7.5 (kwin/powerdevil/plasma-workspace 6.7.5-1.1)
KDE Frameworks Version: 6.30.0
Qt Version: 6.11.2
Display manager: plasma-login-manager 6.7.4-3 (Wayland greeter: kwin_wayland
--drm)
ADDITIONAL INFORMATION
GPU: NVIDIA GeForce RTX 5060 Laptop GPU, proprietary driver 615.71.09.
Windowing system: Wayland.
- The asymmetry is only in the re-apply: session B's stack re-applies at
activation, session A's does not. The greeter itself never writes the
backlight.
- The external monitor (DDC/CI) is not affected; its brightness survives
session switches.
- Implementation note for a fix: powerdevil's Display.SetBrightness /
SetBrightnessWithContext silently ignores a set to the currently believed value
(verified on 6.7.5 with a dbus-monitor capture), so re-issuing the stored value
verbatim on activation may end up as a no-op.
- Local workaround: a user service watching /sys/class/tty/tty0/active that
re-issues the brightness when sysfs disagrees with powerdevil's believed value
(two SetBrightnessWithContext calls, v+/-100 then v, to get past the same-value
dedup). It corrects the panel about 1.2 s after re-entry.
--
You are receiving this mail because:
You are watching all bug changes.