# Quaternion: a native Qt desktop client for the Matrix protocol

> Quaternion is a cross-platform desktop Matrix client written in C++ with Qt. It ships as distro packages, a Homebrew formula, a Flatpak and a Windows archive, and it is a beta: the README warns in unusually blunt terms that the CI builds can scramble messages and corrupt accounts.

**quotient-im/Quaternion** — A Qt-based IM client for Matrix

- Repository: https://github.com/quotient-im/Quaternion
- Website: https://matrix.org/ecosystem/clients/quaternion/
- Stars: 704 · Forks: 116
- Language: C++
- License: GPL-3.0
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/quotient-im-quaternion

## What Quaternion is, and where it sits in the Matrix ecosystem

Quaternion is described in one line as a cross-platform desktop IM client for the Matrix protocol, and the project description calls it a Qt-based IM client for Matrix. The primary language is C++ and the topic list names qt and qt5 alongside matrix, client and chat application, which tells you the design centre: this is a native desktop program, not a web application and not an Electron wrapper. The README states that general information about application usage and settings lives in a separate document, with BUILDING.md covering building from source, so the README you are reading is oriented around distribution rather than use. The project is GPL-3.0, the default branch is dev, and the homepage is the Matrix ecosystem listing for the client. Most of the conversation about the software happens in the Matrix room of its parent project, and issues go to the project issue tracker, with a separate SECURITY.md giving instructions for anything that looks like a security issue.

## Three installation routes, and a different OpenSSL story on Windows

The recommended install route is the one that matches your platform, and the README lists them explicitly. On GNU/Linux you use your distribution's package manager, on macOS you use Homebrew, and on Windows you take an archive from the GitHub Releases page. The Linux story is the most complete: Quaternion is packaged for many distributions, including various versions of Debian, Ubuntu and OpenSUSE, as well as Arch Linux, NixOS and FreeBSD, and the README points to Repology for a pretty comprehensive up to date list of versions. The distributions it names as satisfying the Qt requirement are Debian 12 Bookworm, Ubuntu 24.04 noble, Fedora 39 and OpenSUSE Leap 15.6, and it says anything newer should be fine too. The important operational note is about dependency handling: on top of the Quaternion package you should not normally need to install anything else, and if something does not work because of a missing dependency, the README says that is a bug in the package and the report belongs to the distribution's Quaternion packager rather than to this repository.

## The Flatpak route and the Windows OpenSSL requirement

There is also a Flatpak, published on Flathub, installed with a single command that points at the flatpakref file.

```bash
flatpak install https://flathub.org/repo/appstream/io.github.quotient_im.Quaternion.flatpakref
```

These packages are built with a suitable KDE runtime, and the README says you can install them on any distribution that has Flatpak, even one older than the versions named above. Flatpak problems are handled in a different place, on the Flathub issue tracker for the io.github.quotient_im.Quaternion package. Windows is the platform that needs the most care. Since there is no established package management on Windows to resolve dependencies, all needed libraries and a C++ runtime are packaged with Quaternion, except OpenSSL, which you install yourself if you do not already have it around. The current builds distributed from GitHub Releases need OpenSSL 3.x made with or for Visual Studio, not MinGW, and the README links the OpenSSL wiki page listing installers in different build configurations.

## The CI builds warning that is worth reading twice

The development build section is the most memorable part of the README, and it deserves quotation rather than paraphrase. The builds come from free hosting provided by Cloudsmith, and the README says packages produced by continuous integration can be found in the Quaternion repository there. Then come the notes. All of them come bundled with fairly recent, though not necessarily latest, Qt 6. They are only provided for testing, and feedback on any release is welcome as long as you know which build you run, but you should not expect the developers to address issues in older snapshots. The sharpest note is that these builds are unstable by default, that some may not run at all, and that if they do they may scramble the messages you send, interfere with or even break other clients including Element ones, and generally corrupt your account in ways that are unexpected and hard to fix, with the README adding that all of that actually happened in the past. The instruction is explicit: do not run these builds if you are not prepared to deal with the problems. The follow-up advice is to have backups in order, join the project room, and send the URL you downloaded from if you hit trouble, so the developers can help.

## macOS through Homebrew, and what the release archive contains

For macOS the README is brief. If you use Homebrew, which it recommends, the formula installs Quaternion along with its dependencies. Otherwise, packages published at GitHub Releases come with everything necessary already bundled, which is the same arrangement as the Windows archive. That difference matters when you compare platforms: on macOS and Windows the application is self contained apart from the OpenSSL case on Windows, while on Linux the distribution package handles dependencies and the project explicitly asks you not to install extras by hand. The repository is not archived, and the last push was on 2026-06-19. The release tags are versioned 0.0.97.1 from 2025-03-21, 0.0.97 from 2025-02-11 and 0.0.97 beta2 from 2025-01-24, so the shipped version and the branch tip are not the same thing.

