- windows_d3d11.rs / windows_player_surface.rs: detect whether the active display supports HDR and, when the "HDR output" preference is on, create the D3D11 swap chain with an HDR-capable format; expose hdr_display_supported() for the frontend to query. - mpv_render.rs: drop the now-redundant format/width/height fields from the D3D11 render target — mpv_d3d11_fbo only needs the texture, which already carries its own format/dimensions. - linux_player_surface.rs: track whether the current Vulkan context is HDR-capable on a shared flag for parity with the Windows path. - storage.rs: add read_pref_bool() to read boolean prefs (used for the hdrEnabled toggle). - lib.rs: register the player_hdr_supported command; tauri.conf.json sets a transparent window background so HDR/SDR compositing doesn't show a black flash. - Frontend: add an "HDR output" toggle in Playback settings, auto-detect and store display support on first run via player_hdr_supported. |
||
|---|---|---|
| .github/workflows | ||
| public | ||
| scripts | ||
| src | ||
| src-tauri | ||
| .env.example | ||
| .gitignore | ||
| DEVELOPMENT.md | ||
| index.html | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| vite.config.ts | ||
| vitest.config.ts | ||
Fluxa Desktop
A fast, native media client for Windows, macOS, and Linux.
Browse catalogs, track what you watch, and play anything the Stremio addon ecosystem exposes.
What it does
Fluxa connects to any Stremio-compatible addon and turns it into a proper desktop app: a home feed with genre and category browsing, a calendar of upcoming episodes, a library with continue-watching and resume positions, and two-way watch tracking with Trakt, MyAnimeList, and Simkl. Playback runs through libmpv, including direct torrent/magnet support, with no telemetry.
Features
- Catalogs & discovery — home feed, genre/category grids, search across every installed addon, and a calendar of upcoming episodes for what you're following
- Library — watchlist, continue watching with resume position, and custom collections, with import support for existing lists
- Watch tracking — two-way sync with Trakt, MyAnimeList, and Simkl
- Playback — subtitle and audio track selection, intro/outro/recap skip, and direct torrent/magnet support
- Profiles — multiple local profiles on one install, each with its own library, addons, and sync accounts
- Addons — install and manage Stremio-compatible addons directly from the app
- Auto-update — checks for and installs new versions in-app
Download
Grab the latest build from Releases.
| Platform | Package |
|---|---|
| Windows 10+ | .exe — NSIS installer |
| macOS 11+ | .dmg — Universal (Intel + Apple Silicon) |
| Linux (Debian / Ubuntu) | .deb |
| Linux (Fedora / RHEL) | .rpm |
| Linux (portable) | .AppImage |
Building from source
git clone https://github.com/FluxaMedia/fluxa-desktop.git
cd fluxa-desktop
npm install
npm run tauri dev
Prerequisites
- Node.js 22+
- Rust stable
fluxa-corechecked out as a sibling directory (../fluxa-core) — it also providesfluxa-streaming-enginelibmpv— either install it system-wide, or run./src-tauri/fetch-libmpv.shto pull the prebuilt gpu-next fork used for release builds- Linux:
sudo apt install libmpv-devorsudo pacman -S mpv - macOS:
brew install mpv - Windows: handled by the fetch script
- Linux:
npm run build # production frontend build
npm run check # typecheck + cargo check
Stack
Tauri 2 · React 18 · TypeScript · Vite · Rust · mpv · librqbit
Legal — Fluxa Desktop is a client-side interface for user-installed Stremio addons. It does not host, serve, or distribute any media content. All streams come from third-party addons chosen by the user. Fluxa is not affiliated with any addon developer, repository, or content provider. Users are responsible for ensuring they have the right to access what they stream.
Community
Questions, bug reports, feature requests, or just want to hang out — join the Fluxa Discord.
Related projects
- Fluxa for Android — the Android counterpart to this app
- fluxa-core — the shared Rust library powering both