Skip to content

[Windows ARM][Onboard] NemoClaw preflight reports 'no NVIDIA GPU detected' despite nvidia-smi and Docker --gpus confirming 65GB GPU #4565

@mercl-lau

Description

@mercl-lau

Description

On N1X (Windows ARM + WSL2 + Docker Desktop), NemoClaw onboard preflight reports "no NVIDIA GPU detected" and "Sandbox GPU: disabled" despite the GPU being fully functional. nvidia-smi in WSL shows JMJWOA-Generic-GPU with 65GB VRAM, and docker run --rm --gpus all nvidia-smi succeeds. The same GPU (JMJWOA-Generic-GPU) works correctly on DGX Spark (native Linux).

NemoClaw's WSL Docker Desktop detection (detectWslDockerDesktopStatus) correctly returns "docker-desktop" and docker info confirms "Docker Desktop", but the GPU preflight still skips GPU passthrough. The --gpus compatibility path documented for WSL Docker Desktop is not reached.

As a result, express install on N1X defaults to a small CPU-only model (qwen2.5:7b with 4k context) instead of leveraging the 65GB GPU.

Environment

Device:        N1X (NVIDIA ARM desktop, Windows + WSL2)
OS:            Windows ARM + Ubuntu 24.04 (WSL2)
Architecture:  aarch64
Node.js:       v22.22.3
npm:           10.9.8
Docker:        Docker Desktop (docker-desktop runtime)
OpenShell CLI: 0.0.44
NemoClaw:      v0.0.55 (latest from GitHub)
OpenClaw:      2026.5.22 (a374c3a)
GPU:           JMJWOA-Generic-GPU, 65471 MiB (integrated, same as DGX Spark)

Steps to Reproduce

  1. On N1X with WSL2 + Docker Desktop, verify GPU is available:

    nvidia-smi                                          # shows JMJWOA-Generic-GPU 65GB
    docker run --rm --gpus all nvidia/cuda:12.6.3-base-ubuntu24.04 nvidia-smi  # succeeds
    docker info --format '{{json .OperatingSystem}}'    # returns "Docker Desktop"
  2. Install NemoClaw:

    curl -fsSL https://www.nvidia.com/nemoclaw.sh | bash
  3. Observe preflight output at [1/8]

Expected Result

Preflight detects the GPU via the WSL Docker Desktop --gpus compatibility path:

  • ✓ Docker Desktop WSL detected; using Docker --gpus compatibility path
  • ✓ NVIDIA GPU detected (JMJWOA-Generic-GPU, 65471 MiB)
  • ✓ Sandbox GPU: enabled (auto)

Express install selects a GPU-capable model appropriate for 65GB VRAM.

Actual Result

  ✓ Container runtime: docker-desktop
  ⓘ Running under WSL
  ⓘ Local NIM unavailable — no GPU detected
  ⓘ Sandbox GPU: disabled (no NVIDIA GPU detected)

Express install falls back to CPU-only qwen2.5:7b (4k context).

Note: The CDI warning is printed during install.sh phase [3/3]:

"Docker Desktop is configured for CDI device injection (CDISpecDirs is set) but no nvidia.com/gpu CDI spec is visible from WSL. On Docker Desktop-backed WSL, NemoClaw uses Docker's --gpus compatibility path instead of trying to repair Linux host CDI from inside the WSL distro."

But despite this warning acknowledging the --gpus compatibility path, the onboard [1/8] preflight still reports no GPU.

Logs

# nvidia-smi in WSL confirms GPU:
NVIDIA-SMI 615.10    KMD Version: 615.33    CUDA UMD Version: 13.4
GPU 0: JMJWOA-Generic-GPU  65471MiB

# Docker GPU test succeeds:
docker run --rm --gpus all nvidia/cuda:12.6.3-base-ubuntu24.04 nvidia-smi
→ shows same GPU info, exits 0

# Docker Desktop detection works:
docker info --format '{{json .OperatingSystem}}'
→ "Docker Desktop"

# But NemoClaw preflight says no GPU:
  ⓘ Local NIM unavailable — no GPU detected
  ⓘ Sandbox GPU: disabled (no NVIDIA GPU detected)

Comparison: Same GPU (JMJWOA-Generic-GPU) on DGX Spark (native Linux)
is detected and used successfully with GPU passthrough enabled.

NVB#6244694

Metadata

Metadata

Assignees

No one assigned

    Labels

    NV QABugs found by the NVIDIA QA TeambugSomething isn't workingstatus: triageFor new items that haven't been reviewed yet.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions