Hardware Requirements
Lenovo Laptop (Required)
KVantage requires:- Lenovo-branded laptop with ACPI interface support
- ACPI table that exposes battery and performance controls via the acpi_call interface
- Access to
/proc/acpi/callfor reading and writing ACPI values
Most modern Lenovo laptops (ThinkPad, IdeaPad, Legion series) are compatible. Very old models or those with non-standard ACPI implementations may not work.
Why Lenovo Only?
The application sends Lenovo-specific ACPI commands to control:- Performance profiles (Power Saving, Intelligent Cooling, Performance)
- Battery charge thresholds (conservation mode)
- Rapid charge settings
Software Requirements
Operating System
KVantage is designed for Linux operating systems. It has been tested on:- Ubuntu and Debian-based distributions
- Fedora and Red Hat-based distributions
- Arch Linux and derivatives
- openSUSE
- NixOS
- Other major Linux distributions
- Windows
- macOS
- BSD systems
Java Runtime Environment
KVantage is built with Kotlin and Compose Multiplatform for Desktop, which requires a Java Runtime Environment.
- Java 11 or later (recommended: Java 17 or newer)
- OpenJDK or Oracle JRE
acpi_call Kernel Module
What is acpi_call?
Theacpi_call module provides a userspace interface to make arbitrary ACPI calls via /proc/acpi/call. KVantage uses this to:
- Read current performance profile
- Set performance profiles
- Enable/disable battery conservation mode
- Control rapid charging
Installing acpi_call
Install the module using your distribution’s package manager:Loading the module
Load the module manually:Auto-load on boot
To load acpi_call automatically at boot, add it to your modules configuration:Verify /proc/acpi/call exists
Check that the ACPI interface is available:Permission Requirements
Root Access for Backend Service
KVantage requires root access to interact with
/proc/acpi/call. This is a fundamental limitation that cannot be bypassed.How root access works:
- The GUI frontend runs as your regular user (no elevated privileges)
- The backend daemon (kvand) requires root to access
/proc/acpi/call - You are prompted once per session to authenticate
- The backend runs with root privileges only for ACPI operations
Why root is needed:
The/proc/acpi/call interface requires root permissions to:
- Read ACPI values (current settings)
- Write ACPI values (change settings)
Security considerations:
- The GUI never runs as root (enforced by safety checks)
- Only the minimal backend service uses elevated privileges
- Root access is isolated to ACPI operations only
- Authentication uses system-standard methods (polkit, pkexec, sudo)
Authentication methods:
KVantage uses your system’s standard authentication mechanism:- Polkit (recommended) - GUI dialog prompt
- pkexec - Alternative GUI prompt
- sudo - Terminal password prompt
Desktop Environment
KVantage is desktop-environment agnostic and works on:- GNOME
- KDE Plasma
- XFCE
- Cinnamon
- MATE
- LXQt
- Hyprland (Wayland)
- i3, bspwm, and other window managers
- X11 - Fully supported
- Wayland - Fully supported
For Wayland compositors, ensure you have a polkit authentication agent running for the password prompt to appear.
Known Limitations
1. Lenovo Laptops Only
System compatibility is limited to Lenovo laptops that expose the ACPI interface using the acpi_call kernel module (/proc/acpi/call).
- Other manufacturers use different ACPI implementations
- Running on non-Lenovo hardware may cause undefined behavior
- No support planned for other brands
2. Root Access Requirement
The app needs root access to perform ACPI read and writes at/proc/acpi/call.
- This limitation cannot be bypassed
- It has been minimized by:
- Asking for password once per session
- Isolating root access to only the backend server
- Never running the GUI with elevated privileges
3. Battery Threshold Customization
The battery conservation threshold is hardcoded to 80%.- Custom thresholds (e.g., 60%, 90%) are not currently supported
- This is a hardware limitation on most Lenovo laptops
- Custom thresholds are a premium feature only available on certain high-end models
- May be implemented in the future if there is user demand
If your laptop supports custom thresholds, please open an issue on GitHub. Testing is needed from users with compatible hardware.
4. Tray Icon Support
Tray icon support is not currently implemented.- Compose Multiplatform’s built-in tray support has poor Linux compatibility
- May be implemented in the future as the framework evolves
- The application must remain open in a window
Minimum System Resources
KVantage is lightweight and has minimal resource requirements:- RAM: ~100-200 MB
- Disk Space: ~50 MB (JAR file + backend binary)
- CPU: Any modern x86_64 processor
Verifying Compatibility
Before installing KVantage, verify your system meets the requirements:
If all checks pass, your system is compatible with KVantage.
Getting Help
If you’re unsure about compatibility or encounter issues:- Check the Installation guide for detailed setup instructions
- Review the Quick Start guide for common troubleshooting
- Open an issue on GitHub