Skip to main content
This guide covers the complete process of building Frame from source, including all prerequisites, setup steps, and build commands.

Prerequisites

Before building Frame, ensure you have the following tools installed:

Required Software

Platform-Specific Dependencies

macOS requires Xcode Command Line Tools:
xcode-select --install

Build Process

1

Clone the repository

Clone Frame from GitHub:
git clone https://github.com/66HEX/frame.git
cd frame
2

Install dependencies

Install all frontend dependencies:
bun install
If using npm instead of Bun, replace bun with npm in all commands.
3

Setup FFmpeg binaries

Frame requires FFmpeg and FFprobe sidecar binaries. Run the automated setup script:
bun run setup:ffmpeg
This script:
  • Detects your platform and architecture
  • Downloads the appropriate FFmpeg and FFprobe binaries
  • Places them in src-tauri/binaries/ directory
  • Ensures correct permissions for execution
The binaries are platform-specific:
  • macOS: ffmpeg-aarch64-apple-darwin, ffprobe-aarch64-apple-darwin (Apple Silicon) or x86_64 variants
  • Linux: ffmpeg-x86_64-unknown-linux-gnu, ffprobe-x86_64-unknown-linux-gnu
  • Windows: ffmpeg-x86_64-pc-windows-msvc.exe, ffprobe-x86_64-pc-windows-msvc.exe
4

Setup AI upscaler (optional)

For Real-ESRGAN AI upscaling support, run:
bun run setup:upscaler
This script:
  • Downloads the realesrgan-ncnn-vulkan binary for your platform
  • Downloads required model files (realesr-animevideov3-x2.bin, realesr-animevideov3-x2.param, etc.)
  • Places binaries in src-tauri/binaries/
  • Places models in src-tauri/resources/models/
The upscaler requires Vulkan (Linux/Windows) or Metal (macOS) GPU support.
5

Build or run

Choose development mode or production build:

Development Mode

Launch the app in development with hot reload:
bun tauri dev
This will:
  • Start the Vite development server (frontend)
  • Compile the Rust backend
  • Launch the application window
  • Enable hot module replacement for frontend changes

Production Build

Create an optimized production build:
bun tauri build
This generates:
  • macOS: .app bundle and .dmg installer in src-tauri/target/release/bundle/
  • Linux: .AppImage, .deb, or .rpm in src-tauri/target/release/bundle/
  • Windows: .exe installer and .msi in src-tauri\target\release\bundle\
The first build may take 10-15 minutes as Rust compiles all dependencies.

Package Scripts Reference

Frame’s package.json provides these npm scripts:
ScriptDescription
setup:ffmpegDownload and install FFmpeg/FFprobe binaries
setup:upscalerDownload and install Real-ESRGAN upscaler
tauri devRun in development mode with hot reload
tauri buildCreate production build
devStart Vite dev server only (frontend)
buildBuild frontend only
checkRun Svelte type checking
lintRun ESLint on frontend code
formatFormat code with Prettier

Build Customization

Build without Bundle

To compile without creating installer packages:
bun tauri build --no-bundle

Debug Build

For a debug build with symbols (larger binary):
bun tauri build --debug

Target Specific Platform

bun tauri build --target <triple>
Example targets:
  • aarch64-apple-darwin (macOS Apple Silicon)
  • x86_64-apple-darwin (macOS Intel)
  • x86_64-unknown-linux-gnu (Linux)
  • x86_64-pc-windows-msvc (Windows)

Troubleshooting

Ensure you ran bun run setup:ffmpeg before building. Verify files exist:
ls -la src-tauri/binaries/
You should see ffmpeg-* and ffprobe-* files for your platform.
Update Rust to the latest version:
rustup update
Frame requires Rust Edition 2024. Check version:
rustc --version  # Should be 1.85.0 or newer
Install or update WebView2 Runtime:
  • Download from Microsoft WebView2
  • Or install via: winget install Microsoft.EdgeWebView2Runtime
This indicates missing GStreamer or WebKitGTK libraries. Install the full set of dependencies listed in the Linux tab above.For KDE users, install xdg-desktop-portal-kde instead of xdg-desktop-portal-gtk.

Code Signing (macOS/Windows)

Frame releases are currently unsigned. Code signing requires:
  • macOS: Apple Developer Program membership ($99/year)
  • Windows: Code signing certificate ($300-700/year)
See GitHub Sponsors to support signing infrastructure.
To sign builds yourself, configure in src-tauri/tauri.conf.json:
"bundle": {
  "macOS": {
    "signingIdentity": "Developer ID Application: Your Name (TEAM_ID)"
  }
}

Next Steps

Architecture

Learn about Frame’s Tauri v2 architecture

Contributing

Contribute to Frame development

Build docs developers (and LLMs) love