intel / intel/AI-Playground

Windows 3.1.2-beta: Python-enabled OVMS starts without setupvars environment

Open
#563 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
979
Forks
132
Avg merge
9h 23m
Merged PRs (30d)
8

Description

## Summary

On Windows, AI Playground 3.1.2-beta starts Python-enabled OpenVINO Model Server (OVMS) without the environment required by the bundled `setupvars.ps1`/`setupvars.bat`. `ovms.exe` cannot resolve its embedded `python312.dll` and exits at the Windows loader level with `-1073741515` (`0xC0000135`, `STATUS_DLL_NOT_FOUND`) before producing OVMS output.

The installed OVMS is `2026.3.0` (`releaseTag` `8022ddae3`), which is already the latest upstream Model Server release, so updating OVMS is not a fix.

## Reproduction

1. Install AI Playground `3.1.2-beta` on Windows.
2. Choose an OpenVINO LLM and load it.
3. AI Playground reports that the OVMS process crashed during startup.
4. Run the same `ovms.exe` command without the setupvars environment: it exits with `-1073741515` and no output.

The package contains `ovms/python/python312.dll`. Applying the bundled setupvars environment lets the same executable initialize Python, listen on its REST port, and begin model loading.

```powershell
$ovmsDir = "\OpenVINO\ovms"
$env:OVMS_DIR = $ovmsDir
$env:PYTHONHOME = "$ovmsDir\python"
$env:PATH = "$ovmsDir;$env:PYTHONHOME;$env:PYTHONHOME\Scripts;$env:PATH"
& "$ovmsDir\ovms.exe" --version
```

## Expected behavior

Every OVMS subprocess started by AI Playground (LLM, embeddings, transcription, image generation) receives the same Windows environment as `setupvars.ps1`.

## Fix

Ensure the release includes the Windows branch in `WebUI/electron/subprocesses/openVINOBackendService.ts::buildOvmsEnv()` (currently present on `main`):

```ts
if (process.platform === 'win32') {
return {
...cleanEnv,
OVMS_DIR: this.ovmsDir,
PYTHONHOME: pythonDir,
PATH: [this.ovmsDir, pythonDir, scriptsDir, sanitizedInheritedPath]
.filter(Boolean)
.join(path.delimiter),
}
}
```

Please verify that the Windows packaging pipeline includes this code path and publish a release containing it. The installed `3.1.2-beta` build behaves as though this branch is absent or unused.

## Temporary workaround

Launch AI Playground in a process environment containing the three OVMS paths above. Do not set `PYTHONHOME` persistently for the whole user account, as it can break unrelated Python installations.

Contributor guide

Open the contributing guide

Research direction

Start in WebUI/electron/subprocesses/openVINOBackendService.ts, especially buildOvmsEnv(), and compare the Windows release behavior with the branch currently on main. Verify the Windows packaging pipeline includes this path, then confirm every OVMS subprocess receives the setupvars environment and the packaged release starts OVMS successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron, python, typescript
Domain
desktop, devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
70/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.