Coherent arrays. Wider Doppler. Faster radar.
THIS IS A DEVELOPMENT BUILD. EXPECT BUGS AND REPORT VIA GITHUB ISSUES PLEASE AND THANK YOU!
Native passive radar for Linux and macOS with coherent multi-channel processing, optional GPU acceleration, and browser controls for live displays, settings, recording and replay.
Apple Silicon macOS is tested on M2; Intel Mac support remains experimental. Install with APT or DNF on Linux, or Homebrew on macOS. Manual downloads are optional.
Install VectorWarp
1. Install for your OS
Recommended: install from your terminal with APT, DNF or Homebrew. Your package manager selects the right package and handles dependencies and updates. You do not need to choose an individual download.
Linux: keep your existing supported 64-bit OS. The installer selects its matching signed repository, including the Ubuntu base used by DragonOS. Each command installs prerequisites, configures the repository, installs VectorWarp and opens the web interface. Enter your administrator password if prompted.
Ubuntu, Debian and compatible DragonOS — APT
sudo apt update && sudo apt install -y curl gnupg && curl --fail --location --proto '=https' --tlsv1.2 https://mickeyslaven.github.io/blah2-VectorWarp/install.sh --output vectorwarp-install.sh && sudo bash vectorwarp-install.sh --repo-only && sudo apt update && sudo apt install -y vectorwarp && vectorwarp
Fedora 44 — DNF
sudo dnf install -y curl gnupg2 && curl --fail --location --proto '=https' --tlsv1.2 https://mickeyslaven.github.io/blah2-VectorWarp/install.sh --output vectorwarp-install.sh && sudo bash vectorwarp-install.sh --repo-only && sudo dnf install -y vectorwarp && vectorwarp
The Linux commands download over HTTPS and verify the repository's pinned signing key. The installer source is available to read separately. See supported OS versions and manual downloads if you need a specific package.
macOS — Homebrew
With Homebrew and Xcode Command Line Tools installed, run:
brew tap mickeyslaven/vectorwarp
brew trust mickeyslaven/vectorwarp
brew install vectorwarp
vectorwarp
Homebrew setup and updates. Apple Silicon is tested on M2; Intel remains experimental. A signed PKG, when available, is an optional manual download.
2. Configure and start radar
Run vectorwarp to open the web interface, then open Settings
and configure your receiver. Choose Save & Restart to save settings
and start radar, including the first time. No separate start command is needed.
Save for later saves without starting radar. On a headless
system, the command prints the web address.
Open http://localhost:3000 on the installed machine, or
http://<server-IP>:3000 from another device on your trusted network.
On a fresh install, radar processing stays stopped until you configure it and
choose Save & Restart.
Each package includes Kraken, USRP and dual HackRF adapters, plus the source kit to build RSPduo support from Settings after installing SDRplay's API. Receiver hardware and external software are separate; RSPduo needs the locally installed SDRplay API. Follow receiver setup after installing.
3. Start, stop and check services
Use vectorwarp start to start the full VectorWarp stack with
saved settings, vectorwarp stop to stop it, or
vectorwarp restart for an ordered stop/start. Stop includes the web interface.
Shared receiver/vendor services are not stopped. Service changes may ask for
your administrator password. vectorwarp status, vectorwarp logs
and vectorwarp version show service state, logs and the installed version.
vectorwarp help lists all commands.
On macOS, the Homebrew command is vectorwarp. The standalone PKG
uses /Applications/VectorWarp.app/Contents/MacOS/VectorWarp.
Append start, stop, restart, or
status to either launcher path as needed.
4. Update
For Linux package installations, your repository is already configured; do not repeat the installation steps.
Ubuntu, Debian and compatible DragonOS:
sudo apt update && sudo apt install vectorwarp
Fedora:
sudo dnf upgrade --refresh vectorwarp
For macOS Homebrew: brew upgrade vectorwarp vectorwarp-heimdall.
For a standalone PKG, use the next release's PKG through the normal Installer flow.
Successful upgrades restart previously running VectorWarp services and leave intentionally stopped radar stopped. Finish receiver setup/build actions before updating; a helper that cannot be safely stopped blocks unpacking with an error.
Other installation options
Manual downloads: DEB, RPM and macOS PKG
Prefer APT/DNF or Homebrew above for routine installs and updates. For a manual installation,
choose the package matching your OS version and architecture. Install Linux packages with
sudo apt install ./matching.deb on Ubuntu, Debian, or DragonOS, or
sudo dnf install ./matching.rpm on Fedora, so dependencies resolve.
Do not use dpkg alone or manually mix release libraries.
For macOS, open the signed, notarized PKG in Finder, then launch
/Applications/VectorWarp.app/Contents/MacOS/VectorWarp.
| Operating system | x86-64 (amd64 / x86_64) | ARM64 (arm64 / aarch64) |
|---|---|---|
| Ubuntu 22.04 | Download DEB | Download DEB |
| Ubuntu 24.04 | Download DEB | Download DEB |
| Ubuntu 26.04 | Download DEB | Download DEB |
| Debian 12 | — | Download DEB |
| Debian 13 | Download DEB | Download DEB |
| Fedora 44 | Download RPM | Download RPM |
| DragonOS · Ubuntu 22.04 base | Download DEB | Download DEB |
| DragonOS · Ubuntu 24.04 base | Download DEB | Download DEB |
| DragonOS · Ubuntu 26.04 base | Download DEB | Download DEB |
| macOS 15+ · universal | Download signed PKG | |
The macOS PKG is universal, with Apple Silicon validation on M2;
physical Intel Mac execution remains unverified. x86-64 covers Intel and AMD PCs.
DragonOS uses its Ubuntu base;
check /etc/os-release. FocalX R37.1 is Ubuntu 22.04 (Jammy) amd64,
not Ubuntu 26.04. No 32-bit package is provided. For other systems, use the
source installation guide.
Verify a direct download
For the macOS PKG, compare its SHA-256 with
0b86b853d7954d352c53a95dc9be8f46cbce2b246014425e8188d0a5d7975558, then check the Apple installer signature and notarization:
shasum -a 256 vectorwarp-0.1.38-macos-universal.pkg
pkgutil --check-signature vectorwarp-0.1.38-macos-universal.pkg
spctl --assess --type install vectorwarp-0.1.38-macos-universal.pkg
Mac corresponding source archive
(SHA-256: 14c269cadd387b654ec0e0ddad92079693243b1f9a9121792340ef6ae3ab952d).
For Linux DEB/RPM packages, save your package, checksums,
checksum signature, and
public signing key in the same folder.
The release key fingerprint is A3063601F4C8309F285362ACCC7593248896A175; compare it with the
maintainer's published fingerprint
before trusting the key.
gpg --show-keys --with-fingerprint vectorwarp-archive-key.asc
gpg --dearmor --output vectorwarp-release-keyring.gpg vectorwarp-archive-key.asc && \
gpgv --keyring ./vectorwarp-release-keyring.gpg SHA256SUMS.asc SHA256SUMS && \
sha256sum --check --strict --ignore-missing SHA256SUMS
Continue only if the key matches and both the signature and your package's checksum pass. A checksum alone does not authenticate a download.
Build from source — development and other systems
Use the source installation guide for development or systems outside the package targets. Most supported installations should use APT, DNF or Homebrew above.
Faster than regular blah2
Same recorded IQ at its original rate. Same CPU budget on each host.
| Hardware and workload | Regular blah2 CPU | VectorWarp CPU | VectorWarp GPU |
|---|---|---|---|
| Strix, ±800 Hz | 79.5 ms | 65.5 ms | 31.1 ms |
| RTX 4050 Laptop, ±800 Hz | 230.5 ms | 180.9 ms | 63.6 ms |
| Pavilion AMD GPU, ±2400 Hz | 306.8 ms | 229.9 ms | 88.1 ms |
On the RTX 4050 workload, regular blah2 missed 22 of 24 measured intervals; VectorWarp GPU missed none. Accuracy qualification runs at startup; accepted steady GPU frames do not repeat CPU clutter or complex-map accuracy calculations.
At 200 ms CPI and ±2400 Hz, these hosts used about 25% less processing time in CPU mode and 64–71% less in GPU mode than original blah2.
GPU acceleration covers clutter FFT/filtering and delay–Doppler work; the small FP64 coefficient solve and other radar stages remain on CPU.
Earlier live array proof: at 527 MHz and 2.4 MS/s, a five-channel array GPU run at ±800 Hz and 200 ms CPI averaged 95.5 ms. This is live capacity evidence from the prior version with recurring CPU checks, not a new live run or a matched upstream ratio.
More radar per frame
VectorWarp also completes wider and five-channel configurations where regular blah2 has no equivalent mode or cannot safely represent the requested geometry.
Coherent multi-channel processing
Kraken arrays can use 2–8 synchronized inputs, synthesize the broadcast reference from several elements, and keep every selected element available for surveillance. The calibrated coherent beam bank uses measured per-channel phase and gain to scan the full horizon; noncoherent fusion remains available for compatibility.
Optional weak-echo controls include two-CPI power integration, calibrated effective beam trials, a bounded direct-path null, limited inter-CPI motion search, and bearing-consistent track association. These controls are independent and default to the established behavior until explicitly enabled.
Beam index is association evidence, not a unique aircraft bearing. Array processing does not guarantee more antenna gain than a directional antenna, and every live configuration must still meet its CPI deadline.
Physical NVIDIA, AMD and Intel GPU checks compare complex maps to a CPU reference. Results are tolerance-validated, not bit-exact or a guarantee for every host.
Equal-range Doppler tests
All comparisons retain the standard 256-bin, 30.604 km excess-path window at 527 MHz and 2.4 MS/s. At this full range and ±4800 Hz, Strix GPU processing averaged 67.0 ms per 200 ms CPI and 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. These are capacity results where upstream's Doppler buffer cannot safely represent the configuration.
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 this campaign. Heavier workloads still miss some deadlines; the full report includes all configurations, a separate before/after comparison and remaining processing costs.
Everything in one interface
Live radar and maps
Delay–Doppler, delay ellipses, spectrum and fullscreen displays.
Browser settings
Clear controls, validation and Save & Restart.
Coherent arrays
Multi-element reference synthesis and calibrated 360-degree surveillance beams.
GPU-resident pipeline
Clutter, ambiguity, fusion, detection and bounded tracking with CPU fallback.
Weak-echo integration
Optional two-CPI integration and conservative spatial trial controls.
Receiver checks
Validated settings, receiver readback, health reporting and recoverable saves.
Built-in ADS-B
Use a local decoder or a remote tar1090 feed.
Record and replay
Capture IQ and return to the same recording for another look.
Limited platform: Raspberry Pi 4B
Raspberry Pi 4B is retained as a compatibility and preview target, not a recommended primary VectorWarp platform. Prefer an x86-64 PC or Apple Silicon Mac for real-time radar workloads. The tested baseline is an 8 GB Pi 4B running 64-bit Bookworm Lite; heavier configurations may miss their CPI deadlines.
Preview image 0.1.10 · Download .img.xz directly. Open the companion manifest to keep Wi-Fi and SSH customization available.
Preview: software checks passed; fresh-card boot and Wi-Fi qualification are still pending.
Pi 4B preview image and advanced setup
Use the Pi image download and flashing guide for current validation status. Use a 32 GB or larger microSD card. The image has no factory login or Wi-Fi credentials, and radar remains stopped until setup.
Open the image's .rpi-imager-manifest in Raspberry Pi Imager so
hostname, authentication, locale, network and SSH customization remain available.
After boot, open http://<hostname>.local:3000/. RSPduo users must install
the licensed SDRplay API before building SDRplay support in Settings.
Measured Pi 4B workload evidence
Four short live RSPduo runs with tracking measured 378 ms CPU-only versus 341 ms AUTO mixed after qualification, about 9.8% less processing time. The two-channel, 2 MS/s, 500 ms CPI workload met its bounded test, but larger workloads have missed real-time deadlines.
At 200 ms CPI and ±800 Hz, VectorWarp CPU took 798.2 ms, regular blah2 took 905.1 ms, and the Off World Labs ARM fork took 905.9 ms. All three missed the 200 ms deadline, so these are comparative workload results—not a recommended real-time configuration.