# SDR++: A Cross-Platform, Modular Software Defined Radio Application

> SDR++ is a free, open-source SDR receiver for Windows, Linux, macOS, BSD, and Android that aims to be minimal in footprint and modular in design. It supports a wide range of SDR hardware through SoapySDR and dedicated driver modules, with SIMD-accelerated signal processing and a real-time full-waterfall display.

**AlexandreRouma/SDRPlusPlus** — Cross-Platform SDR Software

- Repository: https://github.com/AlexandreRouma/SDRPlusPlus
- Stars: 6,381 · Forks: 892
- Language: C++
- License: GPL-3.0
- Published: 2026-09-22 · Updated: 2026-09-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/alexandrerouma-sdrplusplus

## What SDR++ Is and Who It Is For

SDR++, developed under the username AlexandreRouma, is an open-source SDR (Software Defined Radio) receiver application. The README describes the goal as being bloat-free and simple to use. It targets radio hobbyists, amateur radio operators, and engineers who want to receive, visualize, and demodulate radio signals from a USB SDR device on any major operating system.

The project supports Windows, Linux, macOS, and BSD from a single codebase written in C++. An Android build also exists. Multi VFO (Virtual Frequency Oscillator) operation is supported, meaning multiple signals can be received and demodulated simultaneously within the same receiver session. Hardware is supported either through the generic SoapySDR abstraction layer or through dedicated modules for specific devices.

## Core Feature Set and Architecture

The README lists six headline features. Multi VFO lets users tune and demodulate multiple signals within the same receiver bandwidth at the same time. Hardware support spans both the SoapySDR layer and dedicated source modules for specific radios. SIMD acceleration applies processor vector instructions to the DSP pipeline, reducing CPU load. Cross-platform support covers Windows, Linux, macOS, and BSD. The full waterfall display updates at the maximum rate the hardware allows, making it easier to spot short transmissions as they appear. Finally, a modular design allows users to write their own plugins.

The module architecture is central to how SDR++ works: radio decoding, recording, SDR source drivers, and audio output are each separate shared libraries (DLL on Windows, SO on Linux) that the application loads at startup from a path listed in root_dev/config.json. This means adding or removing a capability is a matter of adding or removing an entry in that config file and providing the corresponding compiled module.

## Installing SDR++ on Windows and Linux

On Windows, the recommended approach is to download the installer from the GitHub releases page or, for the most recent changes, from the nightly build URL at sdrpp.org/nightly. GitHub requires a logged-in account to download nightly artifacts.

On Debian-based Linux systems (Ubuntu, Mint, and others), the README carries a clear warning: do not use the sdrpp package from the system package manager. The README states that package is incomplete and incompatible with all official and out-of-tree modules. Instead, download the .deb from the releases page and install it with apt:

```sh
sudo apt install path/to/the/sdrpp_debian_amd64.deb
```

On Arch-based systems, the README states the sdrpp-git AUR package is no longer official and recommends building from source instead. On macOS, the nightly build provides an app bundle. BSD users must also build from source. After any install, the SDR device driver must be installed separately, following the manufacturer's instructions for the specific distribution.

For hardware drivers, the README notes: you must install the drivers for your SDR following instructions from your manufacturer before any device will appear in SDR++.

## Building SDR++ from Source on Windows

A source build on Windows requires cmake, vcpkg, PothosSDR installed at C:/Program Files/PothosSDR, and RtAudio installed at C:/Program Files (x86)/RtAudio/. Three additional dependencies must be installed through vcpkg: fftw3, glfw3, and zstd. The README specifies that 64-bit builds need the x64-windows triplet flag for each vcpkg package.

The build commands, run from the top of the source tree, are:

```
mkdir build
cd build
cmake .. "-DCMAKE_TOOLCHAIN_FILE=<vcpkg install directory>/scripts/buildsystems/vcpkg.cmake" -G "Visual Studio 16 2019"
cmake --build . --config Release
```

For a development run, first generate the root directory that holds configuration and module paths:

```bat
./create_root.bat
```

Then launch with an explicit root directory and the console flag:

```bat
./build/Release/sdrpp.exe -r root_dev -c
```

The -c flag keeps the console window open to show error output. All paths in the command are relative to the top of the source tree.

## The Module and Config System

SDR++'s runtime behavior is controlled by root_dev/config.json. The modules array in that file lists the paths to each compiled module that SDR++ should load on startup. A typical development config references the radio decoder, recorder, RTL-TCP source, and audio sink modules:

```json
"modules": [
    "./build/radio/Release/radio.dll",
    "./build/recorder/Release/recorder.dll",
    "./build/rtl_tcp_source/Release/rtl_tcp_source.dll",
    "./build/audio_sink/Release/audio_sink.dll"
]
```

