Skip to content

[Bug] Unsloth Studio built llama.cpp with Vulkan instead of CPU only #7213

Description

@grassoste

I installed Unsloth Studio with the install script (curl -fsSL https://unsloth.ai/install.sh | sh) on version 2026.7.1 (or 2026.7.2 I did't pay attention) and it worked really well at the first shot! :)

I am running on full CPU, however I have an Intel UHD 630 integrated GPU present (no dedicated GPU).

Yesterday I then upgraded (with the same command) to this versions
Unsloth Version: v0.1.49-beta
Package Version: 2026.7.3
llama.cpp Version: b10063

And Chat prediction started breaking and CPU was not engaging. After some testing and debugging I noticed that llama.cpp (installed by Unsloth) was crashig with the following error: vk::Queue::submit: ErrorDeviceLost / vk::Device::waitForFences: ErrorDeviceLost. I hence realized that llama.cpp was trying to run on the GPU using the vulkan drivers.

I've thus tested the Unsloth version of llama.cpp manually (i.e. stopping unsloth and just running llama-server with the same params of Unsloth logs) changing those params:

  • set -ngl 0 (instead of 1) and removing --device Vulkan0: still crashes with the same ErrorDeviceLost. GPU buffer allocations (BO: addr=... vram_only=..., Intel i915 driver) still appear in the log, confirming the Vulkan/GPU backend is still active
  • passing GGML_DISABLE_VULKAN=1 to the llama-server command: same exact error.

At this point I tried to swap llama.cpp, so I downloaded the latest version from the official repo, and of course I downloaded the CPU build binaries. Yes the content is a bit different, but Unsloth Studio does not complain too much (just a warning) and calls the llama-server CPU built I just swapped in and it works again as expected (I see high CPU usage and it does not crash even after a few rounds of thinking+tool usage).

Thus it looks like Unsloth Studio correctly detected my integrated GPU and decided to opt for the Vulkan build of llama.cpp. How can I force the CPU build? Or is this a bug and it is not possible? In the docs it says CPU only is possible (and I agree), but I could not find a way to force it during installation or post-installation.
For the moment my workaround seem to work but of course I won't be able to update llama.cpp from Unsloth for now (not such a big problem) and I think the Unsloth version is slightly more optimized.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions