Description
On Windows ARM reference host (Snapdragon X laptop, ARM64 WSL2 Ubuntu-24.04, no NVIDIA hardware), nemoclaw onboard's preflight reports:
✓ NVIDIA GPU detected (JMJWOA-Generic-GPU, 65471 MB)
and proceeds as if an NVIDIA GPU is present. JMJWOA-Generic-GPU is the Snapdragon X iGPU identifier — the host has no NVIDIA hardware at all. The preflight's GPU detection logic appears to accept any GPU-like device as "NVIDIA GPU detected" without verifying vendor/driver.
Impact: Without --no-gpu, onboard's downstream CDI / GPU paths assume NVIDIA-CDI is available and break later. With --no-gpu, the user works around it but the misleading preflight message is still printed. Sandbox config + downstream code paths (e.g. rebuild's CDI preflight, openshell gateway start --gpu) then trip on the actual absence.
Environment
Device: Windows ARM reference host (Snapdragon X laptop, no NVIDIA hardware)
OS: Ubuntu 24.04.4 LTS Noble Numbat inside WSL2
Architecture: aarch64 (Snapdragon X)
Node.js: v22.22.2
npm: 10.9.7
Docker: 29.1.3, build 29.1.3-0ubuntu3~24.04.2
OpenShell CLI: 0.0.39
NemoClaw: v0.1.0 (main HEAD cfa817b)
OpenClaw: 2026.4.24 (cbcfdf6, bundled)
Steps to Reproduce
- On a Snapdragon X laptop with no NVIDIA GPU, install NemoClaw v0.1.0 and OpenShell 0.0.39 in WSL2 Ubuntu-24.04.
- Run onboard with non-interactive flags +
--no-gpu:
export NEMOCLAW_ACCEPT_THIRD_PARTY_SOFTWARE=1
export NEMOCLAW_NON_INTERACTIVE=1
export NEMOCLAW_PROVIDER=ollama
nemoclaw onboard --fresh --non-interactive --yes \
--yes-i-accept-third-party-software --no-gpu \
--name arm64-test --agent openclaw
- Watch the preflight output in
[1/8] Preflight checks.
Expected Result
Preflight should print something like:
⚠ No NVIDIA GPU detected (found Snapdragon iGPU "JMJWOA-Generic-GPU"). Proceeding with --no-gpu.
OR (if --no-gpu is given) just:
ⓘ GPU passthrough disabled by --no-gpu (no NVIDIA hardware required).
The preflight should differentiate NVIDIA hardware from any-other-GPU-vendor hardware. Reporting ✓ NVIDIA GPU detected for a Snapdragon iGPU is wrong and misleading.
Actual Result
Preflight prints (excerpt from [1/8] Preflight checks):
✓ Docker is running
⚠ Container DNS probe inconclusive (reason: no_output).
✓ Container runtime: docker
ⓘ Running under WSL
✓ Container runtime resources: 20 vCPU / 30.2 GiB
✓ openshell CLI: openshell 0.0.39
✓ Port 8080 available (OpenShell gateway)
✓ NVIDIA GPU detected (JMJWOA-Generic-GPU, 65471 MB) ← false positive on Snapdragon iGPU
✓ Sandbox GPU: disabled by configuration
✓ Memory OK: 30906 MB RAM + 8192 MB swap
JMJWOA-Generic-GPU is the Snapdragon iGPU. No NVIDIA hardware is present on this machine; lspci and nvidia-smi return nothing relevant.
Logs
=== preflight excerpt (~/ARM64_phase3b.log → STEP B onboard output) ===
NemoClaw Onboarding
(non-interactive mode)
===================
[1/8] Preflight checks
──────────────────────────────────────────────────
✓ Docker is running
⚠ Container DNS probe inconclusive (reason: no_output).
docker run produced no output (timed out or failed to start)
Proceeding. If the sandbox build later hangs at `npm ci`, see issue #2101.
✓ Container runtime: docker
ⓘ Running under WSL
✓ Container runtime resources: 20 vCPU / 30.2 GiB
✓ openshell CLI: openshell 0.0.39
✓ Port 8080 available (OpenShell gateway)
✓ NVIDIA GPU detected (JMJWOA-Generic-GPU, 65471 MB)
✓ Sandbox GPU: disabled by configuration
✓ Memory OK: 30906 MB RAM + 8192 MB swap
=== verifying no NVIDIA hardware on Windows ARM reference host ===
$ lspci | grep -i nvidia
(empty — no output)
$ command -v nvidia-smi
(empty — not installed)
$ command -v nvidia-ctk
(empty — not installed)
Related
Downstream consequences (already filed separately):
- NVB#6199735 / GH#3985 —
nemoclaw rebuild preflight does a stricter CDI check than onboard's preflight, fails on the same hardware. The mismatch between onboard's lenient "NVIDIA GPU detected" and rebuild's strict CDI check is itself an inconsistency worth flagging.
Discovered during ARM64 validation for PR #3925 QA but is not PR-introduced — reproduces on main HEAD cfa817b.
NVB#6199809
Description
On Windows ARM reference host (Snapdragon X laptop, ARM64 WSL2 Ubuntu-24.04, no NVIDIA hardware),
nemoclaw onboard's preflight reports:and proceeds as if an NVIDIA GPU is present.
JMJWOA-Generic-GPUis the Snapdragon X iGPU identifier — the host has no NVIDIA hardware at all. The preflight's GPU detection logic appears to accept any GPU-like device as "NVIDIA GPU detected" without verifying vendor/driver.Impact: Without
--no-gpu, onboard's downstream CDI / GPU paths assume NVIDIA-CDI is available and break later. With--no-gpu, the user works around it but the misleading preflight message is still printed. Sandbox config + downstream code paths (e.g. rebuild's CDI preflight,openshell gateway start --gpu) then trip on the actual absence.Environment
Steps to Reproduce
--no-gpu:[1/8] Preflight checks.Expected Result
Preflight should print something like:
⚠ No NVIDIA GPU detected (found Snapdragon iGPU "JMJWOA-Generic-GPU"). Proceeding with --no-gpu.OR (if
--no-gpuis given) just:ⓘ GPU passthrough disabled by --no-gpu (no NVIDIA hardware required).The preflight should differentiate NVIDIA hardware from any-other-GPU-vendor hardware. Reporting
✓ NVIDIA GPU detectedfor a Snapdragon iGPU is wrong and misleading.Actual Result
Preflight prints (excerpt from
[1/8] Preflight checks):JMJWOA-Generic-GPUis the Snapdragon iGPU. No NVIDIA hardware is present on this machine;lspciandnvidia-smireturn nothing relevant.Logs
Related
Downstream consequences (already filed separately):
nemoclaw rebuildpreflight does a stricter CDI check than onboard's preflight, fails on the same hardware. The mismatch between onboard's lenient "NVIDIA GPU detected" and rebuild's strict CDI check is itself an inconsistency worth flagging.Discovered during ARM64 validation for PR #3925 QA but is not PR-introduced — reproduces on
mainHEADcfa817b.NVB#6199809