Platforms
Every statement here is marked. Tried: it was run. Not tried: it was read in the code or in a crate's source or documentation and has not been run.
TriedNot tried
macOS
- Tried
The platform the app is used with the instruments and tested on.
- Tried
Settings:
~/Library/Application Support/benchControlPlatform/settings.toml. Also tried: the copy of the file from the folder of the old name,homeControlPlatform, into the new folder, with the old file left unchanged. - Tried
Serial ports: macOS lists every USB serial device twice, as
/dev/cu.*and/dev/tty.*. The IPS3608 auto-detection by USB ID (2E3C:5740) prefers the/dev/cu.*port. - Tried
FNB58: hidapi opens HID devices exclusively on macOS. While the app holds the meter, no other program can open it: close the app before the FNB58 hardware tests and run them one at a time (
cargo test fnb58_ -- --ignored --test-threads=1).
Linux
Build
sudo apt-get install pkg-config libudev-dev
- Tried
The build packages on Debian.
- Not tried
The same package names on Ubuntu.
- Not tried
A build without a C compiler.
hidapicompiles C code, so a C compiler is needed (build-essential); the image used had one. A build without the X11 development files was not tried either. - Tried
The binary links no library besides
libudev.so.1and the C runtime (checked withreadelf -d). - Not tried
X11 and Wayland are loaded when the app runs, and the save dialog uses the XDG desktop portal instead of GTK (read in the crates).
- Tried
On 2026-11-14 at commit
669de92, in the Docker imagerust:1.94.1(Debian 13.4, aarch64):cargo fmt --checkpassed,cargo build --lockedbuilt,cargo clippy --locked --all-targets -- -D warningspassed without a warning, andcargo test --lockedgave 394 passed, 0 failed, 3 ignored (the hardware tests). The image has neitherrustfmtnorclippy;rustup component add rustfmt clippyadds them. The run, from the repository root:docker run --rm -v "$PWD":/src:ro -e CARGO_TARGET_DIR=/tmp/target -w /src rust:1.94.1 bash -c ' set -eux apt-get update apt-get install -y --no-install-recommends pkg-config libudev-dev rustup component add rustfmt clippy cargo fmt --check cargo build --locked cargo clippy --locked --all-targets -- -D warnings cargo test --locked' - Not tried
x86_64.
Running the app
Running the app on Linux was not tried: it was started neither on a desktop nor under an X server, and no instrument was connected. Everything in this list was read in the code and the crates.
- Not tried
Desktop: the app draws with wgpu and is built with X11 and Wayland support. It needs a desktop with X11 or Wayland and a GPU driver that wgpu can use.
- Not tried
Save dialogs go through the XDG desktop portal and fall back to
zenity. Without the portal and withoutzenity, the dialog does not open and nothing is saved. - Not tried
Settings:
$XDG_CONFIG_HOME/benchControlPlatform/settings.toml, by default~/.config/benchControlPlatform/settings.toml. - Not tried
Serial ports:
/dev/ttyUSB*(USB serial adapters) and/dev/ttyACM*(USB CDC devices). On Debian and Ubuntu they belong to the groupdialout, so the user needs to be in it (sudo usermod -aG dialout "$USER", then log in again). - Not tried
IPS3608 auto-detection: there is no
/dev/cu.*on Linux, so it takes the first port with the USB ID2E3C:5740. - Not tried
FNB58: hidapi opens the meter through
/dev/hidraw*. These nodes usually belong to root, so a normal user needs a udev rule for2E3C:5558:# /etc/udev/rules.d/70-fnirsi-fnb58.rules SUBSYSTEM=="hidraw", ATTRS{idVendor}=="2e3c", ATTRS{idProduct}=="5558", MODE="0660", TAG+="uaccess"Then
sudo udevadm control --reload-rules && sudo udevadm trigger, and plug the meter in again. Whether a second program can open the meter while the app holds it was not tried either.
Windows
- Not tried
Not supported and not tried: no build, no test, no run.
Check a platform
Run these four commands on the platform; each must pass. cargo deny is a tool of its own (cargo install cargo-deny --locked). The pipeline runs the same four in the image rust:1.94.1.
cargo fmt --check
cargo clippy --locked --all-targets -- -D warnings
cargo test --locked
cargo deny check licenses
- Tried
On macOS all four pass.
- Tried
In the Linux container the first three passed.
- Not tried
cargo denyin the Linux container.
cargo test skips the hardware tests; they are marked ignored and need the instrument.
Condensed from docs/platforms.md in the repository.