TL;DR;

ollama-cuda unterstützt unter CachyOS (zum jetzigen Zeitpunkt) nur compute >= 7.5.

Wenn du ältere GPUs mit niedrigerem compute hast, MUSST du eines von 2 Dingen tun:

  • ollama-cuda aus dem Quellcode bauen, mit Unterstützung für die älteren Compute-Targets
  • ollama-vulkan installieren

Ich habe mich für ollama-vulkan entschieden und es läuft einwandfrei!

Storytime

Heute kam mir die Eingebung, endlich meine Windows-11-VM abzuschalten und auf Linux zu migrieren.

Die Anforderungen waren, dass Folgendes laufen muss:

  • Ollama – für lokale Modell-Magie
  • Docker – für Remote-Entwicklung
  • Steam – zum Zocken
  • Jellyfin – für das Heimvideo-Archiv

Ich konzentriere mich jetzt nur auf Ollama, denn es war eine interessante Erfahrung und hat mich zum Nachdenken gebracht, warum die Dinge nicht offensichtlicher sind.

In der Maschine stecken 2 GPUs:

  • GTX 1070 – 8 GB
  • GTX 970 – 4 GB

Ich wollte Ollama darauf laufen lassen, um mit lokalen Modellen herumzuspielen und zu schauen, wie ich sie in ein paar Projekte integrieren könnte. Zum Beispiel: Daten lokal anonymisieren, eine nicht-destruktive OpenClaw-Implementierung bauen, die zu meinen Anwendungsfällen passt, lokale OCR für Dokumente, die ich mit dem Handy scanne, und einige Dinge im Alltag der Haushaltsverwaltung automatisieren.

Also habe ich ganz selbstverständlich ollama und ollama-cuda installiert, da ich 2 Nvidia-GPUs drin habe, und erwartet, dass das problemlos funktioniert, schließlich lief es unter Windows ja noch ein paar Minuten zuvor.

Ich habe Ollama gestartet, qwen3:8b für ein schnelles Experiment geladen und… es lief auf der CPU 🤔

Die GPUs wären völlig in der Lage gewesen, das Modell im VRAM zu halten, aber aus irgendeinem Grund entschied sich Ollama, es auf der CPU laufen zu lassen.

Nachdem ich versucht hatte, es anhand der Logs herauszufinden, habe ich Claude um Hilfe gebeten, und der kam mit einem ziemlich entmutigenden Ergebnis um die Ecke:

The logs tell the story clearly. Both your GPUs are detected but then filtered out because they fail CUDA initialization:

  "filtering device which didn't fully initialize" id=GPU-eb132a13-b9f4-40e3-d85d-60f211dfd21e ... library=CUDA
  "filtering device which didn't fully initialize" id=GPU-550263c8-37e2-2a25-c0b6-10cc7511ed20 ... library=CUDA

  The reason is the CUDA library bundled with Ollama 0.17.4 was compiled for these architectures only:

  CUDA.0.ARCHS=750,800,860,870,880,890,900,1000,1030,1100,1200,1210

  The minimum supported compute capability is 7.5 (Turing / RTX 20xx series). Your GPUs are older than that:

  ┌──────────┬────────────────────┬──────────────┐
  │   GPU    │ Compute Capability │ Architecture │
  ├──────────┼────────────────────┼──────────────┤
  │ GTX 1070 │ 6.1                │ Pascal       │
  ├──────────┼────────────────────┼──────────────┤
  │ GTX 970  │ 5.2                │ Maxwell      │
  └──────────┴────────────────────┴──────────────┘

  Neither is in the supported list, so CUDA initialization fails for both, and Ollama falls back to CPU-only inference.

  Your options:

  1. Downgrade Ollama to an older version that still included Pascal/Maxwell support (pre-0.6.x era had broader arch coverage, but check release notes for specifics).
  2. Build Ollama from source with CUDA_ARCHITECTURES="52;61;75;80;86" to include your GPU architectures.
  3. Upgrade GPUs to at least an RTX 2060 or newer (compute 7.5+).

Das war ehrlich gesagt ein ziemlicher Dämpfer, denn ich wollte die GPUs so lange wie möglich nutzen, bevor ich auf eine neue umsteige.

Ich wollte Ollama nicht tatsächlich aus dem Quellcode neu bauen, denn es sollte eigentlich out of the box funktionieren, und ich war sehr verwirrt, warum es das nicht tat, obwohl die Windows-Installation diese Architekturen unterstützt hat.

Diese Karten wurden auf der Ollama-Website außerdem als unterstützt aufgeführt!

Um die lange Google-Odyssee abzukürzen:

Es stellt sich heraus, dass ollama-cuda nur mit den oben genannten Anforderungen kommt… und der Tipp lautete, ollama-vulkan zu installieren.

Nachdem ich das gemacht hatte, lief alles butterweich!