// OPENBOX DOCS

Downloads

Every way to install OpenBoxGL, with verification steps per method.

Downloads

One table for every install method. Pick the row that matches your system, then follow its verify step. All methods install the same OpenBox application, currently v1.15.0.

MethodBest forUpdatesVerify
AppImage with installerLinux desktop, Steam Deck, handhelds, immutable systemsBuilt-in verified updateropenbox-release.pub Ed25519 plus SHA-256 checksum
AppImage manualOffline or custom pathManual re-downloadchmod +x then openbox --help or --web
FlatpakSandboxed installsFlatpak workflowflatpak info io.openbox.GameLauncher
From sourceDevelopment, patchinggit pullpython3 web_app.py
System installInstall to /usr/localsudo make install againopenbox --help
Windows portable with installerWindows 10 and 11, x86_64Built-in verified updaterinstall.ps1 Ed25519 plus SHA-256 checksum

Every release publishes these artifacts:

AssetArchitectureType
install.shanyLinux release installer (bash)
install.ps1anyWindows release installer (PowerShell 5.1)
openbox-release.pubanyEd25519 release public key
OpenBox-x86_64.AppImagex86_64AppImage, signed
OpenBox-x86_64.AppImage.sha256x86_64SHA-256 checksum sidecar
OpenBox-x86_64.AppImage.sigx86_64Ed25519 signature sidecar
OpenBox-x86_64.AppImage.zsyncx86_64zsync delta-update metadata
OpenBox-aarch64.AppImageARM64AppImage, signed
OpenBox-aarch64.AppImage.sha256ARM64SHA-256 checksum sidecar
OpenBox-aarch64.AppImage.sigARM64Ed25519 signature sidecar
OpenBox-aarch64.AppImage.zsyncARM64zsync delta-update metadata
OpenBox-x86_64.flatpakx86_64Flatpak bundle
OpenBox-x86_64-windows.zipx86_64Windows portable, signed
OpenBox-x86_64-windows.zip.sha256x86_64SHA-256 checksum sidecar
OpenBox-x86_64-windows.zip.sigx86_64Ed25519 signature sidecar
OpenBox-x86_64-windows-native-host.exex86_64WebView2 window host, signed
OpenBox-x86_64-windows-native-host.exe.sha256x86_64SHA-256 checksum sidecar
OpenBox-x86_64-windows-native-host.exe.sigx86_64Ed25519 signature sidecar
OpenBox-1.15.0-sbom.jsonx86_64SBOM (CycloneDX 1.4)
OpenBox-1.15.0-aarch64-sbom.jsonARM64SBOM (CycloneDX 1.4)

The Windows archive ships with the same .sha256 sidecar and .sig signature as the AppImages, verified by install.ps1 and by the in-app updater with the Python standard library alone. The native-host executable is the same binary that archive carries, published on its own for source checkouts, and it goes through the same checksum and signature ladder.

The installer pins the release public key, verifies the SHA-256 checksum, and verifies the Ed25519 signature before installing to ~/.local/bin.

VERSION=1.15.0
curl --proto '=https' --tlsv1.2 --fail --location \
  --output install.sh \
  "https://github.com/vindeckyy/OpenBoxGL/releases/download/v${VERSION}/install.sh"
less install.sh
OPENBOX_RELEASE_TAG="v${VERSION}" bash install.sh

To launch right after installing:

OPENBOX_RELEASE_TAG="v${VERSION}" bash install.sh --run

Install to a different directory with OPENBOX_INSTALL_DIR, for example OPENBOX_INSTALL_DIR="$HOME/Applications". Omit OPENBOX_RELEASE_TAG only when you intend to track the latest stable release.

The installer selects the AppImage that matches uname -m. Override detection for a packaging or emulation environment with OPENBOX_ARCH=x86_64 or OPENBOX_ARCH=aarch64.

Manual download:

chmod +x OpenBox-$(uname -m).AppImage
./OpenBox-$(uname -m).AppImage
./OpenBox-$(uname -m).AppImage --web

