# Installation and system requirements

Solo is a native desktop app for macOS, Windows, and Linux.

## System requirements

| Requirement | Minimum |
|-------------|---------|
| macOS | 11 Big Sur |
| Windows | Windows 10 version 1809 |
| Linux | glibc 2.35 or newer (Ubuntu 22.04, Debian 12, or a current Fedora or Arch) |
| macOS architecture | Apple Silicon or Intel |
| Windows architecture | 64-bit |
| Linux architecture | x86-64 |

The Linux AppImage bundles its own WebKitGTK, GTK, and media libraries, so you don't need to install them. It uses your system's graphics driver and display libraries (X11 or Wayland). Each release is launch-tested on Ubuntu, Debian, Fedora, and Arch.

## Install Solo

### macOS

1. Download the macOS `.dmg` from [soloterm.com/download](https://soloterm.com/download).
2. Open the downloaded `.dmg`.
3. Drag **Solo** into your **Applications** folder.
4. Eject the disk image and launch Solo from Applications or Spotlight.

### Windows

1. Download the Windows installer from [soloterm.com/download](https://soloterm.com/download).
2. Open the downloaded `.exe`.
3. Follow the installer prompts.
4. Launch Solo from the Start menu.

### Linux

1. Download the Linux `.AppImage` from [soloterm.com/download](https://soloterm.com/download).
2. Move it somewhere your user can write to, such as `~/Applications`. The updater replaces this file in place.
3. Make it executable, either from your file manager's **Properties** dialog or with `chmod +x Solo_*.AppImage`.
4. Open it, or run `./Solo_*.AppImage` from a terminal.

The AppImage doesn't add itself to your application launcher. To get a launcher entry, use a tool such as Gear Lever or AppImageLauncher.

### Nix and NixOS

On x86-64 Linux, Solo is also available as a Nix flake. It packages the same signed release as the AppImage, and it adds Solo to your application launcher.

- To try Solo without installing it, run `nix run github:soloterm/nix`.
- To install it into your profile, run `nix profile install github:soloterm/nix`.
- On NixOS or Home Manager, add `github:soloterm/nix` as a flake input and add its package to your configuration. The [flake's README](https://github.com/soloterm/nix#install) has an example.

Nix updates this install, not Solo's built-in updater. Run `nix profile upgrade --all`, or `nix flake update solo` in your configuration. A new release reaches the flake shortly after it appears on the download page. Solo 0.11.1 may still offer an in-app update on a Nix install; skip it and update with Nix instead.

On a distribution other than NixOS, Solo may need [nixGL](https://github.com/nix-community/nixGL) to find your GPU drivers.

## AppImage won't start on Linux

AppImages mount themselves with FUSE. If launching prints `Cannot mount AppImage, please check your FUSE setup`, install your distribution's `fuse3` package, which provides `fusermount3`. You can also skip FUSE entirely by running `./Solo_*.AppImage --appimage-extract-and-run`.

## Blank window on Linux

If Solo opens to an empty window, download the current AppImage from [soloterm.com/download](https://soloterm.com/download) and replace your existing `.AppImage` file with it. The in-app updater runs inside that window, so it can't update a copy that never draws its interface.

## Software rendering on Linux

When a window is running on a software renderer, such as Mesa's llvmpipe or SwiftShader in a VM, XRDP session, or machine without a GPU, Solo detects it and switches terminals to a slower drawing mode that renders reliably there.

To force software rendering, launch Solo with `SOLOTERM_LINUX_SOFTWARE_RENDERING=1`:

```bash
SOLOTERM_LINUX_SOFTWARE_RENDERING=1 ./Solo_*.AppImage
```

The variable must be exactly `1`, and it applies when Solo starts, so quit Solo completely before relaunching. If you've also set `WEBKIT_FORCE_COMPOSITING_MODE`, or set `WEBKIT_DISABLE_COMPOSITING_MODE=0`, Solo leaves rendering alone and prints a warning to the terminal instead.

## First launch prompt on macOS

On first launch, macOS may show a security confirmation because Solo was downloaded from the internet. Click **Open** to continue.

If you see a stricter developer-verification warning, right-click the app in Applications, choose **Open**, and confirm once. After that, it'll open normally.

Once Solo opens, continue with [First launch](./first-launch.md) to create or load a project and start your first process.

## Updates

Solo includes a [built-in updater](../updates/installing-updates.md). You don't need to re-download anything.

- An update indicator appears in the app when a new version is available.
- On macOS, you can check manually from **Solo > Check for updates...**.
- On Linux, the updater replaces the AppImage file you launched, so keep it in a folder your user can write to.
- A Nix install is updated with Nix instead. See [Nix and NixOS](#nix-and-nixos).
- You can also check from `Settings > Account`.
- Updates are signed and verified by Solo before installation.

## Uninstall

### macOS

1. Quit Solo.
2. Delete `Solo.app` from Applications.
3. To remove core local state, optionally delete `~/.config/soloterm`. If `SOLOTERM_APP_DATA_DIR` or the fallback `TAURI_ENV_SOLOTERM_APP_DATA_DIR` points elsewhere, delete that resolved directory instead. Deleting that directory removes projects, commands, license state, settings stored with Solo's core state, and related data stored there; it does not clear UI-only preferences stored separately in the app's webview.

### Windows

1. Quit Solo.
2. Open **Settings > Apps > Installed apps**.
3. Find **Solo** and choose **Uninstall**.
4. To remove core local state, optionally delete `%USERPROFILE%\.config\soloterm`. If `SOLOTERM_APP_DATA_DIR` or the fallback `TAURI_ENV_SOLOTERM_APP_DATA_DIR` points elsewhere, delete that resolved directory instead. Deleting that directory removes projects, commands, license state, settings stored with Solo's core state, and related data stored there; it does not clear UI-only preferences stored separately in the app's webview.

### Linux

1. Quit Solo.
2. Delete the `.AppImage` file, and any launcher entry you created for it.
3. To remove core local state, optionally delete `~/.config/soloterm`. If `SOLOTERM_APP_DATA_DIR` or the fallback `TAURI_ENV_SOLOTERM_APP_DATA_DIR` points elsewhere, delete that resolved directory instead. Deleting that directory removes projects, commands, license state, settings stored with Solo's core state, and related data stored there; it does not clear UI-only preferences stored separately in the app's webview.

If you installed Solo with Nix, remove it with Nix in step 2 instead: find its name with `nix profile list` and run `nix profile remove <name>`, or remove the flake input and package from your configuration.

---

Are you a human? Read this doc on the web: https://soloterm.com/docs/getting-started/installation
