Gqrx

From Gentoo Wiki
Jump to:navigation Jump to:search
This article is a stub. Please help out by expanding it - how to get started.

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:

FILE /etc/portage/package.useSetting USE variable for the RTL-SDR
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

External resources