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

Jakob Petsovits <jpe...@petsovits.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jpe...@petsovits.com

--- Comment #10 from Jakob Petsovits <jpe...@petsovits.com> ---
(In reply to Martino Fontana from comment #9)
> I don't reproduce the issue on the screen brightness (I have an AMD GPU).
> But I do reproduce it on the keyboard backlight
> (`/sys/class/leds/platform::kbd_backlight/brightness`).
> Lenovo IdeaPad 5 14ARE05, Plasma 5.25.0.

Devices in the Linux "backlight" subsystem can be monitored for changes. So we
should always know the latest brightness of an internal laptop display. Devices
in the "leds" subsystem - but also DDC/CI monitors - cannot be monitored. It
would indeed be possible to perform an explicit read operation right before
making any changes, but we'd have to be careful in avoiding bugs if this
essentially blocking operation gets introduced into our existing keyboard
brightness and/or display brightness code. It also introduces a little extra
latency, so this would have to be limited to low-frequency operations like
keyboard shortcuts, while applet slider changes need to remain write-only.

Another not-great but potentially useful approach would be to do regular
interval polling on devices without monitoring capabilities. The upside of that
is getting updated values also in your brightness applet, without even trying
to change it via keyboard shortcut first. Of course, the applet could also ask
for an explicit read operation when it opens, so that the sliders adjust after
just a fraction of a second after being opened. In general though, asking
application-level code like the applet to issue manual read operations sucks,
that's introducing extra complexity while the fix is still generally a buggy
hack.

Another perhaps more controversial approach would be to make users pick. Do you
want Plasma to manage your devices, or do you want to pipe your own brightness
values into the sysfs file? If there isn't a great solution without hacks,
perhaps it's reasonable for Plasma to either own that brightness control
without regard to external changes, or to ignore it entirely. Especially if the
fix is as easy as "set the brightness again to reclaim full ownership".

TL;DR: Cooperating with devices that make changes behind your back is hard and
painful.

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

Reply via email to