mach · linux qa
Mach for Linux
A native COSMIC build of Mach for Pop!OS — built on the COSMIC Toolkit (libcosmic) with a Swift core. Same OMEMO end-to-end encryption, same open XMPP standard, distributed as a single AppImage: download it, make it executable, double-click. No install, no package manager, no toolchain.
specification
- platform
- Pop!OS · COSMIC
- desktop
- libcosmic (Iced MVU)
- arch
- x86_64
- encryption
- OMEMO (XEP-0384)
- license
- MPL-2.0
- status
- QA · pre-release
Install
Mach ships as a single self-contained AppImage — the Swift runtime, libcosmic, and the whole app are bundled inside one file. Download it, mark it executable, and double-click. That's the whole install. No apt, no flatpak, no sudo:
# 1. Make it executable (one-time)
chmod +x Mach-x86_64.AppImage
# 2. Double-click it in your file manager. That's it.
# Or run from the terminal:
./Mach-x86_64.AppImage If double-click does nothing on first run, Pop!OS needs AppImage FUSE support — one-time, paste this into a terminal: sudo apt install libfuse2. After that, double-clicking the AppImage opens the app directly.
If Mach opens a dialog saying it needs extra packages, click yes — the app has detected a missing system library and will install the right one from Pop!OS's official repos (it'll ask for your password). This is normal on minimal installs; full Pop!OS desktops usually have everything already.
Sign in
Launch Mach, click Sign in, and enter your XMPP address and password (your @pwrnet.txw.ca account, or any XMPP server). Within a few seconds your contact list populates and you can send and receive messages. One-to-one chats are end-to-end encrypted with OMEMO by default — the lock glyph in each bubble indicates an encrypted message.
Verify the download
The AppImage is checksummed. After downloading, check the SHA-256 against the published value:
sha256sum Mach-x86_64.AppImage
# expect: fd3bd7cb1b0f41390eabfaa664d203f10c40d0a4228eab835f4232fa761bfc79 Signatures verify against the txw signing key — txw-pubkey.asc. The signature will follow once the build is signed; for this QA build, the checksum is the integrity check.
What to know
Mach on Linux speaks the same XMPP and OMEMO (XEP-0384) as the Mac build, against any XMPP server. The crypto is Mach's own hand-rolled OMEMO, MPL-2.0 licensed, driving the same Swift core the macOS app uses — the Linux UI (libcosmic, in Rust) talks to it through a C-ABI bridge. This QA build is unsigned and pre-release: it is for testing the Linux port, not for anyone who needs a stable, verified client today.
The OMEMO implementation — including the XEdDSA elliptic-curve code that CryptoKit does not provide — was written by an AI. It has had no independent security audit. That it validates against Conversations, Kaidan, and Gajim proves it is correct; it does not prove it is safe. Buyer beware.
About the COSMIC port
This is the first build of Mach on Pop!OS's COSMIC desktop. The macOS Mach app is pure Swift + SwiftUI; this Linux port keeps the entire Swift core (MachCrypto, the XMPP transport, OMEMO) and replaces only the UI layer with Rust + libcosmic, the toolkit System76 builds the COSMIC desktop with. The result is a native COSMIC citizen — frosted glass, COSMIC theming, the COSMIC nav-bar and headerbar — driven by the same proven Swift session as the Mac app.