VectorWarp builds on blah2 with faster CPU and GPU processing, a redesigned browser interface, editable settings, built-in ADS-B integration, and native Linux installation. Set up your radar, watch it run, and record or replay signals from the same interface.
Install · Set up a receiver · Comparison details · GPU acceleration
- GPU acceleration: use a compatible GPU for clutter filtering and delay–Doppler processing, with automatic selection and CPU fallback.
- Faster without a GPU, too: less copying, repeated detector work and output conversion; CPU-only processing took up to 26% less time in the matched desktop/laptop tests below.
- Wider Doppler coverage: process valid delay/Doppler combinations that exceed the original processor's buffer limits. See the equal-range results below.
- Automatic CPU threading: size channel workers and FFT threads to the CPU capacity available, with manual controls when you need them.
- Settings in your browser: edit receiver, processing, display, recording, and ADS-B settings in organized sections.
- Checked inputs: dropdowns, range checks, and short explanations help catch invalid settings before they reach the processor.
- Save & Restart: apply settings and follow restart progress, with an error message if startup fails.
- Recoverable configuration: backups and file-change checks help protect your settings, including when you also edit the config file directly.
- Kraken configuration checks: compare the receiver's reported frequency, sample rate, and channel count with VectorWarp's settings.
- A redesigned interface: clearer navigation, readable controls, live status, and fullscreen radar views.
- Delay ellipses on a map: see the possible locations associated with a measured delay, without presenting it as an exact aircraft position.
- Built-in ADS-B conversion: the adsb2dd integration runs inside VectorWarp; no separate converter process to manage.
- Local or remote aircraft feeds: discover a local decoder or connect to a tar1090 server on another machine.
- Clear recording controls: start recording from the browser or keyboard, with a visible recording indicator and error reporting.
- Portable recording and replay: capture multi-channel IQ, replay it at the original sample rate, and use recordings without connecting live hardware.
- Processing fixes: corrected detection SNR, track association, spectrum scaling, and invalid-data handling, with regression tests.
- Native Linux operation: run without Docker, with build and package targets for Ubuntu, Debian, Fedora, DragonOS, and 64-bit Raspberry Pi systems.
Detailed changes from upstream · Recording and replay
Using several radar nodes with 3lips? See 3lips setup, including its separate ADS-B requirements.
VectorWarp's optional Vulkan GPU path can make a practical radar workload keep up where regular blah2 falls behind. CPU mode remains available, and Automatic mode checks accuracy before retaining GPU work. At 200 ms CPI and ±2400 Hz, these hosts used about 25% less CPU-only processing time, or 64–71% less with GPU acceleration, than original blah2.
On the older Pavilion CPU alone, the ±800 Hz workload dropped from 205.7 to 167.8 ms. Original blah2 missed all 24 measured 200 ms deadlines; VectorWarp met all 24 without a GPU.
| Two channels, same IQ and CPU budget | Regular blah2 CPU | VectorWarp CPU | VectorWarp GPU |
|---|---|---|---|
| Strix, 200 ms CPI, ±800 Hz | 79.5 ms | 65.5 ms | 31.1 ms |
| RTX 4050 Laptop, 200 ms CPI, ±800 Hz | 230.5 ms | 180.9 ms | 63.6 ms |
| Pavilion AMD GPU, 200 ms CPI, ±2400 Hz | 306.8 ms | 229.9 ms | 88.1 ms |
The comparison used actual 30hours/blah2 at c821bee
and VectorWarp on each host, replaying the same recorded signal at its original
rate. Every comparison used 527 MHz, 2.4 MS/s, delays −10…245 (256 bins; 30.604
km maximum excess path), and the stated channel count. Accuracy qualification
runs at startup; accepted GPU frames do not repeat the full CPU calculation.
Full timing distributions and method
are available before sizing a live system.
The GPU accelerates clutter FFT/filtering and delay–Doppler processing. Its small FP64 coefficient solve and the remaining radar stages stay on CPU. Full method, settings, deadline counts, accuracy checks, and limitations →
Earlier live proof: at 527 MHz and 2.4 MS/s, a five-channel Kraken array GPU run at ±800 Hz and 200 ms CPI averaged 95.5 ms. This is capacity evidence, not a matched upstream speed comparison. It used the prior version with recurring CPU accuracy checks; the refreshed measurements above are recorded-IQ replays, not new live or endurance tests.
On a Raspberry Pi 4, the CPU workload at 200 ms CPI and ±800 Hz took 798.2 ms in VectorWarp, versus 905.1 ms in original blah2 and 905.9 ms in Off World Labs' ARM fork. Pi comparison and workload limits
A separate Pi 4 replay with a newer Mesa driver reduced processing from 797.2 ms CPU-only to 578.1 ms with GPU Automatic—another 27.5% less time on that workload. The driver was loaded only for the test; this still did not meet the 200 ms deadline. Pi GPU results and driver update instructions
At this same full range and ±4800 Hz, Strix GPU processing averaged 67.0 ms per 200 ms CPI, or 325.5 ms per one-second CPI. VectorWarp CPU took 173.8 ms and 886.0 ms respectively; both modes met all 24 steady deadlines in each case. Original blah2's Doppler buffer is too small for these settings; it was not run with unsafe buffer sizes.
The combined efficiency changes also reduced the Strix ±2400 Hz GPU workload from 69.7 to 44.7 ms versus the preceding VectorWarp version in the same campaign. Before/after results and remaining processing costs keep that separate from the upstream comparison. Heavier workloads can still miss deadlines; the full report includes every tested configuration.
Start with downloads and APT/DNF setup, then follow receiver setup. The full installation guide also covers source builds.
Packages are available for the systems below: one package per OS and architecture, with Kraken, USRP and HackRF adapters plus locally buildable RSPduo support. Start with the repository installer, inspect it, then install with your system package manager:
If curl or GnuPG is missing, install curl and gnupg on Ubuntu/Debian or
curl and gnupg2 on Fedora from the normal distribution repository first.
curl --fail --location --proto '=https' --tlsv1.2 \
https://mickeyslaven.github.io/blah2-VectorWarp/install.sh --output vectorwarp-install.sh
less vectorwarp-install.shOn Ubuntu or Debian:
sudo bash vectorwarp-install.sh --repo-only
sudo apt update
sudo apt install vectorwarp
sudo systemctl enable --now vectorwarp-api.serviceOn Fedora:
sudo bash vectorwarp-install.sh --repo-only
sudo dnf install vectorwarp
sudo systemctl enable --now vectorwarp-api.serviceThe systemctl command starts the web API now and enables it at boot;
it does not enable radar processing. Open http://localhost:3000/, then choose
your receiver in Settings. Update
with sudo apt update && sudo apt install --only-upgrade vectorwarp or
sudo dnf upgrade vectorwarp.
- KrakenSDR Suite V2: 2–8-channel network input, synthesized or dedicated reference, and combined surveillance maps.
- USRP (including B210) and dual HackRF: receiver settings are passed to UHD or libhackrf when processing starts.
- SDRplay RSPduo: uses your locally installed SDRplay API; Settings checks installation and service status and links to SDRplay setup when needed.
The Kraken multi-channel foundation is also offered to blah2 in our upstream PR #45. VectorWarp adds the interface, integration, and processing improvements above; the PR remains separate.
The repository installer chooses the matching signed APT or DNF repository. Direct packages are also available below. Source installation remains available for development or unsupported systems.
| Operating system | Versions | Architectures | Package |
|---|---|---|---|
| Ubuntu | 22.04 | x86-64, ARM64 | amd64 DEB, arm64 DEB |
| Ubuntu | 24.04 | x86-64, ARM64 | amd64 DEB, arm64 DEB |
| Ubuntu | 26.04 | x86-64, ARM64 | amd64 DEB, arm64 DEB |
| Debian | 13 (Trixie) | x86-64, ARM64 | amd64 DEB, arm64 DEB |
| Fedora | 44 | x86-64, ARM64 | x86_64 RPM, aarch64 RPM |
| DragonOS | Ubuntu 22.04, 24.04, or 26.04 base | x86-64, ARM64 | Use the matching Ubuntu link selected from OS metadata |
| Raspberry Pi OS | Trixie, 64-bit | ARM64 | Debian 13 arm64 DEB |
Here, x86-64 means amd64 or x86_64; ARM64 means arm64 or aarch64.
Thanks to 30hours for the original radar engine. Comparisons use blah2 at c821bee. ADS-B is used for display and evaluation, not radar detection or tracking input. MIT license