Skip to content

js8call

Weak-signal keyboard-to-keyboard messaging built on the FT8 modem

What it does

Sends and receives short text messages over HF using the same weak-signal modem technology as FT8, so contacts work at signal levels well below what voice or CW can manage.

Why you would want it

It is the practical choice for keyboard-to-keyboard conversation and store-and-forward messaging when band conditions are poor. Where FT8 only exchanges signal reports, JS8Call carries actual text.

Before it will work

Rig control via hamlib or flrig, and correctly routed sound-card audio between the radio and the computer, with the clock within about a second as for FT8. docs/guides/digital-modes.md walks through all three; docs/guides/audio-routing.md covers the audio path.

How it installs

  • apt: js8call — on linuxmint, ubuntu, pop; version 22.3, 24.04
  • Ubuntu 24.04, and Mint 22.3 and Pop!_OS 24.04 on top of it, have Qt 6.4.2 and JS8Call 3.x needs Qt 6.5. The repository's 2.2.0 is older but it runs. Everywhere else builds the current release from source.
  • git (cmake) — https://github.com/JS8Call-improved/JS8Call-improved at v3.0.3
  • build dependencies: qt6-multimedia-dev, qt6-serialport-dev, qt6-tools-dev, libboost-dev, libfftw3-dev, libhamlib-dev, gfortran, cmake, build-essential
  • the project's build system has no install rule; the binaries listed below are copied into the prefix instead

Binaries this produces:

  • JS8Call → js8call

Known problems

Needs Qt 6.5 or newer. Linux Mint 22.3 ships Qt 6.4.2, so that target installs the older repository build instead. This branch is exercised in CI against a real Mint 22.3 container — the linuxmintd image ships Ubuntu's base-files, so the target build installs Mint's own base-files from Mint's repo to restore its true os-release (Q-014; see containers/Dockerfile.target IDENTITY_PACKAGE and containers/targets.yaml).

Keeping it current

  • probe: github release (JS8Call-improved/JS8Call-improved)
  • strategy: rebuild

Where to get help with the software itself

JS8Call groups.io list

Source: catalog/packages/js8call.yaml