Skip to main content

VStitcher-CLI Windows Docker Image — Build & Run Guide

This page explains how to build and run a Windows Docker container that hosts Browzwear VStitcher-CLI 2025.2, including GPU considerations, Mesa CPU rendering fallback, installation steps, and how to execute CLI scripts inside the container.

Updated this week

The zipped version of docker file with details instructions available under this link:
VSCLIDockerfile.zip (please contact support to share this with you)

1. Overview

VStitcher-CLI requires:

  • Windows OS (Server 2022 recommended for containers)

  • VC++ Redistributables

  • StylezoneConnect (license login)

  • Optional GPU acceleration — only available on the host, not inside Windows containers

  • Mesa llvmpipe for CPU-only OpenGL rendering inside the container

Due to Windows container limitations:

👉 Windows containers do not get a real DirectX/WDDM GPU.
Unreal/DX12 rendering may fail inside the container.
CPU-only CLI exports (non-Unreal) can work using Mesa software rendering.


2. Installing NVIDIA “Gaming” Drivers on Cloud Providers

VStitcher (and most real-time 3D engines) require a WDDM GPU driver—not a headless TCC driver.

Cloud GPU instances often ship with the wrong driver mode. Below are exact methods to get the correct NVIDIA Gaming (WDDM) driver on AWS and GCP.


2.1 AWS EC2

Supported instance families

AWS instances supporting WDDM GPU drivers:

Instance family

GPU type

WDDM possible?

g4dn

Tesla T4

✔ Yes — via AWS Gaming Driver

g5

A10G

✔ Yes

g6

L4

✔ Yes

p2/p3/p4

V100/A100

✖ No (compute-only, TCC mode only)


How to download the AWS Gaming driver

AWS provides an S3 bucket with the WDDM gaming-certified driver.

Run this on your Windows Server EC2 instance (PowerShell):

Install-PackageProvider NuGet -Force 
Install-Module AWSPowerShell -Force

$bucket = "nvidia-gaming"
$prefix = "windows/latest"
$local = "$env:USERPROFILE\Desktop\NVIDIA"

New-Item -ItemType Directory -Force -Path $local | Out-Null

Get-S3Object -BucketName $bucket -KeyPrefix $prefix -Region us-east-1 | ForEach-Object {
if ($_.Size -gt 0) {
$path = Join-Path $local $_.Key
Copy-S3Object -BucketName $bucket -Key $_.Key -LocalFile $path -Region us-east-1
}
}

This downloads all required files, including the latest gaming WDDM driver.

Install it:

Start-Process "$local\GamingDriver.exe" -ArgumentList "/s" -Wait 

Verify GPU is in WDDM mode:

nvidia-smi 

Output must not say "TCC".
If it still does → reboot → reinstall driver.


2.2 Google Cloud Platform (GCP)

GCP provides GPU drivers through image bundles or manual installs.

Option A — Use prebuilt Windows image with GPUs

When creating a VM in GCP:

  1. Choose GPU-supported Windows image under "Boot Disk""GPU-Optimized images"
    Example:
    Windows Server 2022 with NVIDIA drivers

These include WDDM gaming-capable drivers for supported GPUs (T4, L4, A10, etc.).

Option B — Manual installation

Download driver directly from NVIDIA Cloud Downloads:

$uri = "https://storage.googleapis.com/nvidia-drivers-us-public/GRID/GRID12.0/XXXX/NVIDIA-driver.exe" 
Invoke-WebRequest $uri -OutFile C:\NVIDIA-driver.exe
Start-Process C:\NVIDIA-driver.exe -ArgumentList "-s" -Wait

(Replace path with the exact GPU type from GCP documentation.)


3. Architecture Limitations: No GPU Inside Windows Containers

Windows containers cannot access WDDM GPU acceleration
because DirectX requires a session 1 desktop environment, which containers do not have.

Even if you expose the GPU device:

--device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599 

You will still see inside the container:

Microsoft Basic Render Driver 

This is expected.

Therefore:

Feature

Host Windows

Windows Container

DirectX 12

✔ Works

✖ Not available

Unreal rendering

✔ Works

✖ Fails

CPU rendering

✔ Works

✔ Works

Mesa OpenGL

N/A

✔ Works (software-only)


4. Preparing Build Context

Your build folder should contain:

Dockerfile 
installCli.ps1
mesa/
opengl32.dll
libgallium_wgl.dll
libglapi.dll
CLI-TEST/
cli_test.py
WelcometoBW_Outfit.bw

5. Dockerfile (High-Level Summary)

Key operations:

  1. Base image: mcr.microsoft.com/windows/servercore:ltsc2022

  2. Install VC++ runtime

  3. Download or copy VStitcher-CLI installer

  4. Run silent setup

  5. Copy Mesa DLLs

  6. Add test scripts


6. Building the Container

From the folder with Dockerfile:

docker build --no-cache -t vstitcher-server:v1.0.0 . 

7. Running the Container

Interactive PowerShell session

docker run --rm -it `
--isolation process `
--device class/5B45201D-F2F2-4F3B-85BB-30FF1F953599 `
--entrypoint powershell.exe `
vstitcher-server:v1.0.0

Inside container:

✔ All files are available
✖ GPU still appears as Microsoft Basic Render Driver (expected)


8. Testing Stylezone Login

Inside container PowerShell:

$stylezone = "$env:ProgramFiles\Browzwear\VStitcher-CLI\2025.2\StylezoneConnect.exe" 
& $stylezone --login --username="USER" --password="PASS"

Write-Host "Exit code: $LASTEXITCODE"

Exit code 0 or blank = success.


9. Testing VStitcher-CLI Script

Example:

& "C:\Program Files\Browzwear\VStitcher-CLI\2025.2\VStitcher-CLI.exe" `
--script C:\CLI-TEST\cli_test.py

Output is created under:

C:\CLI-TEST\output 

Logs:

C:\Users\ContainerAdministrator\AppData\Local\Browzwear\log\VStitcher-CLI-54551\ 

10. Known Errors & Fixes

❌ DX12 not supported / Failing to choose D3D12 adapter

Cause: Windows containers cannot access WDDM GPU (DX12)
Fix:

  • Use host execution for DX12 workflows

  • Use Mesa (CPU) rendering inside container


❌ Stylezone license failure

  • Ensure outbound HTTPS allowed

  • Ensure correct credentials

  • Check DNS resolution


❌ Installer times out

Increase timeout in installCli.ps1


11. Recommendations

Goal

Recommended Approach

Full Unreal/DX12 rendering

Run VStitcher-CLI on host, not container

Scalable CPU-only CLI batch rendering

Use this Windows container

GPU acceleration inside container

Not supported by Windows OS today


12. Summary

This guide describes:

  • How to install correct NVIDIA Gaming drivers on AWS & GCP

  • How to build a VStitcher-CLI Windows container

  • How to run & test Stylezone authentication

  • How to execute CLI scripts

  • Limitations of DX12/GPU inside containers

  • Mesa CPU fallback setup

Did this answer your question?