System requirements
| Requirement | Minimum |
|---|---|
| Rust toolchain | 1.70 or later |
| Operating system | Windows 10+, Ubuntu 20.04+, macOS 12+ |
| Disk space | ~500 MB (source + build artifacts + avatar databases) |
| RAM | 256 MB minimum; 512 MB recommended |
| Internet | Required for initial database download |
Platform setup
Install the Rust toolchain first, then install the platform-specific system dependencies below.rustup-init.exe installer from rustup.rs.
- Windows
- Linux
- macOS
Install the build tools using During installation, select the Desktop development with C++ workload. This includes the MSVC compiler and Windows SDK that Rust’s linker requires.Alternatively, download the installer directly from visualstudio.microsoft.com.
winget:Compilation
Navigate to theprismic_avatar_search/ subdirectory — this is where Cargo.toml lives.
Method 1: Release build (recommended)
Compiles with full optimizations. Use this for normal usage.Method 2: Development build
Faster to compile, but the resulting binary is slower. Use this when iterating on the source code.Binary location
After a successful build, the compiled binary is placed in thetarget/ directory:
cache/ and config.json).
Dependencies
All dependencies are managed by Cargo and downloaded automatically during the first build. You do not need to install them manually.| Crate | Version | Purpose |
|---|---|---|
eframe | 0.26 | Native window and event loop (egui host) |
egui_extras | 0.26 | Additional egui widgets (image rendering) |
reqwest | 0.11 | HTTP client for VRChat API and database downloads |
serde | 1.0 | Serialization/deserialization framework |
serde_json | 1.0 | JSON encoding and decoding |
flume | 0.11 | Multi-producer, multi-consumer channels for thread communication |
image | 0.25 | PNG and JPEG decoding for avatar thumbnails |
regex | 1.11 | Pattern matching for avatar search |
anyhow | 1.0 | Flexible error handling |
thiserror | 1.0 | Derive macros for typed errors |
env_logger | 0.11 | Log output controlled by RUST_LOG environment variable |
log | 0.4 | Logging facade used throughout the codebase |
open | 5.1 | Opens avatar URLs in the system browser |
chrono | 0.4 | Date and time utilities |
Environment variables
RUST_LOG
Controls log output verbosity. Set it before running the app:
error, warn, info, debug, trace. Use debug when investigating unexpected behavior or reporting issues.
Troubleshooting compilation
If the build fails, try the following:Could not find directory of OpenSSL installation), ensure libssl-dev (Debian/Ubuntu) or openssl-devel (Fedora) is installed.