Skip to content

Install LM Studio Linux

Alex Stone edited this page May 26, 2026 · 17 revisions

Local LLM - Linux Setup (LM Studio)

Running a local LLM keeps all data private and offline. There are no subscription fees. Hardware and electricity costs apply.

LM Studio is an alternative to Ollama. It uses the same models and the same OpenAI-compatible API. The choice can be changed in settings at any time.

It requires LM Studio and a capable GPU.


Minimum Hardware

To run Elite Dangerous and the LLM on the same machine, a minimum of an NVIDIA RTX 3060 with 12 GB VRAM is required. Performance headroom is limited at this specification.

Tip: Elite Intel can be pointed at an LM Studio instance running on a separate PC on your network. If a second machine with a capable GPU is available, the game PC carries no inference load in this configuration.


Recommended Model

Model VRAM Required Notes
tulu-3.1-8b-supernova Q4_K_M ~5 GB βœ… Recommended. Fast, accurate, works great for commands and queries.
tulu-3.1-8b-supernova Q8_0 ~8.5 GB Higher quality, if VRAM headroom is available.
qwen3 8B ~8 GB Experimental. Expect occasional missed commands and hallucinations.

Step 1 - Install LM Studio

curl -fsSL https://lmstudio.ai/install.sh | bash

The installer drops everything into ~/.lmstudio/ and adds the lms CLI tool. After it finishes, add the CLI to your PATH:

# Add this to your ~/.bashrc
export PATH="$HOME/.lmstudio/bin:$PATH"

Then reload your shell:

source ~/.bashrc

Verify it worked:

lms --help

Step 2 - Download the Model

lms get tulu3.1
Searching for models with the term tulu3.1
No exact match found. Please choose a model from the list below.

? Select a model to download
❯ QuantFactory/Tulu-3.1-8B-SuperNova-GGUF
  mradermacher/Tulu-3.1-8B-SuperNova-i1-GGUF
  QuantFactory/Tulu-3.1-8B-SuperNova-Smart-GGUF
  mradermacher/Tulu-3.1-8B-SuperNova-GGUF
  bunnycore/Tulu-3.1-8B-SuperNova-Smart-IQ4_XS-GGUF
  mradermacher/Tulu-3.1-8B-SuperNova-Smart-GGUF
  mradermacher/Tulu-3.1-8B-SuperNova-Smart-i1-GGUF
  matrixportalx/Tulu-3.1-8B-SuperNova-Q4_0-GGUF
  matrixportalx/Tulu-3.1-8B-SuperNova-Q4_K_M-GGUF

↑↓ navigate β€’ ⏎ select

Use the arrow keys to navigate and Enter to select. Select matrixportalx/Tulu-3.1-8B-SuperNova-Q4_K_M-GGUF.

To list downloaded models:

lms ls

That is the standard path. However, LM Studio has a known bug. In some cases the download fails with: Error: No staff picks found with the specified search criteria.

If that occurs, download the model manually:

curl -s "https://huggingface.co/api/models/matrixportalx/Tulu-3.1-8B-SuperNova-Q4_K_M-GGUF" | grep -o '"rfilename":"[^"]*\.gguf"'

Then import it:

lms import /path/to/tulu-3.1-8b-supernova-q4_k_m.gguf

Step 3 - Start the Server

Load the model and start the inference server:

lms load tulu-3.1-8b-supernova --context-length 8192 --gpu max
lms server start

--gpu max offloads inference to the GPU for maximum performance.

Verify it is running:

curl http://localhost:1234/v1/models

You should receive a JSON list of loaded models. The model ID string in that response is what you will enter in Elite Intel's LLM Model field.

To stop the server:

lms server stop

⚠️ Important: The LM Studio server does not survive reboots. Run lms server start again after each restart, or set up the optional auto-start below.


Step 4 - (Optional) Auto-Start on Boot

To start LM Studio automatically, set it up as a user systemd service. This runs under your own session rather than as a system service. It starts after the desktop environment is up. No root access is required.

find your user id. (replace the user name with your actual user name)

