(von DL5BBN)

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:

dtoverlay=vc4-kms-v3d

To the following:

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

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

tar -zxvf wsjtx*.gz

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

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