Skip to content

Linux: Enable Parakeet transcription backend #53

@nephalemsec

Description

@nephalemsec

Problem

Parakeet transcription models (via sherpa-rs/sherpa-onnx) are currently disabled on Linux because the sherpa-onnx pre-built archive only includes shared libraries (.so), not static libraries (.a). The build uses features = ["static", "download-binaries"] which fails at link time on Linux.

Current workarounds:

  • CI uses --no-default-features to skip Parakeet on Linux
  • Nix flake uses buildNoDefaultFeatures = true

Proposed Solutions

  1. Dynamic linking (low effort, ~2-4h) — remove "static" from sherpa-rs features, use ["download-binaries"] only. Ship .so files with the app or require system library. Test if sherpa-rs handles the fallback correctly.

  2. System package approach (medium effort, ~4-8h) — use system-provided libsherpa-onnx instead of download-binaries. Cleaner for Nix packaging. Requires packaging for major distros.

  3. Upstream contribution (high effort) — request sherpa-onnx to include .a files in Linux releases. Long-term fix but requires coordination.

Code References

  • Parakeet backend: src-tauri/src/transcription/parakeet.rs
  • Cargo features: src-tauri/Cargo.toml (sherpa-rs dependency)
  • CI exclusion: commit 5f02ab1
  • Nix build: flake.nix (buildNoDefaultFeatures = true)

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions