SkillAgentSearch skills...

SoapyHydraSDR

Soapy SDR plugin for the HydraSDR

Install / Use

/learn @hydrasdr/SoapyHydraSDR
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

SoapySDR Plugin for HydraSDR

SoapySDR driver module for HydraSDR RFOne software-defined radio hardware.

Provides seamless integration with the SoapySDR ecosystem and applications like GQRX, CubicSDR, and any Soapy-compatible SDR application across Windows, Linux, and macOS

Dependencies

  • SoapySDR - https://github.com/pothosware/SoapySDR
  • libhydrasdr - https://github.com/hydrasdr/hydrasdr-host

Installation

Option 1: Pre-built Packages (Recommended)

Pre-built packages are available for multiple platforms. You need to install three components:

  1. SoapySDR - The SDR abstraction library
  2. hydrasdr-host-tools - HydraSDR host library and tools (provides libhydrasdr)
  3. soapyhydrasdr - This SoapySDR module

Download packages from:

  • hydrasdr-host-tools: https://github.com/hydrasdr/hydrasdr-host/releases
  • soapyhydrasdr: https://github.com/hydrasdr/SoapyHydraSDR/releases

Debian / Ubuntu / Linux Mint

# Step 1: Install SoapySDR from distribution packages
sudo apt-get update
sudo apt-get install -y libsoapysdr0.8 libsoapysdr-dev soapysdr-tools

# Step 2: Download and install hydrasdr-host-tools
# Download the appropriate .deb for your distro from: https://github.com/hydrasdr/hydrasdr-host/releases
sudo dpkg -i hydrasdr-host-tools-<your-distro>-*.deb
sudo ldconfig

# Step 3: Download and install soapyhydrasdr
# Download the appropriate .deb for your distro from: https://github.com/hydrasdr/SoapyHydraSDR/releases
sudo dpkg -i soapyhydrasdr-<your-distro>-*.deb
sudo ldconfig

# Step 4: Reload udev rules and verify
sudo udevadm control --reload-rules
sudo udevadm trigger
SoapySDRUtil --info
SoapySDRUtil --find

Available .deb packages: | Distribution | Package name pattern | |--------------|----------------------| | Ubuntu 24.04 LTS | *-Ubuntu-24.04-LTS-Noble-Numbat-*.deb | | Ubuntu 22.04 LTS | *-Ubuntu-22.04-LTS-Jammy-Jellyfish-*.deb | | Ubuntu 20.04 LTS | *-Ubuntu-20.04-LTS-Focal-Fossa-*.deb | | Debian 13 Trixie | *-Debian-13-Trixie-*.deb | | Debian 12 Bookworm | *-Debian-12-Bookworm-*.deb | | Debian 11 Bullseye | *-Debian-11-Bullseye-*.deb | | Linux Mint 22 | *-Linux-Mint-22-Wilma-*.deb | | Linux Mint 21.x | *-Linux-Mint-21.*-*.deb |

Fedora

# Step 1: Install SoapySDR from Fedora repositories
sudo dnf install -y SoapySDR SoapySDR-devel soapysdr-tools

# Step 2: Download and install hydrasdr-host-tools
# Download the appropriate .rpm for your Fedora version from: https://github.com/hydrasdr/hydrasdr-host/releases
sudo dnf install ./hydrasdr-host-tools-Fedora-*.rpm

# Step 3: Download and install soapyhydrasdr
# Download the appropriate .rpm for your Fedora version from: https://github.com/hydrasdr/SoapyHydraSDR/releases
sudo dnf install ./soapyhydrasdr-Fedora-*.rpm

# Step 4: Reload udev rules and verify
sudo udevadm control --reload-rules
sudo udevadm trigger
SoapySDRUtil --info
SoapySDRUtil --find

Available Fedora .rpm packages: *-Fedora-41-*.rpm, *-Fedora-42-*.rpm

openSUSE Tumbleweed

# Step 1: Install SoapySDR from openSUSE repositories
sudo zypper install soapy-sdr soapy-sdr-devel

