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
How we test

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
  1. KoboldCpp Linux: which file?
  2. AMD: Vulkan first, ROCm optional
  3. ARM, Raspberry Pi, Asahi
  4. Step 1: Download
  5. Step 2: Make it executable and run it
  6. Step 3a: Desktop: use the launcher
  7. Step 3b: Server: run it headless
  8. Step 4: Check the GPU is used
  9. Run it as a service (start on boot)
  10. Distro notes
  11. WSL2 on Windows
  12. Update and uninstall
  13. If it doesn’t start

KoboldCpp Linux: which file?

1. Your computer

Answer the questions to get your file.

The three Linux files
koboldcpp-linux-x64599.8CUDA 12.1 + Vulkan + CPUNVIDIA graphics cards
koboldcpp-linux-x64-nocuda102.4Vulkan + CPUAMD, Intel or CPU only
koboldcpp-linux-x64-oldpc454CUDA 11.4 build for older systemsCPUs 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.

Terminal (Linux)
curl -L -o koboldcpp-linux-x64-nocuda https://github.com/LostRuins/koboldcpp/releases/latest/download/koboldcpp-linux-x64-nocuda

Check the hash if you like. In our test the downloaded file had exactly the SHA-256 in the release list F59:

Terminal (Linux)
sha256sum koboldcpp-linux-x64-nocuda

See Is KoboldCpp safe?.

Step 2: Make it executable and run it

Terminal (Linux)
chmod +x koboldcpp-linux-x64-nocuda
./koboldcpp-linux-x64-nocuda

Step 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 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:

No display, no modelr2-lnx no-display · lab-lnx · KoboldCpp 1.124.2 (F59) · exit code 2
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
  1. Warning, GUI failed to start: Reason: no display name and no $DISPLAY : The launcher needs a display.
  2. 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:

Terminal (Linux)
./koboldcpp-linux-x64-nocuda --model ~/models/model.gguf --skiplauncher
./koboldcpp-linux-x64-nocuda --config ~/kobold/my.kcpps --skiplauncher

Save 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:

Ready, CPU onlyR-run1-lnx-nocuda-base-default-args · lab-lnx · KoboldCpp 1.124.2
Unable to detect VRAM.1Auto Selected Default Backend (flag=0)2Please connect to custom endpoint at http://localhost:442353
  1. Unable to detect VRAM.: Normal with no GPU: autofit cannot size the layers.
  2. Auto Selected Default Backend (flag=0): The CPU engine.
  3. 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-smi should list the process, and the log should show CUDA0 buffers.
  • AMD and Intel: vulkaninfo --summary should list your GPU, and the log should show Vulkan0.

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

Tested on Ubuntu 24.04 (our lab and CI). The steps above are the whole install.

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 seeCausePage
Illegal instruction (core dumped)A CPU without AVX2: use -oldpc or --noavx2old CPU
Permission deniedStep 2 skippedStep 2
no $DISPLAYNo display: give a model or configStep 3b
Exception in Tkinter callbackLauncher problem: use the command linelauncher
Failed to extractA full or dirty /tmptemp 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.