Skip to content

Repository files navigation

OpenClaw on Intel iGPU via OpenVINO™

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.

Requirements

  • 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

Setup

Step 1 — Install WSL2 with Ubuntu 24.04

In Windows PowerShell (Admin):

wsl --install -d Ubuntu-24.04

After installation, set your username and password, then open WSL2.

Note: If wsl --install -d Ubuntu-24.04 fails or Ubuntu-24.04 does not appear in wsl --list --online, your WSL version may be too old. See WSL version too old in the Troubleshooting section.

Step 2 — Clone and run setup

git clone https://github.com/Advantech-Containers/OpenClaw-on-Intel-iGPU-via-OpenVINO.git
cd OpenClaw-on-Intel-iGPU-via-OpenVINO
./setup.sh

The 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

Step 3 — Start services

sg docker -c "./start_services.sh"

Note: sg docker is 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.sh directly.

Step 4 — Open OpenClaw UI

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.

Demo

OpenClaw running on Intel iGPU via OpenVINO

Architecture

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

Tested Hardware

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)

Diagnostics

Run the diagnostic script to verify all components are working correctly:

./wise-bench.sh

This 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.

Stop Services

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 || true

To start again later, run sg docker -c "./start_services.sh".

Troubleshooting

Docker permission denied

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.


iGPU not detected (Task Manager shows no GPU)

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:

  1. Open Device Manager → expand Display adapters → right-click Microsoft Basic Display AdapterPropertiesDetails tab → set Property to Hardware Ids and note the value (e.g. PCI\VEN_8086&DEV_XXXX).

  2. Download the latest Intel Arc & Iris Xe Graphics driver from:

    https://www.intel.com/content/www/us/en/download/785597/
    
  3. Extract the downloaded .exe using 7-Zip (do not run it directly — the installer performs a compatibility check that may reject newer or unlisted device IDs).

  4. In Device Manager, right-click Microsoft Basic Display AdapterUpdate driverBrowse my computer for drivers → point to the extracted folder with Include subfolders checked → click Next.

  5. Reboot. Device Manager should now show Intel(R) Graphics and 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.


WSL version too old

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 --version prints the help/usage text instead of a version number
  • wsl --list --online does not show Ubuntu-24.04
  • wsl --install -d Ubuntu-24.04 returns Invalid 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 /quiet

Reboot, then verify:

wsl --version
# Expected: WSL version: 2.6.x.x

After 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.


OpenClaw UI not accessible from Windows browser

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:18789 returns ERR_CONNECTION_REFUSED or ERR_EMPTY_RESPONSE
  • http://<WSL-IP>:18789 returns ERR_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 -I

Fix:

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=18789

Then open http://localhost:18789 in your browser.

Note: The WSL IP changes on every reboot. start_services.sh re-applies the port proxy automatically each time it runs, so this is only needed for manual debugging.


Credits


Copyright © 2026 Advantech Corporation. All rights reserved.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages