Gqrx
gqrx is an open source software defined radio (SDR) receiver powered by GNU Radio and the Qt graphical toolkit. It supports multiple SDR hardware devices, including (but not limited to) the RTL-SDR, HackRF, and Airspy. A complete list of supported hardware can be found at https://gqrx.dk/supported-hardware.
Notable features include AM, SSB, CW, and (wide) FM demodulation, spectrum plots and waterfalls, and the ability to record and stream audio output. A more complete list of features can be found on the gqrx website: https://gqrx.dk/
Installation
Kernel
If using an RTL-SDR, the kernel must be configured to blacklist the rtl2832 module, as the normal DVB-T driver is not compatible for its use as an SDR. More information regarding this can be found on the RTL-SDR wiki page.
USE flags
USE flags for gqrx itself are as follows:
USE flags for net-wireless/gqrx Software defined radio receiver powered by GNU Radio and Qt
gr-audio
|
Use audio support from net-wireless/gnuradio |
portaudio
|
Add support for the crossplatform portaudio audio API |
pulseaudio
|
Add sound server support via media-libs/libpulse (may be PulseAudio or PipeWire) |
qt6
|
Add support for the Qt 6 application and UI framework |
It is important to specify the correct USE flags for the net-wireless/gr-osmosdr dependency, or else gqrx will not find your SDR device:
USE flags for net-wireless/gr-osmosdr GNU Radio source block for OsmoSDR and rtlsdr and hackrf
airspy
|
Build with Airspy support through net-wireless/airspy |
bladerf
|
Build with Nuand BladeRF support through net-wireless/bladerf |
doc
|
Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally |
hackrf
|
Build with Great Scott Gadgets HackRF support through net-libs/libhackrf |
iqbalance
|
Enable support for I/Q balancing using gr-iqbal through net-wireless/gr-iqbal |
rtlsdr
|
Build with Realtek RTL2832U support through net-wireless/rtl-sdr |
sdrplay
|
Enable support for SDRplay devices through net-wireless/sdrplay |
soapy
|
Build with SoapySDR support through net-wireless/soapysdr |
uhd
|
Build with Ettus Research USRP Hardware Driver support through net-wireless/uhd |
xtrx
|
Build with xtrx Hardware Driver support through net-wireless/libxtrx |
For example, if one has an RTL-SDR, the following can be used:
net-wireless/gr-osmosdr rtlsdr
Emerge
root #
emerge --ask net-wireless/gqrx
Configuration
Files
- ~/.config/gqrx/default.conf - User configuration file for the configured SDR device.
The above file will be created on first launch when selecting the SDR device and associated options. If the supplied config results in an error, gqrx will detect this and let the user re-specify their config on the next launch.
Usage
Invocation
To start gqrx:
user $
gqrx
Additional options can be seen with -h/--help:
user $
gqrx --help
Controlport disabled Gqrx software defined radio receiver 2.12 Command line options: -h [ --help ] This help message -s [ --style ] arg Use the give style (fusion, windows) -l [ --list ] List existing configurations -c [ --conf ] arg Start with this config file -e [ --edit ] Edit the config file before using it -r [ --reset ] Reset configuration file
Scanning
The net-wireless/gqrx-scanner package can be used while gqrx is running to scan a range of frequencies. Refer to the project page for further information.
Troubleshooting
SDR device not listed
If the SDR device necessary is not listed, then it is possible that net-wireless/gr-osmosdr was not compiled with the correct USE flag(s). Launch gqrx from the command line and look for the following line:
user $
gqrx
... built-in source types: ... ...
For reference, a build of gr-osmosdr with support for most SDR devices will look like this:
user $
gqrx
... built-in source types: file osmosdr fcd rtl rtl_tcp plutosdr miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya ...
Check the USE flags that are set for the net-wireless/gr-osmosdr package to ensure the correct one(s) are set for the needed devices.
Removal
Unmerge
root #
emerge --ask --depclean --verbose net-wireless/gqrx