Run OpenClaw with local LLM on Intel iGPU using ollama_openvino and OpenVINO™ GenAI, packaged as a Docker container on Windows with WSL2.
This is the Windows/WSL2 counterpart to the Jetson container version.
- Windows 10 IoT Enterprise LTSC 21H2 or Windows 11 (22H2+)
- Intel Core Ultra with Intel Graphics iGPU
- Intel GPU driver 32.0.101.8735+
- ~20 GB free disk space
In Windows PowerShell (Admin):
wsl --install -d Ubuntu-24.04After installation, set your username and password, then open WSL2.
Note: If
wsl --install -d Ubuntu-24.04fails orUbuntu-24.04does not appear inwsl --list --online, your WSL version may be too old. See WSL version too old in the Troubleshooting section.
git clone https://github.com/Advantech-Containers/OpenClaw-on-Intel-iGPU-via-OpenVINO.git
cd OpenClaw-on-Intel-iGPU-via-OpenVINO
./setup.shThe setup script will automatically:
- Install Docker Engine (free, no Docker Desktop required)
- Install Node.js 22 and npm
- Install OpenClaw
- Pull the Docker image from Harbor (~1 GB download)
- Download Qwen3-8B-int4-ov model (~4.5 GB, first time only)
- Configure OpenClaw to use the local ollama provider
sg docker -c "./start_services.sh"Note:
sg dockeris required on the first session after installation because the docker group membership does not take effect until you log out and back in. On subsequent WSL sessions, you can run./start_services.shdirectly.
Open your browser and go to:
http://localhost:18789
The model Qwen3-8B on OpenVINO (iGPU) will be available in the chat interface,
running on your Intel Arc iGPU via OpenVINO GenAI.
Windows 10 IoT Enterprise / Windows 11
└─ WSL2 (Ubuntu 24.04)
└─ Docker Engine (free)
└─ openclaw-ov container
├─ ollama_openvino (built from source)
├─ OpenVINO GenAI 2026.1
└─ /dev/dxg → Intel iGPU
| Component | Specification |
|---|---|
| Platform | Advantech SOM-5885 |
| CPU | Intel Core Ultra 5 338H (Panther Lake) |
| iGPU | Intel Graphics (DEV_B08F, 27.1 GB shared memory) |
| RAM | 48 GB |
| OS | Windows 10 IoT Enterprise LTSC 21H2, WSL2 Ubuntu 24.04 |
| GPU Driver | 32.0.101.8735 (released 4/21/2026) |
Run the diagnostic script to verify all components are working correctly:
./wise-bench.shThis checks:
- Intel Arc iGPU detection via
/dev/dxg - OpenVINO GPU availability
- Docker container status
- Ollama API health
- LLM inference test on iGPU
A score of 6/6 indicates full hardware acceleration is working.
To stop all services and free memory:
pkill -f "openclaw gateway" 2>/dev/null || true
sg docker -c "docker stop openclaw-ov" 2>/dev/null || trueTo start again later, run sg docker -c "./start_services.sh".
On a freshly installed WSL2, the current user may not yet be in the docker group even after setup.sh completes, causing start_services.sh to fail with:
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
Fix:
sudo usermod -aG docker $USER
sg docker -c "./start_services.sh"sg docker applies the new group membership immediately without requiring a logout or WSL restart. On subsequent sessions the group will be active automatically.
On some systems — particularly industrial boards running Windows 10 IoT Enterprise or minimal Windows images — the Intel iGPU driver is not included in the OS image and must be installed manually.
Symptoms:
- Task Manager → Performance shows no GPU entry
- Device Manager → Display adapters shows only
Microsoft Basic Display Adapter
Fix:
-
Open Device Manager → expand Display adapters → right-click
Microsoft Basic Display Adapter→ Properties → Details tab → set Property to Hardware Ids and note the value (e.g.PCI\VEN_8086&DEV_XXXX). -
Download the latest Intel Arc & Iris Xe Graphics driver from:
https://www.intel.com/content/www/us/en/download/785597/ -
Extract the downloaded
.exeusing 7-Zip (do not run it directly — the installer performs a compatibility check that may reject newer or unlisted device IDs). -
In Device Manager, right-click
Microsoft Basic Display Adapter→ Update driver → Browse my computer for drivers → point to the extracted folder with Include subfolders checked → click Next. -
Reboot. Device Manager should now show
Intel(R) Graphicsand Task Manager should show the GPU with its shared memory.
Note for Advantech SOM boards: If the above driver does not install correctly, contact your Advantech FAE for a board-specific BSP driver package.
On Windows 10 IoT Enterprise or older Windows builds, the inbox WSL may be too old to support wsl --version, wsl --update, or Ubuntu-24.04 as an installable distribution.
Symptoms:
wsl --versionprints the help/usage text instead of a version numberwsl --list --onlinedoes not showUbuntu-24.04wsl --install -d Ubuntu-24.04returnsInvalid distribution name
Fix:
Download and install the latest WSL release manually. Go to:
https://github.com/microsoft/WSL/releases/latest
Download wsl.x.x.x.x64.msi (the x64 MSI, ~236 MB), then install it:
msiexec /i wsl.2.6.3.0.x64.msi /quietReboot, then verify:
wsl --version
# Expected: WSL version: 2.6.x.xAfter upgrading, wsl --install -d Ubuntu-24.04 should work normally.
Note: If GitHub is blocked on your network, download the MSI from another machine and transfer it via USB.
On Windows 10 with WSL2, the OpenClaw gateway binds to 127.0.0.1 inside WSL2, which is a separate network interface from the Windows host. The start_services.sh script handles this automatically via Windows port proxy, but if the UI is still unreachable, follow these steps.
Symptoms:
http://localhost:18789returnsERR_CONNECTION_REFUSEDorERR_EMPTY_RESPONSEhttp://<WSL-IP>:18789returnsERR_CONNECTION_REFUSED
Diagnose:
Check if the gateway is listening and confirm the WSL IP:
# In WSL — confirm gateway is running
ss -tlnp | grep 18789
# Get WSL IP
hostname -IFix:
In Windows PowerShell (Admin), add a port proxy rule pointing to the WSL IP:
# Replace 172.x.x.x with your actual WSL IP from hostname -I
netsh interface portproxy add v4tov4 listenport=18789 listenaddress=127.0.0.1 connectport=18789 connectaddress=172.x.x.x
# Add firewall rule
netsh advfirewall firewall add rule name="OpenClaw WSL" dir=in action=allow protocol=tcp localport=18789Then open http://localhost:18789 in your browser.
Note: The WSL IP changes on every reboot.
start_services.shre-applies the port proxy automatically each time it runs, so this is only needed for manual debugging.
Copyright © 2026 Advantech Corporation. All rights reserved.
