Keep model compilation headless (#49)
build-binaries / build-binaries (push) Successful in 2m14s
build-binaries / build-binaries (push) Successful in 2m14s
## Summary - always wrap NWN model compilation with `xvfb-run`, even when the caller has `DISPLAY` - fail closed with an actionable error when `xvfb-run` is unavailable instead of opening the client UI - update the compiler contract and regression coverage ## Verification - focused red/green regression tests - `nix develop -c make check` - real NWN compile with `DISPLAY=:0` under transient Xvfb; binary MDL output verified Generated with Claude CodeReviewed-on: #49 Co-authored-by: vickydotbat <vickydotbat@tutamail.com>
This commit was merged in pull request #49.
This commit is contained in:
@@ -126,8 +126,9 @@ exactly as the reference does:
|
||||
- Beamdog install dirs.
|
||||
- `--nwn <install>` overrides (path to the install root or directly to the
|
||||
binary).
|
||||
- **Headless.** The engine is a GUI binary. If there is no `DISPLAY` and
|
||||
`xvfb-run` is present, wrap the call:
|
||||
- **Headless.** The engine is a GUI binary. Require `xvfb-run` and wrap the call
|
||||
regardless of the caller's `DISPLAY` so compilation never opens the client
|
||||
UI; fail before invoking the engine when `xvfb-run` is unavailable:
|
||||
`xvfb-run -a --server-args=-screen 0 1024x768x24 nwmain-linux compilemodel <stem>`.
|
||||
- **Per model (one at a time — the engine's `development/` and `modelcompiler/`
|
||||
folders are flat and single-slot):**
|
||||
|
||||
Reference in New Issue
Block a user