Skip to the content.

Native Windows (experimental)

The supported runtime is Linux (or WSL). Native Windows Hermes Desktop is experimental: the portability layer shipped in v2.4.1 and passed its test suite, but end-to-end operation on Windows has not been validated as far as the Linux runtime has. Treat prints started from a Windows install with extra care until you have run the checks below yourself.

What works, what to use

Setup differences vs Linux

export ORCA_SLICER_BIN='C:/path/to/orca242/orca-slicer.exe'

That export covers a single shell session (fine for the validation tests below). For LIVE use, configure persistently instead — see “Live workflow setup” further down: an env var set for one command dies with that shell, and the workflow’s emitted follow-up commands run in fresh shells.

Most path plumbing resolves itself:

The bundled skill text shows the Linux command paths. After installing the skill on Windows, edit the deployed SKILL.md copy (under your Hermes skills dir) and change its python3 /opt/data/scripts/... commands to python C:/path/to/checkout/scripts/.... Everything AFTER the model’s first call self-corrects — the workflow’s own emitted commands carry the right interpreter and paths — but that first call comes from the skill text, and a Linux-shaped one dies on Windows. Automating this rewrite at install time is planned; for now it is a one-time manual step.

Live workflow setup (before pointing at a real printer)

A green test suite proves the code, not your configuration. The workflow emits follow-up commands that run in FRESH shells, so anything you set with a one-off export is gone by the second step. Live use needs persistent, non-secret configuration in the toolkit data dir (~/.local/share/snapmaker-u1/u1_config.json — the workflow prints the exact path if it can’t find a host):

{
  "host": "192.168.86.34",
  "port": 7125,
  "orca_bin": "C:/path/to/orca242/orca-slicer.exe"
}

Then, in order, before the first real job:

  1. Read-only preflight: python scripts/u1_preflight.py reaches the printer and reports tool/material state.
  2. Extract the printer’s own profiles (read-only): python tools/extract_profiles_from_printer.py — they land in profiles/from-printer/, which the picker prefers over bundled stock.
  3. Dry run a fixture STL to the readiness card WITHOUT uploading. If tool options say “material unknown - Moonraker unreachable”, stop and fix the config: selection is allowed offline by design, but the start gate will re-verify the physical material before anything prints, and an unconfigured host means that verification cannot pass.
  4. Only then run a real job, and answer the bed-clear prompt looking at the real bed photo.

Validate your install

Fetch profiles, then run the two Windows-critical checks:

python tools/fetch_snapmaker_profiles.py
export ORCA_SLICER_BIN='C:/path/to/orca242/orca-slicer.exe'
python -m pytest tests/test_real_orca_u1_metadata_e2e.py tests/test_u1_lockfile.py -v

Known-good full-suite runs on Windows are the bar for dropping the “experimental” label.