AI-powered video upscaling for Linux
- AI Frame Upscaling — Extracts video frames and upscales each one using Real-ESRGAN via the upscayl-ncnn Vulkan inference engine.
- Desktop UI — Clean Electron + React interface for easy operation.
- Batch Processing — Handle entire videos in one go.
- Linux Native — Built and packaged for Linux (AppImage, deb, rpm, pacman).
- Self-Contained — Backend binary and models are bundled with the app.
Input Video (FFmpeg) ──► Extract Frames ──► Upscale Each Frame (upscayl-ncnn) ──► Reassemble Video (FFmpeg) ──► Output
TuxScale extracts frames from a video using FFmpeg, upscales each frame using the upscayl-ncnn Vulkan-based AI inference engine, and reassembles the upscaled frames back into a video — all through an intuitive desktop UI.
The app bundles the upscayl-ncnn backend binary and AI models inside the package via extraResources in electron-builder. The backend binary is downloaded fresh from the latest upstream release during CI builds, so it stays up to date without manual tracking.
- FFmpeg (with
ffprobe) installed on your system - A Vulkan-compatible GPU
bun installbun run devbun run build:linuxThis produces the following artifacts in dist/:
- AppImage — portable Linux executable
- .deb — Debian/Ubuntu package
- .rpm — Fedora/RHEL package
- .pkg.tar.zst — Arch Linux pacman package
The repository includes a GitHub Actions workflow (.github/workflows/build.yml) that can be triggered manually from the Actions tab in the GitHub UI:
- Go to your repository on GitHub
- Click the Actions tab
- Select Build Linux from the left sidebar
- Click Run workflow → Run workflow
The workflow will:
- Download the latest upscayl-bin backend binary from the upscayl-ncnn release
- Install dependencies with Bun
- Build the Electron app targeting Linux (AppImage, deb, rpm, pacman)
- Upload all artifacts to the workflow run
- Create a GitHub Release with the artifacts attached
All four Linux package formats are automatically available for download from the release.
| Category | Technology |
|---|---|
| Desktop Framework | Electron |
| Frontend | React + TypeScript |
| Build Tooling | electron-vite / Vite |
| Packaging | electron-builder |
| Styling | Tailwind CSS + shadcn/ui |
| AI Backend | upscayl-ncnn |
TuxScale is inspired by and builds upon the fantastic work of Upscayl — the #1 free and open-source AI image upscaler. Special thanks to the Upscayl team for their backend (upscayl-ncnn) and inspiration.