# Step 2: Download and install hydrasdr-host-tools
# Download the .rpm from: https://github.com/hydrasdr/hydrasdr-host/releases
sudo zypper install ./hydrasdr-host-tools-openSUSE-Tumbleweed-*.rpm

# Step 3: Download and install soapyhydrasdr
# Download the .rpm from: https://github.com/hydrasdr/SoapyHydraSDR/releases
sudo zypper install ./soapyhydrasdr-openSUSE-Tumbleweed-*.rpm

# Step 4: Reload udev rules and verify
sudo udevadm control --reload-rules
sudo udevadm trigger
SoapySDRUtil --info
SoapySDRUtil --find

AlmaLinux 9 / RHEL 9

# Step 1: Enable EPEL and install SoapySDR
sudo dnf install -y epel-release
sudo dnf config-manager --set-enabled crb
sudo dnf install -y SoapySDR SoapySDR-devel

# Step 2: Download and install hydrasdr-host-tools
# Download the .rpm from: https://github.com/hydrasdr/hydrasdr-host/releases
sudo dnf install ./hydrasdr-host-tools-AlmaLinux-9-*.rpm

# Step 3: Download and install soapyhydrasdr
# Download the .rpm from: https://github.com/hydrasdr/SoapyHydraSDR/releases
sudo dnf install ./soapyhydrasdr-AlmaLinux-9-*.rpm

# Step 4: Reload udev rules and verify
sudo udevadm control --reload-rules
sudo udevadm trigger
SoapySDRUtil --info
SoapySDRUtil --find

macOS

# Step 1: Install SoapySDR via Homebrew
brew install soapysdr

# Step 2: Download and extract hydrasdr-host-tools
# Download from: https://github.com/hydrasdr/hydrasdr-host/releases
# - Apple Silicon (M1/M2/M3): hydrasdr-host-tools-macOS-ARM64-*.tar.gz
# - Intel Mac: hydrasdr-host-tools-macOS-x86_64-*.tar.gz
tar -xzf hydrasdr-host-tools-macOS-*.tar.gz
sudo cp libhydrasdr.dylib /usr/local/lib/
sudo cp hydrasdr_* /usr/local/bin/  # optional: command-line tools

# Step 3: Download and extract soapyhydrasdr
# Download from: https://github.com/hydrasdr/SoapyHydraSDR/releases
# - Apple Silicon (M1/M2/M3): soapyhydrasdr-macOS-ARM64-*.tar.gz
# - Intel Mac: soapyhydrasdr-macOS-x86_64-*.tar.gz
tar -xzf soapyhydrasdr-macOS-*.tar.gz

# Find SoapySDR modules directory and install
SOAPY_MODULE_DIR=$(SoapySDRUtil --info | grep "Search path" | head -1 | awk '{print $3}')
sudo mkdir -p "$SOAPY_MODULE_DIR"
sudo cp libSoapyHydraSDR.so "$SOAPY_MODULE_DIR/"

# Step 4: Verify installation
SoapySDRUtil --info
SoapySDRUtil --find

Windows

  1. Install SoapySDR via PothosSDR installer or vcpkg:

    • PothosSDR (includes SoapySDR): https://github.com/pothosware/PothosSDR/releases
    • Or via vcpkg: vcpkg install soapysdr:x64-windows
  2. Download hydrasdr-host-tools:

    • Download hydrasdr-host-tools-Windows-x64-*.zip from: https://github.com/hydrasdr/hydrasdr-host/releases
    • Extract the archive
  3. Download soapyhydrasdr:

    • Download soapyhydrasdr-Windows-x64-*.zip from: https://github.com/hydrasdr/SoapyHydraSDR/releases
    • Extract the archive
  4. Install files:

   # Find SoapySDR modules directory (check SoapySDRUtil --info)
   # Typical locations:
   #   C:\Program Files\PothosSDR\lib\SoapySDR\modules0.8\
   #   C:\Program Files\SoapySDR\lib\SoapySDR\modules0.8\
   
   # Copy SoapyHydraSDR.dll to SoapySDR modules directory
   Copy-Item SoapyHydraSDR.dll "C:\Program Files\PothosSDR\lib\SoapySDR\modules0.8\"
   
   # Copy hydrasdr.dll and dependencies to the modules directory or add to PATH
   Copy-Item hydrasdr.dll "C:\Program Files\PothosSDR\lib\SoapySDR\modules0.8\"
   Copy-Item libusb-1.0.dll "C:\Program Files\PothosSDR\lib\SoapySDR\modules0.8\"
  1. Verify installation:
   SoapySDRUtil --info
   SoapySDRUtil --find