## Configuration, the locale option and where settings live

Quaternion stores its configuration the way standard Qt applications do. The README says it will read and write the configuration in the user specific location, creating it if it does not exist, and will only read the system wide location with reasonable defaults if the configuration is not found at the user specific one. There is exactly one non-trivial command line option so far, and it is --locale, which overrides the locale Quaternion uses, the equivalent of setting LC_ALL on UNIX based systems. The README notes that German, Russian, Polish and Spanish translations are either complete or mostly complete at the time of writing. Beyond that, the configuration is a matter of tweaking things beyond what the user interface offers, and the README points readers to the configuration section for that. The repository layout shows a CMake based build with cmake/ and CMakeLists.txt at the root, a client/ directory for the application, a flatpak/ directory, icons/, linux/ packaging files, a LICENSES/ directory alongside LICENSE.spdx, and a clang-format configuration.

## The beta label, and what it should mean for your decision

The status badge in the README reads beta, and the version numbers reinforce the message, since a 0.0.x series is what pre-1.0 software looks like. That matters for what kind of user Quaternion is for. It is a project where a desktop Matrix client is expected to be used daily, with encrypted rooms, media, notifications and account state, and where a bug that scrambles messages is not a cosmetic defect. The README's own history, where CI builds broke other clients including Element ones and corrupted accounts, is a fair warning about what a native client that talks to the same homeserver can do. The alternative approach, and the one to weigh before choosing, is a web client served from your homeserver or a hosted one, which keeps the account handling on the server side and gives you a browser tab you can open anywhere. What you give up is the native interface: local notifications, a proper window, offline key handling and the speed of a compiled client. What you keep is a client that cannot ship you a broken build, because there is no build to ship. For a personal account that you can repair, a native beta client is a reasonable trade. For an account with rooms you cannot afford to lose, the conservative option is still the one the project itself points you to.

## Conclusion

Adopt Quaternion if you want a Matrix client that is a native desktop application rather than a web app wrapped in a browser shell, and you are comfortable with a project whose own status badge reads beta. Do not adopt it for a hosted or team deployment where account stability matters more than a native interface, because the README documents real cases of CI builds corrupting accounts. Before you install a development build, read the warning list in full and keep backups, and decide first whether the stable distro package, the Flatpak or the Windows archive matches your platform, since the OpenSSL requirement differs between them.

## FAQ

### How do I install Quaternion on Linux?

The README says the recommended way is your distribution's package manager. Quaternion is packaged for many distributions, including various versions of Debian, Ubuntu and OpenSUSE, as well as Arch Linux, NixOS and FreeBSD, and the README points to Repology for an up to date list. It also notes that on top of the Quaternion package you should not normally need to install anything else.

### What are the system requirements for Quaternion?

Quaternion 0.0.97.1 needs Qt version 6.4 or higher. The README names Debian 12 Bookworm, Ubuntu 24.04 noble, Fedora 39 and OpenSUSE Leap 15.6 as popular distributions satisfying that requirement, and says anything newer should be fine too.

### Can I install Quaternion as a Flatpak?

Yes. The README says there are flatpaks for Quaternion available from Flathub, installed with flatpak install https://flathub.org/repo/appstream/io.github.quotient_im.Quaternion.flatpakref. They are built with a suitable KDE runtime and can be installed on any distribution that has Flatpak, even older ones.

### Are the Quaternion CI builds safe to use?

The README says these builds are unstable by default, that some may not run at all, and that they may scramble messages you send, interfere with or break other clients including Element ones, and corrupt your account in ways that are hard to fix, with the README noting that all of that actually happened in the past. It advises having backups in order and not running them unless you are prepared to deal with the problems.

### What command line options does Quaternion support?

The README says the only non-trivial command-line option available so far is --locale, which overrides the locale Quaternion uses, the equivalent of setting the LC_ALL variable on UNIX based systems. Configuration otherwise lives in the standard Qt user specific location, with the system wide location read only for defaults.

## Sources

- [License: GPL-3.0](https://github.com/quotient-im/Quaternion/blob/dev/LICENSE)
- [Project website](https://matrix.org/ecosystem/clients/quaternion/)
- [quotient-im/Quaternion on GitHub](https://github.com/quotient-im/Quaternion)
- [README](https://github.com/quotient-im/Quaternion/blob/dev/README.md)
- [Releases](https://github.com/quotient-im/Quaternion/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/quotient-im-quaternion
