Linux device manager for Logitech devices
Go to file
Will 2f97d9fa2d feat: Solaar-Battery custom features - dynamic battery RGB, profile management, rebranding 2026-07-31 15:04:22 -04:00
.github doc: instructions on running solaar show in 1.1.18 2025-12-21 18:01:53 -05:00
bin Remove Python 2 specific path handling 2025-01-01 10:18:44 -05:00
docs po: add Irish translation (#3256) 2026-06-11 15:50:43 -04:00
lib feat: Solaar-Battery custom features - dynamic battery RGB, profile management, rebranding 2026-07-31 15:04:22 -04:00
po Update French translation (for release 1.1.20) 2026-06-19 11:23:25 -04:00
rules.d docs: document change to use uinput only 2026-03-08 20:58:43 -04:00
rules.d-uinput Apply uaccess rules on all actions other than remove 2025-09-08 10:11:52 -04:00
share feat: Solaar-Battery custom features - dynamic battery RGB, profile management, rebranding 2026-07-31 15:04:22 -04:00
tests tests: mock the libnotify backend so the suite raises no real notifications 2026-05-21 10:15:12 -04:00
tools Add installation guide for Solaar on RHEL 10 (#3158) 2026-03-08 20:54:31 -04:00
.coveragerc Test coverage: Fix keysyms to be visible (#9) 2024-10-11 07:42:38 -04:00
.git-blame-ignore-revs git-blame-ignore-revs: add pre-commit bulk change 2020-07-07 16:10:37 +01:00
.gitignore Ignore macOS junk files and pipenv config 2025-01-02 17:18:39 -05:00
.pre-commit-config.yaml dist: modify pre-commit args to make ruff change files 2024-02-21 16:06:22 -05:00
.python-version dist: update pre-commit versions and python version 2022-11-23 14:20:56 -05:00
CHANGELOG.md release 1.1.20 2026-06-28 09:55:10 -04:00
COPYRIGHT clarify license status; fix debian packaging copyight notice 2019-12-24 18:53:43 +00:00
LICENSE.txt Simplify name of license file 2024-03-02 18:15:56 -05:00
MANIFEST.in Simplify name of license file 2024-03-02 18:15:56 -05:00
Makefile tools: add python3-devel to install-dnf in Makefile 2025-12-20 12:31:17 -05:00
README.md feat: Solaar-Battery custom features - dynamic battery RGB, profile management, rebranding 2026-07-31 15:04:22 -04:00
RELEASE.md release 1.1.20rc2 2026-05-24 10:14:45 -04:00
RHEL.md Improve RHEL installation guide and add automated install example (#3162) 2026-03-10 07:43:25 -04:00
Release_Notes.md release 1.1.20rc2 2026-05-24 10:14:45 -04:00
mkdocs.yml docs: update files shown in documentation 2025-10-23 09:28:52 -04:00
pyproject.toml ruff: Force single line imports 2024-03-13 15:41:21 -04:00
release.sh misc: Use PATH instead of hardcoded absolute paths (#3014) 2025-11-04 03:28:10 +09:00
setup.py Add per-key RGB color painter and replace MAP_CHOICE color validator 2026-05-10 17:52:55 -04:00

README.md

Solaar-Battery

Solaar-Battery is a customized, feature-rich fork of Solaar for managing Logitech wireless peripherals, specifically designed with advanced RGB battery monitoring and enhanced profile management.

(Like the original Solaar, it connects wirelessly to Unifying, Bolt, Lightspeed, or Nano receivers, as well as via USB cable or Bluetooth.)

Original Solaar Docs - Usage - Capabilities - Rules

codecov License: GPL v2


What's New in Solaar-Battery?

🔋 Dynamic Battery LED Configurator

Never guess your mouse's battery level again. Solaar-Battery intelligently hijacks the primary RGB lighting zone on compatible Logitech G-Series hardware (such as the G305, G Pro Wireless, G502 Lightspeed, etc.) to act as a real-time battery indicator.

  • Intelligent Color Mapping: The mouse RGB dynamically shifts colors based on your current battery percentage:
    • 🟢 100% - 70%: Green
    • 🟡 69% - 45%: Yellow
    • 🟠 44% - 20%: Orange
    • 🔴 19% - 6%: Red
    • 🚨 < 5%: Blinking Red (Critical)
  • Hardware-Bypassing Brightness Control: Includes a custom "Battery LED Brightness" slider directly in the GUI. Because Logitech's proprietary firmware aggressively caches static lighting commands, Solaar-Battery includes a custom "Apply" macro that programmatically restarts the LED state machine, allowing you to dim or brighten the battery indicator colors seamlessly.

💾 Enhanced Profile Management

Solaar-Battery features a completely overhauled profile saving and deletion system, fixing native bugs present in the original Solaar codebase.

  • Explicit Profile Saving: Prevents the "save-on-keystroke" bug. Solaar-Battery strictly binds profile creation to an explicit "Save Profile" button (or by hitting the Enter key), keeping your configuration files clean and intentional.
  • 1-Click Profile Deletion: Adds a dedicated "Delete Profile" button to the main GUI. Solaar-Battery completely bypasses the GTK signal-looping bugs that normally prevent profiles from being cleanly removed from the profiles.json cache, allowing for instant, error-free profile management.

🎨 Custom Branding & Aesthetics

  • Rebranded as Solaar-Battery with custom high-resolution icons integrated directly into the system tray, application launcher, and internal GUI windows.

🖱️ Hardware Compatibility

Solaar-Battery's dynamic RGB battery indicator is built to automatically deploy on any connected device that meets two criteria:

  1. It is a wireless, battery-powered device.
  2. It features a software-controllable RGB lighting zone (utilizing Logitech's led_zone_1 HID++ protocol).

(Note: Devices lacking programmable RGB chips, such as the MX Master series or the G Pro X Superlight, will still function normally but will not display the Battery LED Configurator.)


📷 Screenshots

 

 


💻 Standard Solaar Features

In addition to the custom features above, Solaar-Battery retains all original Solaar functionality. Solaar supports:

  • pairing/unpairing of devices with receivers
  • configuring device settings
  • custom button configuration
  • running rules in response to special messages from devices

For more information see the main Solaar documentation page.

📦 Installation Packages

Up-to-date prebuilt packages are available for some Linux distros (e.g., Fedora) in their standard repositories. If a recent version of Solaar is not available from the standard repositories for your distribution, you can try one of these packages:

Solaar is available from some other repositories but may be several versions behind the current version: