Files
acer-lighting-daemon/README.md

3.3 KiB

acer-lighting

Fork Notice: This is a fork of fcrespo82/acer-lighting-daemon with added GUI tray applet support.

Thanks

This project benefited greatly from the work, testing and research of several community contributors — especially: @ZoeBattleSand, @0x189D7997, and @JakeBrxwn. Their reverse-engineering, testing, tooling and discussion (see https://github.com/0x7375646F/Linuwu-Sense/pull/65) made much of this possible.

Small tools to control Acer laptop RGB zones and a daemon that persists/apply states.

Caution

The code here was based on the work of others but it was written with the help of AI too

Build

  • Build the daemon only:
make acer-rgbd
  • Build the CLI (used for manual commands and test targets):
make acer-rgb-cli

Or build everything with:

make build

Install

Install the daemon, helper script and systemd units:

sudo make install

The install target will:

  • Copy acer-rgbd to /usr/local/bin/acer-rgbd and acer-rgb to /usr/local/bin/acer-rgb.
  • Install systemd unit and socket under /etc/systemd/system/ and enable/start the service.
  • Create /var/lib/acer-rgbd/state.txt with an initial "all green" state so the daemon applies green on first start.

If you need to undo the install:

sudo make uninstall

GUI Tray Applet

A system tray applet is included for easy RGB control without using the command line.

Dependencies

sudo apt install python3-gi gir1.2-appindicator3-0.1

Running

python3 acer-rgb-tray.py

The applet appears in your system tray. Click it to access:

  • Color presets (Red, Green, Blue, White, Cyan, Magenta, Yellow, Orange)
  • Custom... - Opens a full color picker dialog
  • Effect submenu - Static, Breathing, Neon, Wave, Ripple, Zoom, Snake, Disco, Shifting

Autostart

To start the applet automatically on login:

cp acer-rgb-tray.desktop ~/.config/autostart/

Make sure the daemon is running before the applet starts:

sudo systemctl enable acer-rgbd.service

Usage

  • Send commands to the daemon using the acer-rgb helper (it talks to the daemon socket):
acer-rgb SET dev=keyboard hidraw=/dev/hidraw2 effect=static bright=100 r=0 g=255 b=0 zone=all
acer-rgb GET
  • You can also use the CLI binary for direct HID control (for testing):
sudo ./acer-rgb-cli /dev/hidraw2 keyboard static --brightness 100 --rgb 0 255 0 --zone all

State file

The daemon persists three lines (keyboard, lid, button) in /var/lib/acer-rgbd/state.txt. Editing that file (as root) changes the values the daemon will reapply on start.

Logs & troubleshooting

View the daemon logs with:

journalctl -u acer-rgbd.service -f

If you modify the state file and want the daemon to reapply immediately, restart it:

sudo systemctl restart acer-rgbd.service

Notes

  • The installer writes an initial all-green state (keyboard/lid/button) to /var/lib/acer-rgbd/state.txt so newly installed systems show green LEDs by default.
  • Running the daemon requires root privileges (or appropriate udev rules) to access the HID device.
  • The GUI applet communicates with the daemon via socket (/run/acer-rgbd.sock) and runs as a regular user.