Skip to content

Platforms

rouggy edited this page Oct 10, 2026 · 1 revision

Windows, Linux and macOS

🇫🇷 Cette page en français : Windows, Linux et macOS

OpsLog runs on all three. It is the same application: the same log, the same CAT, the same cluster, the same decoders, awards, QSL designer and propagation charts. A handful of things are Windows-only by nature, and the paths have different names. That is the whole list, and it is below.

Windows Linux macOS
Download OpsLog.exe OpsLog-linux-amd64 or opslog_<version>_amd64.deb OpsLog-macos-arm64.zip
Needs WebView2 (present on Win 10/11) webkit2gtk 4.0 or 4.1 Apple Silicon, macOS 12+
Data folder data/ beside the exe, else %LOCALAPPDATA%\OpsLog data/ beside the binary, else ~/.local/share/OpsLog/data always ~/Library/Application Support/OpsLog/data
Sound card WASAPI PulseAudio / PipeWire CoreAudio
Serial ports COM3… /dev/ttyUSB0, /dev/ttyACM0… /dev/cu.usbserial-…
OmniRig yes — —
Denkovi USB relay yes — —

Everything else — all twelve CAT Control backends bar OmniRig, the Audio and Keyers engines (WinKeyer, serial DTR/RTS keying, the rig keyers, the voice keyer, the QSO recorder, the CW decoder), the rotators, the amplifiers and switches, the Remote Station link, the shared CAT servers, Voacap Prediction — is the same code on all three.

Windows

Download OpsLog.exe, put it in its own folder, double-click. No installer and no runtime: a data/ folder appears beside it and holds everything, so the folder can be copied to another drive or PC as it is.

Microsoft's WebView2 draws the interface and is part of Windows 10 and 11. On an older machine without it, install the free WebView2 Evergreen Runtime from Microsoft.

Linux

In real use, not an experiment — every release ships a Linux binary and a .deb.

# the .deb: installs /usr/bin/opslog and a desktop entry
sudo apt install ./opslog_<version>_amd64.deb

# or the plain binary, which keeps its data beside itself
chmod +x OpsLog-linux-amd64 && ./OpsLog-linux-amd64

Two things to set up once:

  • Serial port access. Ports are /dev/ttyUSB0, /dev/ttyACM0… and belong to the dialout group on most distributions:

    sudo usermod -aG dialout $USER      # then log out and back in

    This is the single most common reason a radio that works in WSJT-X reports permission denied in OpsLog.

  • A sound server — PulseAudio or PipeWire — for the voice keyer, the QSO recorder and the CW decoder. PipeWire is fine: OpsLog speaks the PulseAudio protocol, which pipewire-pulse answers. Without one, those three say they cannot reach the sound server and the rest works normally.

LoTW uploads use tqsl from your package manager; OpsLog finds it on PATH.

Building it yourself: BUILDING-LINUX.md in the repository, or just run ./scripts/linux-setup.sh, which checks everything and prints the one install command your distribution needs.

macOS

Apple Silicon, a real application bundle, since 0.51.0.

  1. Download OpsLog-macos-arm64.zip and unzip it.
  2. Drag OpsLog.app into /Applications.
  3. Right-click it and choose Open — not a double-click.

That third step is Gatekeeper, and it is worth understanding rather than fighting. The application is not signed by a registered Apple developer, so a Mac that downloaded it says "OpsLog cannot be opened because the developer cannot be verified". Right-click → Open offers an Open button that the double-click does not. Once accepted, it never asks again. The command-line equivalent:

xattr -dr com.apple.quarantine /Applications/OpsLog.app

Where the data is

Always:

~/Library/Application Support/OpsLog/data

Never inside the application, even when that would be writable — "beside the binary" on a Mac means inside OpsLog.app/Contents/MacOS, where a rebuild or a drag into Applications would quietly take the logbook with it. The path is printed in the log at startup. In Finder the folder is hidden: Go → Go to Folder and paste the path, or hold ⌥ while opening the Go menu.

The microphone dialog

The first time anything records — the QSO recorder, the voice keyer, the CW decoder — macOS asks whether OpsLog may use the microphone. Answer yes. If you did not see the dialog, the switch is in System Settings → Privacy & Security → Microphone.

This is not optional on a Mac: an application that records without the permission is not refused, it is stopped dead.

Serial ports

/dev/cu.usbserial-XXXX, /dev/cu.usbmodemXXXX or /dev/cu.SLAB_USBtoUART depending on the chip. OpsLog lists them for you; the thing to know is to pick the cu. entry and never the tty. one with the same name — a tty. device waits for carrier on open, which looks exactly like a radio that is not answering.

Most USB-serial chips need no driver. Silicon Labs CP210x — in several Yaesu and Icom cables — occasionally still does: if the port never appears at all, install Silicon Labs' VCP driver.

Building it yourself: BUILDING-MACOS.md in the repository.

What is Windows-only, and what to use instead

  • OmniRig. It is Windows COM automation; there is nothing to port. Use a native backend — Icom CI-V (USB or network), Yaesu, Kenwood/Elecraft, FlexRadio, TCI, Xiegu — or FLRig, which exists on all three and knows a hundred radios. See CAT Control.
  • The Denkovi USB relay board, which needs FTDI's ftd2xx.dll. The other relay backends work everywhere. See Amplifiers and Switches.

Two smaller differences, mentioned because they are visible:

  • On Linux and macOS, OpsLog cannot read the monitor layout, so a saved window position is trusted as it is rather than clamped onto a visible screen.
  • The single-instance guard is a file lock rather than a named mutex, so a second launch is refused but the first window is not raised for you.

Moving a station from one platform to the other

Copy two files into the data folder of the new machine:

  • settings.db (or opslog.db) — settings, profiles, rigs, antennas, award lists, QSL templates;
  • logbook.db — the QSOs, if the profile logs locally.

Or leave them where they are and point OpsLog at them from Settings → Database. A shared MySQL logbook needs nothing moved at all: both machines log into the same database. See Profiles and Databases.

What does not travel is anything naming a COM port or a sound device — the radio is COM4 on one machine and /dev/cu.usbserial-14110 on the other. Check Settings → CAT and Settings → Audio after the move.

See also

Clone this wiki locally