
The Flame of the West · Reforged in Rust
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.
What Narsil Sees
Every metric your system holds, rendered in Braille and flame — without ever leaving the terminal. Runs on Linux, Windows and macOS. GPU monitoring is supported on Linux and Windows.
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 narsilCPU & RAM gauges, live RX/TX sparklines, and a process list that fills every available line of your terminal.
Global usage history rendered in Braille dot art, followed by per-core gauges colour-coded by load intensity.
Braille chartsRAM and Swap history charts with live GiB usage gauges. See exactly how much of your kingdom's silver remains.
Combined RX/TX history chart alongside live per-direction throughput — every packet a message from the realm.
Per-partition usage bars at fixed height, with ▲ ▼ scroll indicators when your vaults exceed the visible height.
scrollableProcess table sorted by CPU usage — the lords of the realm and their burdens, always filling the visible height.
Per-GPU cards with utilisation and VRAM history charts, live gauges, temperature, and power draw. AMD and NVIDIA supported on Linux; AMD (DXGI) and NVIDIA (NVML) on Windows. Linux requires the amdgpu or NVIDIA proprietary driver.
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>
English, German, French, and Spanish built in. Language is auto-detected from the OS locale (LANG, LANGUAGE, native API) and overridable with --lang de. Translations are plain TOML files — adding a new language requires no Rust knowledge.
--lang <code>
Forge Your Blade
Runs on Linux, Windows 10+, and macOS 12+. Rust is only needed for the crates.io and source options. GPU support requires Linux or Windows.
cargo install narsil
yay -S narsil-bin
./narsil-*.AppImage
narsil.exe
tar xzf narsil-*.tar.gz
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/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.
Self-contained Linux bundle — no installation needed. Download, make executable, run.
narsil-{version}-x86_64.AppImage (standard) and
narsil-nvidia-{version}-x86_64.AppImage (with NVIDIA support).
Requires a Linux x86_64 system.Prebuilt Windows x86_64 executable — no Rust, no compiler needed. Download, extract, run in PowerShell or cmd.
narsil-{version}-x86_64-windows.zip from
GitHub Releases ↗.
A NVIDIA variant (narsil-nvidia-…-windows.zip) is also provided.--features nvidia).
Plain Linux tarball — drop the binary wherever you like. No package manager needed.
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.
Enable NVIDIA GPU monitoring via NVML. Requires proprietary NVIDIA drivers at link time. Supported on Linux and Windows.
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 monitoring is supported on Linux and Windows. On Linux, narsil reads deep into the kernel’s sysfs and NVML. On Windows, AMD GPUs are queried via DXGI and NVIDIA via NVML. On macOS the GPU tab is not compiled in; all other tabs work normally.





AMD APU memory figures reflect GTT — system RAM dynamically shared with the GPU. narsil detects this automatically and labels the memory panel GTT instead of VRAM.
On Windows, AMD GPU utilisation, temperature, and power are not available via DXGI; only VRAM budget and usage are reported.
Command the Blade
Speak Every Tongue of Middle-earth
narsil detects your OS language automatically and renders the entire interface in your tongue. Pass --lang <code> to override. Translations are plain TOML files — adding a new language needs no Rust knowledge.
Reads LANGUAGE, LC_ALL, LC_MESSAGES, LANG in order, then falls back to the native OS locale API (GetUserDefaultLocaleName on Windows, CFLocale on macOS).
Force any language at startup: narsil --lang de. Unknown codes fall back to English silently — no crash, no complaint.
Strings are plain key = "value" TOML. No Rust, no recompile for the translator. One binary ships all languages — no language-specific builds.
Measured Against Heroes of Old
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 & Windows) |
| Braille charts | ✗ | ✗ | ✓ | ✓ |
| Per-char label inversion | ✗ | ✗ | ✗ | ✓ |
| Disk usage bars | ✗ | ✗ | ✓ | ✓ |
| Scroll indicators | ✗ | ✓ | ✗ | ✓ |
| Keybinding status bar | ✗ | ✗ | ✗ | ✓ |
| Localised UI | ✗ | ✗ | ✗ | EN DE FR ES |
| Log tail panel | ✗ | ✗ | ✗ | planned |
| Alert rules | ✗ | ✗ | ✗ | planned |
| Remote / SSH mode | ✗ | ✗ | ✗ | planned |
What the Palantír Foretells
--interval <ms>--json / --prometheus export for Grafana