Linux compatibility: tested in theory, untested in practice — looking for feedback
The codebase is now (probably) cross-platform — PowerShell scripts use #requires -Version 7.0 and branch on the $IsWindows automatic variable; the Python server (nollama.py) was always platform-agnostic. But the only machines I have access to are Windows 11 boxes, so the Linux path is untested in practice. Opening this issue so a Linux user landing here knows what's claimed and what isn't, and so anyone who tries it has a place to report what they find.
What's been done
install.ps1, start-template.ps1, download-model.ps1 are all gated to PowerShell 7+ (cross-platform; install from Microsoft's docs)
- venv layout branches:
venv\Scripts\ on Windows, venv/bin/ on Linux
- The model directory link uses junctions on Windows, symbolic links on Linux (
New-Item -ItemType SymbolicLink)
- Initial Python bootstrap detects
python or python3 automatically
- Port-pick uses
System.Net.Sockets.TcpListener (cross-platform .NET)
- Browser auto-open uses
Start-Process wrapped in try/catch — headless boxes just print the URL
What's untested
- Whether
pwsh install.ps1 actually runs end-to-end on a clean Linux install
- Whether
New-Item -ItemType SymbolicLink for ./model → ~/models/<name> works correctly across the OpenVINO model load
- Whether OpenVINO's Linux NPU stack (via
intel-npu-driver userspace) actually loads NPU models — Intel ships Linux NPU support but it's less battle-tested than the Windows path
- Whether the
openvino-genai Python wheels work cleanly on common Linux distros (Ubuntu 22.04+, Fedora, Arch...)
- Whether
hf and optimum-cli work as expected after Linux venv activation (theory: yes, they're standard Python entry points)
If you're trying this
A minimal smoke test would be:
- Clone the repo on a Linux box with PowerShell 7+ installed and an Intel CPU (NPU and GPU optional but appreciated)
- Install
python3 3.10+ if needed
pwsh ./install.ps1 and pick a small model (DeepSeek-1.5B INT4 is fast, Phi 3.5 Mini is the next step up)
pwsh ./start.ps1
curl http://localhost:8000/health — should report ready with device names
- Open the web UI and try a chat
What would be most useful in a reply
- Distro + version + kernel
- Output of
pwsh --version, python3 --version, and lscpu | grep -i 'model name'
- Whether
install.ps1 completes cleanly
- Whether the model loads on its detected device(s)
- Any error messages, ideally with full stack traces
- If something needs editing in the
.ps1 scripts to work, the smallest diff that does it
No pressure to fix anything yourself — even just "it crashed at step X with this error" is genuinely useful data. If it works as-is on your system, that's also worth saying so the project can claim Linux properly.
Linux compatibility: tested in theory, untested in practice — looking for feedback
The codebase is now (probably) cross-platform — PowerShell scripts use
#requires -Version 7.0and branch on the$IsWindowsautomatic variable; the Python server (nollama.py) was always platform-agnostic. But the only machines I have access to are Windows 11 boxes, so the Linux path is untested in practice. Opening this issue so a Linux user landing here knows what's claimed and what isn't, and so anyone who tries it has a place to report what they find.What's been done
install.ps1,start-template.ps1,download-model.ps1are all gated to PowerShell 7+ (cross-platform; install from Microsoft's docs)venv\Scripts\on Windows,venv/bin/on LinuxNew-Item -ItemType SymbolicLink)pythonorpython3automaticallySystem.Net.Sockets.TcpListener(cross-platform .NET)Start-Processwrapped in try/catch — headless boxes just print the URLWhat's untested
pwsh install.ps1actually runs end-to-end on a clean Linux installNew-Item -ItemType SymbolicLinkfor./model→~/models/<name>works correctly across the OpenVINO model loadintel-npu-driveruserspace) actually loads NPU models — Intel ships Linux NPU support but it's less battle-tested than the Windows pathopenvino-genaiPython wheels work cleanly on common Linux distros (Ubuntu 22.04+, Fedora, Arch...)hfandoptimum-cliwork as expected after Linux venv activation (theory: yes, they're standard Python entry points)If you're trying this
A minimal smoke test would be:
python33.10+ if neededpwsh ./install.ps1and pick a small model (DeepSeek-1.5B INT4 is fast, Phi 3.5 Mini is the next step up)pwsh ./start.ps1curl http://localhost:8000/health— should reportreadywith device namesWhat would be most useful in a reply
pwsh --version,python3 --version, andlscpu | grep -i 'model name'install.ps1completes cleanly.ps1scripts to work, the smallest diff that does itNo pressure to fix anything yourself — even just "it crashed at step X with this error" is genuinely useful data. If it works as-is on your system, that's also worth saying so the project can claim Linux properly.