There seems to be little Linux support for SDRplay devices outside of the convenient images from SDRplay with preinstalled software. That software was limited and out of date as of this writing. I have spent quite a bit of time getting an up to date system on which to install the latest Linux SDR software. I have added support for the HackRF One. This procedure uses Debian, whose packages are much more up-to-date and is cleaner than the Ubuntu. It does not have the flaky screen saver issues. However, I have found that the analog/headphone jack does not work. I hope this helps you. These procedures may work for other SDR hardware except for the drivers and device specific items.
I suggest turning off power saving features as they will halt your SDR reception. There are several places where this should be done. There are details near the end of this section.
I basically included prerequisites that were not found on my system. However, there may be a few packages listed that are already installed. This is OK.
Note: I have included support for both for the SDRplay RSP1A and the HackRF One. You will only need to install support for the device(s) that you have, in these procedures.
apt update apt upgrade
apt-get install lxqt-core apt-get install xinit
apt install sudo # We will now set up the user. I chose username "pi". adduser pi usermod -a -G sudo,plugdev pi
sudo apt-get install firefox-esr
sudo apt install locales sudo dpkg-reconfigure locales
sudo apt install pyqt5-dev python3-sip python3-pyqt5.sip python3-pyqt5 sudo apt install muon # sudo apt install network-manager sudo apt install network-manager-gnome sudo apt install man git usbutils
sudo apt install qt5-qmake qtbase5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5multimedia5-plugins qtgstreamer-plugins-qt5 qtcreator libqt5svg5-dev libqt5serialport5-dev qttools5-dev libqwt-qt5-6 libqwt-qt5-dev sudo apt install libqt5websockets5-dev libqt5charts5-dev qml-module-qtlocation qml-module-qtpositioning qml-module-qtquick-dialogs qtdeclarative5-dev qtpositioning5-dev qtlocation5-dev libqt5texttospeech5-dev
sudo apt install libusb-1.0-0 libusb-1.0-0-dev libfftw3-3 libfftw3-dev # Create a new file: sudo featherpad /etc/udev/rules.d/66-mirics.rules
SUBSYSTEM=="usb",ENV{DEVTYPE}=="usb_device",ATTRS{idVendor}=="1df7",ATTRS{idProduct}=="2500",MODE:="0666"
sudo service udev restart
cd ~/Downloads # or wherever you downloaded the file chmod 755 SDRplay_RSP_API-ARM64-3.07.1.run sudo ./SDRplay_RSP_API-ARM64-3.07.1.run sudo ldconfig
sudo systemctl stop sdrplay sudo systemctl start sdrplay
sudo apt install libusb-1.0-0-dev libfftw3-3 libfftw3-dev
cd ~/ git clone https://github.com/mossmann/hackrf cd hackrf/host mkdir build cd build cmake .. make -j 4 sudo make install sudo ldconfig
hackrf_info # If you see "Firmware Version: 2018.01.1 (API:1.02)", then it is up to date. # Transfer rate test: hackrf_transfer -r /dev/null -s 21500000 #Test sending data: hackrf_transfer -t /dev/zero
sudo apt install g++ libcodec2-dev libvolk2-bin libvolk2-dev libvolk2.4 sudo apt install libboost-all-dev libgmp-dev swig python3-requests python3-ruamel.yaml python3-setuptools python3-numpy python3-mako python3-sphinx python3-lxml doxygen libsdl1.2-dev libgsl-dev libzmq3-dev python3-yaml python3-click python3-click-plugins python3-zmq python3-scipy python3-docutils liborc-0.4-0 liborc-0.4-dev python3-gi-cairo python3-waitress liblog4cpp5-dev liblog4cpp5v5 sudo apt install osspd osspd-pulseaudio sudo osspd-alsa libcppunit-dev
sudo apt install libuhd3.15.0 libuhd-dev # Show version gnuradio-config-info -v sudo featherpad ~/.profile #add this export command to the end of the file or to any existing PYTHONPATH line. Save changes to make the variables permanent. export PYTHONPATH=/usr/local/lib/python3/dist-packages:/usr/lib/python3/dist-packages:/usr/lib/python3.9/dist-packages:/usr/local/lib/python3.9/dist-packages:$PYTHONPATH
sudo featherpad /etc/ld.so.conf.d/gnuradio.conf # insert the line: /usr/lib # Save the file sudo ldconfig
cd ~/ git clone https://github.com/pothosware/SoapySDR.git cd SoapySDR mkdir build cd build cmake .. make -j4 sudo make install sudo ldconfig
cd ~/ git clone https://github.com/pothosware/SoapySDRPlay.git cd SoapySDRPlay mkdir build cd build cmake .. make -j4 sudo make install sudo ldconfig # Type these commands. If your SDR is listed, the hardest work is done! SoapySDRUtil --info SoapySDRUtil --probe="driver=sdrplay"
cd ~/ git clone https://github.com/pothosware/SoapyHackRF.git cd SoapyHackRF mkdir build cd build cmake .. make -j4 sudo make install sudo ldconfig # Type this command. Check that your SDR is listed and the details are correct. SoapySDRUtil --probe="driver=hackrf"
cd ~/ git clone https://github.com/fventuri/gr-osmosdr.git cd gr-osmosdr/ mkdir build cd build cmake .. -DENABLE_NONFREE=TRUE
make -j4 sudo make install sudo ldconfig
sudo featherpad /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf