QLog on Linux — Modern Ham Radio Logger Setup and Operating Guide
QLog is a modern, actively developed ham radio logger for Linux with a clean Qt5 interface, built-in LoTW and eQSL integration, WSJT-X and Fldigi support, DX cluster, DXCC tracking, and callbook lookup. This complete guide covers installation on Ubuntu and Debian, station setup, rig control, logging contacts, award tracking, and how QLog compares to CQRLog and Xlog.
- What is QLog and why consider it
- Installation on Ubuntu and Debian
- Initial setup and station configuration
- Rig control with Hamlib
- Understanding the QLog interface
- Operating guide — logging contacts
- DX cluster integration
- Callbook lookup — QRZ and HamQTH
- LoTW setup and upload
- eQSL configuration
- DXCC and award tracking
- WSJT-X and Fldigi integration
- ADIF import and export
- QLog vs CQRLog vs Xlog
- Troubleshooting common problems
- Frequently asked questions
What is QLog and why consider it
QLog is a Qt5-based ham radio logger for Linux written by Thomas Beierlein DL1JBE. It launched in 2020 and has been developed actively since then with regular releases adding new features. It fills the gap between Xlog's simplicity and CQRLog's complexity — offering a modern graphical interface, full-featured logging, DX cluster, and LoTW integration without the MariaDB database setup that CQRLog requires.
QLog uses SQLite for its database — a self-contained file-based database that needs no server, no configuration, and no administration. The entire database is a single file that you can copy for backup. This makes QLog significantly easier to install and maintain than CQRLog while offering a comparable feature set for most operators.
Key features that make QLog worth considering:
- Modern Qt5 interface that looks and behaves like a contemporary application
- SQLite database — no MariaDB server to manage
- Built-in LoTW and eQSL upload and download
- DX cluster telnet with automatic rig QSY on spot click
- WSJT-X and Fldigi integration via UDP
- QRZ.com and HamQTH callbook lookup
- DXCC, WAZ, and grid square tracking
- Hamlib rig control
- Active development with responsive maintainer
Installation on Ubuntu and Debian
Ubuntu 22.04 and 24.04 via PPA
sudo add-apt-repository ppa:dl1jbe/qlog
sudo apt update
sudo apt install qlog
Download .deb directly from GitHub releases
# Check github.com/foldynl/QLog/releases for the current version
wget https://github.com/foldynl/QLog/releases/latest/download/qlog_amd64.deb
sudo apt install ./qlog_amd64.deb
Build from source
sudo apt install git build-essential qt5-default \
libqt5sql5-sqlite libqt5network5 \
libhamlib-dev libssl-dev cmake
git clone https://github.com/foldynl/QLog.git
cd QLog
mkdir build && cd build
cmake ..
make -j$(nproc)
sudo make install
Raspberry Pi
QLog runs on Raspberry Pi 4 with Raspberry Pi OS 64-bit. Download the arm64 .deb from the GitHub releases page or build from source. Performance is good for everyday logging use — the Qt5 interface is heavier than Xlog but lighter than CQRLog with MariaDB.
Verify installation
qlog --version
Initial setup and station configuration
On first launch QLog creates a new SQLite database and opens a setup wizard. The wizard is straightforward — no database server configuration, no complex options.
First launch
- Launch QLog from your application menu or run
qlogin a terminal - The first-launch wizard opens automatically
- Enter your callsign, name, QTH, grid locator, and CQ/ITU zones
- Configure LoTW and eQSL credentials if you want to set them up now — you can skip and do it later
- QLog creates the database and opens the main logging window
Station settings
Access station settings anytime via Settings → Station:
- Callsign — your full callsign
- Name — your name
- QTH — your location
- Grid locator — your Maidenhead grid square (4 or 6 characters)
- CQ Zone — your CQ zone (1–40)
- ITU Zone — your ITU zone
- DXCC entity — your country for award tracking
Database location
QLog stores its database at ~/.local/share/QLog/qlog.db. This single SQLite file contains all your QSO data. Back it up regularly — a simple file copy is all that is needed.
cp ~/.local/share/QLog/qlog.db \
~/backups/qlog-backup-$(date +%Y%m%d).db
Keeping the country database current
QLog uses cty.dat for DXCC entity resolution. Update it via Settings → Update Country File — QLog downloads the latest version automatically from the internet.
Rig control with Hamlib
QLog uses Hamlib to read your radio's frequency and mode automatically. Configure it under Settings → Rig.
Setup procedure
- Go to Settings → Rig
- Enable rig control
- Select your rig model from the dropdown
- Set the serial port — usually
/dev/ttyUSB0 - Set the baud rate to match your radio's CAT setting
- Click Apply — QLog begins polling the radio every 2 seconds
Serial port permissions
sudo usermod -a -G dialout
# Log out and back in, then verify:
groups | grep dialout
Hamlib settings for popular radios
| Radio | Hamlib model | Baud rate | Notes |
|---|---|---|---|
| Icom IC-7300 | Icom IC-7300 (3073) | 19200 | Built-in USB audio and CAT |
| Icom IC-7610 | Icom IC-7610 (3078) | 19200 | Dual receiver |
| Icom IC-705 | Icom IC-705 (3085) | 19200 | QRP portable |
| Yaesu FT-991A | Yaesu FT-991A (1035) | 38400 | All-band including VHF/UHF |
| Yaesu FTDX-10 | Yaesu FTDX-10 (1050) | 38400 | SDR-based HF rig |
| Kenwood TS-890S | Kenwood TS-890S (2044) | 115200 | High-end with roofing filters |
| Elecraft K3/K3S | Elecraft K3 (2029) | 38400 | High-performance HF |
| Elecraft KX3 | Elecraft KX3 (2031) | 38400 | QRP portable |
Testing rig control
After configuring, verify rig control works by checking that the frequency and mode fields in the QLog log entry update when you change the radio's frequency. If they do not update check your serial port and baud rate settings.
# Replace model, port, and baud rate with your values
rigctl -m 3073 -r /dev/ttyUSB0 -s 19200 f
# Should return your radio's current frequency in Hz
Understanding the QLog interface
QLog's interface is organized into a main window with a log entry form, a contact list, and optional dockable panels for DX cluster, band map, and statistics.
Main window layout
- Log entry panel — top section with fields for callsign, band, mode, RST, name, QTH, and notes
- Contact list — scrollable table of logged contacts below the entry form
- DX cluster panel — dockable panel showing live cluster spots (toggle with View menu)
- Band map panel — visual frequency map showing cluster spots by band
- Statistics panel — DXCC count, WAZ progress, and other totals
Log entry fields
| Field | Description | Auto-filled |
|---|---|---|
| Callsign | Contact's callsign | From cluster spot or manual |
| Date / Time | UTC date and time | System clock |
| Band | Operating band | Rig control |
| Mode | Operating mode | Rig control |
| Frequency | Exact frequency in MHz | Rig control |
| RST Sent / Rcvd | Signal reports | Defaults to 59/59 |
| Name | Operator name | Callbook lookup |
| QTH | Station location | Callbook lookup |
| Locator | Grid square | Callbook lookup |
| DXCC | Country name | cty.dat lookup |
| CQ Zone | CQ zone number | cty.dat lookup |
| ITU Zone | ITU zone number | cty.dat lookup |
| IOTA | IOTA reference | Manual |
| Comment | Free text notes | Manual |
Dupe checking
QLog checks for duplicate contacts automatically when you enter a callsign. A colored indicator shows the contact status — red for a confirmed dupe on the same band and mode, yellow for worked but not confirmed, green for new. The dupe check considers band, mode, and award type simultaneously.
Operating guide — logging contacts
Basic contact logging workflow
- Type the callsign in the Callsign field and press Tab or Enter
- QLog resolves DXCC entity, CQ zone, ITU zone, and continent automatically from cty.dat
- If callbook is configured, name, QTH, and grid square fill in automatically
- Band and mode fill from rig control if active
- Check the dupe indicator — red means you have already worked this station on this band/mode
- Enter RST sent and received if different from the defaults
- Click Save or press Ctrl+S to log the contact
Using QLog alongside digital mode software
QLog integrates directly with WSJT-X and Fldigi via UDP — contacts logged in those programs appear in QLog automatically without manual entry. See the Integration section below for setup details.
Searching your log
The contact list supports real-time filtering. Type in the search box above the contact list to filter by callsign, band, mode, or any other field. This makes finding past contacts fast even in a large log with thousands of entries.
Editing past contacts
Double-click any contact in the list to open it for editing. Changes save immediately. The edit history is not tracked — if you need to track changes note them in the comment field.
Statistics and overview
The Statistics panel (View → Statistics) shows a live summary of your log — total QSOs, unique callsigns worked, DXCC entities worked and confirmed, WAZ zones worked, and grid squares worked. This updates in real time as you log contacts.
DX cluster integration
QLog includes a built-in DX cluster telnet client. Configure it under Settings → DX Cluster.
Configuration
- Server — cluster server hostname
- Port — cluster port (typically 7300 or 23)
- Callsign — your callsign for cluster login
Recommended cluster nodes
| Cluster | Server | Port |
|---|---|---|
| DX Spider (global) | dxspider.co.uk | 7300 |
| AR-Cluster | wa9pie.net | 23 |
| VE7CC (filtered) | cc.ve7cc.net | 23 |
| DX Summit | dxsummit.fi | 7300 |
| RBN (Reverse Beacon) | telnet.reversebeacon.net | 7000 |
Using cluster spots
Cluster spots appear in the DX cluster panel color-coded by status — new DXCC entities highlighted, worked but unconfirmed entities in a different color, and fully confirmed contacts greyed out. Click any spot to:
- QSY your radio to the spotted frequency via rig control
- Pre-fill the callsign in the log entry form
- Show the DXCC status for that entity in your log
Callbook lookup — QRZ and HamQTH
QLog supports automatic callsign lookup from QRZ.com and HamQTH. When you enter a callsign in the log entry form, QLog queries the callbook and fills in the operator's name, QTH, and grid square automatically.
QRZ.com setup
- Register at qrz.com (free account)
- Go to Settings → Callbook → QRZ.com
- Enter your QRZ username and password
- Note: full data including grid square and biography requires a QRZ.com XML subscription ($30/year). The free account returns basic data.
HamQTH setup (free)
- Register at hamqth.com (free)
- Go to Settings → Callbook → HamQTH
- Enter your HamQTH username and password
- HamQTH provides full data at no cost — name, QTH, grid square, and DXCC entity
LoTW setup and upload
QLog has direct LoTW integration — upload contacts and download confirmations without leaving the application. Configure under Settings → LoTW.
Installing TQSL
sudo apt install tqsl
LoTW configuration in QLog
- Go to Settings → LoTW
- Set the TQSL binary path — usually
/usr/bin/tqsl - Enter your LoTW callsign
- Select your certificate from the dropdown — TQSL must have your certificate installed first
- Enable Auto-upload after logging for automatic upload after each contact
Uploading to LoTW
Upload contacts manually via Log → Upload to LoTW. Select the date range to upload and click OK — QLog signs and uploads via TQSL automatically. New contacts uploaded to LoTW typically appear in confirmations within minutes to hours.
Downloading LoTW confirmations
Download new confirmations via Log → Download LoTW Confirmations. QLog marks newly confirmed contacts in the log and updates your DXCC and WAZ totals automatically. Check for new confirmations weekly or after periods of active operating.
eQSL configuration
QLog supports eQSL.cc for electronic QSL exchange. Configure under Settings → eQSL.
Setup
- Register at eqsl.cc (free)
- In QLog Settings → eQSL enter your eQSL username and password
- Enable auto-upload after logging if desired
- Download incoming eQSLs via Log → Download eQSL confirmations
Uploading to eQSL
Upload via Log → Upload to eQSL. QLog generates an ADIF file and uploads it to eQSL automatically. eQSL confirmations are useful for awards that accept eQSL but note that ARRL DXCC only counts LoTW and paper QSL confirmations — not eQSL.
DXCC and award tracking
QLog tracks progress toward major amateur radio awards automatically based on your log and QSL confirmations.
DXCC tracking
Go to View → DXCC Statistics to see your DXCC progress. The display shows worked and confirmed entities per band and mode. Entities you need highlight clearly — click any entity to see all contacts with that country and their QSL status.
WAZ tracking
Go to View → WAZ Statistics for CQ zone tracking. WAZ requires confirmed contacts from all 40 CQ zones. QLog shows which zones you have worked and confirmed on each band.
Grid square tracking
QLog tracks grid squares worked for VHF/UHF awards like VUCC. View your grid progress under View → Grid Statistics. Grid squares are resolved from the callbook lookup or from manual entry in the Locator field.
IOTA tracking
Enter IOTA reference numbers in the IOTA field when logging island contacts. QLog tracks unique IOTA references worked and confirmed for the IOTA award program.
WSJT-X and Fldigi integration
QLog integrates directly with WSJT-X and Fldigi via UDP logging — contacts logged in those programs appear in QLog automatically.
WSJT-X integration
- In WSJT-X go to File → Settings → Reporting
- Enable UDP Server and note the port (default 2237)
- Enable Accept UDP requests
- In QLog go to Settings → WSJT-X and enable the connection on the same port
- Contacts logged in WSJT-X now appear in QLog automatically
Fldigi integration
- In Fldigi go to Configure → Logging → Network Server
- Enable the XML-RPC server on port 7362
- In QLog go to Settings → Fldigi and enable the connection on port 7362
- Contacts saved in Fldigi appear in QLog automatically
JTDX integration
JTDX uses the same UDP logging port as WSJT-X. Configure QLog for WSJT-X integration and it receives contacts from JTDX automatically — no separate configuration needed.
ADIF import and export
QLog supports standard ADIF format for exchanging logs with other logging software.
Export to ADIF
Go to Log → Export → ADIF. Set the date range and any filters you want to apply, then click Export. The exported ADIF file is compatible with any ADIF-capable logging application, LoTW via TQSL, and eQSL.
Import from ADIF
Go to Log → Import → ADIF and select your file. QLog imports all contacts and shows a summary of how many were added and how many were skipped as duplicates. This is the best way to migrate a log from another application — export ADIF from your old logger and import into QLog.
Migrating from CQRLog
- In CQRLog export your log: File → Export → ADIF
- In QLog import the ADIF file: Log → Import → ADIF
- QLog imports all contacts and updates DXCC and award statistics automatically
- Download your LoTW confirmations in QLog to restore QSL status
Migrating from Xlog
- In Xlog export to ADIF: Log → Export → ADIF
- In QLog import the ADIF file: Log → Import → ADIF
QLog vs CQRLog vs Xlog
| Feature | QLog | CQRLog | Xlog |
|---|---|---|---|
| Database | SQLite — single file | MariaDB — server required | Plain text files |
| Setup time | 5–10 minutes | 15–30 minutes | Under 1 minute |
| Interface | Modern Qt5 GUI | GTK GUI | Minimal GTK GUI |
| DX cluster | Yes — built in | Yes — built in | No |
| Award tracking | DXCC, WAZ, Grid, IOTA | DXCC, WAZ, WAS, IOTA | No |
| LoTW upload | Automatic | Automatic | Manual via TQSL |
| eQSL upload | Automatic | Automatic | Manual |
| Callbook lookup | QRZ, HamQTH | QRZ, HamQTH | No |
| WSJT-X integration | Yes — UDP | Yes — file monitor | No |
| Fldigi integration | Yes — XML-RPC | Yes — port 7362 | No |
| Rig control | Yes — Hamlib | Yes — Hamlib/rigctld | Yes — Hamlib |
| Contest support | Basic | Full with Cabrillo | Basic |
| Backup complexity | Copy one file | Database backup | Copy log files |
| Raspberry Pi | Good (Pi 4) | Good (Pi 4) | Excellent (Pi Zero) |
| Development pace | Very active | Active | Moderate |
Which logger should you choose
- Choose QLog if you want a modern full-featured logger without MariaDB complexity, or if you are migrating from a Windows logger and want a similar experience on Linux
- Choose CQRLog if you want the most mature and widely used Linux logger with the largest community, or if you need advanced contest support with Cabrillo export
- Choose Xlog if you want instant startup with no setup, for portable and field day use, or for any situation where simplicity and low resource usage matter more than features
Troubleshooting common problems
QLog won't start — Qt library errors
- Check for missing Qt5 libraries:
ldd $(which qlog) | grep "not found" - Install missing libraries:
sudo apt install --fix-broken - If installed from a .deb, ensure all dependencies were resolved:
sudo apt install ./qlog_amd64.debhandles this automatically - Try building from source if the .deb has library conflicts with your system
Rig control not working
- Check dialout group:
groups | grep dialout - Verify serial port:
ls /dev/ttyUSB* - Confirm baud rate matches radio's CAT setting exactly
- Test Hamlib independently:
rigctl -m [model] -r /dev/ttyUSB0 -s [baud] f - Check that no other application is using the serial port
Callbook lookup not working
- Verify credentials in Settings → Callbook
- Check internet connectivity
- QRZ.com free account has limited API access — try HamQTH which is completely free
- Some callsigns are not in any callbook database — enter details manually
WSJT-X contacts not appearing in QLog
- Verify UDP port matches in both WSJT-X settings and QLog settings (default 2237)
- Check that "Accept UDP requests" is enabled in WSJT-X
- Check that QLog's WSJT-X integration is enabled in Settings → WSJT-X
- Firewall rules may block UDP on loopback — check if ufw is blocking port 2237
LoTW upload fails
- Verify TQSL is installed:
which tqsl - Check TQSL path in Settings → LoTW is correct
- Verify your LoTW certificate is not expired — open TQSL and check
- Test TQSL manually from terminal:
tqsl - Check internet connectivity
DXCC counts seem wrong
- Update the country file via Settings → Update Country File
- Download LoTW confirmations to get current QSL status
- Check for callsign typos in your log — wrong callsigns cause misidentification
- Run a log integrity check if the option is available in your QLog version
Frequently asked questions
Is QLog a good replacement for CQRLog?
For most operators yes — QLog offers comparable features to CQRLog including DX cluster, LoTW integration, DXCC tracking, callbook lookup, and WSJT-X integration, but with a simpler SQLite database that needs no server setup. The main areas where CQRLog has an advantage are contest support with Cabrillo export and a larger community with more documentation. If you find CQRLog's MariaDB setup off-putting, QLog is an excellent alternative.
Does QLog work with the IC-7300?
Yes — configure QLog's rig control with Icom IC-7300 as the model, /dev/ttyUSB0 as the serial port, and 19200 as the baud rate. Make sure your user is in the dialout group. The IC-7300's built-in USB audio and CAT work the same in QLog as in any other Hamlib-based application — the IC-7300 is one of the best-supported radios on Linux.
Can I import my existing log into QLog?
Yes — QLog imports standard ADIF files. Export your log from CQRLog, Xlog, Ham Radio Deluxe, Log4OM, or any ADIF-compatible logger, then import via Log → Import → ADIF in QLog. After importing download your LoTW confirmations to restore QSL status on all contacts.
How do I back up my QLog database?
QLog uses a single SQLite file at ~/.local/share/QLog/qlog.db. Back it up by copying that file to a safe location. You can automate this with a cron job: 0 2 * * 0 cp ~/.local/share/QLog/qlog.db ~/backups/qlog-$(date +\%Y\%m\%d).db. Store backups in at least two locations — local backup alone is not sufficient protection against drive failure.
Does QLog support FT8 logging?
Yes — QLog integrates with WSJT-X and JTDX via UDP. FT8 contacts logged in WSJT-X appear in QLog automatically with correct band, mode, frequency, callsign, and signal reports. Enable the UDP connection in both WSJT-X (File → Settings → Reporting → UDP Server) and QLog (Settings → WSJT-X) and contacts flow between them in real time.
Is QLog free?
Yes — QLog is free and open-source software released under the GNU GPL license. Download it from GitHub at github.com/foldynl/QLog. The only potential cost is a QRZ.com XML subscription ($30/year) for full callbook data — but HamQTH provides comparable free callbook lookup as an alternative.
How does QLog handle multiple callsigns or operating locations?
QLog supports multiple station profiles, each with its own callsign, location, and LoTW certificate. Create additional profiles under Settings → Station and switch between them as needed. This is useful for operating with a club callsign, /P portable operation, or from a different country. Each profile maintains separate DXCC and award statistics.