if you don't see this page in a frame then click Home


Qt versions
QSSTV 9.x.x Installation on Fedora
QSSTV 9.x.x Installation on Centos
QSSTV 9.x.x on Raspberry Pi 3
Settings for the Spectrum and Waterfall Display
Compiler Errors
Serial ports and  serial USB
Rules for udev
Audio file recording and playback
DRM Hybrid Setup


Remember: SSTV has a 100% duty-cycle, so run at reduced power with the ALC at its minimum

Qt Versions

QSSTV has been developped and tested under Qt 5.  It is not maintained anymore on the older versions of Qt;


For installation on Ubuntu and alikes, see the manual.

QSSTV 9.x.x on Fedora 22/23/24

sudo dnf install gcc-c++ fftw3-devel qt-devel qt5-qtbase-devel openjpeg2-devel alsa-lib-devel 
sudo dnf install pulseaudio-libs-devel hamlib-devel libv4l-devel

Proceed as in the installation section  of the manual but use
- for Fedora 22: qmake-qt4 instead of qmake. (Qt version 4.8)
- for Fedora 23/24 qmake-qt5 instead of qmake (Qt version 5).

QSSTV 9.x.x on Centos

You can find the information on Ham Software Centos6/Centos5 of KI6ZHD together with a lot of information on other HAM related applications.

QSSTV 9.x.x on Raspberry Pi B

I've not been successful at installing QSSTV 9.x.x on a B version. This is a single core ARM processor. It simply does not have enough processing power.

QSSTV 9.x.x on Raspberry Pi 3

Rasbian (Stretch / Buster)

1) sudo apt-get install g++ libfftw3-dev qt5-default libpulse-dev
2) sudo apt-get install libhamlib-dev libasound2-dev  libv4l-dev
3) sudo apt-get install libopenjp2-7 libopenjp2-7-dev

Example for version 9.4.4:
Unpack qsstv-9.4.4.zip or qsstv-9.4.4.tar.gz
cd qsstv-9.4.4
sudo make install

Type qsstv in the command window and configure QSSTV
Use the ALSA settings and not the PulseAudio !!

Settings for the Spectrum and Waterfall Display

 When you start using QSSTV, check if you have the following settings to start with:
spectrum settings

Depending on your souncard input value settings you can experiment with these values.

Compiler Errors

Users sometimes report compiler errors (such as symbol not found, unknown functions etc...). Sending the following information wil be a great help:

What distribution are you using: (e;g; Ubuntu  18.04, Fedora 22,  Mint 18 etc ..)
What is the version of Qt you compiling against:
type the following command:
qmake --version
It will give you something like:
QMake version 3.0
Using Qt version 5.4.1 in /usr/lib/x86_64-linux-gnu
make clean
make >> makelog.txt 2>&1
and send me the file  makelog.txt as  an attachement to  the mail at [email protected]

Serial ports and serial USB

On some systems, the users are not added to the dialout  group. If
that case you won't be able to connect to the CAT interface.

Add your user to the dialout group.

Rules for udev

I find it easy to add my custom udev rules so that if I plug and unplug
USB devices they always get the same meaningful device name.

Therefore I create a file  99-persistent-usb.rules
under /etc/udev/rules.d
directory with the following content

SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="IC-7600 0402350", SYMLINK+="icom7600"
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", ATTRS{serial}=="0001", SYMLINK+="icom7000"
SUBSYSTEM=="tty", ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="000a", ATTRS{serial}=="1234", SYMLINK+="gps"
I have 3 devices:

- An Icom 7600

- An Icom 7000 via a external USB adapter

- A custom GPS disciplined clock with a Microchip processor.

You can see that the build-in USB port of the Icom 7000 and 7600 both
uses the same chip, hence idVendor and idProduct are the same.

We can however made the distinction based on the  serial number.

Bus 003 Device 004: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
Bus 003 Device 005: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light

gives us the information about the two icoms (idVendor:idProduct). They
look exactly the same. To find out the serialnumber we use the
following commands

>udevadm info -a -n /dev/ttyUSB0 | grep {serial} | head -n1
ATTRS{serial}=="IC-7600 0402350"
>udevadm info -a -n /dev/ttyUSB1 | grep {serial} | head -n1

The only thing we need to add is the symbolic name of our interface.


The next time you reboot, the system will create a symbolic link:

/dev/icom7600-> /dev/ttyUSB0
/dev/icom7000-> /dev/ttyUSB1

That's much easier to remember 

Audio file recording and playback

Audacity is the easiest way to record audiofiles for later decoding by QSSTV.
Set Audacity to Stereo 48OOO samplerate and save it as a wav file. This way you can go to the configuration menu and select Sound Input ->From file.
When you hit the start button in the Receive window, it will ask for the file name.

When you made your recordings in another format, you can use Audacity to do format and rate conversions.
Open your recording and export the file as  Stereo 48000 sample rate.

DRM Hybrid Setup

There seems to be some confusion on how to setup the Hybrid configuration in QSSTV.
Here are some basic rules.
First we need a ftp server. This used to be the ftp server of VK4AES, but it has been deactivated since Erik passed away.
See further down for alternative servers.
You can use your own server, but here we will use an ftp server on qsl.net.
Go to www.qsl.net and request a web server (with ftp access)
Once you have your ftp server on qsl.net:
ftp to ftp.qsl.net and login with your username and password.

!! I M P O R T A N T -- M A N D A T  O R Y !!
Create 3 directories in the root.
1) HybridFiles1
2) RxOkNotifications1
3) OnlineCallsigns1

The configuration would then be:
hybrid config

There has been some issues with filenames containing foreign charachters not being accepeted by the ftp servers.
(i.e.  ü, ä  etc..). This is not an issue with QSSTV, but rather with the settings on the ftp server site.

You can also use some public servers.

easypal hybrid setting

 password: easypal

Easypal.org only supports Hybridfiles. There is no Notifications nor Online Status directory.

see http://www.easypal.org
db0erf hybrid setting

password: db0erf2015
see http://www.db0erf.de/htdocs/start/start_i.shtml

QSSTV settings with SDR's

I have a Peaberry V2 SDR setup with Quisk and QSSTV.
Quisk is connected to the hardware pointing directly to the ALSA interface.
We want to:
- receive I/Q signals from the Peaberry soundcard at 96000 samplerate.
- transmit I/Q signals to the Peaberry soundcard at 96000 samplerate.
- send the audio to the speakers and the receive section of QSSTV
- send the audio of QSSTV to the mic input of Quisk

I use the following configuration on the Quisk side:

from softrock import hardware_usb_new as quisk_hardware
from softrock import widgets_tx as quisk_widgets

si570_direct_control = True
si570_xtal_freq = 114286412

sample_rate = 96000
playback_rate = 48000
name_of_sound_capt = "hw:1,0"
name_of_sound_play = "pulse"
channel_i = 1
channel_q = 0

usb_vendor_id = 0x16c0
usb_product_id = 0x05dc


A lot of people have helped me developing
this program. I will try not to forget anyone.

PA0MBO (Ties) for giving me a big jump start with HAMDRM and VK4AES
(Erik) for his program Easypal I used extensively during testing.
BSR and Hybrid mode have been made compatible with Easypal. (all
credits to Erik).

David (KI6ZHD), Guido (ON4BAG), Franco (IW2DHW), Richard (KF5OIM)
Gilles (VE2GQF) , Murry (VE9MB), Claude (F5BAI), Al (W2ADS) and all of the users of QSSTV ...

All the people how are putting the effort of incorporating the latest versions of QSSTV in the different distributions.

Thanks also for the many suggestions to add some features to QSSTV.