Skip to content

feat(arc): native Ollama + Vulkan path for older Intel iGPUs#39

Merged
growlf merged 2 commits into
mainfrom
feat/intel-igpu-vulkan-path
May 19, 2026
Merged

feat(arc): native Ollama + Vulkan path for older Intel iGPUs#39
growlf merged 2 commits into
mainfrom
feat/intel-igpu-vulkan-path

Conversation

@growlf
Copy link
Copy Markdown
Owner

@growlf growlf commented May 19, 2026

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.

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)

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>
@growlf growlf self-assigned this May 19, 2026
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>
@growlf growlf merged commit 2280f2a into main May 19, 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