# Install gnuradio with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

SDK for signal processing blocks to implement software radios. Version 3.10.12.0 via Homebrew; verified 2026-06-25.

## Install

```sh
sudo av install brew:gnuradio
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install gnuradio
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install gnuradio
```

  Evidence: MacPorts ports tree: science/gnuradio/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add gnuradio
```

  Evidence: Alpine Linux edge package indexes: gnuradio from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install gnuradio
```

  Evidence: Debian stable package indexes: gnuradio from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install gnuradio
```

  Evidence: Fedora Rawhide package metadata: gnuradio from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#gnuradio
```

  Evidence: nixpkgs package indexes: gnuradio from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S gnuradio
```

  Evidence: Arch Linux sync databases: gnuradio from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install gnuradio
```

  Evidence: openSUSE Tumbleweed package metadata: gnuradio from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:gnuradio
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/gnuradio>
- **Version:** 3.10.12.0
- **Source summary:** SDK for signal processing blocks to implement software radios
- **Homepage:** <https://www.gnuradio.org/>
- **Repository:** <https://github.com/gnuradio/gnuradio>
- **Upstream docs:** <https://wiki.gnuradio.org/index.php/Main_Page>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://github.com/gnuradio/gnuradio/archive/refs/tags/v3.10.12.0.tar.gz>
- **Last updated:** 2026-06-25T13:37:44+02:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- gnuradio-companion (cli)
- gnuradio-config-info (cli)
- gr_filter_design (cli)
- gr_modtool (cli)
- gr_plot (cli)
- gr_plot_const (cli)
- gr_plot_fft (cli)
- gr_plot_iq (cli)
- gr_plot_psd (cli)
- gr_plot_qt (cli)
- gr_read_file_metadata (cli)
- grcc (cli)
- polar_channel_construction (cli)
- uhd_fft (cli)
- uhd_rx_cfile (cli)
- uhd_rx_nogui (cli)
- uhd_siggen (cli)
- uhd_siggen_gui (cli)
- gnuradio-companion (alias)
- gnuradio-config-info (alias)
- gr_filter_design (alias)
- gr_modtool (alias)
- gr_plot (alias)
- gr_plot_const (alias)
- gr_plot_fft (alias)
- gr_plot_iq (alias)
- gr_plot_psd (alias)
- gr_plot_qt (alias)
- gr_read_file_metadata (alias)
- grcc (alias)
- polar_channel_construction (alias)
- uhd_fft (alias)
- uhd_rx_cfile (alias)
- uhd_rx_nogui (alias)
- uhd_siggen (alias)
- uhd_siggen_gui (alias)

## Dependencies

- adwaita-icon-theme
- boost
- cppzmq
- fftw
- fmt
- gmp
- gsl
- gtk+3
- jack
- libsndfile
- libyaml
- numpy
- portaudio
- pygobject3
- pyqt@5
- python@3.14
- qt@5
- qwt-qt5
- rpds-py
- soapyrtlsdr
- soapysdr
- spdlog
- uhd
- volk
- zeromq

## Build dependencies

- cmake
- doxygen
- pkgconf
- pybind11

## Uses from macOS

- libxml2
- libxslt

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 3.10.12.0
- Package-manager updated: 2026-06-25
- Local data: ok
- Upstream repository: https://github.com/gnuradio/gnuradio
- info: No cached GitHub release or tag data was available.
## Project history and usage

GNU Radio is a GNU Project software-defined radio framework that gives signal-processing practitioners a reusable runtime, block library, and graphical flowgraph environment. In package ecosystems it represents the heavy end of scientific tooling: a desktop-adjacent SDR workbench, a Python and C++ development platform, and a bridge from commodity computers to radio hardware.

### Project history

GNU Radio grew from early-2000s work to make software radio practical on general-purpose computers. Project material describes a framework for building software radios out of signal-processing blocks, while community history ties its early development to Eric Blossom, John Gilmore, and the first USRP hardware from Ettus Research. The project later developed around a Python-driven runtime, C++ performance blocks, GNU Radio Companion, out-of-tree modules, and hardware integrations rather than a single end-user radio application.

