Jika ingin aplikasi SDR dengan fasilitas TX / RX, maka SDRangel perlu dicoba. Kebanyakan SDR tidak terdapat fitur TX atau transmit, hanya RX saja.
Karena mementingkan performa, kompilasi dari source diharapkan dilakukan pada komputer yang akan dipakai untuk menjalankan program ini.
Yach karena fitur-fitur processor tiap komputer berbeda. Komputer dengan prosesor Intel i7 punya parameter yang beda dengan AMD Ryzen misalnya dalam hal optimasi.

Tulisan ini merupakan catatan saat kompilasi dari source code dari SDRangel ini. Di bawah sistem yang saya punya. Status Linux Slackware saat ini masih Current, tapi di file /etc/slackware-version
sudah tertulis versi 15.0.
bash-5.1$ uname -a
Linux skylarx.skylarx 5.13.8 #1 SMP Wed Aug 4 13:27:49 CDT 2021 x86_64 Intel(R) Xeon(R) CPU E31220 @ 3.10GHz GenuineIntel GNU/Linux

Dokumentasi resmi kompilasi dari source dan instalasi SDRangel di linux ada di link ini. Coba cek keperluan program lain yang diperlukan.
Paket QT pada Slackware sudah berisi aneka program berbasis QT, tidak dipecah-pecah sendiri-sendiri.
Pada kasus saya, tambahan program yang diperlukan hanya Faad2 dan graphviz. Mungkin sistem Anda perlu tambahan program yang lain.
Prinsip dari SDRangel ini adalah semua program dikompilasi dan diinstalasi pada folder /opt/build
dan /opt/install
dengan hak akses user biasa. Jadi sebelum memulai semuanya, instruksi di bawah ini penting :
sudo mkdir -p /opt/build
sudo chown userAnda:users /opt/build
sudo mkdir -p /opt/install
sudo chown userAnda:users /opt/install
Jika tidak ada sudo, ubah ke hak akses root terlebih dahulu.
Setelahnya, kembali ke user biasa. Lakukan semua kompilasi dan instalasi dengan hak akses user biasa.
Non Hardware Depedency
Pada bagian ini semua program (APT, CM265cc, LibDAB, MBElib, SerialDV, DSDcc, Codec2/FreeDV, SGP4, LibSigMF) dapat dikompilasi dengan mulus.
Hanya catatan untuk DSDcc dan Codec2. Untuk DSDcc ubah bagian cmake dari lib ke lib64. Default library mbelib dan serialdv yang dipanggil oleh DSDcc saat kompilasi ada di folder lib64.
cd /opt/build
git clone https://github.com/f4exb/dsdcc.git
cd dsdcc
git reset --hard "v1.9.3"
mkdir build; cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/dsdcc -DUSE_MBELIB=ON -DLIBMBE_INCLUDE_DIR=/opt/install/mbelib/include -DLIBMBE_LIBRARY=/opt/install/mbelib/lib64/libmbe.so -DLIBSERIALDV_INCLUDE_DIR=/opt/install/serialdv/include/serialdv -DLIBSERIALDV_LIBRARY=/opt/install/serialdv/lib64/libserialdv.so ..
make -j $(nproc) install
Untuk bagian Codec2, hilangkan baris pertama. Anda bukan pengguna Ubuntu khan?
cd /opt/build
git clone https://github.com/drowe67/codec2.git
cd codec2
git reset --hard 76a20416d715ee06f8b36a9953506876689a3bd2
mkdir build_linux; cd build_linux
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/codec2 ..
make -j $(nproc) install
Hardware dependencies
Pada bagian ini saya hanya menginstall RTL-SDR dan HackRF, baik punya Osmocom maupun SoapySDR. Permasalahan : HackRF maupun RTL-SDR punya Osmocom setelah kompilasi akan menginstall library di direktori lib bukan lib64.
Sedang SoapySDR setelah kompilasi akan menginstall library di direktory lib64. Sedang SoapyRTLSDR dan SoapyHackRF punya parameter cmake yang memanggil library ditempat yang beda saat kompilasi. Gado-gado yach! Hehehe.
Saya modifikasi sedikit pada cmake agar mulus satu sama lain.
untuk HackRF, ubah ke versi terbaru 2021.03.01 :
cd /opt/build
git clone https://github.com/mossmann/hackrf.git
cd hackrf/host
git reset --hard "v2021.03.1"
mkdir build; cd build
cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/opt/install/libhackrf -DINSTALL_UDEV_RULES=OFF ..
make -j4 install
Kompilasi SoapySDR versi 0.7.1 akan macet di Slackware Current, ubah ke versi 0.7.2.
cd /opt/build
git clone https://github.com/pothosware/SoapySDR.git
cd SoapySDR
git reset --hard "soapy-sdr-0.7.2"
mkdir build; cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/install/SoapySDR ..
make -j4 install
SoapyRTLSDR. Pehatikan bagian yang saya bold pada baris akhir. Saya ubah dari lib ke lib64.
cd /opt/build
git clone https://github.com/pothosware/SoapyRTLSDR.git
cd SoapyRTLSDR
mkdir build; cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/install/SoapySDR -DRTLSDR_INCLUDE_DIR=/opt/install/librtlsdr/include -DRTLSDR_LIBRARY=/opt/install/librtlsdr/lib/librtlsdr.so -DSOAPY_SDR_INCLUDE_DIR=/opt/install/SoapySDR/include -DSOAPY_SDR_LIBRARY=/opt/install/SoapySDR/lib64/libSoapySDR.so ..
make -j4 install
SoapyHackRF. Pehatikan bagian yang saya bold pada baris akhir. Saya ubah dari lib ke lib64.
cd /opt/build
git clone https://github.com/pothosware/SoapyHackRF.git
cd SoapyHackRF
mkdir build; cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/install/SoapySDR -DLIBHACKRF_INCLUDE_DIR=/opt/install/libhackrf/include/libhackrf -DLIBHACKRF_LIBRARY=/opt/install/libhackrf/lib/libhackrf.so -DSOAPY_SDR_INCLUDE_DIR=/opt/install/SoapySDR/include -DSOAPY_SDR_LIBRARY=/opt/install/SoapySDR/lib64/libSoapySDR.so ..
make -j4 install
Ok, semestinya proses kompilasi berjalan lancar :). Selain di PC, saya mencoba juga di laptop saya dan berjalan lancar juga.
Pada bagian akhir adalah source code utama dari SDRangel. Kompilasi bagian ini bejalan mulus…
Setelah semua selesai…pada terminal ketik /opt/install/sdrangel/bin/sdrangel