Chromascope

A high-performance, read-only hardware monitoring desktop utility for Linux, inspired by HWiNFO64.

System Utility GPL-3.0+ Rust / egui Active Status

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/hwmon directories 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:

bash - Prerequisites
sudo apt update sudo apt install build-essential pkg-config libx11-dev libxcb1-dev \ libxrandr-dev libxext-dev libxinerama-dev libxcursor-dev libxi-dev \ libgl1-mesa-dev libegl1-mesa-dev libdbus-1-dev libwayland-dev \ libxkbcommon-dev

Build and Run from Source

bash - Rust Cargo Build
# Clone and enter the workspace git clone https://gitlab.com/quantum-hue/chromascope.git cd chromascope # Run unit tests cargo test # Launch the GUI application in release mode cargo run --release

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:

  1. Local folder override: ./registry.json
  2. User config directory: ~/.config/chromascope/registry.json
  3. System config: /etc/chromascope/registry.json
  4. System installation: /usr/share/chromascope/registry.json
  5. 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.