The same config also points to the modules and resources directories. This design means that a plugin that is not listed in modules will not be loaded, and a new plugin can be added by compiling it and adding its path to the list. The README documents separate build output directories for source modules (airspyhf_source, plutosdr_source, spyserver_source), decoder modules, sink modules, and misc modules, each compiled independently.

## Limitations and Things to Verify Before Installing

The system package manager distribution on Debian-based Linux is explicitly broken: using apt to install sdrpp rather than the .deb from the releases page will produce an installation that cannot load any official modules. This is a practical trap for users following generic Linux software install habits.

On Arch Linux, the AUR package is similarly flagged as unofficial and unreliable. The project explicitly states building from source is the supported path on Arch.

The numbered release history shows that the most recent tagged release, v1.0.4, was published in October 2021. The nightly build label currently tracks what the README calls version 1.3.0, and was last tagged in November 2022. Code changes continue to be pushed to the repository; the last push was on 2026-07-05. The gap between ongoing code work and formal versioned releases means users relying on the nightly build are on unreleased code, though the README describes nightlies as generally as stable as the named releases.

## Comparison with SDR# (SDRSharp)

SDR# (SDRSharp) is the most frequently searched alternative. The key difference is platform support and licensing. SDR# is a Windows-only application distributed as a binary without a public open-source repository; users cannot inspect the source code or submit modifications. SDR++ runs on Windows, Linux, macOS, BSD, and Android from the same openly licensed C++ codebase under GPL-3.0.

For Windows users who only need to run SDR++ on Windows and want a polished UI without a build step, SDR# offers a broad plugin ecosystem and an established user community. SDR++ is the better choice when Linux or macOS support is required, when the hardware is not well-supported by SDR#, or when the GPL-3.0 license and access to source code matter to the user.

## Maintenance and GPL-3.0 License

The repository is not archived and shows ongoing code activity with a last push on 2026-07-05. There is a Discord server linked in the README for community support; the IRC channel listed in the README is noted as no longer active.

SDR++ is released under GPL-3.0. This is a strong copyleft license: any modification to SDR++ that is distributed must also be released under GPL-3.0. Plugins built against the SDR++ module API may have different license implications depending on whether they link statically or dynamically; the README does not address this boundary explicitly. Teams distributing modified versions should review GPL-3.0 requirements before shipping.

## Conclusion

SDR++ is the right choice for radio hobbyists and engineers who want a cross-platform, open-source SDR receiver that runs on hardware from multiple vendors without pulling in a large dependency footprint. It is not the right fit for Linux users who want a package manager install with no extra steps: the README explicitly warns against using the system sdrpp package, which is incomplete. Before installing on Linux, download the .deb directly from the releases page rather than using apt.

## FAQ

### What is SDR plus plus?

SDR++ is a cross-platform, open-source Software Defined Radio application written in C++. It receives and demodulates radio signals from USB SDR hardware on Windows, Linux, macOS, BSD, and Android, using a modular plugin architecture and SIMD-accelerated DSP.

### How to use SDR Plus Plus?

After installing SDR++ and the hardware driver for your device, launch the application and configure the root_dev/config.json file to load the modules you need (source, radio decoder, audio sink). Select your device in the source panel, set the center frequency on the waterfall, and add a VFO to demodulate a signal.

### Is SDR software free?

SDR++ is free and open-source, released under GPL-3.0. The README does not mention any paid tiers or commercial licensing for the application itself.

### What are the differences between SDR and SDR++?

SDR (Software Defined Radio) is the general category: radio functions implemented in software rather than hardware. SDR++ is a specific open-source application for receiving and demodulating SDR signals. It distinguishes itself from alternatives like SDR# by running on Windows, Linux, macOS, and BSD rather than Windows only, and by providing full source code under GPL-3.0.

### How to install SDR Plus Plus?

On Windows, download from the releases page or the nightly build at sdrpp.org/nightly. On Debian-based Linux, download the .deb from the releases page and install with apt; the README warns not to use the sdrpp package from the system package manager. On macOS, download the app bundle from the nightly build.

## Sources

- [AlexandreRouma/SDRPlusPlus on GitHub](https://github.com/AlexandreRouma/SDRPlusPlus)
- [Issues](https://github.com/AlexandreRouma/SDRPlusPlus/issues)
- [License: GPL-3.0](https://github.com/AlexandreRouma/SDRPlusPlus/blob/master/LICENSE)
- [README](https://github.com/AlexandreRouma/SDRPlusPlus/blob/master/README.md)
- [Releases](https://github.com/AlexandreRouma/SDRPlusPlus/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/alexandrerouma-sdrplusplus
