Unsloth Studio - semi-manual install

Anyone wanting to run UnSloth Studio on you Spark you have likely run into the issue with their script claiming that there isn’t an arm64 version of torchcodec @v0.10.0.

No idea why that error is happening or why the Unsloth crew claim incompatibility, but if you let the script run you can then manually install torchcodec from http://download.pytorch.org/whl/cu130/torchcodec-0.10.0%2Bcu130-cp313-cp313-manylinux_2_28_aarch64.whl

I got it up and running without further issue.

thats my guide
Installing Unsloth Studio on DGX Spark
A clean install guide that avoids the aarch64 dependency cascade.
Prerequisites
Verify your environment:

bashnvidia-smi # confirms GB10 visible
nvcc --version # CUDA 13.0
python3 --version # 3.11.x – 3.13.x

Install
Step 1 β€” Run the official installer:

curl -fsSL https://unsloth.ai/install.sh | sh

It will fail at β€œextra codecs” with a torchcodec==0.10.0 error. This is expected on aarch64 β€” keep going.
Step 2 β€” Activate the venv:

source ~/.unsloth/studio/unsloth_studio/bin/activate

Step 3 β€” Install the runtime deps that got skipped:

pip install structlog diceware fastapi aiofiles python-jose passlib bcrypt argon2-cffi

Step 4 β€” (Optional) Install aarch64 torchcodec for audio/TTS support:

pip install torchcodec --index-url=https://download.pytorch.org/whl/cu130

Skip this if you only need LLM training/chat.

Launch

unsloth studio -H 0.0.0.0 -p 8888

Open http://localhost:8888 in your browser. Set a password on first load. Studio should detect your GB10 with CUDA. Why this works
The official installer pins torchcodec==0.10.0, which has no aarch64 wheel on PyPI. When that pin fails, pip rolls back the entire extras batch, leaving Studio’s runtime deps (structlog, diceware, etc.) uninstalled. Step 3 installs them directly; step 4 grabs torchcodec from PyTorch’s own index where the ARM wheel exists.
Next launches
After the first install, you only need:

source ~/.unsloth/studio/unsloth_studio/bin/activate

unsloth studio -H 0.0.0.0 -p 8888

Or skip the activate line if you symlink unsloth into your PATH.

Hi @zezo_khaled, is this still valid?

You had a guide somewhere?

Installing Unsloth Studio on DGX Spark.txt (1.6 KB)

I did a Unsloth Studio installation today (6/5/26) and the script run without any errors:

curl -fsSL https://unsloth.ai/install.sh | sh

and this is full installation log:

