Unofficial Linux port of the Thermal Grizzly WireView Pro II desktop application. Built with .NET 8.0 and Avalonia UI.
- Real-time monitoring — Voltage, current, and power readings across all 6 pins with live charts
- Device configuration — Fan speed, display settings, fault alarms, thresholds
- Configuration profiles — Save, load, and manage named device configurations
- Data logging — On-device log readback and CSV export
- 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
DFU firmware updates are available on the
dfu-enabledbranch. This feature has not been fully tested and could potentially brick your device, so it is excluded from the main branch and the pre-built binary.
hwmon integration: If you want sensor data exposed to
sensors, Grafana, conky, btop, and other monitoring tools via/sys/class/hwmon/, see wireview-hwmon. The kernel module and daemon work standalone without this app, and this app can also use them as an alternative to direct serial communication (see below). That project also includeswireviewctl, a CLI tool for scripting device commands from the terminal.
The app supports two 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 |
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.
If the kernel module is not loaded, the app falls back to direct serial communication automatically.
- Linux with USB support (tested on Ubuntu 24.04 / 26.04 LTS, Fedora 42–44, and Arch Linux; also packaged for Arch-based distros via the AUR and immutable distros like Bazzite / Silverblue via Flatpak)
- A Thermal Grizzly WireView Pro II device connected via USB
sudo add-apt-repository ppa:sparvoli/wireview-hwmon
sudo apt update
sudo apt install wireview-linuxTo also install the hwmon kernel module and daemon for system-wide sensor integration:
sudo apt install wireview-hwmon wireview-hwmon-dkmsA pre-built .deb package is available on the Releases page. Download it and install:
sudo apt install ./wireview-linux_*_amd64.debsudo dnf copr enable emaspa/wireview-linux
sudo dnf install wireview-linuxOr grab the standalone .rpm from the Releases page — a single RPM works on all current Fedora releases (tested on 42, 43, and 44):
sudo dnf install ./wireview-linux-*.x86_64.rpmTo also install the hwmon kernel module and daemon for system-wide sensor integration (same COPR repo):
sudo dnf install wireview-hwmon wireview-hwmon-dkmsThe package is a self-contained binary — no .NET runtime is required. For immutable, atomic distros (Bazzite, Silverblue, Kinoite), use the Flatpak below instead.
A .flatpak bundle is available on the Releases page:
flatpak install ./wireview-linux-*.flatpak
flatpak run io.github.emaspa.WireViewLinuxThe Flatpak supports direct USB serial mode. A sandbox cannot install udev rules, so install the rule on the host once:
sudo curl -fsSL https://raw.githubusercontent.com/emaspa/wireview-linux/main/udev/99-wireview.rules \
-o /etc/udev/rules.d/99-wireview.rules
sudo udevadm control --reload-rules && sudo udevadm triggerwireview-linux-bin installs the pre-built release binary (no .NET SDK, no compile) and tracks the latest release:
paru -S wireview-linux-bin # or: yay -S wireview-linux-binA community source package, wireview-linux (maintained by arakmar), builds from source instead — note it may lag behind the latest release:
paru -S wireview-linuxTo also install the hwmon kernel module and daemon for system-wide sensor integration:
paru -S wireview-hwmon wireview-hwmon-dkmsThe package installs above (PPA, .deb, .rpm, AUR) install the udev rule and
the system reloads it automatically, so serial access works out of the box —
the rule grants the device node access directly (MODE="0666" plus a logind
uaccess ACL for the active session), with no group membership or logout
required.
If access still fails in an unusual setup (for example over SSH, where the
uaccess ACL doesn't apply), add yourself to the dialout group and log back
in:
sudo usermod -aG dialout "$USER"The tarball is self-contained: the app binary, the udev rule, and a one-time
install.sh that sets up USB serial access.
# Download and extract the latest release
curl -sL $(curl -s https://api.github.com/repos/emaspa/wireview-linux/releases/latest | grep -o 'https://.*linux-x64.tar.gz') | tar xz
cd wireview-linux-*-linux-x64
# One-time USB serial setup (installs the udev rule)
./install.sh
# Run
./WireView2Requires .NET 8.0 SDK or later.
git clone https://github.com/emaspa/wireview-linux.git
cd wireview-linux
sudo ./install.shThe install script will:
- Install udev rules for automatic USB device permissions
- Add your user to the
dialoutandplugdevgroups - Build the application
You must log out and back in for the group changes to take effect.
Or manually step by step:
git clone https://github.com/emaspa/wireview-linux.git
cd wireview-linux
# Install udev rules (grants access to the WireView USB device)
sudo cp udev/99-wireview.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
# Add yourself to the required groups
sudo usermod -aG dialout $USER
sudo usermod -aG plugdev $USER
# Log out and back in, then build and run
dotnet build -c Release
dotnet run --project WireView2/ -c ReleaseIf you just want to test without logging out:
sudo chmod 666 /dev/ttyACM0This is temporary and resets when the device is unplugged.
The app has five pages accessible from the left sidebar:
| Page | Description |
|---|---|
| Overview | Summary of total current, power, voltage, and cable rating |
| Monitoring | Real-time charts for voltage, current, power, and temperature |
| Logging | Read device logs and export to CSV |
| Device | Device info and full device configuration (fan, display, alarms, thresholds) |
| Settings | App theme, startup behavior, background customization |
On the Device page, you can save the current device configuration as a named profile and load it later. Profiles are stored as JSON files in ~/.local/share/PowerMonitor/profiles/.
| Mode | VID | PID | Description |
|---|---|---|---|
| Normal | 0483 |
5740 |
STM32 CDC/ACM virtual serial port |
wireview-linux/
├── WireView2/ # Main Avalonia UI application
│ ├── Views/ # AXAML views
│ ├── ViewModels/ # MVVM view models
│ ├── Services/ # App settings, profiles, notifications
│ └── Assets/ # Icons, backgrounds
├── WireViewDeviceLib/ # Device communication library
│ └── Device/ # Serial protocol, port finder
├── udev/ # udev rules for USB permissions
└── install.sh # Installation script
- .NET 8.0 — Runtime and build system
- Avalonia UI 11.3 — Cross-platform MVVM UI framework
- CommunityToolkit.Mvvm 8.4 — MVVM source generators
- LiveChartsCore + SkiaSharp — Real-time chart rendering
- System.IO.Ports — Serial communication with the device
- Check that the device is connected:
lsusb | grep 0483 - Check that
/dev/ttyACM0exists:ls -la /dev/ttyACM* - Check permissions:
groupsshould includedialout - If using a VM, ensure USB passthrough is configured for the VID/PID pair
# Temporary fix:
sudo chmod 666 /dev/ttyACM0
# Permanent fix:
sudo cp udev/99-wireview.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
sudo usermod -aG dialout $USER
# Then log out and back inThis software is an unofficial, community-made Linux port of the WireView Pro II application. It is not affiliated with, endorsed by, or supported by Thermal Grizzly or ElmorLabs. All trademarks belong to their respective owners.
Use at your own risk. This software interacts with hardware, while every effort has been made to ensure correctness, the authors are not responsible for any damage to your device.
This project contains code decompiled from the original WireView Pro II Windows application and code from the WireViewDeviceLib repository. Please respect the original authors' rights. This port is provided for personal use and interoperability purposes.
