All checks were successful
Build and Release / release (push) Successful in 1m7s
Reviewed-on: #2
🔥 ember-tune
__________ ____ ______ ____ ______ __ __ _ __ ______
/ ____/ |/ // __ )/ ____// __ \ /_ __/ / / / // | / // ____/
/ __/ / /|_/ // __ / __/ / /_/ / / / / / / // |/ // __/
/ /___ / / / // /_/ / /___ / _, _/ / / / /_/ // /| // /___
/_____//_/ /_//_____/_____//_/ |_| /_/ \____//_/ |_//_____/
>>> Physically-grounded thermal & power optimization for Linux <<<
Find your hardware's "Physical Sweet Spot" through automated trial-by-fire.
ember-tune is a scientifically-driven hardware optimizer that replaces guesswork and manual tuning with a rigorous, automated engineering workflow. It determines the unique thermal properties of your specific laptop—including its Thermal Resistance (Rθ) and "Silicon Knee"—to generate optimal configurations for common Linux tuning daemons.
✨ Features
- Automated Physical Benchmarking: Measures real-world thermal performance under load to find the true "sweet spot" where performance-per-watt is maximized before thermal saturation causes diminishing returns.
- Heuristic Hardware Discovery: Utilizes a data-driven Hardware Abstraction Layer (SAL) that probes your system and automatically adapts to its unique quirks, drivers, and sensor paths.
- Non-Destructive Configuration: Safely merges new, optimized power limits into your existing
throttled.conf, preserving manual undervolt settings and comments. - Universal Safeguard Architecture (USA): Includes a high-frequency concurrent watchdog and RAII state restoration to guarantee your system is never left in a dangerous state.
- Real-time TUI Dashboard: A
ratatui-based terminal interface provides high-resolution telemetry throughout the benchmark.
🔬 How it Works: The Architecture
ember-tune is built on a decoupled, multi-threaded architecture to ensure the UI is always responsive and that hardware state is managed safely.
- The Heuristic Engine: On startup, the engine probes your system's DMI,
sysfs, and active services. It compares these "facts" against thehardware_db.tomlto select the correct System Abstraction Layer (SAL). - The Orchestrator (Backend Thread): This is the state machine that executes the benchmark. It communicates with hardware only through the SAL traits.
- The TUI (Main Thread): The
ratatuidashboard rendersTelemetryStatesnapshots received from the orchestrator via an MPSC channel. - The Watchdog (Safety Thread): A high-priority thread that polls safety sensors every 100ms to trigger an atomic
EmergencyAbortif failure conditions are met.
⚙️ Development Setup
ember-tune is a standard Cargo project.
Prerequisites:
rustupbuild-essentiallibudev-devstress-ng(Required for benchmarking)
# 1. Clone and Build
git clone https://gitea.com/narl/ember-tune.git
cd ember-tune
cargo build --release
# 2. Run the safe test suite
cargo test
Running:
# Run a full benchmark
sudo ./target/release/ember-tune
# Run a mock benchmark for UI testing
sudo ./target/release/ember-tune --mock
🤝 Contributing Quirk Data (hardware_db.toml)
This is the most impactful way to contribute. If your hardware isn't working perfectly, add a new entry to assets/hardware_db.toml.
Example: Adding a Service Conflict
[[conflicts]]
id = "laptop_mode_conflict"
services = ["laptop-mode.service"]
contention = "Multiple - I/O schedulers, Power limits"
severity = "Medium"
fix_action = "SuspendService"
help_text = "laptop-mode-tools can override power-related sysfs settings."
Example: Defining a Model-Specific Quirk
[[quirks]]
model_regex = "HP Envy 15-ep.*"
id = "hp_fan_stuck_sensor"
issue = "Fan sensor reports 0 RPM when active."
action = "UseThermalVelocityFallback"
Description
Releases
3
Release v1.2.0
Latest
Languages
Rust
100%