Overview
Chromascope is a hardware monitoring desktop application designed for Linux users who require real-time, high-density telemetry without system bloat. It decouples low-level system scraping from a hardware-accelerated GUI presentation layer to deliver microsecond-range updates with a microscopic memory footprint.
Written entirely in Rust and leveraging the modern, immediate-mode egui (via eframe) toolkit, Chromascope runs natively on both X11 and Wayland desktops.
Key Features
Comprehensive Hardware Discovery
- Host & DMI Resolution: Resolves BIOS dates, version signatures, motherboard manufacturer properties, and chassis form factors directly from DMI tables.
- Model Separation: Automatically extracts the human-readable machine model name (e.g., Latitude 5531) separately from motherboard part identifiers (e.g., 0FRYDD).
- Storage Telemetry: Resolves active NVMe controller states, serial codes, and firmware iterations.
Real-Time Telemetry & Tracking
- Hardware Monitor (hwmon) Crawl: Recursively scans
/sys/class/hwmondirectories to map temperatures, fan cooling speeds, and voltage rails. - Processor Telemetry: Resolves core topology (physical vs. logical counts) and continuously queries per-core live frequency clocks in real-time.
- Min/Max State Tracking: An asynchronous state machine records historical lower and upper bounds since application launch, showing peaks and floors.
Privacy-Safe Anti-Collision Hashing
To support community sensor name registrations without sacrificing privacy, Chromascope generates a deterministic, anonymous hardware_fingerprint based on motherboard traits and modular allowlisted driver lists (e.g., coretemp, k10temp, zenpower), hashing them via SHA-256.
This signature excludes pluggable/mutable devices (like USBs, NVMe disks, or network interfaces) and never includes serial numbers or unique MAC addresses, protecting you from hardware fingerprint tracking.
Installation & Build
Ensure you have the required window development packages installed (X11, Wayland, and GL libraries). On Debian/Ubuntu distributions:
Build and Run from Source
Configuration & Exports
Chromascope allows you to override obscure kernel sensor labels with custom names by clicking the edit icon (✏) in the UI. User settings are persisted to a JSON registry file.
At startup, settings are merged in order of precedence:
- Local folder override:
./registry.json - User config directory:
~/.config/chromascope/registry.json - System config:
/etc/chromascope/registry.json - System installation:
/usr/share/chromascope/registry.json - Embedded fallback compiled inside the binary
Clicking Export JSON outputs a telemetry snapshot to telemetry_export.json in the directory the app was launched from, or in ~/telemetry_export.json when launched from the desktop menu.