2 stable releases

1.3.2 Dec 13, 2020
1.2.8 Dec 12, 2020

#203 in Games




a minimal, improved speedrun timer

Latest Release

The goal of this project is not to have more features than LiveSplit or to look better than LiveSplit. Rather, the goal is to be lighter and more efficient than LiveSplit and to maintain compatibility with many platforms.

Planned features

More will probably be added to this list in the future

  • Cross platform
    • Linux
    • Windows
    • MacOS (compiled & tested in macOS catalina VM)
  • Human-readable split file (using ron)
  • LiveSplit split file transposing (for now, check out this site)
  • (limited) customizability (i.e custom colors, perhaps fonts and layouts)
  • split file creation tool
  • fps-based time conversion (so that the timer always ends on a time that corresponds to a possible frame time) (30fps done)
  • dynamic run comparisons and colors
  • last 5 run avg comparison
  • integrated notes (like SpeedGuidesLive)

Requested features

Features that people have asked for but i'm not sure if i can implement go here

  • Gif split icons
  • Gif timer background
  • Subsplits

Unplanned features

These features are highly unlikely be implemented, in the spirit of minimalism. This does not always mean they will never happen.

  • Autosplitters
  • horizontal timer layout
  • Ingame time
  • Internet time sync
  • SRC/SRL/splits.io integration



mist is available on crates.io as mist. You should be able to just run mist in the command line if you do this.

cargo install mist

Compiling from source

Probably the best way to try this out is to compile it from source. To do this you need rust installed, and an installation guide for that can be found here.


Requirements are SDL2, SDL2_Image and SDL2_TTF shared libraries, as well as development libraries. On ubuntu:

sudo apt-get install libsdl2 libsdl2-ttf libsdl2-image libsdl2-dev libsdl2-ttf-dev libsdl2-image-dev

(i think)

On arch:

sudo pacman -S sdl2 sdl2_ttf sdl2_image

Clone this repo (git clone https://github.com/LtPeriwinkle/mist), enter the directory, and run cargo build --release. The resulting binary will be in ./target/release/. When you run it, make sure it is in the same directory as assets/ or else it won't work.


Follow this guide to set up your SDL dependencies. You will have to follow this process for SDL2, SDL_Image and SDL2_TTF, whose development stuff is available here and here.

Clone the repository as shown in the linux section, and enter the folder. Then run cargo build --release. The .exe will be in .\target\release\. Move it into the same folder as assets\, as well as all of the SDL2, SDL2_Image and SDL2_TTF related dll files in order to run it.


Like Rust itself, mist is licensed under MIT or Apache 2.0, at your option. Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.


~351K SLoC