sdrconnect-installer/README.md
Greg Gauthier b3d8f40ac8 docs(readme): update installation steps and add dynamic version lookup
- Add new step for resolving SDRconnect and RigControl build hashes from upstream install.sh, with fallback to defaults
- Increment step numbering and adjust descriptions
- Document new env vars: SDRCONNECT_GITBUILD, RIGCONTROL_GITBUILD for pinning hashes
- Expand DONOTDOWNLOAD=1 description to note it skips version lookup
- Explain default hash fetching behavior
2026-05-01 20:43:07 +01:00

4.0 KiB

SDRconnect Universal Linux Installer

A community-maintained installer script for SDRconnect and RigControl that works across major Linux distribution families.

The official SDRPlay installer only supports Debian and Ubuntu. This script extends that support to Arch/Manjaro, Fedora/RHEL, and openSUSE, while preserving full compatibility with Debian-based systems.

What it does

  1. Detects your Linux distribution and maps dependencies to the correct package names
  2. Installs required system libraries (libusb, ALSA, hamlib, etc.) via your native package manager
  3. Resolves the current SDRconnect and RigControl build hashes by parsing SDRPlay's official install.sh, falling back to built-in defaults if the upstream lookup fails
  4. Downloads the SDRconnect and RigControl binaries from SDRPlay's servers
  5. Verifies download integrity via SHA256 checksums
  6. Installs both applications to /opt/sdrconnect and /opt/rigcontrol
  7. Configures udev rules for SDRPlay USB hardware
  8. Creates desktop entries and icons (freedesktop.org standard)
  9. Sets up a PATH profile script so the tools are available from the terminal
  10. Optionally configures a systemd service for SDRconnect server mode
  11. Generates an uninstaller at /opt/sdrconnect/sdrconnect-uninstall.sh

Supported distributions

Family Distros
Debian Debian, Ubuntu, and derivatives
Arch Arch, Manjaro, EndeavourOS, Garuda, Artix
Fedora Fedora, RHEL, CentOS, Rocky, Alma, Nobara
openSUSE openSUSE (Leap/Tumbleweed), SLES

Other derivatives are detected automatically via the ID_LIKE field in /etc/os-release.

Tested successfully on

  • Tuxedo OS
  • Manjaro
  • Fedora

Usage

chmod +x install_sdrplay_universal.sh
./install_sdrplay_universal.sh

The script will present the SDRPlay license agreement and prompt for acceptance before proceeding.

Options

  • --dry-run — Print what would be done without making changes
  • ACCEPTLICENSE=1 — Skip the interactive license prompt
  • DONOTDOWNLOAD=1 — Use local tarballs instead of downloading (place them in the current directory). Also skips the upstream version lookup; pin filenames with the override variables below
  • NOTSUPPORTED=1 — Skip dependency checks entirely (install them yourself)
  • SYSTEMD_MODE=install SYSTEMD_TARGET=sdrconnectserver — Enable the server systemd service
  • SDRCONNECT_GITBUILD=<hash> — Pin the SDRconnect build hash, bypassing the upstream lookup
  • RIGCONTROL_GITBUILD=<hash> — Pin the RigControl build hash, bypassing the upstream lookup

By default the installer fetches the current build hashes from SDRPlay's official install.sh at runtime, so it tracks new releases without needing edits. If that fetch fails, it falls back to a pair of built-in hashes baked into the script.

Adding support for a new distro family

Define three functions and add a detection line:

# 1. Package names for this family
mydistro_packages(){ echo "curl tar ca-certificates ..."; }

# 2. Check if a single package is installed (return 0/1)
mydistro_check(){ my-pkg-tool query "$1" >/dev/null 2>&1; }

# 3. Install one or more packages
mydistro_install(){
    ensure_sudo
    run_root my-pkg-tool install "$@"
}

# 4. Add detection in detect_distro_family()
#    mydistro)  DISTRO_FAMILY="mydistro" ;;

Disclaimer

This is not an official SDRPlay product. This installer is an independent, community effort based on SDRPlay's official installation script. It is not endorsed, supported, or maintained by SDRPlay Limited.

The SDRconnect software itself remains the property of SDRPlay Limited and is subject to their End User License Agreement. This project only modifies the installer mechanism to support additional Linux distributions.

Use at your own risk. While this script has been tested on Manjaro, it has not been exhaustively validated across every supported distribution. Your mileage may vary.

For official support, visit sdrplay.com.