This guide describes how to compile the latest versions of FLRig and FLDigi from source. This ensures also if you have the newest features and bug fixes while maintaining a clean system without breaking existing Wine or Hamlib installations.
Before you dive into this blog post, I recommend reading the following blog post first: https://dl1gkk.com/raspberry-pi-ham-radio-best-practice-2026
1. Prerequisites
Ensure your Raspberry Pi 5 is connected to the internet. If you are using the USB-C Gadget Mode (have a look to my blogpost about), make sure your host PC is sharing its internet connection, or temporarily connect the Pi to Wi-Fi.
2. Install Build Dependencies
We need to install the essential libraries required to build the software. We do this carefully to avoid unnecessary system-wide upgrades that could jeopardize our stable environment.
sudo apt-get update
sudo apt-get install -y build-essential libfltk1.3-dev libjpeg-dev libpng-dev \
libxft-dev libxinerama-dev libxcursor-dev libsndfile1-dev libsamplerate0-dev \
libpulse-dev portaudio19-dev libusb-1.0-0-dev libudev-dev pkg-config
3. Download the Source Files
Visit the official W1HKJ website and download the latest .tar.gz archives for both programs. Using the latest source ensures you aren’t stuck with outdated repository versions.
Place these files in your ~/Downloads folder on the Pi.
4. Prepare the Work Environment
We will create a dedicated source folder and extract the archives there. This keeps our workspace organized.
# Create the source directory
mkdir -p ~/src
# Extract the files from Downloads to the source folder
tar -xvzf ~/Downloads/flrig-*.tar.gz -C ~/src/
tar -xvzf ~/Downloads/fldigi-*.tar.gz -C ~/src/
5. Compile and Install FLRig
FLRig should be installed first. On the Raspberry Pi 5, we avoid specific x86 optimization flags (like SSE) to ensure a stable build on the ARM architecture.
cd ~/src/flrig-*/
./configure --prefix=/usr/local
make -j$(nproc)
sudo make install
6. Compile and Install FLDigi
Now we build the digital modem suite using the same clean configuration process.
cd ~/src/fldigi-*/
./configure --prefix=/usr/local
make -j$(nproc)
sudo make install
sudo ldconfig
7. Create Desktop Shortcuts
To make the programs accessible without the terminal, we’ll create desktop starters. Run these commands to generate the icons on your desktop.
FLRig Starter:
cat <<EOF > ~/Desktop/flrig.desktop
[Desktop Entry]
Name=FLRig
GenericName=Rig Control
Comment=Amateur Radio Rig Control
Exec=/usr/local/bin/flrig
Icon=flrig
Terminal=false
Type=Application
Categories=Network;HamRadio;
EOF
chmod +x ~/Desktop/flrig.desktop
FLDigi Starter:
cat <<EOF > ~/Desktop/fldigi.desktop
[Desktop Entry]
Name=FLDigi
GenericName=Digital Modem
Comment=Amateur Radio Digital Modem Suite
Exec=/usr/local/bin/fldigi
Icon=fldigi
Terminal=false
Type=Application
Categories=Network;HamRadio;
EOF
chmod +x ~/Desktop/fldigi.desktop
Digital Nerd Tips for Success
- Permissions: Ensure your user is part of the
dialoutgroup:sudo usermod -a -G dialout $USER. You might need to log out and back in. - System Integrity: By installing to
/usr/local/, we guarantee that your existing Wine/Vara/Pat setup remains untouched. - Customizing: You can rename the desktop icons by right-clicking them. Once you launch them for the first time, select “Mark as Executable” to show the proper icon and name.
Disclaimer: This setup was developed in collaboration with Gemini AI.
While we’ve worked hard to make this guide as “bulletproof” as possible, tech is always evolving—errors may occur, or specific functions might need a bit of extra tweaking.
The solution? Don’t hesitate to ask Gemini yourself if you get stuck. Good luck with your build!
