- Package:
- brightnessctl
- Source:
- brightnessctl
- Description:
- Control backlight brightness
- Submitter:
- Nicolas Braud-Santoni
- Date:
- 2026-10-14 20:09:02 UTC
- Severity:
- wishlist
Enable logind support, and weaken the relationship to brightness-udev. In particular, I should: - - check elogind implements the correct interface; - - check that `brightness-udev | libpam-systemd | libpam-elogind` is the correct relationship to use: the package should pull in brightness-udev *unless* logind or elogind are set up. - -- System Information: Debian Release: bullseye/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 5.4.0-3-amd64 (SMP w/4 CPU cores) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages brightnessctl depends on: ii libc6 2.29-10 Versions of packages brightnessctl recommends: ii brightness-udev 0.5.1-1 brightnessctl suggests no packages. - -- no debconf information -----BEGIN PGP SIGNATURE----- iQJFBAEBCgAvFiEEU7EqA8ZVHYoLJhPE5vmO4pLV7MsFAl5D4lERHG5pY29vQGRl Ymlhbi5vcmcACgkQ5vmO4pLV7MuyZQ//evAKYwzAyPk1TRQCvA669o5QaPfPwTy1 lgxIpp6MlB8ZiWF0vwkcsgV3gdZ7g7YnTtVdlGJEcMF1FZLc4sf+CkcOA5QVtiej WMfMlwDehaUuN1BGXw3bfQR8LoHVCL0ycmLGg0F2wgmL43UMSYUDPqN8q3QogkiD S+qRy3Zd2UrC/b2rK+aD0XQ7R2C6rSEsNmJiuziiGP6XHkrD7M1hUUceyu2Qrxfd CFsPrWr91qpzbQjRagoCIohF8DDNyWmuxYQEBCy5PU/Kl3UkdgtcVE1ueKPK8h+0 67E9VignIoQ3O3YZtkpDygy6/B6AY8SNPKLWozKSxBmrEd4O7ps2QZUZoNHDw07e YTt+390PoN/Oqk5a1azO4XPb/Iy6+5mfZskpGA4PRFO++kPRDWiKYxl9sD8so1D3 wvhd3MHosOkmU2/rkE0RROGay3o9/qUKYI5Adk19jGcueZ19aSWPFUmte7kTQuHn XBzLyQpBbwh5oWVKasvxcyNujPz/cXyYRD8ubzYnbEtuaDQfXYGNNTYfP2ueMPpw RLkwxqInipkLuC4ifxu4U6Ej9X6+k64W6Y9M73q7xTKl4T68qPFB6SVCaigCxqDw 2xAF1+Z6njq6SvhmYAsWe7gFu+E0FaqcYaWN4sFLfldGnkA/E4GyqT9mQOn9lp8K oPlzwefBfls= =sb8j -----END PGP SIGNATURE-----
Hi,
I'd like to add a use case and a security argument for this bug.
Setup: Debian 13.7 (trixie), brightnessctl 0.5.1-3.1, brightness-udev
0.5.1-3.1, systemd 257.13-1~deb13u1, the niri Wayland compositor on a
MacBook Air. niri has no power daemon, so the brightness keys are bound
to brightnessctl.
Changing the screen backlight works, because my user is in the video
group. Changing the keyboard backlight fails:
$ brightnessctl -d smc::kbd_backlight set 255
Can't modify brightness: Permission denied
The udev rule shipped in brightness-udev grants write access to LED
devices only to the input group:
ACTION=="add", SUBSYSTEM=="leds", RUN+="bright-helper input g+w
/sys/class/leds/%k/brightness"
and the upstream README says this method "requires your user to be in
the video and input groups".
The input group also owns the raw input devices, including the keyboard:
crw-rw---- 1 root input 13, 68 /dev/input/event4 (Apple Internal
Keyboard / Trackpad)
and per Documentation/input/input.rst, evdev "passes the events
generated in the kernel straight to the program, with timestamps". So
with the current package, controlling a keyboard backlight through
brightnessctl means joining a group that lets every process running as
that user read all keystrokes, which undercuts Wayland's input
isolation.
systemd-logind already allows the active session to set LED brightness
without any group membership. This works for my user, which is not in
the input group:
busctl call org.freedesktop.login1 /org/freedesktop/login1/session/auto \
org.freedesktop.login1.Session SetBrightness ssu leds
smc::kbd_backlight 128
Building brightnessctl with ENABLE_SYSTEMD=1 would let it use this API,
so neither the input group nor brightness-udev would be needed on
systemd systems.
Cheers
Xau