A ultra-lightweight, high-performance, and resource-efficient Acer NitroSense alternative designed for Linux.
- 🏎️ Zero-Lag Hotkey Listener: Runs as a low-overhead systemd service monitoring the physical keyboard controller. Press the OpeNitro key (
XF86Launch2), and the GUI pops up instantly. - ❄️ Dual Fan Control: Adjust both CPU and GPU fans independently. Set to Auto mode, blast it to Max (Turbo), or adjust precision sliders in Manual mode.
- 🔋 Advanced Battery Care: Limit your battery charge level to 80% with automated daemon reinforcement to preserve hardware lifespan during continuous AC usage.
- 🔥 Dynamic Power Profiles: Seamlessly switch between performance profiles (Quiet, Default, and Extreme) on the fly.
- 🎮 Sleek Gaming UI: Designed in PyQt6 with custom vector-drawn animated cooling fans rotating dynamically relative to actual RPM speeds, alongside real-time thermal gauges.
- 🛡️ Secure EC Communication: Utilizes thread-safe file operations for low-level ACPI/EC registers to avoid telemetry corruption.
OpeNitro is primarily tailored for the Acer Nitro 5 (AN515-57), but is compatible with several other models sharing the same Embedded Controller layout.
👉 View the full compatibility table & verified models
Ensure Python 3 and PyQt6 are installed on your Linux system. For Arch Linux & CachyOS:
sudo pacman -S python pyqt6-
Clone the Repository:
git clone https://github.com/MehmetCanWT/OpeNitro.git cd OpeNitro -
Execute the Installer (Recommended for systemd-based distributions):
sudo ./install.sh
If your Linux distribution does not run systemd (e.g., Artix, Void Linux, Gentoo, Alpine):
-
Execute the Non-Systemd Installer:
sudo ./install_no_systemd.sh
This copies all binaries, desktop shortcuts, and terminal wrappers to your system, but bypasses the systemd service creation.
-
Run the Daemon: To keep OpeNitro active (battery limits, hotkey support, and setting persistence), you must run the background daemon. You can run it manually:
sudo openitrod &Or write a custom startup script for your init system (like OpenRC, runit, or dinit).
If you wish to cleanly remove OpeNitro and all its related services, configurations, and shortcuts from your operating system, simply run the uninstaller script:
sudo ./uninstall.shImportant
The installer copies all source files to /opt/openitro/, establishes command-line wrappers inside /usr/local/bin/, registers the systemd daemon (openitrod) if using systemd, and places the desktop icon and shortcut menu item. All core capabilities (fan curves, CoolBoost, keyboard timeouts, battery protection) work identically on non-systemd distributions.
- Open OpeNitro by pressing the dedicated physical OpeNitro key on your keyboard.
- Alternatively, launch it from your application menu (under "OpeNitro") or execute:
openitro-gui
For quick headless control, query or change settings directly from your terminal:
# Display live system thermals and fan RPM speeds
openitro-cli --status
# Output status in raw JSON format (ideal for custom status bars or scripts)
openitro-cli --status --json
# Set performance mode profile
openitro-cli --power quiet # Options: quiet, default, extreme
# Toggle the 80% battery protection limit
openitro-cli --battery-limit on # Options: on, off
# Manually override CPU fan speed (value scale: 0-200)
openitro-cli --cpu-fan manual --cpu-speed 150Manage the keyboard interceptor and battery limit enforcement daemon using systemd:
# Check daemon logs and status
systemctl status openitrod
# Restart the service
sudo systemctl restart openitrodThis project stands on the shoulders of giants. High respects and credit go to these pioneering reference projects in the Acer Linux space:
- Linuwu-Sense — WMI and ACPI sensor framework.
- Div-Acer-Manager-Max — Evdev keyboard mapping and process environment handshakes.
- Linux-NitroSense — Embedded Controller (EC) register configuration offsets.
Distributed under the MIT License. See LICENSE for details.
