Getting Started

This guide takes you from clone to a working local setup.

1) Prerequisites

  • Flutter SDK and Dart in PATH
  • Rust toolchain (rustup, cargo)
  • Docker (optional but recommended for reproducible setup); on Windows install Stevedore and use its bundled docker.exe with --isolation process for builds — see Platforms and ANTfrastructure
  • GStreamer runtime and tools (gst-launch-1.0)

Verify your tooling

flutter --version
dart --version
cargo --version
gst-launch-1.0 --version

2) Clone the repository

git clone --recurse-submodules --branch develop git@github.com:Kataglyphis/OmniAccelerANT.git
cd OmniAccelerANT

If you cloned without submodules:

git submodule update --init --recursive

3) Optional: camera checks on Linux

List available camera devices:

for dev in /dev/video*; do
  echo "Testing $dev"
  gst-launch-1.0 -v v4l2src device=$dev ! fakesink
done

Inspect resolutions/framerates:

sudo apt update
sudo apt install -y v4l-utils
v4l2-ctl --device=/dev/video0 --list-formats-ext

4) Run the app (web profile)

The web build needs web/sqlite3.wasm. It is committed; this is the command that refreshes it. The fetcher lives in ANTfrastructure, next to the version and SHA256 it reads, rather than in a per-app copy:

bash third_party/ANTfrastructure/linux/scripts/05-frameworks/flutter/setup-sqlite3-wasm.sh .

The version and its SHA256 both come from ANTfrastructure's versions.env, and the download is checksum-verified, so a tampered, truncated or simply wrong-version asset fails here rather than in a browser. That check is not theoretical: the copy that was committed did not match the version the script claimed to fetch.

flutter run -d web-server --profile --web-port 8080 --web-hostname 0.0.0.0

Open http://127.0.0.1:8080 in your browser.

5) Build API docs

bash scripts/linux/generate-docs.sh

Serve generated docs locally:

dart pub global activate dhttpd
export PATH="$PATH:$HOME/.pub-cache/bin"
dhttpd --path doc/api --host 127.0.0.1 --port 8080

6) WSL2 USB passthrough (if needed)

usbipd list
usbipd attach --wsl --busid 1-1.2
lsusb

Next Steps