Skip to content
RafaelGoulartBPublic

About

A light linux game launcher, written in Rust. Steam, Epic Games, emulated and Windows games in one library, with play time stats and a console mode.

Topics

Resources

Contributing

Security policy

Stars

57 stars

Watchers

1 watching

Forks

Repository files navigation

Heronite

GitHub stars License: GPL v3 Latest release Built with Rust Platform: Linux Downloads

Every game you own, on Linux, in one fast native launcher.

heronite-demo-github.mp4

Note

Windows support is coming soon. Heronite runs on Linux today, and a Windows version is on the way.

Heronite brings your games from Steam, Epic Games, GOG, Amazon Games, Battle.net, EA app, Ubisoft Connect, and Rockstar Games, plus emulated, native Linux, and Windows games, into one Collection. It launches them through Wine/Proton or an emulator, records every session, and stays light on your PC as a native Rust app (GPUI, GPU rendered).

Your library, organized

  • Collection: a list with a details panel (Focus) or a grid of covers. Group by status, store, genre, series, year and more. The details show screenshots, How Long To Beat, ProtonDB and anti-cheat status, achievements, and a play timeline.
  • Journal: notes on the days you played and on your screenshots, and where you left off.
  • Views: filter, sort, and save presets (Playing now, Backlog, Finished, Favourites). Search forgives accents and typos.
  • Bulk edits: change many games at once, with undo; rename and merge genres, companies, and series.
  • Command palette: Ctrl K opens any page, runs any action, or plays a game.
  • Add any game: native Linux and Windows programs, browser games, install scripts, or ROM folders. Art from Steam, SteamGridDB, IGDB, Lutris, the web, or your screenshots. On first run, Heronite finds your Steam library, emulators, and ROM folders by itself.
Collection in Focus view with ELDEN RING selected, showing screenshots, overview, details, and the play timeline over the game's art
Collection
Command palette searching for 'contr', listing matching games and the play, settings, and open folder actions for Control
Command palette

Stores and launchers

  • Epic Games, GOG, and Amazon Games: log in from Heronite. One download queue installs, updates, repairs, moves, imports, and uninstalls; it pauses offline and retries failed downloads.
  • Steam: your library comes in by itself, no login needed.
  • Battle.net, EA app, Ubisoft Connect, and Rockstar Games: Heronite sets up each store's own app in a Wine prefix of its own. The games you install there show up in your Collection and start from it.
  • Other launchers: bring in the games of Heroic, Lutris, Bottles, and Faugus, and keep them in sync.

Configure and play

  • Wine and Proton: per-game Wine version and prefix, DXVK-NVAPI, Esync/Fsync, gamescope, FPS limit, GPU choice, DLSS/FSR/XeSS upgrades, Winetricks, umu protonfixes, and Lossless Scaling frame generation (lsfg-vk).
  • Wine Manager: download and update Proton-CachyOS, GE-Proton, DW-Proton, UMU-Proton, Proton-EM, and Proton-Sarek, and manage prefixes.
  • Launching: follow and cancel each step, run scripts before and after, programs alongside, and your own actions next to Play.
  • Sandbox: run a game you do not trust through bubblewrap, with no network and no access to your home folder. Let one thing through when it needs more.
  • Emulators: detect installed emulators or add your own with RetroArch cores, scan ROM folders, and continue from save states.
  • In-game overlay (beta): the controller's Guide button opens volume, microphone, FPS limit, screenshots, and journal notes over the game.
  • Replay (off by default): keep the last seconds of play and save them as a moment with Guide + X, recorded on the GPU by gpu-screen-recorder.
Game settings for Control on the Compatibility tab, with the Proton version, prefix, Winecfg and Winetricks buttons, and the umu game fixes
Game settings
Wine Manager listing Proton-CachyOS builds with release dates, sizes, and install buttons
Wine Manager

Look back at what you played

  • Statistics: play time by week, month, year, or all time in five tabs: Overview, Journeys, Backlog (a yearly goal of games to beat), Discoveries, and Album.
  • Year in review: your year as full-screen stories, with a card to share.
  • Sessions: every launch is recorded, screenshots are matched to the game, and sessions can be edited.
Statistics Overview for October 2026 with total time played, cards for the other tabs, and a day-by-day chart per game
Overview
Year in review intro story: Your 2026 in games, with days, games, and sessions next to a wall of covers
Year in review
Backlog tab for 2026 with 9 games beaten, the yearly goal ring, and the beaten games along the year
Backlog

Console mode

