AI Already Did ItSystem & UtilitiesHardware & SensorsHardware Monitoring

HWMonitor for Linux

Hardware monitoring for Linux Mint that reproduces CPUID HWMonitor: sensor tree with value/min/max, CSV logging, real-time graphs, four themes, tray icon.

LicenseMIT
Generated byAnthropic Claude Fable 5.1 — Claude Code session; prompts below were reconstructed from the README
Platformslinux
Rating0/100 (0 ratings) · worked for 0, didn't for 0
Downloads1
Latest version1.0.0 (2026-09-07)
UploaderAdministrator
Estimated generation cost77,760 tokens (≈ $1.17) — saved so far: 77,760 tokens

Screenshots

classic

dark

graphs

Description

HWMonitor for Linux

A hardware monitoring program for Linux Mint (Cinnamon / GTK 3) that reproduces the look and the feature set of CPUID HWMonitor on Windows.

Default theme Dark theme Graphs window
classic dark graphs

What it shows

Exactly like HWMonitor, devices form a tree with Sensor / Value / Min / Max columns and sensor groups per device:

Device Groups Source
Mainboard (DMI name) Super-IO chips (voltages, temperatures, fans), NIC/Wi-Fi temperatures, ACPI thermal zones /sys/class/hwmon, /sys/class/thermal
CPU Voltages, Temperatures (Tctl, Tdie/CCD, per core), Powers (Package, IA Cores, …), Clocks per core (* marks preferred cores), Utilization (total and UC0…UCn) k10temp/coretemp/zenpower, RAPL powercap, cpufreq, /proc/stat
Memory Physical / swap utilization, used / available / total capacity, DIMM temperature sensors /proc/meminfo, spd5118/jc42
AMD / Intel GPUs Voltages, Temperatures (GPU, Hotspot, Memory), Fans, Powers, Clocks, Utilization, VRAM amdgpu/i915/xe hwmon and sysfs
NVIDIA GPUs Temperatures, Fan, Board Power, Clocks (Graphics/Memory/Video), Utilization, VRAM nvidia-smi
Drives (NVMe, SATA, USB) Temperatures (Assembly, Sensor 1/2), Used Space and Available Capacity per mount, Activity, Read/Write Rate nvme/drivetemp hwmon, /sys/block/*/stat, statvfs
Batteries Voltage, Current, Power, Designed/Full/Current Capacity, Wear Level, Charge Level /sys/class/power_supply

Min and Max are tracked since start (or since the last Clear Min/Max).

Features (matching HWMonitor)

Requirements

Linux Mint 21/22 ships everything needed:

sudo apt install python3-gi python3-gi-cairo gir1.2-gtk-3.0
# optional: NVIDIA GPUs need the proprietary driver (provides nvidia-smi)
# optional: tray icon support
sudo apt install gir1.2-ayatanaappindicator3-0.1

Run / install

# run in place
python3 hwmonitor.py

# or with uv (creates .venv on the system Python so the apt-installed GTK bindings are visible)
uv venv --python /usr/bin/python3 --system-site-packages
uv run hwmonitor.py

# or install for the current user (menu entry + `hwmonitor-linux` command);
# builds a uv venv in ~/.local/share/hwmonitor-linux when uv is available
./install.sh

PyGObject comes from the distro packages above, not from pip, so a uv/venv interpreter must be the system Python with --system-site-packages. A venv on a uv-downloaded Python fails with ModuleNotFoundError: No module named 'gi'.

./uninstall.sh removes it again.

Debian package

./build-deb.sh                                   # creates dist/hwmonitor-linux_<version>_all.deb
sudo apt install ./dist/hwmonitor-linux_*.deb    # installs it with its dependencies

The package installs to /usr/lib/hwmonitor-linux, adds the hwmonitor-linux command and a menu entry, and pulls in the GTK/PyGObject dependencies automatically. Remove it with sudo apt remove hwmonitor-linux.

Getting more sensors

The program only reads what the kernel exposes. Typical additions:

Missing Fix
Mainboard voltages, fans, chipset temps sudo modprobe nct6775 (Nuvoton) or sudo modprobe it87 (ITE). Add the module to /etc/modules to make it permanent. Some boards need acpi_enforce_resources=lax on the kernel command line.
SATA / USB drive temperatures sudo modprobe drivetemp
CPU package / core power RAPL counters are root-only on recent kernels: pkexec python3 hwmonitor.py or sudo hwmonitor-linux.
DDR5 DIMM temperatures sudo modprobe spd5118 (DDR5) or jc42 (DDR4)

Tools → Sensor Setup Hints lists the ones that apply to your system.

Layout

hwmonitor.py              launcher
hwmonitor/
  sensors.py              sensor discovery & polling (no GTK dependency)
  ui.py                   main window, menus, logging, dialogs
  graphs.py               real-time graph window and its settings dialog
  themes.py               the four colour themes (GTK CSS)
  config.py               ~/.config/hwmonitor-linux/config.json
  icons/                  device / sensor icons (SVG)

Settings live in ~/.config/hwmonitor-linux/config.json.

License

MIT. HWMonitor is a trademark of CPUID; this project is an independent re-implementation for Linux and is not affiliated with CPUID.

Downloads

What's new

Initial release: device/sensor tree (mainboard, CPU, memory, GPUs, drives, batteries), min/max tracking, CSV logging (F5), graph window, four themes, Options dialog, Sensor Setup Hints, Debian package.

Original prompt(s)

Initial prompt

Write a hardware monitoring program for Linux Mint (Cinnamon / GTK 3, Python) that reproduces the look and feature set of CPUID HWMonitor on Windows. Devices form a tree with Sensor / Value / Min / Max columns and sensor groups per device: mainboard (Super-IO voltages/temperatures/fans, NIC temps, ACPI thermal zones), CPU (voltages, temperatures incl. per core, RAPL powers, per-core clocks marking preferred cores, utilization), memory, AMD/Intel/NVIDIA GPUs, NVMe/SATA/USB drives (temperatures, used space, activity, read/write rate), batteries. Read everything from /sys/class/hwmon, /sys/class/thermal, powercap, cpufreq, /proc/stat, /proc/meminfo, amdgpu/i915 sysfs, nvidia-smi, /sys/block, statvfs and /sys/class/power_supply. Track min/max since start with a Clear Min/Max action.

Features

Match HWMonitor's features: File → Save Monitoring Data (text report), F5 CSV data logging with a status-bar indicator, right-click a sensor → Add to Graph opening a real-time graph window (sensors of the same type share a graph, up to 8 curves, settings dialog with big font, curve colour, delete, move), View → Theme (Default classic light with alternating rows, Dark purple, Dark #2 orange, Blue), Expand/Collapse All, Always On Top, Tools → Options (refresh interval, °C/°F, log folder, tray icon), Tools → Sensor Setup Hints listing kernel modules or privileges that would unlock more sensors. Remember window size, column widths, collapsed rows, theme and graphs in ~/.config/hwmonitor-linux/config.json.

Packaging

Provide hwmonitor.py launcher, install.sh / uninstall.sh (menu entry + hwmonitor-linux command, uv venv on the system Python with --system-site-packages) and build-deb.sh producing dist/hwmonitor-linux_<version>_all.deb that pulls in the GTK/PyGObject dependencies. MIT license.

Tags: graphs, gtk3, hardware, hwmonitor, linux-mint, monitoring, python, sensors, temperatures

Open in AI Already Did It