Windows portable with installer

Windows 10 and 11 on x86_64 install from a signed portable archive. The installer resolves and pins the release public key, verifies the archive's SHA-256 checksum and its Ed25519 signature, and only then extracts the runtime to %LOCALAPPDATA%\OpenBox\share\openbox.

$Version = '1.15.0'
Invoke-WebRequest -UseBasicParsing -OutFile install.ps1 `
  "https://github.com/vindeckyy/OpenBoxGL/releases/download/v$Version/install.ps1"
less install.ps1
.\install.ps1 -Tag "v$Version"

To launch right after installing, add -Run. Install to a different directory with -InstallDir, or skip the user PATH edit with -NoPathUpdate. The installer requires Windows PowerShell 5.1 and Python 3.10 or newer on PATH; it needs neither curl nor OpenSSL, because signature verification uses the same standard-library RFC 8032 implementation as the in-app updater.

It keeps the previous runtime at share\openbox.previous, registers the Start Menu shortcut and the openbox:// protocol handler, and adds the runtime folder to your user PATH. The release publishes only the two installers, install.sh and install.ps1, as standalone assets — the uninstaller is not one of them. It ships inside the zip and inside the install tree, so you run it from scripts\uninstall.ps1 under your install directory (for a default install, %LOCALAPPDATA%\OpenBox\share\openbox\scripts\uninstall.ps1). It removes exactly what this installer created — the install tree, the PATH entry, the shortcut, and the openbox:// registration — and never touches your library. See Windows for the launcher ladder, the WebView2 native window, and the full uninstall procedure.

Flatpak

Install the published bundle directly — no build step needed:

curl --proto '=https' --tlsv1.2 --fail --location \
  --output OpenBox-x86_64.flatpak \
  "https://github.com/vindeckyy/OpenBoxGL/releases/download/v1.15.0/OpenBox-x86_64.flatpak"
flatpak install --bundle OpenBox-x86_64.flatpak
flatpak run io.openbox.GameLauncher

Or build from the project's manifest with flatpak-builder:

git clone https://github.com/vindeckyy/OpenBoxGL.git
cd OpenBoxGL
flatpak-builder --user --install --force-clean build-dir io.openbox.GameLauncher.yml
flatpak run io.openbox.GameLauncher

The manifest targets the GNOME Flatpak runtime (org.gnome.Platform 49) and grants --filesystem=home, so Steam, Heroic, Lutris, and ROM folders under home remain readable. The Flatpak is not updated by the built-in updater. Rebuild the manifest to update.

From source

git clone https://github.com/vindeckyy/OpenBoxGL.git
cd OpenBoxGL
python3 web_app.py

Requirements: Python 3.10 or newer on Linux with standard desktop tooling. The native window additionally needs WebKitGTK 4.1, make native-host builds native_host. No pip install is required. See .env.example for optional local configuration, never commit secrets.

System install

sudo make install
openbox          # native window, default
openbox --web    # loopback web UI

Prerequisites

RequirementAppImageFlatpakSourceWindows
Linux desktop, X11 or WaylandYesYesYesNot applicable
Windows 10 or 11, x86_64Not applicableNot applicableNot applicableYes
WebKitGTK for native windowBundledBundledRequired, libwebkit2gtk-4.1Not used
WebView2 runtime for native windowNot usedNot usedNot usedRequired by native_host.exe; already present on Windows 11 and most Windows 10
PythonBundledBundled3.10+3.10+ on PATH
flatpak and flatpak-builderNot neededRequiredNot neededNot needed
gitNot neededNot neededRequiredNot needed
FUSE to mount AppImagesRequiredNot neededNot neededNot applicable
bubblewrap bwrapOptional, plugins sandboxed when presentBundled checkOptionalNot applicable

See Installation for prerequisites in detail, Updating for the update flow and rollback, and Getting started for the first import. v1.15.0 publishes signed x86_64 and aarch64 AppImages, an x86_64 Flatpak bundle, and a signed x86_64 Windows portable archive.