Skip to content

fix(runtime): refresh runtime packaging dependencies - #316

Merged
slomin merged 1 commit into
mainfrom
chore/issue-315-refresh-runtimes
May 18, 2026
Merged

slomin merged 1 commit into
mainfrom
chore/issue-315-refresh-runtimes

Conversation

@slomin

@slomin slomin commented May 18, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • refresh runtime packaging so nested upstream shared libraries are bundled for current ik_llama builds
  • include requirements files in the remote Pi build checkout so install_dev.sh can run from /tmp/potato-os
  • install libvulkan1 as a LiteRT native runtime dependency required by litert-lm-api 0.12.0

Closes #315

Runtime releases

Test evidence

  • uv run python -m pytest tests/unit tests/api -q -n auto: 582 passed
  • npx playwright test tests/ui/runtime.spec.js tests/ui/settings.spec.js --reporter=dot --timeout=15000: 35 passed
  • bin/publish_runtime.sh --family ik_llama --dry-run: produced ik_llama-40aae0b-pi5-opt.tar.gz
  • bin/publish_runtime.sh --family llama_cpp --dry-run: produced llama_cpp-45b455e-universal.tar.gz

Pi QA

  • Device: potato.local, Raspberry Pi 5 Model B Rev 1.0, aarch64
  • Built latest ik_llama from https://github.com/ikawrakow/ik_llama.cpp commit 40aae0b
  • Built latest llama.cpp from https://github.com/ggerganov/llama.cpp commit 45b455e
  • Installed refreshed ik_llama slot; /status READY on family ik_llama commit 40aae0b
  • Chat smoke on ik_llama returned: Potato Runtime OK.
  • Installed refreshed llama_cpp slot; /status READY on family llama_cpp commit 45b455e
  • Chat smoke on llama_cpp returned: Llama C++ Runtime is available now.
  • Runtime switch API llama_cpp -> ik_llama succeeded and returned READY
  • Installed litert-lm-api 0.12.0 and libvulkan1; LiteRT /health returned {"status":"ok","vision":true}
  • Downloaded and activated gemma-4-E2B-it.litertlm; LiteRT chat smoke returned: LiteRT runtime ok.

Notes

  • Current ik_llama upstream places required shared libraries such as libmtmd.so outside top-level build lib/bin directories, so runtime packaging now recursively collects required runtime .so files.
  • LiteRT-LM 0.12.0 requires libvulkan.so.1 to load its native library even for CPU engine startup.

Refreshes runtime packaging for current ik_llama and llama.cpp builds by collecting required nested shared libraries, including SONAME loader names, into packaged runtime slots.

Includes requirements files in the remote Pi build checkout so runtime build/install workflows can run from /tmp/potato-os.

Installs libvulkan1 during development installs so LiteRT-LM 0.12.0 can load its native runtime dependency on Pi.

Closes #315

Test evidence:

- uv run python -m pytest tests/unit tests/api -q -n auto: 582 passed

- npx playwright test tests/ui/runtime.spec.js tests/ui/settings.spec.js --reporter=dot --timeout=15000: 35 passed

- Runtime publish dry-runs produced ik_llama and llama_cpp tarballs

- Real Pi QA passed for ik_llama, llama_cpp, runtime switching, and LiteRT chat smoke
@slomin
slomin force-pushed the chore/issue-315-refresh-runtimes branch from 104fec2 to 66b6b69 Compare May 18, 2026 20:04
@slomin
slomin merged commit ed73b10 into main May 18, 2026
2 checks passed
@slomin
slomin deleted the chore/issue-315-refresh-runtimes branch May 18, 2026 20:06
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.

chore(runtime): refresh ik_llama, llama.cpp, and LiteRT runtime builds

1 participant