# acer-lighting > **Fork Notice:** This is a fork of [fcrespo82/acer-lighting-daemon](https://github.com/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: ```sh make acer-rgbd ``` - Build the CLI (used for manual commands and test targets): ```sh make acer-rgb-cli ``` Or build everything with: ```sh make build ``` ## Install Install the daemon, helper script and systemd units: ```sh 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: ```sh sudo make uninstall ``` ## GUI Tray Applet A system tray applet is included for easy RGB control without using the command line. ### Dependencies ```sh sudo apt install python3-gi gir1.2-appindicator3-0.1 ``` ### Running ```sh 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: ```sh cp acer-rgb-tray.desktop ~/.config/autostart/ ``` Make sure the daemon is running before the applet starts: ```sh sudo systemctl enable acer-rgbd.service ``` ## Usage - Send commands to the daemon using the `acer-rgb` helper (it talks to the daemon socket): ```sh 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): ```sh 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: ```sh journalctl -u acer-rgbd.service -f ``` If you modify the state file and want the daemon to reapply immediately, restart it: ```sh 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.