id -u YOUR_USER_NAME

Remember this number. You will need it for the config later.

Create the user systemd directory if it does not exist:

mkdir -p ~/.config/systemd/user

Create the service file:

nano ~/.config/systemd/user/lmstudio.service

Paste this in:

[Unit]
Description=LM Studio Server
After=network.target

[Service]
Type=oneshot
RemainAfterExit=yes
Environment="HOME=/home/YOUR_USERNAME"
Environment="PATH=/home/YOUR_USERNAME/.lmstudio/bin:/usr/local/bin:/usr/bin:/bin"
Environment="XDG_RUNTIME_DIR=/run/user/YOUR_UID"
ExecStartPre=/home/YOUR_USERNAME/.lmstudio/bin/lms daemon up
ExecStartPre=/home/YOUR_USERNAME/.lmstudio/bin/lms load matrixportalx/tulu-3.1-8b-supernova --yes --context-length 8192
ExecStart=/home/YOUR_USERNAME/.lmstudio/bin/lms server start --bind 0.0.0.0 --port 1234
ExecStop=/home/YOUR_USERNAME/.lmstudio/bin/lms server stop
ExecStopPost=/home/YOUR_USERNAME/.lmstudio/bin/lms daemon down

[Install]
WantedBy=default.target

Replace YOUR_USERNAME with your Linux username and YOUR_UID with your user ID. To find your UID:

id -u

⚠️ Why XDG_RUNTIME_DIR? User services run in a stripped-down environment that may not include session variables. LM Studio uses XDG_RUNTIME_DIR for IPC. Without it, the service can fail silently even when lms works correctly from the terminal. This is the most common cause of service failure when manual execution succeeds.

Enable and start it:

systemctl --user daemon-reload
systemctl --user enable lmstudio.service
systemctl --user start lmstudio.service

Verify it is running:

systemctl --user status lmstudio.service
curl http://localhost:1234/v1/models

Troubleshooting: If the service fails, check the journal:

journalctl --user -xeu lmstudio.service --no-pager | tail -40

If it reports "Failed to load model", run lms ls and confirm the model name matches exactly what is in the service file.


Step 4b - (Optional) Fix Slow Inference After Boot

Some users experience slow inference responses when LM Studio starts at boot. The issue resolves immediately after a manual service restart. This is caused by a quirk in LM Studio's daemon initialization. The first cold start may leave the inference runtime in a degraded state.

If slow responses appear after a reboot and resolve after a manual restart, this timer automates the fix.

Create a companion service:

nano ~/.config/systemd/user/lmstudio-restart.service
[Unit]
Description=LM Studio post-boot restart
After=lmstudio.service

[Service]
Type=oneshot
ExecStart=systemctl --user restart lmstudio.service

Create the timer:

nano ~/.config/systemd/user/lmstudio-restart.timer
[Unit]
Description=Restart LM Studio 2 minutes after login

[Timer]
OnBootSec=2min
Unit=lmstudio-restart.service

[Install]
WantedBy=timers.target

Enable the timer:

systemctl --user daemon-reload
systemctl --user enable --now lmstudio-restart.timer

The timer waits 2 minutes after login, restarts the LM Studio service once, and then stays inactive. If you do not experience slow inference, this step is not needed.


Disable Ollama Auto-Start (if installed)

Ollama installs itself as an enabled systemd service by default. To run LM Studio instead and start Ollama only on demand:

sudo systemctl disable ollama.service
sudo systemctl stop ollama.service

Step 5 - Configure Elite Intel

Open the Settings tab in Elite Intel:

  • Leave the LLM Key field blank (local LM Studio does not require one).
  • LLM Address: set to http://localhost:1234/v1/chat/completions. If LM Studio is on another machine, replace localhost with that machine's IP.
  • LLM Model: paste in the model ID string from curl http://localhost:1234/v1/models.
  • Command LLM: set to the same model ID.
  • Query LLM: set to the same model ID.
  • Click Stop then Start on the AI tab to apply changes.

Community πŸ‘‰MatrixπŸ‘ˆ

Clone this wiki locally