Harmony is a beta, and nothing here is signed yet — so macOS will tell you it cannot verify what you downloaded, and every Linux package is checked against a checksum rather than a signature. The steps for getting past that are on this page because they are unavoidable, not because they are optional.Current release , built . What changed →
There is no published release yet. The instructions below are what installing will look like; the downloads they name do not exist until the first release is cut.
A disk image, built as one binary for both Apple Silicon and Intel. Open it and drag Harmony to Applications, the way you would any other app.
·This release has no macOS build. The instructions below are still what installing looks like, and the release notes say what the current one carries.
macOS will say “Apple could not verify Harmony is free of malware.” That is Gatekeeper reporting that the app has no Developer ID signature — which is true, and will stay true until Harmony is old enough to be worth paying Apple for. To open it anyway:
That button only exists because you tried to open Harmony, and it goes away again about an hour later — if it is not there, open the app again and go straight back to Settings.
Control-clicking the app and choosing Open used to skip all of that. macOS Sequoia removed it, so if you have read that advice elsewhere, it no longer works.
The same build, six ways. The script at the top is the one to use unless you have a reason not to; the rest are here because on Linux “how it is installed” is a decision most people have already made, and these differ in how Harmony is updated and removed, not in what it does.
All of these are x86_64. There is no ARM build yet, on any distribution.
Downloads the tarball, checks it against the published checksum, and installs into ~/.local — no root, and nothing outside your home directory. Set HARMONY_INSTALL=deb to install the Debian package system-wide instead.
curl -fsSL https://harmony.samduke.dev/install.sh | shResolves its own dependencies, and updates with the rest of your system. The best option if you are on one of these.
curl -fLo harmony.deb https://harmony.samduke.dev/download/latest/linux-deb
sudo apt install ./harmony.debA single file, no repository to add. Brings its own runtime, so it does not care what your distribution ships.
curl -fLo harmony.flatpak https://harmony.samduke.dev/download/latest/linux-flatpak
flatpak install harmony.flatpakOne executable file that runs where you put it. Uses your system’s graphics drivers, which is why it is not fully self-contained.
curl -fLo Harmony.AppImage https://harmony.samduke.dev/download/latest/linux-appimage
chmod +x Harmony.AppImage
./Harmony.AppImageThe tarball below, repackaged with a checksum on it, and updated with the rest of your system. Use whichever helper you already have.
yay -S harmony-binThe plain tree — an ordinary /usr layout rooted at usr/, which is why it drops straight into ~/.local. This is what the install script does, minus the checksum.
curl -fLo harmony.tar.gz https://harmony.samduke.dev/download/latest/linux-tarball
tar -xzf harmony.tar.gz
cp -a usr/. ~/.local/Almost always a missing graphics driver rather than a missing application. Harmony draws with Vulkan and deliberately uses your system’s driver rather than shipping one — a bundled driver cannot know about your card. Run harmony from a terminal and the loader will name what it could not find.
Not yet — and not in the “built but untested” sense. Harmony has never been compiled for Windows, so there is nothing to download and no date worth giving you. The code that would run there exists and is written; it has never been run.
The macOS and Linux instructions are a click away above, if you are setting up a different machine.
Because none of these are signed, the checksum is the only thing that tells you the file you have is the file that was built. It is worth two seconds. install.sh does this for you; the rest are by hand.
shasum -a 256 harmony.deb # macOS
sha256sum harmony.deb # LinuxThe published checksums appear here once there is a release.
These are served from the same domain as the downloads, so they prove the file arrived intact — not that it came from anyone in particular. That is what signing is for, and it is not done yet.