A controller-first layout for the couch or a TV, with an on-screen keyboard and a Power menu. Turn it on from the palette, the ☰ menu, or with --console.

  • Themes: change every part of it, live from the couch or in Settings → Console mode: up to four tabs with their own layout (Shelves, Spotlight, Cinema, Dashboard, Grid, Wheel, Carousel, Series X), covers, background, colours, fonts, button glyphs, menus, and game pages.
  • Share them: seven built-in themes (Minimal, Classic, Cinema, Pulse, Arcade, Hub, Living room). Export your own to a .heronite-theme.json file and import it anywhere.
  • Light when off: nothing of it loads while console mode is off. It can open at startup or when a controller connects.
Console home with SP Football Life 2026 large over its art and a Continue playing shelf of covers
Home
Console game page for ELDEN RING with Play, Status, Favourite, Game settings, Playtime, and Ludusavi backup rows next to its details
Game page

Make it yours

  • Appearance: dark or light theme (or the desktop's), accent colour (or the game's), fonts, density, cover style, and a background picture or slideshow.
  • Language: English, Portuguese (Brazil), Spanish, and German, following the system by default.
  • Saves and backups: Ludusavi save backups after each session, and scheduled backups of your Collection, history, settings, and art.
  • Storage: see what your games take on each disk and clean up leftovers.
  • Startup: start with the system, and launch games from heronite://launch links or --launch.
Appearance settings with profiles, accent colours, font and density, and a live preview of the Collection background
Appearance
Storage settings with disk usage bars, space to free up, and a treemap of installed games by size
Storage
Backups settings with the backup folder, schedule, what goes in a backup, and the last backup
Backups
Screenshots settings with the capture folder and space used, lossless compression, the in-game capture shortcut, and controller capture
Screenshots

Light on your PC

A single native process that draws its UI on the GPU, with no bundled browser engine. When idle, it does almost no work.

Heronite
Memory while idle ~190 MB in a single process, ~95 MB closed to the tray
CPU while idle ~0.1% (0.05 s of CPU time over 60 s)
Install size 64 MB (app + store login helper)
Start to library on screen ~215 ms median

Your data

Everything stays on your machine, in Heroic-compatible files under ~/.local/share/heronite/ (or HERONITE_DATA_DIR). An existing Heroic setup is copied once on first start; Heroic's folders are never written to. IGDB metadata needs your Twitch client ID and secret in Settings → Metadata.

Download

Every release has an AppImage and packages for Debian/Ubuntu, Fedora/openSUSE, and Arch:

System File Install
Any distribution (recommended) Heronite-x86_64.AppImage chmod +x Heronite-x86_64.AppImage && ./Heronite-x86_64.AppImage
Debian 12+, Ubuntu 22.04+, Mint, Pop!_OS heronite_<version>-1_amd64.deb sudo apt install ./heronite_*_amd64.deb
Fedora 36+, openSUSE heronite-<version>-1.x86_64.rpm sudo dnf install ./heronite-*.x86_64.rpm
Arch, Manjaro, EndeavourOS, CachyOS heronite-<version>-1-x86_64.pkg.tar.zst sudo pacman -U heronite-*-x86_64.pkg.tar.zst

Heronite updates itself, and every download is checked against its signing key. Keep the AppImage in a writable folder (like ~/Applications) so it can update in place.

Run from source

You need stable Rust, clang and lld, a Vulkan driver, and GTK/WebKitGTK. Heronite downloads legendary, gogdl, and nile itself; Ludusavi is optional.

# quick build (the login window is its own binary, so build it too)
cargo build --profile quick -p heronite-epic-login && cargo run --profile quick -p heronite

# release build, installed for the current user
scripts/install.sh

Development

A Cargo workspace: app/ is the GPUI binary, crates/ holds the GPUI-free libraries, and heronite-epic-login is the separate store login window.

cargo fmt --all
cargo clippy --workspace --all-targets
cargo test --workspace

See ARCHITECTURE.md, CODE-STYLE.md, and UI-CONVENTIONS.md. To release, merge a pull request labelled release:patch, release:minor, or release:major. Issues and pull requests are welcome.

License

Copyright (C) 2026 Rafael Goulart

Licensed under the GNU General Public License v3.0. Third-party components keep their own licenses; see THIRD-PARTY-NOTICES.md.

About

A light linux game launcher, written in Rust. Steam, Epic Games, emulated and Windows games in one library, with play time stats and a console mode.

Topics

Resources

Contributing

Security policy

Stars

57 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages