Skip to main content

Prerequistites

Rust

Install Rust via rustup — the official Rust toolchain installer.

All platforms: go to https://rustup.rs and follow the instructions, or run:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

After installation, restart your terminal and verify:

rustc --version
cargo --version

Bun

Bun is the JavaScript runtime and package manager used for the frontend.

Using npm or yarn will not work with the current setup, there are scripts that specifically call for bun.

Linux / macOS:

curl -fsSL https://bun.sh/install | bash

Windows: download the installer from https://bun.sh

Verify:

bun --version

Tauri CLI prerequisites

Tauri requires some OS-level dependencies in addition to Rust.

Linux (Ubuntu/Debian):

sudo apt update
sudo apt install libwebkit2gtk-4.1-dev libgtk-3-dev \
  libayatana-appindicator3-dev librsvg2-dev patchelf

Windows: install the Microsoft C++ Build Tools and WebView2 (usually already present on Windows 10/11).

macOS:

xcode-select --install

MacOS installation steps were not tested, proceed at your own risk

GStreamer

GStreamer handles video decoding and streaming. Version 1.22.x is required to match the Rust crate versions (gstreamer = "0.22" maps to GStreamer 1.22).

Linux (Ubuntu/Debian):

sudo apt install \
  libgstreamer1.0-dev \
  libgstreamer-plugins-base1.0-dev \
  libgstreamer-plugins-bad1.0-dev \
  gstreamer1.0-plugins-base \
  gstreamer1.0-plugins-good \
  gstreamer1.0-plugins-bad \
  gstreamer1.0-plugins-ugly \
  gstreamer1.0-libav \
  gstreamer1.0-tools

Verify:

gst-launch-1.0 --version

Windows:

  1. Download the MSVC 64-bit installer for GStreamer 1.22.x from https://gstreamer.freedesktop.org/download/
  2. Download both the runtime and development installers
  3. Install both to the default path: C:\gstreamer\1.0\msvc_x86_64\
  4. Add the GStreamer bin directory to your system PATH:
C:\gstreamer\1.0\msvc_x86_64\bin

Verify in a new terminal:

gst-launch-1.0 --version

The GST_PLUGIN_PATH environment variable is set automatically by the app at runtime (in lib.rs), so you do not need to set it manually.

macOS:

brew install gstreamer gst-plugins-base gst-plugins-good \
  gst-plugins-bad gst-plugins-ugly gst-libav