Skip to content

Install and build

Download the Mac app, or build Ubiquitty from source for any platform, macOS included.

Download for macOS

Version 0.2.0Requires macOS 26 or later and a Mac computer with Apple silicon.

The GitHub releases page has release notes and the other published artifacts. To build from source, clone the repository and follow the commands below from its root:

Terminal window
git clone https://github.com/yaglo/ubiquitty
cd ubiquitty
export UBQ_BUILD_ROOT="$(python3 Scripts/build_root.py .)"

The all-platform build guide specifies toolchains, dependencies, output paths and device signing. Build products go outside the checkout. Choose a job count for your machine with UBQ_BUILD_JOBS.

Apple silicon, macOS 26 or later, full Xcode with its Metal toolchain, CMake, Ninja, Python 3, Go and Perl.

Terminal window
./Scripts/build-macos.sh
./Scripts/install-macos.sh

The app includes matching host and ubq helpers. See the macOS installation and signing instructions for installation options, release bundles and updates.

Build on a Mac computer with Apple silicon, with full Xcode and iOS 27.1+ SDKs. The app’s deployment minimum is iOS 26. A physical device requires your own signing team and provisioning profile.

Terminal window
./Scripts/build-ios.sh
./Scripts/generate-xcode-workspace.sh --ios-only

Open UbiquittyIOSApp in the generated Xcode workspace for device deployment. The app connects to a host; it does not run a shell on the phone.

Use GCC 14+ or Clang 19+ with C++23 library support, GTK4, Vulkan, FreeType, Fontconfig, HarfBuzz and glslc. The Linux build guide covers driver and optional window-system dependencies.

Terminal window
./Scripts/check-linux-build-prerequisites.sh
./Scripts/build-linux-gtk.sh Release
"$UBQ_BUILD_ROOT/linux/ubiquitty-linux"

Keep the generated shaders and fonts beside the executable. The GTK frontend runs local shells; it does not attach to host sessions.

On macOS or Linux, with the native C++ toolchain:

Terminal window
./Scripts/build-host.sh
./Scripts/build-agent.sh

Outputs are $UBQ_BUILD_ROOT/host/ubiquitty-host and $UBQ_BUILD_ROOT/agent/ubq. The host’s QUIC dependencies also need Go, Perl and network access on the first build.

Docker can produce static Linux host binaries without building the GTK frontend:

Terminal window
./Scripts/build-host-linux.sh # x86_64 and arm64

See Remote hosts to install a host or issue a scoped token.

Activate Emscripten so emcmake and emcc are on PATH; install CMake, Ninja, Python 3 and Node.js.

Terminal window
./Scripts/build-web.sh --serve

This serves the page only. To connect it to a running host, follow Attach to an existing session. For a separate local demonstration including a private host and WebSocket bridge, use ./Scripts/run-web-demo.sh.