Browse by type
A Linux-native client for FlexRadio Systems transceivers
AetherSDR brings FlexRadio operation to Linux without Wine or virtual machines. Built from the ground up with Qt6 and C++20, it speaks the SmartSDR protocol natively and aims to replicate the full SmartSDR experience.
Current version: 26.7.1 — CalVer (YY.M.patch[.hotfix]). | Download | Discussions | What's New
Cross-platform downloads available: Linux AppImage, macOS universal DMG, Windows installer and portable ZIP. Linux is the primary supported platform. macOS and Windows builds are provided as a courtesy.

Native. Open. Yours.
docs/nvidia-bnr.md), and MNR (macOS)AetherSDR is developed using an AI-augmented open-source workflow:
main without human reviewaetherclaude-eligibleSee AGENTS.md for the canonical project guide that every AI assistant reads first, and CONSTITUTION.md for the principles that gate the contribution model.
The full list of code contributors is auto-generated from GitHub commit attribution — see the Contributors graph.
Works with any FlexRadio transceiver, including:
Supported external devices include the 4O3A/FlexRadio PGXL (Power Genius XL) power amplifier and TGXL (Tuner Genius XL) antenna tuner.
Active test target is FLEX-8600 firmware 4.2.18 (SmartSDR protocol v1.4.0.0); earlier 4.x firmware works; v3.x is unsupported.
AetherSDR supports external station-control hardware through USB serial, USB HID, MIDI, Stream Deck/StreamController plugins, and generic USB-serial adapters:
Pre-built binaries are available from Releases:
| Platform | Download | Notes |
|---|---|---|
| Linux x86_64 | AetherSDR-*-x86_64.AppImage |
Single file, no install needed. chmod +x and run. |
| Linux ARM | AetherSDR-*-aarch64.AppImage |
Raspberry Pi, ARM laptops. chmod +x and run. |
| macOS | AetherSDR-*-macOS-apple-silicon.dmg |
Apple Silicon (M1+). Intel Macs via Rosetta. Signed & notarized. |
| Windows Installer | AetherSDR-*-Windows-x64-setup.exe |
Setup wizard with Start Menu shortcut and uninstaller. |
| Windows Portable | AetherSDR-*-Windows-x64-portable.zip |
No install needed. Extract and run. |
Install all dependencies for a full-featured build. Optional packages are noted — the build succeeds without them but the corresponding features are disabled.
# Arch / CachyOS / Manjaro
sudo pacman -S qt6-base qt6-multimedia qt6-websockets qt6-serialport \
qt6-shadertools cmake ninja pkgconf autoconf automake libtool \
fftw portaudio hidapi qtkeychain-qt6
# Ubuntu 24.04+ / Debian / Linux Mint
sudo apt install qt6-base-dev qt6-base-private-dev qt6-multimedia-dev \
qt6-websockets-dev qt6-serialport-dev qt6-shader-baker qt6-shadertools-dev \
cmake ninja-build pkg-config autoconf automake libtool \
libfftw3-dev portaudio19-dev libhidapi-dev qtkeychain-qt6-dev \
libxkbcommon-dev libopengl0 \
gstreamer1.0-pulseaudio gstreamer1.0-plugins-base
# Fedora
sudo dnf install qt6-qtbase-devel qt6-qtbase-private-devel qt6-qtmultimedia-devel \
qt6-qtwebsockets-devel qt6-qtserialport-devel qt6-qtshadertools-devel \
cmake ninja-build autoconf automake libtool \
fftw3-devel portaudio-devel hidapi-devel qtkeychain-qt6-devel
# macOS (Homebrew)
brew install qt@6 ninja cmake pkgconf autoconf automake libtool \
fftw portaudio hidapi qtkeychain
What each dependency enables
| Package | Feature |
|---|---|
| qt6-base, qt6-multimedia | Core application (required) |
| qt6-base-private-dev | GPU-accelerated spectrum/waterfall (QRhi) |
| qt6-shadertools-dev | GPU shader compilation |
| qt6-websockets-dev | TCI server, FreeDV Reporter spots |
| qt6-serialport-dev | FlexControl, serial PTT/CW, MIDI controllers |
| libfftw3-dev | NR2 spectral noise reduction |
| portaudio19-dev | PortAudio audio backend |
| libhidapi-dev | USB HID encoders (RC-28, PowerMate, FlexControl) |
| qtkeychain-qt6-dev | SmartLink credential persistence |
| libopengl0 | GLVND-split desktop OpenGL runtime (GPU spectrum/waterfall) |
Linux Mint / Ubuntu note: If PC audio devices show as "Dummy Output", install
gstreamer1.0-pulseaudio. For PipeWire systems, also installgstreamer1.0-pipewire.Ubuntu 26.04 note: If AetherSDR fails to start with a missing
libOpenGL.so.0error, installlibopengl0. 26.04 stopped pulling it in by default for the desktop image; the build-deps line above includes it explicitly so this only bites users who install just the AppImage.
git clone https://github.com/aethersdr/AetherSDR.git
cd AetherSDR
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build -j$(nproc)
./build/AetherSDR
RADE-enabled builds use a vendored Opus snapshot, so no additional Opus download is required during configure or build.
Prerequisites: Visual Studio 2022 (Build Tools, Community, or higher) with the
MSVC C++ workload, CMake 3.25+, Ninja, and Qt 6.7+ (msvc2022_64; the release
binaries ship 6.8.3 LTS).
:: 1. Activate the MSVC environment. Adjust the edition (BuildTools / Community /
:: Professional / Enterprise) to match your install; run "vswhere" if unsure.
"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
:: 2. Generate the single-precision FFTW import lib (needed by NR4/libspecbleach)
powershell -File scripts\setup\setup-fftw.ps1
:: 3. Configure. Ninja is required: the default Visual Studio generator is
:: multi-config (it ignores CMAKE_BUILD_TYPE) and takes a different
:: manifest-embed path. Point CMAKE_PREFIX_PATH at your Qt kit so
:: find_package(Qt6) resolves.
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_PREFIX_PATH="C:/Qt/6.8.3/msvc2022_64"
:: 4. Build
cmake --build build --target AetherSDR
GPU-accelerated spectrum/waterfall rendering requires Qt 6.7 or greater. If your distribution ships with an older version (e.g., Ubuntu 24.04, Debian 12, or Mint 21–22 include Qt 6.4.2), the build system automatically disables GPU rendering and falls back to the CPU-based QPainter path. (Release binaries ship Qt 6.8.3 LTS; the 6.7 floor is the source-build minimum for QRhi.)
To use GPU acceleration on these systems, install Qt 6.7+ manually:
Option 1: Using a PPA (Ubuntu/Mint)
The kubuntu-backports PPA may provide a newer Qt — verify the version it ships before relying on it.
Option 2: Using the Qt Online Installer
Install Qt into your home directory (e.g., ~/Qt/6.8.3/gcc_64). Because CMake otherwise defaults to the system-provided Qt, point it at the newer install with -DCMAKE_PREFIX_PATH:
bash
cmake -B build -G Ninja \
-DCMAKE_PREFIX_PATH="$HOME/Qt/6.8.3/gcc_64" \
-DCMAKE_BUILD_TYPE=RelWithDebInfo
Make sure the qtshadertools and qt5compat (or equivalent) modules are selected in the Qt Online Installer along with qtbase.
Note: GPU rendering also needs the private QtGui headers (qt6-base-private-dev on Debian-family, included by default in the Qt Online Installer).
sudo cmake --install build
See the full issue tracker for all planned features.
PRs, bug reports, and feature requests welcome! See CONTRIBUTING.md for guidelines.
Development environment: AetherSDR is developed using Claude Code as the primary development tool. We encourage contributors to use Claude Code for consistency. PRs must follow project conventions, pass CI, and include GPG-signed commits.
Not a developer? Click the lightbulb button in AetherSDR's title bar to create an AI-assisted bug report or feature request.
Linux and Windows binaries are GPG-signed. macOS artifacts are Apple notarized. Each release includes .asc signatures and SHA256SUMS.txt.
curl -sSL https://raw.githubusercontent.com/aethersdr/AetherSDR/main/docs/RELEASE-SIGNING-KEY.pub.asc | gpg --import
gpg --verify AetherSDR-vX.Y.Z-x86_64.AppImage.asc AetherSDR-vX.Y.Z-x86_64.AppImage
See docs/VERIFYING-RELEASES.md for full instructions.
AetherSDR is free and open-source software licensed under the GNU General Public License v3.
AetherSDR is an independent project and is not affiliated with or endorsed by FlexRadio Systems.
$ claude mcp add AetherSDR \
-- python -m otcore.mcp_server <graph>