microsoft / microsoft/WSL

Feature request: expose Intel AI Boost NPU to WSL2 and Docker Desktop Linux containers

Open
#40,842 4 comments 1 reaction 0 assignees View on GitHub
feature
Dominant language
C++
Stars
33.7k
Forks
1.8k
Avg merge
3d 17h
Merged PRs (30d)
116

Description

Intel AI Boost NPU is available and working from Windows with OpenVINO, but it is not exposed to WSL2 or Docker Desktop Linux containers in a way that Linux OpenVINO can use.

On this machine, Windows OpenVINO can see and run inference on `NPU`, but inside WSL2 / Docker Desktop:

- `/dev/dxg` exists
- `/usr/lib/wsl/drivers` contains Intel NPU driver files and OpenVINO wrapper files
- `/dev/accel/accel0` does not exist
- `/dev/dri` does not exist
- `modprobe ivpu` fails because the module is not present
- `CONFIG_DRM_ACCEL` is not enabled in the WSL kernel
- Docker direct device mapping fails:
`--device=/dev/accel/accel0` -> `no such file or directory`
- Linux OpenVINO 2026.2.1 inside Docker with `/dev/dxg` and `/usr/lib/wsl` mounted reports only:
`ov.Core().available_devices == ["CPU"]`

This prevents containerized OpenVINO workloads from using the Intel NPU.

**Describe the solution you'd like**

Please add supported Intel AI Boost NPU exposure for WSL2 and Docker Desktop Linux containers.

Ideally WSL2 would expose the NPU through the native Linux accelerator device path:

Expected container-visible device path:

/dev/accel/accel0

Expected Docker Compose mapping:
devices:

- "/dev/accel/accel0:/dev/accel/accel0"

Expected OpenVINO result inside WSL2 or Docker container:

import openvino as ov
print(ov.Core().available_devices)
Expected: ["CPU", "NPU"] or similar

Describe alternatives you've considered
I built a Windows host-side OpenVINO bridge that Docker containers can call through host.docker.internal. This works, but it adds host/container boundary complexity and is not ideal for fully containerized AI workloads.
I also tested Docker --device=/dev/dxg with /usr/lib/wsl mounted, but Linux OpenVINO still reports only CPU.
Running the workload on native Linux may work, but the goal is to support Windows AI PCs using WSL2 and Docker Desktop.

Additional context
Use case: local AI / OpenVINO workloads in Docker containers using Intel AI Boost NPU for embeddings, perception, classifiers, and background inference.

Environment observed:
Windows 11
WSL2 kernel: 6.6.87.2-microsoft-standard-WSL2
Docker Desktop backend: WSL2
OpenVINO: 2026.2.1
Hardware: Intel AI Boost NPU

This would be valuable for AI PC developers who want reproducible Linux container workflows while using the onboard NPU.

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the WSL2 and Docker Desktop behavior with /dev/dxg, /usr/lib/wsl/drivers, and the missing /dev/accel/accel0 and /dev/dri paths. Check the WSL2 kernel's CONFIG_DRM_ACCEL and the ivpu module state, then verify the OpenVINO ov.Core().available_devices result. Done means supported NPU exposure reaches the container and reports NPU alongside CPU.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, linux
Domain
infrastructure, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.