SDR++, The bloat-free SDR software
This assumes that you have already installed your SDR drivers, for the RTL-SDR I use the Osmocom ones from https://www.rtl-sdr.com/rtl-sdr-quick-start-guide/
Having found how good SDR++ is on Windows 11, I wanted it on my Raspberry PI 4 too. I did find a YouTube article from 2021 by Kevin Loughin https://www.youtube.com/watch?v=rNhh9eueYZg&t=2s who used Alexandre Rouma's install script and source code https://github.com/AlexandreRouma/SDRPlusPlus/
Kevin was using an older version of Raspberry Pi OS and also discovered that the installation script had been written blind (untested) and had a couple of issues, he referred to cloning direct from GitHub which is common practice, but that command was simply missing. No matter, I managed to change the commands script as below and started to compile it myself discovering that the Volk software v1.0 was no longer available. A helpful bash message informed me that v2 was available and I changed the script for that. I also had to include sudo and a mkdir for the CMake folder and set those permissions for it to work. After a very long wait and a few edits as I am running the current version of Raspberry PI OS 32 bit Buster. I compiled it for an RTL-SDR, but you can change one command and compiling for other versions should be really straightforward.
My script for the RTL-SDR is below, I will put this on my GitHub too.
https://github.com/TekMaker/SDRplus
#!/bin/sh
set -e
[ $(id -u) = 0 ] && echo "Please do not run this script as root" && exit 100
echo "Installing dependencies"
sudo apt update
sudo apt install -y build-essential cmake git libfftw3-dev libglfw3-dev libglew-dev libvolk2-dev libsoapysdr-dev libairspyhf-dev libairspy-dev \
libiio-dev libad9361-dev librtaudio-dev libhackrf-dev librtlsdr-dev libbladerf-dev liblimesuite-dev p7zip-full wget
git clone https://github.com/AlexandreRouma/SDRPlusPlus
cd SDRPlusPlus
echo "Preparing build"
sudo mkdir -p build
cd build
sudo mkdir -p CMakeFiles
cmake .. -DOPT_BUILD_RTL_SDR_SOURCE=ON
echo "Building"
make
echo "Installing"
sudo make install
echo "Done!"
Save this file as rpi_install.sh
then chmod +x rpi-install.sh
./rpi_install.sh
If it doesn't go smoothly try entering the commands one line at a time into the terminal, you can skip the echo commands. I have built this on two installs so far with no problems.
If you want to compile for other radios either edit or add extra lines like this one "cmake .. -DOPT_BUILD_RTL_SDR_SOURCE=ON", for more information about this go to the Module List, and look for the Sources list on the github page https://github.com/AlexandreRouma/SDRPlusPlus/blob/master/readme.md.
Let me know how you get on with this!
I couldn't get the script to run without error. Running line by line it failed on sudo cmake .. -DOPT_BUILD_RTL_SDR_SOURCE=ON
ReplyDelete-- The C compiler identification is GNU 9.4.0
-- The CXX compiler identification is GNU 9.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test COMPILER_SUPPORTS_WPEDANTIC
-- Performing Test COMPILER_SUPPORTS_WPEDANTIC - Success
-- Looking for dotprod in FEC
-- Looking for dotprod in FEC - not found
-- Performing Test HAVE_SSE
-- Performing Test HAVE_SSE - Failed
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'glfw3'
-- Found glfw3, version 3.3.2
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so
-- Checking for module 'fftw3f'
-- Found fftw3f, version 3.3.8
-- Checking for module 'volk'
-- Found volk, version 2.2
-- Checking for module 'libzstd'
-- No package 'libzstd' found
CMake Error at /usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:463 (message):
A required package was not found
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:643 (_pkg_check_modules_internal)
core/CMakeLists.txt:127 (pkg_check_modules)
-- Configuring incomplete, errors occurred!
See also "/home/bob/SDRPlusPlus/build/CMakeFiles/CMakeOutput.log".
See also "/home/bob/SDRPlusPlus/build/CMakeFiles/CMakeError.log".