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-rgbdto/usr/local/bin/acer-rgbdandacer-rgbto/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.txtwith 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-rgbhelper (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.txtso 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.