A clean, opinionated, GTK4-based speedrun timer for Linux. Load your LiveSplit splits, start your run, and keep an eye on your times with a streamlined, distraction-free interface.
TuxSplit's main window showing splits and timer. Showing all segments
The number of segments to show is adjustable, with auto-scrolling to
nsplit.nis also adjustable
One of the pages of the settings dialog. They are all integrated in the same manner
The segment editor allows adding, removing, renaming, reordering, and modifying splits times
TuxSplit is currently in a very early development phase. The checklist below tracks what's ready today and what’s planned next, so you can quickly see the state of the app and what will be added down the line.
TuxSplit isn’t bundled yet. You can build it from source:
-
Install Rust (stable) and Cargo
-
Install GTK4 and libadwaita development packages
- Debian/Ubuntu:
$ sudo apt install libgtk-4-dev libadwaita-1-dev
- Fedora:
$ sudo dnf install gtk4-devel libadwaita-devel
- Arch:
$ sudo pacman -S gtk4 libadwaita
-
Install & Run
$ chmod +x ./install.sh $ tuxsplit
- Launch TuxSplit
- Click the menu button (top-left) → Load Splits → pick your .lss file
- Press the Start/Split key (see defaults below) and run!
Tip: Use the same menu to Save Splits when you're done. There are currently no automatic saves nor prompts when closing the app.
- Start / Split: Numpad 1
- Skip Split: Numpad 2
- Reset: Numpad 3
- Previous Comparison: Numpad 4
- Pause: Numpad 5
- Next Comparison: Numpad 6
- Undo: Numpad 8
Hotkeys are handled by the app even when the window isn’t focused (global hotkeys). On Linux, this currently relies on the X11 backend.
Wayland support will be added when consistant support for global hotkeys through xdg portals is available on all major desktop environments. Or at least when I can get it working on my own system (GNOME Wayland).
- Splits
- Load existing LiveSplit splits (.lss)
- Save splits back to the same file
- Splits list with current segment highlighting
- Subsplits
- Scrollable list of splits
- Auto-scroll to current split
- Fixed last split
- Multi-column splits view (name, time, delta, best segment, etc)
- Default delta + Comparison
- Customizable columns (not sure if will add)
- Split editor/creator
- Add / Remove splits
- Edit split names and default comparison times
- Reorder splits (drag-and-drop)
- Real time changes with rollback support
- Drag-and-drop to open splits
- Timer
- Start / Split
- Pause / Resume
- Reset
- Undo
- Comparisons
- Switch comparisons via hotkeys (previous/next)
- Hotkeys
- Global hotkeys on X11/XWayland
- In-app Keybindings overview dialog
- Editable keybindings (rebind keys from the UI)
- Wayland global hotkeys support (through xdg portals)
- UI
- Run info display (Game and Category)
- Icons
- Layout customization (rows, columns)
- Adjustable max segments
- Comparison info
- Comparisons
- “Always on top” toggle (Use your compositor equivalent for now)
- Translations (multi-language)
- Settings
- Settings screen (in-app)
- Export/import settings
- Auto-splitters
- Auto-splitter loading and management from the UI
- Distribution
- Flatpak
- Flathub
- Meson Install script
- Flatpak
- Customizations
- Custom split colors and styles
- Custom comparisons
- Flexible time display formats (hours/minutes/seconds/decimals, dynamic).
- Global hotkeys: TuxSplit currently targets X11. On Wayland sessions, it runs through XWayland; if XWayland isn’t available, global hotkeys may not register.
- Splits format: TuxSplit reads and writes LiveSplit’s .lss files.
- Some menu items (like Settings) are visible but not implemented yet—see the roadmap above.
Have an idea or found an issue? Feel free to open an issue in the repository!!
Thanks for trying TuxSplit!



