The main software component here is the refbox crate. The other crates are support crates that are also used by other binaries, not included here.
On Windows and Mac the app can be run by downloading the latest relase from GitHub and following the bundled instructions.
The app will log all events to a folder called uwh-refbox-logs, which will be placed in the appropriate system folder, selected by the directories crate's definition of data_local_dir. The locations will be:
| Platform | Value | Example |
|---|---|---|
| Linux | $XDG_DATA_HOME or $HOME/.local/share/uwh-refbox-logs | /home/alice/.local/share/uwh-refbox-logs |
| macOS | $HOME/Library/Application Support/uwh-refbox-logs | /Users/Alice/Library/Application Support/uwh-refbox-logs |
| Windows | {FOLDERID_LocalAppData}\uwh-refbox-logs | C:\Users\Alice\AppData\Local\uwh-refbox-logs |
- If you are building on Windows, ensure that you have the Visual Studio Build Tools installed, with the "Desktop development with C++" workload selected.
- Install Rust
- Ensure that you have the following libraries installed:
- OpenSSL (
libssl-devpackage inapt) - pkg-config (
pkg-configpackage inapt) - Alsa (
libasound2-devpackage inapt)
- OpenSSL (
- Go to the
refboxfolder andcargo run - Call the binary with the
-hor--helpflags to get the usage
Builds for cargo targets other than the host target can be compiled using the cross tool:
- Install Docker and ensure it is running
- Install
crossusingcargo install cross - Compile the binary using
cross build --all --release --target <target>, where<target>is the target you want to compile for:aarch64-unknown-linux-gnufor the Raspberry Pi 4 or 5x86_64-pc-windows-gnufor Windowsaarch64-apple-darwinfor newer Arm based Macs (M series chips)x86_64-apple-darwinfor Intel based Macs
- The resulting binaries will be in the
target/<target>/releasefolder.
Contributions are welcome, just open a PR with your changes. All PRs must pass all tests, must have no clippy warnings, and must pass cargo audit before being merged.