Install and run KoboldCpp on Linux
Download koboldcpp-linux-x64 (NVIDIA) or koboldcpp-linux-x64-nocuda (AMD, Intel or CPU) from the GitHub releases page, make it executable with chmod +x, and run it from a terminal. On a desktop it opens the launcher; on a server, pass --model (or a .kcpps file with --config) and it starts without a GUI on port 5001. There is no ARM build: Raspberry Pi and other ARM boards need a source build.
Checked against KoboldCpp 1.124.2 · updated 13 Nov 2026
- lab-lnx: Linux test VM · 4 vCPU · 15 GB · no GPU
- gha-u24: Ubuntu 24.04 test machine · 4 vCPU · 16 GB · no GPU
At a glance
- Difficulty
- Beginner with a terminal
- You need
- 64-bit x86 Linux
- Download
- 102 MB or 600 MB
- Tested on
- Ubuntu 24.04
On this page
- KoboldCpp Linux: which file?
- AMD: Vulkan first, ROCm optional
- ARM, Raspberry Pi, Asahi
- Step 1: Download
- Step 2: Make it executable and run it
- Step 3a: Desktop: use the launcher
- Step 3b: Server: run it headless
- Step 4: Check the GPU is used
- Run it as a service (start on boot)
- Distro notes
- WSL2 on Windows
- Update and uninstall
- If it doesn’t start
KoboldCpp Linux: which file?
Answer the questions to get your file.
| koboldcpp-linux-x64 | 599.8 | CUDA 12.1 + Vulkan + CPU | NVIDIA graphics cards |
| koboldcpp-linux-x64-nocuda | 102.4 | Vulkan + CPU | AMD, Intel or CPU only |
| koboldcpp-linux-x64-oldpc | 454 | CUDA 11.4 build for older systems | CPUs without AVX2, or old NVIDIA cards |
AMD: Vulkan first, ROCm optional
Use koboldcpp-linux-x64-nocuda with Vulkan. Upstream also publishes an experimental koboldcpp-linux-x64-rocm, but only under the rocm-rolling pre-release. We have not tested it. See AMD.
ARM, Raspberry Pi, Asahi
There is no ARM build: koboldcpp-linux-arm64 returns 404 F01. You build from source: build from source.
Step 1: Download
Download from the browser, or from a terminal with curl. The stable address pattern is https://github.com/LostRuins/koboldcpp/releases/latest/download/<file>; all seven files resolved on 14 Nov 2026 F60.
curl -L -o koboldcpp-linux-x64-nocuda https://github.com/LostRuins/koboldcpp/releases/latest/download/koboldcpp-linux-x64-nocudaCheck the hash if you like. In our test the downloaded file had exactly the SHA-256 in the release list F59:
sha256sum koboldcpp-linux-x64-nocudaSee Is KoboldCpp safe?.
Step 2: Make it executable and run it
chmod +x koboldcpp-linux-x64-nocuda
./koboldcpp-linux-x64-nocudaStep 3a: Desktop: use the launcher
On a desktop, running the file with no arguments opens the launcher, the same one as on Windows (launcher). We have not tested GNOME on X11 or Wayland or high-DPI scaling yet. Users report a broken first window with high-DPI scaling (#1858) and an exo-open: symbol lookup error … libharfbuzz message when the browser opens automatically (#1302), which you can avoid by turning off Launch Browser. On the Extra tab, Linux has two extra options: a classic file picker and “Spawn Terminal Logs”.
Step 3b: Server: run it headless
The launcher appears only when you give no model and no config, and Never shows the GUI launcher (headless start); overrides --showgui.Default falseSince v1.15All details makes sure it never does. Over SSH without a display, we ran the file with no arguments and got this, and the process exited with code 2 F59:
Warning, GUI failed to start: Reason: no display name and no $DISPLAY environment variable1File selection GUI unsupported.You must use the command line instead, e.g. python ./koboldcpp.py --help2- Warning, GUI failed to start: Reason: no display name and no $DISPLAY : The launcher needs a display.
- You must use the command line instead, e.g. python ./koboldcpp.py --he: The fix: give a model or a config.
Pass a model, or a saved .kcpps file:
./koboldcpp-linux-x64-nocuda --model ~/models/model.gguf --skiplauncher
./koboldcpp-linux-x64-nocuda --config ~/kobold/my.kcpps --skiplauncherSave a .kcpps from the launcher on another machine, or build the command with the config builder and read .kcpps files. A normal start on a machine with no GPU looks like this F18:
Unable to detect VRAM.1Auto Selected Default Backend (flag=0)2Please connect to custom endpoint at http://localhost:442353- Unable to detect VRAM.: Normal with no GPU: autofit cannot size the layers.
- Auto Selected Default Backend (flag=0): The CPU engine.
- Please connect to custom endpoint at http://localhost:44235: The server is ready. The default port is 5001; our test used a random one.
Step 4: Check the GPU is used
- NVIDIA: install the proprietary driver (Ubuntu’s Additional Drivers).
nvidia-smishould list the process, and the log should showCUDA0buffers. - AMD and Intel:
vulkaninfo --summaryshould list your GPU, and the log should showVulkan0.
Do not trust the “offloaded N/N layers” line alone F17: read the KV buffer size line. If the CUDA file cannot load because the driver is missing, we saw libcuda.so.1: cannot open shared object file with a CUDA flag, and the nocuda file does not fail that way. Either update the driver or use the nocuda file with Vulkan (not yet tested on a real old driver). See not using the GPU, NVIDIA and AMD.
Run it as a service (start on boot)
We have not tested a service ourselves yet. The usual approach is a systemd user service that runs the binary with --config <file>.kcpps --skiplauncher, restarts on failure and logs to journalctl --user. On a headless server, turn on lingering so that it keeps running after you log out. Do not use sudo to run KoboldCpp itself.
Distro notes
WSL2 on Windows
untested We have not run KoboldCpp in WSL2. It is community information only. It can help when Smart App Control blocks the Windows exe (it won’t start); WSL2 can use an NVIDIA GPU through the Windows driver.
Update and uninstall
Replace the file and keep the old one until the new one works. Your .kcpps configs carry over: in our test a config exported and loaded again gave the same settings, and upstream says old keys are translated on load. Unpacked libraries go to /tmp/_MEI… (seen in our log); users report that a full /tmp breaks start-up with Failed to extract (#2342). To uninstall: delete the binary, the models and configs you created, any /tmp/_MEI* folders left behind, and the systemd unit if you made one.
If it doesn’t start
| What you see | Cause | Page |
|---|---|---|
Illegal instruction (core dumped) | A CPU without AVX2: use -oldpc or --noavx2 | old CPU |
Permission denied | Step 2 skipped | Step 2 |
no $DISPLAY | No display: give a model or config | Step 3b |
Exception in Tkinter callback | Launcher problem: use the command line | launcher |
Failed to extract | A full or dirty /tmp | temp folder |
Or paste the log into the log analyzer, and see errors.
Frequently asked questions
Is there a Linux ARM build of KoboldCpp?
No. The Linux files are for 64-bit x86 only. The file koboldcpp-linux-arm64 returns 404 on GitHub. On a Raspberry Pi or another ARM board you build from source.
How do I run KoboldCpp without the GUI?
Give it a model on the command line with --model, or a saved .kcpps file with --config. The launcher only appears when you give neither, and --skiplauncher makes sure it never does. In our test with no model and no display it printed that the GUI failed to start and exited with code 2.
Which Linux file do I need for an AMD GPU?
koboldcpp-linux-x64-nocuda, which includes Vulkan. An experimental ROCm build exists, but only under the rocm-rolling pre-release on GitHub.
Can I run KoboldCpp in WSL?
It is community information only: we have not tested it. WSL2 can use an NVIDIA GPU through the Windows driver, and it is an option when Smart App Control blocks the Windows file.
How do I start KoboldCpp automatically on boot?
Run it from a systemd service that uses --config with a .kcpps file and --skiplauncher. We have not tested a service ourselves yet, so use the description below as a starting point.