The project evolved into a foundation for related infrastructure such as VOLK, reusable block collections, and community extension modules. Its organizational home also matured: the GNU Radio project formed a foundation and later announced a new home at the SETI Institute, reflecting its role as community infrastructure for radio science, education, and experimentation.

### Adoption history

GNU Radio became significant because it let researchers, radio amateurs, hardware vendors, and educators share signal-processing designs as flowgraphs and reusable blocks. Its adoption followed the rise of affordable SDR hardware, especially USRP-family devices, and it became common in academic labs, wireless prototyping, spectrum experiments, satellite work, and security research.

The ecosystem around GNU Radio includes conferences, tutorials, out-of-tree modules, and companion projects such as CGRAN. That ecosystem matters to package maintainers because installing GNU Radio often means delivering a coordinated stack of DSP libraries, Python bindings, GUI dependencies, hardware drivers, and examples.

### How it is used

Practitioners use GNU Radio to construct flowgraphs that connect sources, filters, modulators, demodulators, visualizers, and sinks. A flowgraph may run entirely in simulation, process captured IQ files, or talk to SDR hardware through drivers such as UHD.

Developers use GNU Radio Companion for visual design, Python for orchestration, C++ for performance-sensitive blocks, and gr_modtool to build out-of-tree modules. The command-line tools in package builds are also used for inspecting installs, compiling flowgraphs, plotting samples, and testing radio chains.

### Why package nerds care

GNU Radio is a package-manager stress test: it spans compiled DSP code, Python packaging, Qt GUI pieces, hardware-driver interfaces, and optional acceleration libraries. For users, a working package turns a laptop into an SDR lab without hand-building the whole scientific stack.

### Timeline

- 2001: Early GNU Radio development began around general-purpose software radio experiments.
- 2004: USRP hardware helped make GNU Radio useful with affordable external RF front ends.
- 2011: GNU Radio Conference began as a recurring community venue.
- 2020: GNU Radio announced a foundation home at the SETI Institute.

### Related projects

- USRP and UHD provide a common hardware path for GNU Radio users.
- VOLK supplies vector-optimized kernels used by GNU Radio blocks.
- CGRAN and out-of-tree modules extend the block ecosystem.

### Sources

