VibeServer
Turn an SDR into a network receiver for the VibeSDR apps and any browser.
Current package: amd64 11.0.0~rc23-1, arm64 11.0.0~rc23-1, armhf 11.0.0~rc23-1
Debian / Ubuntu / Raspberry Pi OS — ARM or Intel/AMD
Tested on Debian 13 (trixie) and Raspberry Pi OS on a Pi 500, and on Ubuntu 24.04 on an Intel i5. Anything arm64 or amd64 running Debian or Ubuntu should work — the install below is the same command on either.
One package, every architecture — apt picks arm64, amd64 or armhf (32-bit ARM) to suit the machine. Minimum confirmed hardware: Raspberry Pi 2 (quad-core ARMv7, 0.9 GHz); 512 MB of RAM recommended. 32-bit ARM needs NEON, so ARMv6 boards (Pi Zero, Zero W, Pi 1) are not supported yet.
On Intel/AMD it runs the scalar path, which costs about 12.8% of one core for a stereo FM listener at 1.92 MSPS (measured on an i5-11300H). That is roughly twice what NEON costs on an Apple M4, and it does not matter: extra listeners share one channelizer and add about 0.02% each, so a single modern core carries a full receiver comfortably.
1. Install
Copy and paste the whole block — it is the same block on ARM and on Intel/AMD, because it asks your machine which one it is. Nothing else needs installing — apt pulls in every library VibeServer needs.
curl -fsSL https://apt.vibesdr.net/KEY.gpg \ | sudo gpg --dearmor -o /usr/share/keyrings/vibesdr.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/vibesdr.gpg] https://apt.vibesdr.net stable main" \ | sudo tee /etc/apt/sources.list.d/vibesdr.list sudo apt update sudo apt install vibeserver
Log out and back in now. The install adds you to the plugdev
group so the radio can be opened without root, and group membership only takes effect on a
new login. Skip this and the next step will report no radio.
2. Set it up
vibeserver
That opens a short text wizard: give the receiver a name, say roughly where it is, pick the radio, and set an admin password. When you finish, it enables and starts the service for you — there is no separate command to run.
3. Open it in a browser
http://<the address the wizard printed>:48000
That is the receiver itself — waterfall, audio, decoders — and the same page the
VibeSDR apps talk to. On the same network, http://vibeserver.local:48000 usually
works too.
★ The waterfall will look quiet at first, and that is deliberate
A new install starts the radio at minimum gain, in manual mode. That is a choice, not a fault: an unknown antenna on an unknown band can overload a front end the moment it is switched on, and a receiver that starts safe and sounds quiet is far easier to recover from than one that starts hot and distorts everything.
Open the menu and bring the gain up until the noise floor lifts and signals appear. Whatever you set is remembered, and upgrades never change a gain you have touched.
If you have an SDRplay RSP
apt install cannot fetch the SDRplay driver and this is not an oversight:
SDRplay distribute it under their own licence and we are not permitted to redistribute it.
RTL-SDR and Airspy HF+ need nothing extra.
curl -fL -o SDRplay_RSP_API-Linux-3.15.run \ "https://sdrplay.com/download/hardware-api-linux/?wpdmdl=1906" chmod +x SDRplay_RSP_API-Linux-3.15.run sudo ./SDRplay_RSP_API-Linux-3.15.run sudo reboot # once it is back: systemctl status sdrplay # should be active (running)
The installer is interactive — it pages a licence (space to scroll), then asks twice
for y. One file covers every architecture: it carries armhf,
amd64 and arm64, so the Pi and a desktop take the same download.
Reboot when it finishes: the installer asks for it, and a replug is not
enough.
SDRplay moved their downloads in 2026 and the old
sdrplay.com/software/….run links now 404. The address above is their
current one and works under curl on a headless box — no browser needed.
It is a download-manager id, so expect it to change when they publish the next version;
if it ever fails, the page to look at is
sdrplay.com/api.
Install it whenever you like — before or after VibeServer. If you add an RSP later,
sudo systemctl restart vibeserver is enough; the driver is loaded at runtime.
Updating
sudo apt update && sudo apt upgrade
Your settings survive and the service restarts on the new binary. The admin page has an Install updates button that does the same thing from a browser.
Prefer a single file?
Install the .deb with apt install ./… — with the
./ — so apt still resolves the dependencies. Never
dpkg -i: it does not resolve them, and leaves you part-installed.
Take the line for your architecture — dpkg --print-architecture tells you
which, if you are not sure.
sudo apt install ./vibeserver_11.0.0~rc23-1_amd64.deb sudo apt install ./vibeserver_11.0.0~rc23-1_arm64.deb sudo apt install ./vibeserver_11.0.0~rc23-1_armhf.deb
macOS
A signed, notarised build — download, open, and it runs without a Gatekeeper argument.
Source
VibeServer is built from the VibeSDR tree — the same DSP engine, decoders and protocol the apps use, which is why a fix in one reaches all of them.
github.com/Stuey3D/VibeSDR · GPL-3.0