Skip to content

System Requirements

This page separates end users (running a desktop installer) from developers (building from source). SpinDeck is atmosphere- and 3D-shelf-first: recommended specs target modern machines. “Minimum” means the software stack can start—not that the experience will feel smooth or look as intended.

Related: Getting Started · Desktop App · Performance & Visuals · Supported Platforms

At a glance

ScenarioMinimum (can launch)Recommended (full experience)
macOS10.15 Catalina, 64-bitmacOS 13+, Apple silicon or recent Intel
WindowsWindows 10 x64 + WebView2Windows 11 x64 with up-to-date WebView2
Linux64-bit distro with webkit2gtk 4.1Ubuntu 22.04+ / equivalent
MemoryAbout 4 GB system RAM available8 GB+ (more headroom on the playback screen)
GPUHardware-accelerated WebGLRecent iGPU or discrete GPU; avoid forced software GL
Display~960×640 usable client area1280×800 or larger; Retina / HiDPI preferred
Disk~50–200 MB free for install + cachesSSD with 500 MB+ free
Node.jsNot required (end users)Only for development / builds

Sources: minimumSystemVersion: "10.15" and window minWidth/minHeight: 960×640 in tauri.conf.json; CI builds on Ubuntu 22.04 and current Windows / macOS runners.


End users — operating systems

macOS

ItemRequirement
Minimum OSmacOS 10.15 Catalina (matches the bundle declaration)
ArchitectureSeparate Apple silicon (arm64) and Intel (x86_64) builds — download the matching asset
WebViewSystem WKWebView (updates with macOS)
PermissionsAccessibility is required for pause / resume of local music clients; see Desktop App
Apple EventsControlling third-party music apps may prompt for automation (NSAppleEventsUsageDescription)

Gatekeeper / quarantine steps for unsigned builds: Desktop App.

Windows

ItemRequirement
Minimum OSWindows 10 x64 (Tauri 2 / WebView2 can go older in theory; this project ships and validates for Win10+)
RecommendedWindows 11, or Windows 10 with current cumulative updates
ArchitectureOfficial releases are x86_64 (see the Windows asset on Releases)
WebViewMicrosoft Edge WebView2 Runtime (usually preinstalled on Win11; the installer bootstraps it when missing)
OtherUnsigned builds may trip SmartScreen; antivirus may flag WebView-related processes

Linux

ItemRequirement
Minimum64-bit desktop with webkit2gtk-4.1 at runtime (Tauri 2)
Recommended distrosUbuntu 22.04+, Debian 12+, or equivalents that ship WebKitGTK 4.1
ArchitectureOfficial releases are x86_64 (.deb / AppImage)
AppImageMay need FUSE (e.g. libfuse2); see Desktop App
Display serverX11 or Wayland (depends on distro + WebKitGTK)

.deb declares dependencies for the package manager; AppImage is more self-contained but still needs the system graphics stack.


End users — hardware & display

CPU

  • Minimum: Any common 64-bit CPU matching the OS build.
  • Recommended: A recent laptop/desktop CPU; the 3D shelf and fullscreen blur use some CPU and GPU compositing.

Memory (RAM)

LevelNotes
MinimumAbout 4 GB system-wide, with hundreds of MB available for SpinDeck + the system WebView
Recommended8 GB+
ObservedOn release builds, WebContent / compositing in the hundreds of MB during browse/playback is expected; see Performance & Visuals

Most resident memory is the system WebView + Three.js / compositing, not the Rust binary size.

GPU

LevelNotes
MinimumWorking drivers with browser-class WebGL (hardware acceleration on)
RecommendedRecent iGPU or discrete GPU; avoid forced “power saving / software rendering” on external displays
Not recommendedSoftware-only GL / some remote-desktop setups — the shelf may stutter or fail to render

By default SpinDeck keeps blur, glass, antialiasing, and similar mood effects; it does not soft-downgrade for legacy GPUs.

Display & window

ItemValue
Default window1280×800
Minimum client area960×640 (tauri.conf.json)
Recommended≥ 1280×800; HiDPI / Retina looks better
Scaling100%–150% OS scale is usually fine; extreme scaling may need a larger window

Storage

ItemNotes
InstallermacOS DMG / app is typically a few MB to tens of MB (varies by release)
RuntimeLogs, cover caches, and WebView disk cache need extra space — reserve hundreds of MB
MediaSSD shortens cold start and cover loading

Network

UseRequirement
Import / refresh playlistsReach the music platform APIs
Cover artFetched via desktop cover:// proxy; needs outbound / CDN access
Offline browse of already imported dataPossible within what is already cached

SpinDeck does not host or stream audio; playback depends on a local music client.


End users — music app dependencies

SpinDeck does not play audio files itself. Full tonearm control also needs the corresponding client installed; depth varies by platform:

Music platformPlaylist importPlayback control (summary)
QQ MusicMost complete (deep links + desktop control)
NetEase Cloud MusicDesktop control (macOS / Windows)
Kugou MusicImport only — no reliable playback control

See Supported Platforms.


Browser preview (UI only)

Without the desktop app, a modern browser can open the Vite dev server or a static build for UI preview:

ItemRequirement
BrowserRecent Chrome / Edge / Safari / Firefox with WebGL
LimitsPlaylist import and local playback control are unavailable — use the desktop app

Developers — building from source

Toolchain for development / CI. End users installing a Release build do not need these.

ToolVersionPurpose
Node.js≥ 22.13 (CI uses 22)Web / docs and frontend builds
pnpm11.x (repo pins 11.18.0)Package manager
RuststableDesktop Tauri builds
Platform toolchainSee belowNative link dependencies

Per-platform extras

PlatformExtra requirements
macOSXcode Command Line Tools; optional rustup targets (aarch64-apple-darwin / x86_64-apple-darwin)
WindowsMicrosoft C++ Build Tools; WebView2 on the dev machine
Linuxlibwebkit2gtk-4.1-dev and the other deps listed in Tauri’s docs (matches CI release.yml)

Commands: Getting Started and Desktop App.


Release matrix (current CI)

The GitHub Release workflow currently builds:

Asset labelRunner / target
macos-armaarch64-apple-darwin
macos-intelx86_64-apple-darwin
windowsx86_64-pc-windows-msvc
linuxx86_64-unknown-linux-gnu (Ubuntu 22.04)

Combinations not listed (e.g. Windows ARM) have no official prebuilt package yet.


Config cheat sheet (in-repo)

SettingLocationValue
macOS minimumapps/desktop/src-tauri/tauri.conf.jsonbundle.macOS.minimumSystemVersion10.15
Default windowsame → app.windows[0]1280×800
Minimum windowsame960×640
Node enginesroot package.json>=22.13
Package managerroot package.jsonpackageManagerpnpm@11.18.0

Contributors

Changelog

Released under the Apache License 2.0.