feat(arc): native Ollama + Vulkan path for older Intel iGPUs#39
Merged
Conversation
Adds a deployment path for Intel iGPUs that predate the Arc Alchemist
generation (Iris Pro 580 / Iris / UHD / Gen 9), where the existing
docker-compose.arc.yml (ipex-llm + SYCL) does not work. Uses native
systemd Ollama with the Vulkan backend via Mesa ANV — the actually-
supported community path for older Intel iGPUs.
Files added:
- docs/hardware/intel-igpu-vulkan.md — full procedure + hardware-class
decision tree
- scripts/install-vulkan-ollama.sh — automation (executable):
detection, stop-docker-ollama, group memberships, curl install.sh,
systemd drop-in (OLLAMA_VULKAN=1 + RUSTICL_ENABLE=iris +
GPU_MAX_ALLOC_PERCENT=100 + OLLAMA_GPU_OVERHEAD=0), chown,
journal verification, API check
- README.md — Quick Start callout pointing at the new path
Architecture: native systemd Ollama on localhost:11434; the rest of
ai-stack (Olla, LiteLLM, Router, Shepherd) stays Docker — Smart Router
just routes to the native Ollama as it would to any peer.
Validated 2026-05-19:
- nuk1 (Intel NUC6i7KYB, Iris Pro 580): operator-validated working,
100% GPU on qwen2.5:1.5b, 23.4 GiB unified memory, default ctx 32768
- lab1, lab2, lab3 (similar Intel NUC hardware): same procedure applied
via pod ops; Vulkan/Mesa ANV engaged per journalctl verification
(library=Vulkan name=Vulkan0 description=Intel(R) Iris(R) Pro Graphics 580)
- lab4: offline at deploy time; same procedure applies when next online
Why this matters: ai-stack mission is 'reclaim usability from old
hardware'. Pre-Arc Intel iGPUs are a substantial install base that
ipex-llm has moved past; Vulkan/Mesa ANV is the upstream-living path
for them.
Solution path researched + validated by operator (NetYeti) via fresh-
context Claude.ai prompt in <1 hour; pod ops applied procedure across
peers; codebase update encodes the path for external reproducibility.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
shellcheck SC2034 flagged SCRIPT_DIR as unused (declared but never referenced). Removing eliminates the CI warning and reduces the script footprint by 1 line. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a deployment path for Intel iGPUs that predate the Arc Alchemist generation (Iris Pro 580 / Iris / UHD / Gen 9), where the existing docker-compose.arc.yml (ipex-llm + SYCL) does not work. Uses native systemd Ollama with the Vulkan backend via Mesa ANV — the actually- supported community path for older Intel iGPUs.
Files added:
Architecture: native systemd Ollama on localhost:11434; the rest of ai-stack (Olla, LiteLLM, Router, Shepherd) stays Docker — Smart Router just routes to the native Ollama as it would to any peer.
Validated 2026-05-19:
Why this matters: ai-stack mission is 'reclaim usability from old hardware'. Pre-Arc Intel iGPUs are a substantial install base that ipex-llm has moved past; Vulkan/Mesa ANV is the upstream-living path for them.
Solution path researched + validated by operator (NetYeti) via fresh- context Claude.ai prompt in <1 hour; pod ops applied procedure across peers; codebase update encodes the path for external reproducibility.
Summary
Type of change
Related issues
Testing
docker compose configpasses with no errorsshellcheckChecklist
.env.exampleis up to date (if env vars were added/removed)