Skip to content

arrifat346afs/TuxScale

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TuxScale Logo

🐧 TuxScale

AI-powered video upscaling for Linux

Electron React TypeScript Vite Tailwind CSS License

TuxScale Screenshot

Table of Contents


Features

  • 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.

How it Works

 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.


Prerequisites

  • FFmpeg (with ffprobe) installed on your system
  • A Vulkan-compatible GPU

Project Setup

Install

bun install

Development

bun run dev

Build (Linux only)

bun run build:linux

This 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

CI Builds

The repository includes a GitHub Actions workflow (.github/workflows/build.yml) that can be triggered manually from the Actions tab in the GitHub UI:

  1. Go to your repository on GitHub
  2. Click the Actions tab
  3. Select Build Linux from the left sidebar
  4. Click Run workflowRun workflow

The workflow will:

  1. Download the latest upscayl-bin backend binary from the upscayl-ncnn release
  2. Install dependencies with Bun
  3. Build the Electron app targeting Linux (AppImage, deb, rpm, pacman)
  4. Upload all artifacts to the workflow run
  5. Create a GitHub Release with the artifacts attached

All four Linux package formats are automatically available for download from the release.


Tech Stack

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

Credits

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.

About

An open-source, AI-powered video upscaler for Linux. TuxScale utilizes Real-ESRGAN models and Vulkan compute to enhance video quality locally.

Topics

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors