Skip to content

feat(intel-igpu): detector + installer routing for older Intel iGPUs#41

Merged
growlf merged 1 commit into
mainfrom
feat/older-intel-hardware-ux
May 21, 2026
Merged

feat(intel-igpu): detector + installer routing for older Intel iGPUs#41
growlf merged 1 commit into
mainfrom
feat/older-intel-hardware-ux

Conversation

@growlf
Copy link
Copy Markdown
Owner

@growlf growlf commented May 21, 2026

Closes Issue #9 (substantively): older Intel iGPUs (Iris Pro / Iris / UHD / Gen 9 etc.) are now first-class in the install flow instead of silently falling through to CPU-only.

What changed

scripts/check-iris-gpu.sh (new, +213 lines, executable)

Standalone diagnostic tool that:

  • Detects Intel iGPU class (Arc / Iris-Xe-or-newer / older-Iris-class / none)
  • Verifies i915 driver, render node, render-group membership
  • For Vulkan-recommended classes: checks vulkaninfo + mesa-vulkan-drivers
  • Prints a clear VERDICT=<arc|vulkan|ambiguous|none> + concrete next-step

Exits 0 (recommendation printed) or 1 (no Intel GPU or critical prerequisites missing). Verdict is parseable on the last line for scripted use.

install.sh (modified, GPU auto-detect branch extended)

Previous behavior: Intel iGPU not-matching-"Intel.*Arc" → silent fall through to CPU-only. New operators with older Intel hardware never learned the Vulkan path existed.

New behavior: when a non-Arc Intel iGPU is detected, install.sh explicitly surfaces the Vulkan path with concrete commands:

  1. scripts/check-iris-gpu.sh
  2. scripts/install-vulkan-ollama.sh
  3. ./install.sh --cpu (rest of ai-stack, native Ollama auto-discovered)

Cross-references docs/hardware/intel-igpu-vulkan.md (the canonical procedure from PR #39) and the standalone hardware-target repo at growlf/intel_nuc_skullcanyon_ollama_with_gpu (per the new per-hardware OSS-contribution pattern).

Operator can opt back into CPU-only Docker fallback (interactive [y/N]).

Test plan

  • bash -n scripts/check-iris-gpu.sh — syntax OK
  • bash -n install.sh — syntax OK
  • tests/test_check_arc_gpu.sh — 15/15 still passing (no regression)
  • check-iris-gpu.sh smoke-test on no-GPU host — correctly emits VERDICT=none with helpful guidance
  • On Intel NUC6i7KYB / Iris Pro 580 host: verify VERDICT=vulkan + install.sh new branch correctly routes (community test welcomed)

Related: #38 (whole-dir mount), #39 (native Vulkan path docs+install), #9 (older-Intel hardware support).

Summary

Type of change

  • Bug fix
  • New feature / enhancement
  • Documentation update
  • Refactor / cleanup
  • CI / tooling change

Related issues

Testing

  • docker compose config passes with no errors
  • Shell scripts pass shellcheck
  • Manually tested on Intel Arc hardware (if relevant)

Checklist

  • My changes follow the project's code style
  • I have updated documentation where necessary
  • I have not committed secrets or real credentials
  • .env.example is up to date (if env vars were added/removed)

Closes Issue #9 (substantively): older Intel iGPUs (Iris Pro / Iris /
UHD / Gen 9 etc.) are now first-class in the install flow instead of
silently falling through to CPU-only.

# What changed

## scripts/check-iris-gpu.sh (new, +213 lines, executable)

Standalone diagnostic tool that:
- Detects Intel iGPU class (Arc / Iris-Xe-or-newer / older-Iris-class / none)
- Verifies i915 driver, render node, render-group membership
- For Vulkan-recommended classes: checks vulkaninfo + mesa-vulkan-drivers
- Prints a clear VERDICT=<arc|vulkan|ambiguous|none> + concrete next-step

Exits 0 (recommendation printed) or 1 (no Intel GPU or critical
prerequisites missing). Verdict is parseable on the last line for
scripted use.

## install.sh (modified, GPU auto-detect branch extended)

Previous behavior: Intel iGPU not-matching-"Intel.*Arc" → silent fall
through to CPU-only. New operators with older Intel hardware never
learned the Vulkan path existed.

New behavior: when a non-Arc Intel iGPU is detected, install.sh
explicitly surfaces the Vulkan path with concrete commands:
  1. scripts/check-iris-gpu.sh
  2. scripts/install-vulkan-ollama.sh
  3. ./install.sh --cpu (rest of ai-stack, native Ollama auto-discovered)

Cross-references docs/hardware/intel-igpu-vulkan.md (the canonical
procedure from PR #39) and the standalone hardware-target repo at
growlf/intel_nuc_skullcanyon_ollama_with_gpu (per the new per-hardware
OSS-contribution pattern).

Operator can opt back into CPU-only Docker fallback (interactive [y/N]).

# Test plan

- [x] bash -n scripts/check-iris-gpu.sh — syntax OK
- [x] bash -n install.sh — syntax OK
- [x] tests/test_check_arc_gpu.sh — 15/15 still passing (no regression)
- [x] check-iris-gpu.sh smoke-test on no-GPU host — correctly emits
      VERDICT=none with helpful guidance
- [ ] On Intel NUC6i7KYB / Iris Pro 580 host: verify VERDICT=vulkan +
      install.sh new branch correctly routes (community test welcomed)

Related: #38 (whole-dir mount), #39 (native Vulkan path docs+install),
#9 (older-Intel hardware support).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@growlf growlf self-assigned this May 21, 2026
@growlf growlf merged commit 9e5181f into main May 21, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant