How the desktop app connects to the device, what its pages do, and how it is built. Back to the README.
The app supports these ways of communicating with the device:
| Mode | How it works | Features |
|---|---|---|
| Direct serial | App talks to the device over /dev/ttyACM* |
Full control (default) |
| hwmon + daemon | App reads sensors from /sys/class/hwmon/, sends commands via the wireviewd daemon socket |
Full control, plus sensor data available to system monitoring tools |
| Through WireView Mini | App reads and controls the device through wireview-mini on this PC, over 127.0.0.1 |
Full control; alerts and shutdown on fault keep working with the app closed |
The app auto-detects the connection mode at startup. If the wireview-hwmon kernel module is loaded, the app uses hwmon for sensor data and connects to the daemon's Unix socket (/run/wireviewd.sock) for commands: configuration read/write, fault clearing, screen control, and device info all work through the daemon. If the daemon is not running, the app still displays sensor data in read-only mode.
Commands that change the device through the daemon (configuration writes, NVM store/reset, firmware flashing, and the serial handover used by log reads and the theme editor) need root or membership of the wireview group, which the wireview-hwmon packages create: sudo usermod -aG wireview $USER. Reading sensors needs no group. Without it the app reports the refused action with that hint, and the automatic theme preview is skipped. Use wireview-hwmon 1.7.0 or later: 1.6.0 refused wireview group members when wireviewd ran under systemd, and only 1.7.0 reports the product, so with an older daemon a Noctua Edition is shown as a WireView Pro II.
If the kernel module is not loaded, the app looks for the WireView Mini on this PC, then falls back to direct serial communication. How the app talks to WireView Mini is described in How the app uses it.
The app can also read and control devices on other machines: see LAN monitoring.
The app has five pages accessible from the left sidebar:
| Page | Description |
|---|---|
| Overview | Summary of total current, power, voltage, cable rating, temperatures (sensors that are not connected are hidden), and a fault status/log table with per-fault clear |
| Monitoring | Real-time charts for voltage, current, power, and temperature; custom series selection, colors, and Y scaling |
| Logging | Read device logs per power cycle and export to CSV |
| Device | Device info, full device configuration (fan, display, alarms, thresholds), display theme editor, and firmware updates |
| Settings | App theme (Auto, Light, Dark, Noctua Light, Noctua Dark; Auto follows the desktop's light/dark setting and switches to the Noctua colors while a WireView Pro II Noctua Edition is selected), background, startup behavior and GPU rendering, shutdown on fault, the power tray icon, and LAN settings (remote hosts, network secret, log retention; the publish toggle and port while WireView Mini runs) |
wireview-linux --page monitoring opens on a given page (overview, monitoring, logging, device, settings) instead of Overview.
The app keeps its settings in ~/.config/PowerMonitor/settings.json. WireView Mini reads and writes the same file (on Windows, %APPDATA%\PowerMonitor\settings.json, the official application's file).
Voltage, current, and power readings across all 6 pins with live charts, plus custom charts: pick any telemetry series, per-series colors, manual or auto Y scaling.
The Device page edits the device configuration: fan speed, display settings, fault alarms, thresholds.
On the Device page, you can save the current device configuration as a named profile, load it later, and manage the saved profiles. Profiles are stored as JSON files in ~/.config/PowerMonitor/profiles/. WireView Mini's control panel lists, saves and loads the same profiles in its Device configuration card (on Windows from %APPDATA%\PowerMonitor\profiles\).
Customize the device display: background images, text and highlight colors, display inversion, with a live preview, in the app or in WireView Mini's control panel. Theme files (.wv2t) are compatible with the official Windows app.
The Noctua preset is the WireView Pro II Noctua Edition's own look: Thermal Grizzly's Dark background with Noctua colors. It works on any WireView Pro II and is also available as themes/Noctua-Edition.wv2t for the Windows app.
On-device log readback and CSV export, browsable per power cycle, on the Logging page.
- Desktop notifications via
notify-send. - Software shutdown on fault: optional system shutdown when a fault alarm triggers, for eGPU or setups where the hardware shutdown header cannot be connected.
WireView Mini does both with the app closed.
The Device page flashes the bundled firmware over USB DFU. See Firmware updates for the warning, the checks and the requirements.
On Linux the app draws with Avalonia's software renderer by default. It keeps Mesa out of the process (about 120 MB less resident memory, 55 MB less proportional), and it avoids the GL-under-XWayland glitches some Nvidia setups showed. It costs CPU only on the Monitoring page at fast polling (at 50 ms, about 10 % of one core instead of 4 % on a 1200x800 window; larger windows cost proportionally more). Settings → Startup → GPU rendering switches to the GPU backend at the next start. WIREVIEW_RENDER_MODE overrides the setting with a comma-separated preference list:
WIREVIEW_RENDER_MODE=egl,software wireview-linux # software, egl, glx, vulkan| Mode | VID | PID | Description |
|---|---|---|---|
| Normal | 0483 |
5740 |
STM32 CDC/ACM virtual serial port |
| DFU bootloader | 0483 |
df11 |
STM32 bootloader (during firmware updates) |
wireview-linux/
├── WireView2/ # Main Avalonia UI application
│ ├── Views/ # AXAML views
│ ├── ViewModels/ # MVVM view models
│ ├── Services/ # Logging, autostart, discovery, theme files
│ └── Assets/ # Icons, backgrounds
├── WireViewDeviceLib/WireViewDeviceLib/ # Device communication library
│ └── Device/ # Serial + hwmon devices, DFU flashing, port finder
├── WireViewNet/ # LAN layer - /sensors publisher, remote device client, HMAC auth; shared settings and device profiles
├── WireViewMini/ # WireView Mini - tray icon, control panel, always-on service
├── udev/ # udev rules for USB permissions
└── install.sh # Installation script
- .NET 8.0 - Runtime and build system
- Avalonia UI 12.0 - Cross-platform MVVM UI framework
- CommunityToolkit.Mvvm 8.4 - MVVM source generators
- Custom chart controls - Lightweight line/gauge/bar charts drawn directly with Avalonia (no charting dependency)
- System.IO.Ports - Serial communication with the device