elsaco@spark1:~$ curl -fsSL https://unsloth.ai/install.sh | sh

  πŸ¦₯ Unsloth Studio Installer
  ────────────────────────────────────────────────────

  platform       linux
  deps           all system dependencies found
  venv           creating Python 3.13 virtual environment
                 /home/elsaco/.unsloth/studio/unsloth_studio
  venv           using environment
                 /home/elsaco/.unsloth/studio/unsloth_studio
  gpu            NVIDIA GPU detected
                 installing PyTorch (https://download.pytorch.org/whl/cu130)...
                 installing unsloth (this may take a few minutes)...
  setup          running unsloth studio update...

  πŸ¦₯ Unsloth Studio Setup
  ────────────────────────────────────────────────────
  frontend       up to date
  deps           [==========----------]  7/13  flash-attn            warning        Skipping flash-attn: Blackwell GPU detected (sm_100+); no compatible prebuilt wheel
  deps           [====================] 13/13  ROCm torch (final)  
  deps           installed
  transformers   5.3.0 pre-installed
  transformers   5.5.0 pre-installed
  gpu            NVIDIA GPU detected
                 installing prebuilt llama.cpp...
  llama.cpp      prebuilt install failed (continuing)
                 llama.cpp diagnostics (last 120 lines):
   | [llama-prebuilt] no existing llama.cpp install detected at /home/elsaco/.unsloth/llama.cpp; performing fresh prebuilt install
   | [llama-prebuilt] prebuilt install path failed; falling back to source build
   | [llama-prebuilt] prebuilt fallback reason: unslothai/llama.cpp ships only linux-x64 prebuilts; aarch64 Linux falls back to source build
   | platform=Linux machine=aarch64
   | driver_cuda_version=(13, 0)
   | compute_caps=121
   | cuda_visible_devices=unset
   | has_physical_nvidia=True
   | has_usable_nvidia=True
   | chosen_asset=none
   | asset_source=none
   | linux_runtime_lines=cuda13
   | linux_runtime_dirs_cuda13=/usr/local/cuda-13.0/targets/sbsa-linux/lib,/home/elsaco/.unsloth/studio/unsloth_studio/lib/python3.13/site-packages/nvidia/cu13/lib
   | linux_runtime_dirs_cuda12=none
   | nvidia-smi:
   | Fri Jun  5 13:53:12 2026       
   | +-----------------------------------------------------------------------------------------+
   | | NVIDIA-SMI 580.159.03             Driver Version: 580.159.03     CUDA Version: 13.0     |
   | +-----------------------------------------+------------------------+----------------------+
   | | GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
   | | Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
   | |                                         |                        |               MIG M. |
   | |=========================================+========================+======================|
   | |   0  NVIDIA GB10                    On  |   0000000F:01:00.0  On |                  N/A |
   | | N/A   38C    P0             11W /  N/A  | Not Supported          |      0%      Default |
   | |                                         |                        |                  N/A |
   | +-----------------------------------------+------------------------+----------------------+
   | 
   | +-----------------------------------------------------------------------------------------+
   | | Processes:                                                                              |
   | |  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
   | |        ID   ID                                                               Usage      |
   | |=========================================================================================|
   | |    0   N/A  N/A            2555      G   /usr/lib/xorg/Xorg                      559MiB |
   | |    0   N/A  N/A            2852      G   /usr/bin/gnome-shell                    371MiB |
                 falling back to source build
                 building (CUDA, sm_121)...
  llama.cpp      built
  llama-quantize built
  ────────────────────────────────────────────────────
  Unsloth Studio Installed
  ────────────────────────────────────────────────────
  launch         unsloth studio -p 8888
                 (add -H 0.0.0.0 to allow network / cloud access)

                 Created Unsloth Studio shortcut

  Unsloth Studio installed!
  ────────────────────────────────────────────────────


  Start Unsloth Studio now? [Y/n] 
  launch         starting Unsloth Studio...
Starting Unsloth Studio on http://127.0.0.1:8888
[OK] Frontend loaded from /home/elsaco/.unsloth/studio/unsloth_studio/lib/python3.13/site-packages/studio/frontend/dist
INFO:     Started server process [102822]
INFO:     Waiting for application startup.
Hardware detected: CUDA -- NVIDIA GB10
{"timestamp": "2026-06-05T20:56:48.930525Z", "level": "warning", "event": "llama.cpp prebuilt lacks MTP support (--spec-type mtp/draft-mtp). Run `unsloth studio update`. MTP GGUFs will load without speculative decoding."}
WARNING: llama.cpp prebuilt lacks MTP support (--spec-type mtp/draft-mtp). Run `unsloth studio update`. MTP GGUFs will load without speculative decoding.

============================================================
DEFAULT ADMIN ACCOUNT CREATED
    username: unsloth
    password saved to: /home/elsaco/.unsloth/studio/auth/.bootstrap_password
    Open the Studio UI to sign in and change it.
============================================================

INFO:     Application startup complete.
INFO:     Unsloth Studio running on http://127.0.0.1:8888 (To stop: press Ctrl+C -- on macOS, Control+C not Command+C)

πŸ¦₯ Unsloth Studio is running
────────────────────────────────────────────────────
  On this machine -- open this in your browser:
    http://127.0.0.1:8888
    (same as http://localhost:8888)

  API & health:
    http://127.0.0.1:8888/api
    http://127.0.0.1:8888/api/health
────────────────────────────────────────────────────
  Tip: if you are on this computer, open http://localhost:8888/ in your browser.

  Studio is only reachable on this machine (bound to 127.0.0.1).
  To deploy and access globally:
    1. press Ctrl+C to stop Studio
    2. relaunch with:  unsloth studio -H 0.0.0.0 -p 8888
  Only do this on trusted networks -- it exposes the API on every interface.

  To stop Unsloth Studio: press Ctrl+C in this terminal.
  (On macOS this is Control+C, not Command+C.)
────────────────────────────────────────────────────