Note: HydraSDR RFOne uses WCID for automatic USB driver installation on Windows 10/11.

Option 2: Build from Source

Linux/macOS

For best compatibility, especially if you've built SoapySDR from source, build SoapyHydraSDR from source as well:

# Install dependencies (Debian/Ubuntu)
sudo apt-get install build-essential cmake pkg-config libusb-1.0-0-dev

# Optional: Clean up previous installations
sudo rm -f /usr/local/lib/libhydrasdr*
sudo rm -f /usr/local/lib/SoapySDR/modules*/libSoapyHydraSDR*
sudo ldconfig

# Build and install SoapySDR from source (recommended)
rm -rf SoapySDR
git clone https://github.com/pothosware/SoapySDR.git
cd SoapySDR && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
sudo make install
sudo ldconfig
cd ../..

# Build and install libhydrasdr (shared library required)
rm -rf hydrasdr-host
git clone https://github.com/hydrasdr/hydrasdr-host.git
cd hydrasdr-host && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_SHARED_LIB=ON -DINSTALL_UDEV_RULES=ON
make -j$(nproc)
sudo make install
sudo ldconfig
cd ../..

# Build and install SoapyHydraSDR
rm -rf SoapyHydraSDR
git clone https://github.com/hydrasdr/SoapyHydraSDR.git
cd SoapyHydraSDR && mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
sudo make install
sudo ldconfig

# Verify installation
SoapySDRUtil --info
SoapySDRUtil --probe="driver=hydrasdr"

Windows

Building on Windows requires Visual Studio and vcpkg:

# Install vcpkg (if not already installed)
git clone https://github.com/Microsoft/vcpkg.git C:\vcpkg
C:\vcpkg\bootstrap-vcpkg.bat

# Install dependencies
C:\vcpkg\vcpkg.exe install soapysdr:x64-windows libusb:x64-windows

# Clone and build libhydrasdr
git clone https://github.com/hydrasdr/hydrasdr-host.git
cd hydrasdr-host
mkdir build && cd build
cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -DENABLE_SHARED_LIB=ON
cmake --build . --config Release
cmake --install . --config Release
cd ..\..

# Clone and build SoapyHydraSDR
git clone https://github.com/hydrasdr/SoapyHydraSDR.git
cd SoapyHydraSDR
mkdir build && cd build
cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake
cmake --build . --config Release
cmake --install . --config Release

ABI Compatibility Note

Important: SoapySDR uses an ABI (Application Binary Interface) version to ensure module compatibility. The pre-built soapyhydrasdr packages install to multiple module paths for maximum compatibility with both distribution packages and source-built SoapySDR.

If you experience module loading errors like:

SoapySDR module ... refuses to load. Check module file permissions and ABI version

This typically means there's a mismatch between your installed SoapySDR and the module. Solutions:

  1. Build SoapyHydraSDR from source (see Option 2) - This ensures the module is compiled against your exact SoapySDR version.

  2. Build SoapySDR from source - If distribution packages cause issues:

   git clone https://github.com/pothosware/SoapySDR.git
   cd SoapySDR && mkdir build && cd build
   cmake .. -DCMAKE_BUILD_TYPE=Release
   make -j$(nproc)
   
View on GitHub
GitHub Stars8
CategoryDevelopment
Updated1mo ago
Forks3

Languages

C++

Security Score

85/100

Audited on Feb 20, 2026

No findings