Prerequisites
Before building Frame, ensure you have the following tools installed:Required Software
- Rust - Install from rust-lang.org
- Bun or Node.js - Install Bun from bun.sh (recommended) or Node.js
- Tauri Prerequisites - Follow the platform-specific setup guide at Tauri v2 Prerequisites
Platform-Specific Dependencies
- macOS
- Linux
- Windows
macOS requires Xcode Command Line Tools:
Build Process
Install dependencies
Install all frontend dependencies:
If using npm instead of Bun, replace
bun with npm in all commands.Setup FFmpeg binaries
Frame requires FFmpeg and FFprobe sidecar binaries. Run the automated setup script: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
- 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
Setup AI upscaler (optional)
For Real-ESRGAN AI upscaling support, run:This script:
- Downloads the
realesrgan-ncnn-vulkanbinary 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/
Build or run
Choose development mode or production build:This will:This generates:
Development Mode
Launch the app in development with hot reload:- 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:- macOS:
.appbundle and.dmginstaller insrc-tauri/target/release/bundle/ - Linux:
.AppImage,.deb, or.rpminsrc-tauri/target/release/bundle/ - Windows:
.exeinstaller and.msiinsrc-tauri\target\release\bundle\
The first build may take 10-15 minutes as Rust compiles all dependencies.
Package Scripts Reference
Frame’spackage.json provides these npm scripts:
| Script | Description |
|---|---|
setup:ffmpeg | Download and install FFmpeg/FFprobe binaries |
setup:upscaler | Download and install Real-ESRGAN upscaler |
tauri dev | Run in development mode with hot reload |
tauri build | Create production build |
dev | Start Vite dev server only (frontend) |
build | Build frontend only |
check | Run Svelte type checking |
lint | Run ESLint on frontend code |
format | Format code with Prettier |
Build Customization
Build without Bundle
To compile without creating installer packages:Debug Build
For a debug build with symbols (larger binary):Target Specific Platform
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
FFmpeg binaries not found
FFmpeg binaries not found
Ensure you ran You should see
bun run setup:ffmpeg before building. Verify files exist:ffmpeg-* and ffprobe-* files for your platform.Rust compilation errors
Rust compilation errors
Update Rust to the latest version:Frame requires Rust Edition 2024. Check version:
WebView2 errors on Windows
WebView2 errors on Windows
Install or update WebView2 Runtime:
- Download from Microsoft WebView2
- Or install via:
winget install Microsoft.EdgeWebView2Runtime
Linux: Application crashes on file selection
Linux: Application crashes on file selection
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)
src-tauri/tauri.conf.json:
- macOS
- Windows
Next Steps
Architecture
Learn about Frame’s Tauri v2 architecture
Contributing
Contribute to Frame development