-
Notifications
You must be signed in to change notification settings - Fork 63
Building from Source
Jeremy Fielder edited this page Mar 19, 2026
·
1 revision
sudo pacman -S qt6-base qt6-multimedia cmake ninja pkgconf
# Optional: fftw (for NR2 spectral noise reduction)
sudo pacman -S fftwsudo apt install qt6-base-dev qt6-multimedia-dev cmake ninja-build pkg-config
# Optional
sudo apt install libfftw3-dev
# For audio (if building outside AppImage)
sudo apt install gstreamer1.0-pulseaudio gstreamer1.0-pipewiresudo dnf install qt6-qtbase-devel qt6-qtmultimedia-devel cmake ninja-build
sudo dnf install fftw-devel # optionalbrew install qt@6 ninja portaudio pkgconf cmake fftwgit clone https://github.com/ten9876/AetherSDR.git
cd AetherSDR
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build -j$(nproc)
./build/AetherSDR| Option | Default | Description |
|---|---|---|
HAVE_FFTW3 |
Auto-detected | NR2 spectral noise reduction (requires libfftw3) |
HAVE_PORTAUDIO |
Auto-detected | PortAudio fallback audio backend |
CMAKE_BUILD_TYPE |
RelWithDebInfo |
Use Release for optimized, Debug for development |
sudo cmake --install buildInstalls binary to /usr/bin/AetherSDR, desktop entry, and icon.
The project uses C++20 and Qt6. Key source directories:
-
src/core/— Protocol, audio, network -
src/models/— Radio, slice, meter, transmit models -
src/gui/— All widgets and applets
See CLAUDE.md for full architecture documentation.
- Panadapter Controls
- VFO Widget
- RX Controls
- TX Controls
- Aetherial Audio
- Multi-Slice Operation
- Diversity and ESC
- TNF (Tracking Notch Filters)
- Memory Channels
- Profile Management
- Slice Colors
- XVTR (Transverters)
- CWX Panel
- CW Decoder
- DVK Panel
- RTTY Operation
- RADE Digital Voice
- DAX Virtual Audio
- DAX IQ Streaming
- WSJT-X Integration
- CAT Control
- TCI Server