- <https://github.com/gnuradio/gnuradio>
- <https://wiki.gnuradio.org/index.php/Main_Page>
- <https://wiki.gnuradio.org/index.php?title=Tutorials>
- <https://www.gnuradio.org/>
- <https://www.gnuradio.org/blog/2020-09-10-gnu-radio-has-a-new-home/>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** gnuradio
- **Version Scheme:** 0
- **Revision:** 11
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** yes
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - gnuradio - 3.10.12.0-1: normalized package name match | Debian stable package indexes: gnuradio from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU Radio Software Radio Toolkit | https://www.gnuradio.org/
- Debian apt - gnuradio-dev - 3.10.12.0-1: normalized package name match | Debian stable package indexes: gnuradio-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU Software Defined Radio toolkit development | https://www.gnuradio.org/
- Debian apt - gnuradio-doc - 3.10.12.0-1: normalized package name match | Debian stable package indexes: gnuradio-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU Software Defined Radio toolkit documentation | https://www.gnuradio.org/
- Debian apt - libgnuradio-analog3.10.12 - 3.10.12.0-1: normalized package name match | Debian stable package indexes: libgnuradio-analog3.10.12 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | gnuradio analog functions | https://www.gnuradio.org/
- Debian apt - libgnuradio-audio3.10.12 - 3.10.12.0-1: normalized package name match | Debian stable package indexes: libgnuradio-audio3.10.12 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | gnuradio audio functions | https://www.gnuradio.org/
- Debian apt - libgnuradio-blocks3.10.12 - 3.10.12.0-1: normalized package name match | Debian stable package indexes: libgnuradio-blocks3.10.12 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | gnuradio blocks functions | https://www.gnuradio.org/
- Debian apt - libgnuradio-channels3.10.12 - 3.10.12.0-1: normalized package name match | Debian stable package indexes: libgnuradio-channels3.10.12 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | gnuradio channels functions | https://www.gnuradio.org/
- Debian apt - libgnuradio-digital3.10.12 - 3.10.12.0-1: normalized package name match | Debian stable package indexes: libgnuradio-digital3.10.12 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | gnuradio digital communications functions | https://www.gnuradio.org/
- Debian apt - libgnuradio-dtv3.10.12 - 3.10.12.0-1: normalized package name match | Debian stable package indexes: libgnuradio-dtv3.10.12 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | gnuradio digital TV signal processing blocks | https://www.gnuradio.org/
- Debian apt - libgnuradio-fec3.10.12 - 3.10.12.0-1: normalized package name match | Debian stable package indexes: libgnuradio-fec3.10.12 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | gnuradio forward error correction support | https://www.gnuradio.org/
- Debian apt - libgnuradio-fft3.10.12 - 3.10.12.0-1: normalized package name match | Debian stable package indexes: libgnuradio-fft3.10.12 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | gnuradio fast Fourier transform functions | https://www.gnuradio.org/
- Debian apt - libgnuradio-filter3.10.12 - 3.10.12.0-1: normalized package name match | Debian stable package indexes: libgnuradio-filter3.10.12 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | gnuradio filter functions | https://www.gnuradio.org/
- Debian apt - libgnuradio-iio3.10.12 - 3.10.12.0-1: normalized package name match | Debian stable package indexes: libgnuradio-iio3.10.12 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | IIO blocks for GnuRadio | https://www.gnuradio.org/
- Debian apt - libgnuradio-network3.10.12 - 3.10.12.0-1: normalized package name match | Debian stable package indexes: libgnuradio-network3.10.12 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | gnuradio network library | https://www.gnuradio.org/
- Debian apt - libgnuradio-pdu3.10.12 - 3.10.12.0-1: normalized package name match | Debian stable package indexes: libgnuradio-pdu3.10.12 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | gnuradio streaming protocol library | https://www.gnuradio.org/
- Debian apt - libgnuradio-pmt3.10.12 - 3.10.12.0-1: normalized package name match | Debian stable package indexes: libgnuradio-pmt3.10.12 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | gnuradio pmt container library | https://www.gnuradio.org/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Scientific computing packages](https://www.automicvault.com/pkg/scientific-computing-tools/) - Matched scientific computing metadata.
- [fftw](https://www.automicvault.com/pkg/brew/fftw/) - Runtime dependency declared by Homebrew.
- [gsl](https://www.automicvault.com/pkg/brew/gsl/) - Runtime dependency declared by Homebrew.
- [gtk+3](https://www.automicvault.com/pkg/brew/gtk-3/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [doxygen](https://www.automicvault.com/pkg/brew/doxygen/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [pybind11](https://www.automicvault.com/pkg/brew/pybind11/) - Build dependency declared by Homebrew.
- [limesuite](https://www.automicvault.com/pkg/brew/limesuite/) - Shares av.db curated category or tags: cli, radio, science, signal-processing, software-defined-radio.
- [luaradio](https://www.automicvault.com/pkg/brew/luaradio/) - Shares av.db curated category or tags: cli, radio, science, signal-processing.
- [itpp](https://www.automicvault.com/pkg/brew/itpp/) - Shares av.db curated category or tags: cli, science, signal-processing.
- [librtlsdr](https://www.automicvault.com/pkg/brew/librtlsdr/) - Shares av.db curated category or tags: cli, radio, science, software-defined-radio.
- [inspectrum](https://www.automicvault.com/pkg/brew/inspectrum/) - Shares av.db curated category or tags: cli, dsp, radio, science.
- [biosig](https://www.automicvault.com/pkg/brew/biosig/) - Shares av.db curated category or tags: cli, science, signal-processing.
- [aamath](https://www.automicvault.com/pkg/brew/aamath/) - Shares av.db curated category or tags: cli, science.
- [gpredict](https://www.automicvault.com/pkg/brew/gpredict/) - Local package facts share a topical domain. Shared terms: adwaita, adwaita-icon-theme, cli, gtk, gtk-3.

## Combined YAML source

View the package source record on GitHub. [combined/gnuradio.yml](https://github.com/automic-vault/db/blob/main/combined/gnuradio.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
