Fling UI
github.com
Spec sheet
- Purpose
- Fling UI is a fullscreen, controller-first trainer manager for Steam and Proton on Linux.Read 8 Oct 2026 · github.com
- Audience
- Its target systems include Bazzite, Steam Gaming Mode on Steam Deck, ROG Ally and Xbox Ally, and regular Linux desktops.Read 8 Oct 2026 · github.com
- Security
- The installer verifies the release archive against SHA256SUMS before extraction, but the project says trainer SHA-256 metadata is diagnostic and does not prove a trainer is safe.Read 8 Oct 2026 · github.com
- License
- The repository identifies Fling as MIT licensed.Read 8 Oct 2026 · github.com
- Controller input
- Controller actions include select, back, install or remove, refresh, settings, and filter navigation; keyboard equivalents are also provided.Read 8 Oct 2026 · github.com
- Download checks
- Downloads use redirect handling, HTTP failure checks, connection and total timeouts, size and file validation, and ZIP dependency checks.Read 8 Oct 2026 · github.com
- Frontend and CLI
- The UI pairs a Godot 4 .NET frontend with a Rust CLI and invokes the CLI through a versioned JSON API.Read 8 Oct 2026 · github.com
- Install
- The installer targets x86_64 Linux or Bazzite and installs under the current user's home directory without root access.Read 8 Oct 2026 · github.com
- Install scope
- The installer supports x86_64 Linux or Bazzite, installs under the current user's home directory, and does not require root.Read 8 Oct 2026 · github.com
- Integration
- Fling discovers Steam games and runs Windows trainers for Proton games; it does not support native Linux executables for trainers.Read 8 Oct 2026 · github.com
- Integrity metadata
- A successful install records trainer source URLs, SHA-256, and UTC installation time in trainer-metadata.json; the README says this hash is diagnostic change tracking, not proof of safety.Read 8 Oct 2026 · github.com
- Library
- The app provides a controller-first library grid with local Steam artwork fallback and trainer states.Read 8 Oct 2026 · github.com
- Logs
- The UI log is stored at Godot's user://logs/fling-ui.log, rotates at roughly 512 KiB, and excludes environment secrets and raw command output.Read 8 Oct 2026 · github.com
- Network behavior
- The refresh command rereads the selected game's Steam manifest and trainer state locally without contacting the network or modifying files.Read 8 Oct 2026 · github.com
- Operations
- The JSON API supports game listing, installed trainer listing, status, install, removal and refresh operations.Read 8 Oct 2026 · github.com
- Prerequisites
- Runtime requirements include Steam and Proton, Bash, Python 3, curl, file, systemd user services and busctl; unzip and protontricks apply to particular cases.Read 8 Oct 2026 · github.com
- Safety
- The project says trainers should be used only in single-player games, warns that online services or anti-cheat may ban accounts, and notes that third-party Windows trainer executables may be unsafe.Read 8 Oct 2026 · github.com
- Safety limit
- The maker warns trainers are for single-player only and that online or anti-cheat systems may ban accounts or block games.Read 8 Oct 2026 · github.com
- Steam support
- Flatpak Steam and custom Steam library paths are supported.Read 8 Oct 2026 · github.com
- Target devices
- The project targets Bazzite and Steam Gaming Mode on Steam Deck, ROG Ally, Xbox Ally, and regular Linux desktops.Read 8 Oct 2026 · github.com
- Trainer handling
- The CLI discovers Steam games, downloads and validates trainers, integrates with systemd, and runs trainers through Proton.Read 8 Oct 2026 · github.com
Where Specifiction places it
- Game Trainers#18 of 307.2