I have found that this OS provides better performance than Debian or Ubuntu. I hope this helps you. These procedures may work for other SDR hardware except for the drivers and device specific items.
Note: I have included support for the SDRplay RSP1A, HackRF One and RTL-SDR. You will only need to install support for the device(s) that you have.
sudo mousepad /boot/config.txt Under: # Enable DRM VC4 V3D driver If necessary, delete the "#" from #max_framebuffers= and change it to max_framebuffers=2 Comment out the line: dtoverlay=vc4-kms-v3d by inserting a "#" at the beginning of the line. Add these two lines below it: dtoverlay=vc4-fkms-v3d hdmi_enable_4kp60=1
mkdir ~/.config/gtk-3.0 mousepad ~/.config/gtk-3.0/settings.ini # Insert the following into the file: [Settings] gtk-primary-button-warps-slider = false # Save the file.
# Note that Raspberry Pi OS has been deleting gtk.css. mousepad ~/.config/gtk-3.0/gtk.css # Insert the following into the file: .scrollbar { -GtkScrollbar-has-backward-stepper: true; -GtkScrollbar-has-forward-stepper: true; min-width: 18px; min-height: 18px; } scrollbar slider { /* Size of the slider */ min-width: 14px; min-height: 14px; border-radius: 5px; /* Padding around the slider */ border: 2px solid transparent; } # Save the file.
sudo apt update sudo apt upgrade
sudo apt install libdouble-conversion-dev sudo apt install libxi-dev libxcb* sudo apt install libxkbcommon-x11-0 libxkbcommon-x11-dev
sudo apt install qtcreator
sudo apt install pyqt5-dev python3-sip python3-pyqt5.sip python3-pyqt5 python3-venv python3-pip sudo apt install man git g++ build-essential ntfs-3g apt-utils libudev-dev at-spi2-core # Additional Qt5 packages sudo apt install qt5-qmake qt5-qmake-bin 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 qml-module-qtquick-controls qml-module-qtquick-controls2 qtdeclarative5-dev qtpositioning5-dev qtlocation5-dev libqt5texttospeech5-dev
sudo apt install libssl-dev
sudo apt-get install cmake
# For a 64-bit operating system on a Raspberry Pi 4: export CXXFLAGS='-O3 -mtune=cortex-a72' export CFLAGS='-O3 -mtune=cortex-a72' # For other operating systems: export CXXFLAGS='-O3 -march=native -mtune=native' export CFLAGS='-O3 -march=native -mtune=native'
sudo apt install libusb-1.0-0 libusb-1.0-0-dev usbutils libfftw3-dev file sudo service udev restart
cd ~/Downloads # or wherever you downloaded the file chmod 755 SDRplay_RSP_API-Linux-3.15.2.run sudo ./SDRplay_RSP_API-Linux-3.15.2.run sudo ldconfig
sudo systemctl stop sdrplay sudo systemctl start sdrplay
sudo apt install libusb-1.0-0-dev usbutils libfftw3-3 libfftw3-dev
cd ~/ git clone https://github.com/greatscottgadgets/hackrf cd hackrf/host mkdir build cd build cmake .. make -j 4 sudo make install sudo ldconfig
hackrf_info
# Transfer rate test: hackrf_transfer -r /dev/null -s 20000000 # Connect an antenna and test sending data: hackrf_transfer -t /dev/zero
cd ~/hackrf/firmware-bin # To update the firmware on a working HackRF One, use the hackrf_spiflash program: hackrf_spiflash -w hackrf_one_usb.bin # Press the reset button on the HackRF. hackrf_info # The new firmware version should now displayed. # Perform the hackrf_transfer tests above.
sudo mousepad /etc/modprobe.d/blacklist-dvb.conf
sudo apt-get install rtl-sdr librtlsdr-dev
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-get install --no-install-recommends libuhd3.15.0 libuhd-dev sudo apt-get install --no-install-recommends gnuradio gnuradio-dev # Show version gnuradio-config-info -v mousepad ~/.xsessionrc #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 mousepad /etc/ld.so.conf.d/gnuradio.conf # insert the line: /usr/lib # Save the file sudo ldconfig
volk_profile
cd ~/ git clone https://github.com/pothosware/SoapySDR.git cd SoapySDR # Use this version for SigDigger git checkout soapy-sdr-0.8.1 mkdir build cd build cmake .. make -j4 sudo make install sudo ldconfig
cd ~/ git clone https://github.com/pothosware/SoapySDRPlay3.git cd SoapySDRPlay3 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/pothosware/SoapyRTLSDR.git cd SoapyRTLSDR 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=rtlsdr"
cd ~/ # Do not use the git command if you have GNU Radio 3.8 and have extracted gr-osmosdr.GR3.8.zip # 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 apt-get install pavucontrol paprefs # OPptionally, for systems with Qt5 installed from the package system sudo apt-get install pavucontrol-qt paprefs
sudo mousepad /etc/pulse/daemon.conf # Uncomment the line: enable-remixing = yes # Find the following lines and change them as shown: avoid-resampling = yes default-sample-rate = 48000 default-fragments = 4 default-fragment-size-msec = 10
sudo mousepad /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf