Skip to content
,
Run open models from scratch · Part 2

Friendly desktop runners from zero

10 min read
Featured image: Desktop runners from zero. Editorial illustration for Analytics Made Simple.

Jules’s MacBook still had 18.4 GB free at 7:12pm. At 11:40pm Storage showed 4.9 GB, Finder refused a PDF, and three progress bars had each claimed victory. Ollama from the vendor site, LM Studio from a second tab, and a third “local LLM” app a Discord screenshot swore was better. Each pulled the same 8B-class Q4 file. Three copies of 4.1 GB. The chat windows all said llama. The folders did not share a filename, and none of them asked before eating the disk.

This is OS9, Part 2 of Run open models from scratch. Part 1 (OS8) was a hosted open-model chat UI. Tonight the runner sits on the laptop. Next is OS10, one local stack end to end (Ollama-style). Weights vs licenses: Open-source AI explained, OS1, and OS2. If last night you used Groq (the inference company, spelling with a q, not xAI’s Grok), that was still a host. This page is a window on your machine. Privacy: P4. Chooser: Which AI product should I use?. Paths: Learn.

A desktop app is not a model

  • What a desktop runner is, and why llama.cpp can wait
  • How Ollama, LM Studio, and “I’ll compile it” differ on disk
  • Install from the official site, pull one small local model, send one public prompt
  • Where the cloud vs local control hides, including Ollama’s :cloud tags
  • Why Jules ended with three copies of the same 4.1 GB GGUF

A runner is a box around weights

Four ways people try to run weights: Ollama, LM Studio, llama.cpp as the engine, and a second GUI that copies the same file
Four ways people try to run weights: Ollama, LM Studio, llama.cpp as the engine, and a second GUI that copies the same file

A desktop runner is an app that downloads a model file, loads it into RAM (and the GPU if you have one), and gives you a chat box. You are not training. You are asking a quantized file, often a GGUF, to complete a prompt on this machine. GGUF is the single-file format these consumer tools settled on. OS3 covers size. Tonight you need a few GB, small enough that Storage does not scream.

Ollama is the one-command path a lot of people finish. Install it from ollama.com, then talk to it in a terminal (and, as of writing, a small menu bar app). LM Studio is a window from lmstudio.ai: model browser, chat, GPU sliders. Both wrap an engine. That engine is often llama.cpp (on Apple Silicon, LM Studio also talks to MLX). llama.cpp is a later series. If a README tells you to clone it, make, and pass CUDA flags, close the tab.

Other windows exist: Jan, GPT4All, KoboldCpp. Each keeps its own models folder unless you do extra work. Jules’s Discord thread treated “install three” as research. It was three installers eating one SSD.

Rule of thumb: One runner for 30 days. A second app is a second copy of the file until you prove otherwise.

Pick one app and stay there

You do not need a bake-off on night one. Quality gaps among 8B-class Q4 files are smaller than the gap between “it runs” and “the disk is full.” Tonight: one official installer, one small local model, one prompt you would paste into email. Fan, RAM, and battery wait for OS12.

PathWhat you installWhere a ~4 GB file livesStart here if
OllamaApp and CLI from ollama.com~/.ollama/models (blobs, not a pretty filename)You are fine in a terminal and want one command
LM StudioWindow from lmstudio.ai~/.lmstudio/models/publisher/name/*.ggufYou want a chat window, a download button, and sliders
I’ll compile itllama.cpp from GitHub, a compiler, flagsA folder you pick, a GGUF you namedYou already build C++ and you like issue trackers

If you like a terminal, pick Ollama. If you want a GPU offload slider, pick LM Studio. The compile path is for people who already have a compiler on PATH. Jules had three About boxes.

Ollama does not store a friendly model-q4.gguf you can drag into LM Studio. It stores content-addressed blobs under ~/.ollama/models. LM Studio stores publisher/name GGUF files. Sharing one folder is optional homework, not tonight. If you install both and hit Download in each, you pay 4.1 GB twice. That is the whole Jules story.

Install from the official site

First night on one runner: official site, install one app, small local pull plus one prompt, then find the cloud toggle and the models folder
First night on one runner: official site, install one app, small local pull plus one prompt, then find the cloud toggle and the models fo…

Open one of two URLs. Close the rest.

  • Ollama: ollama.com/download (Mac .dmg, Windows installer, Linux install script on the docs)
  • LM Studio: lmstudio.ai (the site detects Mac, Windows, or Linux)

As of writing (August 2026) Ollama’s homepage still sells “on your computer” and “in the cloud” in the same breath. LM Studio still leads with a desktop app, and it also markets local agents and cloud-adjacent services with names that move. Confirm the vendor domain. A GitHub clone of llama.cpp is not an installer. A blog’s re-hosted .exe is not an installer.

Mac, Windows, Linux in one pass

On a Mac, drag Ollama into Applications, or run the LM Studio .dmg. Allow prompts for the one app you chose. On Windows, run the vendor .exe. Ollama lands under your user profile (as of writing, binaries in %LOCALAPPDATA%\Programs\Ollama) and puts ollama on PATH after a new terminal. On Linux, Ollama’s docs still show curl -fsSL https://ollama.com/install.sh | sh. Read that script on the official page the week you run it. Do not paste a curl line from Discord.

  • Ollama: new terminal, ollama --version (or ollama -v) before you pull 4 GB. You want a version string, not “command not found.”
  • LM Studio: open the window, open About, write the version on a sticky note. Look at Settings for a models directory before you download. Default as of writing is ~/.lmstudio/models (Windows: C:\Users\<you>\.lmstudio\models). If C: is tight, change that path first.

Pull one small model, send one prompt

Small means a few gigabytes: a 3B-class or 8B-class quantized file, not a 70B from a leaderboard. Library names move. As of writing, Ollama’s quickstart used a gemma4-style tag. Do not tattoo a tag from this page onto a runbook. Open ollama.com/search or LM Studio’s Discover tab the week you install. Pick a line that is a few GB and does not say cloud.

Ollama’s two verbs for night one:

# Shape only. Confirm the tag on https://ollama.com/search.
# Pick a small LOCAL model. Skip anything labeled cloud.

ollama --version

# If this tag 404s, take the current 3B or 8B local model.
ollama pull llama3.2:3b

ollama list
# NAME with :cloud means the prompt leaves.

ollama run llama3.2:3b
# >>> Summarize this public sentence: The warehouse delay was ours.
# >>> /bye

If the first tokens take 20 seconds, that is the hardware talking, not a broken install. Do not “fix” it with a cloud id in the same window. Write the seconds on the sticky note. Keep the prompt public. Vendor PDFs still belong in the P4 paste test.

In LM Studio the same night is clicks. Discover, pick a GGUF the app marks as fitting your RAM, Download, Load, Chat. Type the same public sentence. If the UI offers “cloud,” “host,” or a giant model that would not fit, you left the local path. Unload it.

Find the cloud or local toggle

OS2’s Ken sent an NDA after a cloud toggle. Jules did not leak a packet. Jules leaked disk. You can do both in one evening if you skip this heading.

Ollama: the name is the toggle

Ollama’s docs (as of writing) describe cloud models as tags that offload to their cloud while you keep the same CLI. The current quickstart used a :cloud suffix (gemma4:cloud was the shape). Sign in with ollama signin. A cloud pull does not put 70B on the SSD. It puts a stub. The prompt still leaves.

Run ollama list. Read every NAME. If it says cloud, do not paste anything you would not email to that company. Their FAQ currently says local runs stay on your machine, and cloud-hosted models process prompts to provide the service. To force local-only: disable_ollama_cloud in ~/.ollama/server.json, or OLLAMA_NO_CLOUD=1, then a restart. The list is the map. The progress bar is not.

LM Studio: settings before the first paste

LM Studio’s pitch is local chat. As of writing their marketing also mentions cloud services and a local agent with its own name. Open Settings. Find the models directory. Find anything that says cloud, host, or account. If a file must not leave, stay on a loaded local GGUF and keep the machine offline after the download. A window on your desktop is not a location proof. Ken already taught that.

Where the 4.1 GB files live

Ollama’s FAQ (as of writing):

  • macOS: ~/.ollama/models
  • Linux (default install): /usr/share/ollama/.ollama/models
  • Windows: C:\Users\%username%\.ollama\models

Change the directory with OLLAMA_MODELS, then restart the app. On a Mac that often means launchctl setenv plus a restart, because the menu bar app does not read your .zshrc. On Windows, set a user environment variable, quit the tray app, start it again. Skip the restart and the next 4.1 GB still lands on C:.

LM Studio’s expected tree (import docs, as of writing) is ~/.lmstudio/models/publisher/model/file.gguf. If Search cannot see a GGUF you dropped in by hand, the folders are the wrong shape. Their CLI can import: lms import path/to/model.gguf (experimental in the current docs). Change the models directory in the UI while it is still empty, then download, so you do not babysit a 12 GB move later.

Hidden folders explain Jules’s 11:40pm surprise. .ollama and .lmstudio do not sit on the Desktop. Open the path. Sort by size. If you see 4.1 GB three times, you are looking at three runners, not three models.

Worked example: three copies of 4.1 GB

Jules wanted “Llama on the laptop” after OS8 felt like another vendor. The Discord screenshot listed three apps and a rocket emoji. All three advertised the same 8B Q4. None reused a file.

AppFolder Jules found laterWhat Storage addedSame weights?
Ollama~/.ollama/models (blobs + manifests)+4.1 GBYes, hashed pieces, no .gguf name
LM Studio~/.lmstudio/models/publisher/name/*.gguf+4.1 GBYes, a real GGUF filename
Third GUIIts own models directory under the user profile+4.1 GBYes, a third copy

18.4 GB free minus 12.3 GB of copies, minus the app bundles, is how you get 4.9 GB and a Finder error on a PDF. The fix is boring. Quit two apps. Uninstall two. Keep one. Delete the extra model folders after the keeper still chats. Do not keep LM Studio “for the UI” and Ollama “for the CLI” on night one. OS10 is the stack you stick with.

Jules’s useful leftover was the sticky note: app name, version, model tag, 4.1 GB, local (no cloud in the list), first-token time. That note is the start of OS10. Three About boxes is not a stack.

The store tile is not a model card

  • Installing three runners because a comparison post had a table.
  • Starting from llama.cpp because a Hacker News thread called the GUIs toys.
  • Pulling a :cloud tag, then telling a teammate it is local because the CLI is named Ollama.
  • Leaving the models directory on a 256 GB system drive, then downloading a second 8B “to compare quants.”
  • Pasting an NDA into the first prompt to “see if it works.” Use a public sentence.
  • Grabbing an installer from a random GitHub zip or a mirror blog.

Install one runner, load one small file

  1. Pick Ollama or LM Studio. Close the other tab.
  2. Download from the official site. Confirm the domain in the address bar.
  3. Run ollama --version or write the LM Studio version from About.
  4. Pull one small local model. Send one public prompt. Write the seconds for the first reply.
  5. Run ollama list (or the in-app model list). Confirm nothing says cloud. Screenshot it.
  6. Open the models folder. Write the path and the GB. If you already have two copies, delete one app tonight.

Next: OS10, one local stack end to end (Ollama-style). That part assumes you kept one runner. Offline tasks come in OS11. A thank-you paragraph still belongs in the chooser, not in a 12.3 GB science fair.

Desktop runner, then a tiny model

  • One official app. Ollama or LM Studio. Not both, not llama.cpp tonight.
  • One small local model. One public prompt. Read the list for cloud tags.
  • Find the folder. A 4.1 GB GGUF copied three times is three runners, not research.

Sources

Written by

Jose S

Founder & Lead Analyst · Analytics Made Simple

Hands-on data strategist, analytics engineering lead, and educator. Writing practical, no-fluff guides to help everyday teams, analysts, and engineers master SQL, AI systems, and modern data architectures.