Narsil — The Blade Reforged
Description: narsil — A terminal-based system resource monitor for Linux, Windows and macOS. GPU-aware (Linux), Braille charts, per-character label inversion. Written in Rust.

The Flame of the West · Reforged in Rust

# narsil

A System Monitor Reforged

Named after the blade shattered at the dawn of the Third Age
and reforged for a king — narsil is sharper
than the tools that came before it.

cargo install narsil GitHub ↗ crates.io ↗
🦀 Rust ratatui AMD + NVIDIA GPU (Linux) Linux · Windows · macOS GPL-3.0

What Narsil Sees

## Seven Views. One Kingdom.

Every metric your system holds, rendered in Braille and flame — without ever leaving the terminal. Runs on Linux, Windows and macOS. GPU monitoring is Linux-only for now.

🎨

### Split-Colour Gauge Inversion

Every percentage label inside a gauge automatically inverts its colour character-by-character at the fill boundary — so text is always readable, even when the bar sits at exactly 50%. No other terminal monitor does this.

unique to narsil
🗺️

### Overview

CPU & RAM gauges, live RX/TX sparklines, and a process list that fills every available line of your terminal.

🧠

### CPU

Global usage history rendered in Braille dot art, followed by per-core gauges colour-coded by load intensity.

Braille charts
💾

### Memory

RAM and Swap history charts with live GiB usage gauges. See exactly how much of your kingdom's silver remains.

🌐

### Network

Combined RX/TX history chart alongside live per-direction throughput — every packet a message from the realm.

💿

### Disks

Per-partition usage bars at fixed height, with ▲ ▼ scroll indicators when your vaults exceed the visible height.

scrollable
🔬

### Processes

Process table sorted by CPU usage — the lords of the realm and their burdens, always filling the visible height.

🎮

### GPU (Linux)

Per-GPU cards with utilisation and VRAM history charts, live gauges, temperature, and power draw. AMD and NVIDIA fully supported. GPU monitoring requires Linux with the `amdgpu` or NVIDIA proprietary driver.

AMD ✓ NVIDIA ✓
⚡

### Configurable Refresh Rate

Pass `--interval <ms>` to tune between low-latency and low-CPU usage. Defaults to 1 000 ms. Key events are processed between ticks with zero busy-waiting — swift and silent as a ranger.

`--interval <ms>`
✦ ᚾ ✦

Forge Your Blade

## Installation

Runs on Linux, Windows 10+, and macOS 12+. Rust is only needed for the crates.io and source options. GPU support requires Linux.

crates.io
All platforms · Rust needed
`cargo install narsil`
AUR
Arch Linux · 4 packages
`yay -S narsil-bin`
AppImage
Linux x86_64 · self-contained
`./narsil-*.AppImage`
Windows
x86_64 · zip from Releases
`narsil.exe`
🗃️
Tarball
Linux x86_64 · GitHub Releases
`tar xzf narsil-*.tar.gz`
🔨
Source
All platforms · Rust needed
`cargo build --release`

The quickest path. Cargo fetches, compiles with full optimisations, and installs the binary to `~/.cargo/bin/`. Works on Linux, Windows, and macOS.

cargo install narsil
Make sure `~/.cargo/bin/` is on your `$PATH`. For NVIDIA GPU support see the NVIDIA support tab.

Four AUR packages cover every combination of source/binary and standard/NVIDIA.

PackageTypeNVIDIA
`narsil` source—
`narsil-nvidia` source✓
`narsil-bin` binary—
`narsil-nvidia-bin` binary✓
# Prebuilt binary — fastest install yay -S narsil-bin # Or build from source yay -S narsil

Self-contained Linux bundle — no installation needed. Download, make executable, run.

# Download from GitHub Releases, then: chmod +x narsil-*-x86_64.AppImage ./narsil-*-x86_64.AppImage
Two variants per release: `narsil-{version}-x86_64.AppImage` (standard) and `narsil-nvidia-{version}-x86_64.AppImage` (with NVIDIA support). Requires a Linux x86_64 system.
→ Latest GitHub Release ↗

Prebuilt Windows x86_64 executable — no Rust, no compiler needed. Download, extract, run in PowerShell or cmd.

# After extracting the zip: .\narsil.exe
Download `narsil-{version}-x86_64-windows.zip` from GitHub Releases ↗. A NVIDIA variant (`narsil-nvidia-…-windows.zip`) is also provided.
The GPU tab is not compiled into the Windows build. All other tabs work normally.

