Ubuntu 24.04 Setup for Factoria Labs Trainings

A standard installation of GNU Radio 3.10 contains a vast array of functionality, but you can add quite a bit more with a few minutes of additional work. These Out Of Tree (OOT) modules expand the functionality of GNU Radio in ways that are valuable for people learning to use the software as well as experienced users. I provide a BASH script that installs these modules on my GitHub page, and recommend my students perform this installation before attending my classes.

What the Script Installs

The install script is located here, and you should definitely take a look it before running, as it does required admin privileges to run:
https://github.com/paulgclark/grc-install/blob/master/install_scripts/flabs_training_setup_24_04.sh

The script installs the following:

Install Process

There are three steps for installing this on your Ubuntu 24.041 machine:)

  1. Clone my GitHub repository
  2. Run the script
  3. Reboot and log in using Xorg display server

First, install git if you haven’t already:

sudo apt install git

Next, change to the install scripts directory and run the BASH script:

git clone https://github.com/paulgclark/grc-install
cd grc-install/install_scripts
./flabs_training_setup_24_04.sh

When the script completes, reboot. Then click your login icon. Before entering your password and completing your login, click the little gear in the bottom right of your screen to select “Ubuntu on Xorg”:

Complete your login, and you’re done! You will only need to select Xorg once – all subsequent logins will default to Xorg unless you change it back.

Testing Your Installation – Software

All of the test flowgraphs are contained in the grc subdirectory of the grc-install repo you cloned earlier. Change to that directory before proceeding2:

cd ~/grc-install

Running the following flowgraph will test GNU Radio Companion, as well as gr-satellites and gr-reveng:

gnuradio-companion grc/gfsk_loopback_sim.grc

After the flowgraph loads, click the Execute button in the toolbar (it looks like a Play ▶️ button). If the installation went well, you’ll see a stream of messages stating “It works!” in the bottom left console. You can close the execution window to kill the simulation.

Testing Your Installation – Pluto SDR Drivers

If you have a PlutoSDR, you can test that hardware support was correctly installed by plugging in your SDR hardware, then bringing up an FM receiver flowgraph with:

gnuradio-companion grc/pluto/fm_rx_hw_pluto.grc

Running the flowgraph will bring up a window that allows you to tune the FM receiver. Use the slider to select the frequency of a station known to broadcast in your area3 to listen.

Testing Your Installation – USRP/UHD SDR Drivers

If you have a USRP SDR, you can test that hardware support was correctly installed by plugging in your SDR hardware, then bringing up an FM receiver flowgraph with:

gnuradio-companion grc/uhd/fm_rx_hw_uhd.grc

Running the flowgraph will bring up a window that allows you to tune the FM receiver. Use the slider to select the frequency of a station known to broadcast in your area to listen.

Testing fosphor

Foshpor is an incredible visualization tool, but it can be tricky to set up depending on your CPU and graphics hardware. To see if your installation has worked, you can run one of the following flowgraphs:

gnuradio-companion grc/fosphor/fosphor-pluto.grc
gnuradio-companion grc/fosphor/fosphor-uhd.grc

You may need to click the corner of the execution window and stretch it out to see the display properly:

  1. This process is intended only for Ubuntu 24.04 computers running on x64 CPUs – no promises if you try it on a different platform ↩︎
  2. I’m assuming you cloned grc-install into your home directory. If you put it somewhere else, adjust your path accordingly. ↩︎
  3. For example, 98.1 FM would be entered as “98.1M” after which you would hit the Enter key ↩︎

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.