Blog Compiling WSJTX (2.5.1) for Raspberry Pi 4 with Ubuntu (21.10)
Post
Cancel

Compiling WSJTX (2.5.1) for Raspberry Pi 4 with Ubuntu (21.10)

I describe how to compile WSJTX, version 2.5.1, for a Raspberry Pi 4(00) running under Ubuntu 21.10 for ARM processors. This has the advantage that a Raspberry Pi 4(00) can be used as a shack PC, since Ubuntu is a full fledged desktop operating system, and that the Raspberry Pi only draws about 5W of power, which makes it suitable for continuous running, e.g. for reporting to pskreporter.info.

I have an old shack PC running Ubuntu Desktop, which is big and draws about 40W of power. But since a few years Ubuntu Desktop is also available for the Raspberry Pi, including Raspberry Pi 4 and 400, which only draws about 5W of power, with a similar performance of the old PC, such that it can run 24/7 for pskreporting. Compared to Raspbian, Ubuntu also has the advantage that Ubuntu is a full desktop OS, including screen lock and audio support and controls.

But a direct installation of WSJTX using the ARM binary for Raspbian seems not to work because of missing dependencies (and no installation candidates for them). Hence a solution is the compilation of the source code. This is usually quite tricky and lengthy, so here is a concise step by step description for setting up Ubuntu and compiling WSJTX.

First:

  • Fix “freezing” bug in Ubuntu 21.10 for ARM:

https://bugs.launchpad.net/ubuntu/+source/linux-raspi/+bug/1946368

change the following line in /boot/firmware/config.txt:

1
dtoverlay=vc4-kms-v3d

To the following:

1
dtoverlay=vc4-fkms-v3d In other words, to use the "fake" KMS overlay (fkms) instead of the "full" KMS overlay (kms).

-Fix lost ttyUSB in Ubuntu 21.10 for ARM: https://bugs.launchpad.net/ubuntu/+source/linux-raspi/+bug/1947723

1
sudo apt install linux-modules-extra-raspi

-Download the latest source code for wsjtx from https://physics.princeton.edu/pulsar/k1jt/wsjtx.html And unpack it e.g. with

1
tar -zxvf wsjtx*.gz

-Instructions are based on http://www.kk5jy.net/wsjtx-build/ -In a terminal install the needed libraries:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
sudo apt-get install -y cmake automake libtool asciidoctor asciidoc gfortran qtmultimedia5-dev libqt5serialport5-dev qttools5-dev qttools5-dev-tools libboost-all-dev libfftw3-dev libreadline-dev libusb-1.0-0-dev libudev-dev  portaudio19-dev  -Change directory to wjtx source directory:


cd wsjtx*/src -Remove perhaps existing older hamlib


sudo apt-get remove libhamlib* -Unpack hamlib:


tar -zxvf hamlib*.tar.gz
cd hamlib*
./configure --prefix=/usr/local --enable-static
make
sudo make install
sudo ldconfig
cd .. -Then compile wsjtx:


tar -zxvf wsjtx.tgz 
mkdir build
cd build
cmake ../wsjtx
make
sudo make install
cd ~ -Start wsjtx with:


wsjtx &

Now, wsjtx should start up normally and it can be set up.

Many greetings, 73, Gerald, DL5BBN

This post is licensed under CC BY 4.0 by the author.