Plain Linux tarball — drop the binary wherever you like. No package manager needed.

# Replace VERSION with the actual release tag tar xzf narsil-VERSION-x86_64.tar.gz ./narsil-VERSION/narsil
Download from GitHub Releases ↗. Two variants: `narsil-{version}-x86_64.tar.gz` (standard) and `narsil-nvidia-{version}-x86_64.tar.gz` (with NVIDIA support).

Clone and build locally — ideal for development or inspecting the forge.

git clone https://github.com/Pommersche92/narsil cd narsil cargo build --release # Linux / macOS ./target/release/narsil # Windows .\target\release\narsil.exe

Enable NVIDIA GPU monitoring via NVML. Requires proprietary NVIDIA drivers at link time. Linux only.

# From crates.io cargo install narsil --features nvidia # From source cargo build --release --features nvidia # AUR yay -S narsil-nvidia-bin
The `nvidia` feature links against `libnvidia-ml.so`. If the NVML library is absent at link time, the build fails — this is by design.
✦ ᛊ ✦

The Stewards of Silicon

## GPU Support

GPU monitoring is Linux-only — narsil reads deep into the kernel’s sysfs and NVML to bring you real GPU metrics. On Windows and macOS the GPU tab is not compiled in; all other tabs work normally.

AMD Discrete
amdgpu kernel driver
Utilisation VRAM Temperature Power
Fully Supported
AMD APU / iGPU
amdgpu kernel driver
Utilisation GTT Memory Temperature Power
Supported (GTT)
NVIDIA
proprietary + --features nvidia
Utilisation VRAM Temperature Power
Fully Supported
Intel iGPU / Arc
i915 / xe kernel driver
Utilisation Memory Temperature Power
Planned

AMD APU VRAM values reflect GTT — system RAM dynamically shared with the GPU. The numbers are accurate; dedicated-vs-shared label disambiguation is planned.

✦ ᛏ ✦

Command the Blade

## Keybindings

`Tab` Next tab (wraps around)
`Shift+Tab` Previous tab
`1`–`6` Jump directly to tab (all platforms)
`7` Jump to GPU tab (Linux only)
`→` / `l` Next tab
`←` / `h` Previous tab
`↓` / `j` Scroll down
`↑` / `k` Scroll up
`q` / `Ctrl‑C` Quit
✦ ᚨ ✦

Measured Against Heroes of Old

## How does it compare?

The blades that came before, and what sets narsil apart.

Feature | `top` | `htop` | `gotop` | ⚔️ narsil
--- | --- | --- | --- | ---
Language | C | C | Go | 🦀 Rust
GPU metrics | ✗ | ✗ | partial | AMD + NVIDIA (Linux)
Braille charts | ✗ | ✗ | ✓ | ✓
Per-char label inversion | ✗ | ✗ | ✗ | ✓
Disk usage bars | ✗ | ✗ | ✓ | ✓
Scroll indicators | ✗ | ✓ | ✗ | ✓
Keybinding status bar | ✗ | ✗ | ✗ | ✓
Log tail panel | ✗ | ✗ | ✗ | planned
Alert rules | ✗ | ✗ | ✗ | planned
Remote / SSH mode | ✗ | ✗ | ✗ | planned

✦ ᛚ ✦

What the Palantír Foretells

## Roadmap

### 🔜 Near-term

🔵 Intel GPU support via i915 / xe sysfs and hwmon
🏷️ AMD APU label fix — distinguish GTT from dedicated VRAM
⏱️ Configurable refresh rate via `--interval <ms>`
DONE
🎨 Built-in colour themes — dark, light, high-contrast

### 🔧 Medium-term

🔬 Per-process GPU attribution via NVML or DRM fdinfo
🌡️ Temperature history sparklines for CPU and GPU
💨 Fan speed display in GPU card view
💽 Disk I/O throughput — read/write MB/s per device
🔋 Battery & power panel for laptops

### 🚀 Long-term

📋 Log tail panel with regex highlight rules
🚨 Alert rules with desktop / webhook notifications
🖥️ SSH remote mode — monitor a remote host locally
📼 Session recording & replay for post-mortem analysis
📊 `--json` / `--prometheus` export for Grafana

Diese Seite verwendet keine Cookies und kein Tracking. Sie wird auf GitHub Pages gehostet — GitHub Inc. kann dabei IP-Adressen in Server-Logs erfassen (vgl. GitHub Privacy). Weitere Angaben im Impressum.