The useful consensus is that the site changes packaging more than substance. People who already run local models still see llama.cpp as the baseline tool for serious desktop inference, especially if you want direct control over model files, server flags, hardware backends, and performance tuning. Several comments say the practical comparison is now
llama-server versus
vLLM for self-hosted setups, with llama.cpp favored for broad hardware support and the
GGUF ecosystem. Ollama comes up mostly as a convenience wrapper that helped popularize local models, but many commenters think advanced users eventually outgrow it once they want tighter control, better routing, or fewer abstractions between them and the runtime.
A second theme is that llama.cpp has quietly grown features that many people still associate with wrappers. Multiple commenters point out that llama-server can now serve multiple models and route requests between them, enough that third-party tools like llama-swap are no longer mandatory for many setups. That said, the native routing stack is still described as immature around defaults, client behavior, and operations. The current shape is clear: llama.cpp is absorbing the features that once justified wrappers, but it has not eliminated every reason to keep an external manager around.
The comments are most valuable on hardware reality. On macOS, people report that the performance gap with
MLX has narrowed a lot, often to within roughly 10 percent, while GGUF model availability and quant choices remain a big advantage for llama.cpp. On AMD, the mood is much harsher.
ROCm is described as regression-prone and second-class enough that several people recommend skipping it entirely and using
Vulkan unless you enjoy debugging backend churn. On Intel Arc, the main pain is build and backend support rather than the core runtime itself. Across all platforms, the recurring advice is to tune startup parameters for your hardware because defaults leave real speed on the table, and speculative decoding or n-gram speculation can deliver large gains when the model supports it.
The strongest criticism is not about model quality but operational polish. People like the project, yet describe the main branch as unstable, backend support as uneven, and installers as a tradeoff between accessibility and trust. The `curl | sh` debate never really lands on security theater versus purity. It lands on audience. Newcomers want a frictionless path. Experienced operators want reproducible builds, known install locations, package manager guarantees, or just a git checkout they control. That split also explains the site itself. Llama.cpp is no longer content to be only the engine under someone else’s UX. Llama.app is the project making a direct play for the default user-facing entry point too.