What is Fastpotify?
Fastpotify is a native Spotify client for the desktop, written in Rust with egui and playing music through librespot. There is no browser engine anywhere in the process, which is the whole point: it starts in well under a second and stays small while it runs, on a machine where the official client does neither. It is a Spotify Connect device in its own right, so it plays on this computer and controls playback on every other device on the account, and your whole library is there: playlists, Liked Songs, saved albums, followed artists, podcasts and episodes, with search, artist, album and playlist pages, a queue, an equalizer, media keys and a tray icon.
⚡ Key Features of Fastpotify
⚡ Native, and Small
Rust and egui, drawn straight to the GPU. No Electron, no embedded Chromium, no web view. It opens in well under a second and its memory footprint stays where it started, which is what makes it usable on an old laptop or a Raspberry Pi.
🔊 A Spotify Connect Device
Play here through librespot, gapless and up to 320 kbps, with optional volume normalisation and an on-disk cache. Or pick this machine from your phone. The device picker moves playback to a speaker or another computer and keeps controlling it from here.
📡 Finds Speakers on the LAN
A librespot, spotifyd or hardware receiver waiting on your network is invisible to Spotify's API until it has an account attached. Fastpotify discovers them over mDNS and connects them for you, after which they behave like any other Connect device.
📚 The Whole Library
Playlists, Liked Songs, saved albums, followed artists, podcasts and saved episodes, filterable in the sidebar. Search across every type, a Home page with Made for you and recently played, and artist, album, playlist and podcast pages that play from any row.
🎛️ Winamp Mini Player
Ctrl+M shrinks the window into a classic mini player that wears real .wsz skins at 1x to 4x, with the spectrum analyser, playlist and ten-band equalizer hanging under it. MilkDrop visuals run through projectM in a window of their own.
🖥️ Proper Desktop Integration
MPRIS on D-Bus, so media keys, your shell and playerctl see it like any other player. Closing the window really closes it while the music keeps playing from the tray, launching it twice raises the existing window, and every common action has a keyboard shortcut.
apt upgrade keeps you on the latest version.
📦 Installation from deb.griffo.io
Step 1: Add Repository
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 There is an always-free mirror. deb-free.griffo.io serves packages free forever, no account, no subscription, at most 2 months behind upstream, security fixes immediately. It currently carries cliamp, Ghostty, lazydocker, Oh My Posh and Zed; Fastpotify is not one of them, so the repository above is the only way to get it today, ask and it can be enrolled.
🧩 About the extrepo option. extrepo is Debian's own tool for external repositories: it writes the sources file and installs the signing key for you, checking the key against signed metadata first. This repository is registered with it as griffo, and the always-free mirror as griffo-free, so on Debian (bookworm, trixie, forky and sid) the commands above are the whole setup.
extrepo sets up the sources file and the key only, so a subscription's credentials still go in /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu is not covered, because extrepo publishes metadata for Debian suites only: there, use the sudo or root commands.
Step 2: Install Fastpotify
# Install latest Fastpotify
sudo apt install fastpotify
# Recommended, so non-Latin track titles are not drawn as boxes
sudo apt install fonts-noto-cjk fonts-noto-core
# Verify installation
fastpotify --version# Install latest Fastpotify
apt install fastpotify
# Recommended, so non-Latin track titles are not drawn as boxes
apt install fonts-noto-cjk fonts-noto-core
# Verify installation
fastpotify --versionStep 3: First run
# Launch it, or pick Fastpotify from the application menu
fastpotify
# Sign in through the browser window it opens, then close it.
# Playing music on this computer needs a Spotify Premium account;
# a Free account can browse the library but not play it.
# List the keyboard shortcuts once the window is up: Ctrl+/ or ?🎯 Basic Usage Examples
Around the window:
# Start it, or raise the copy that is already running
fastpotify
# Ctrl+M the Winamp mini player, and back again
# Ctrl+Q quit for real, tray icon and all
# Ctrl+/ every keyboard shortcut, on one screenDriving it from the shell, over MPRIS:
# playerctl talks to Fastpotify like any other player
playerctl -p fastpotify play-pause
playerctl -p fastpotify next
playerctl -p fastpotify position 90
# What is playing right now, for a status bar
playerctl -p fastpotify metadata --format '{{artist}} - {{title}}'Where it keeps things:
# Settings, session and the audio cache
ls ~/.config/fastpotify
ls ~/.cache/fastpotify
# The desktop entry and icon the package installs
ls /usr/share/applications/fastpotify.desktop
ls /usr/share/icons/hicolor/*/apps/fastpotify.png🔧 Tool Integrations
Fastpotify deliberately builds on what your desktop already has:
- PulseAudio and PipeWire: audio goes out through the session's sound server, with ALSA underneath, which is why the package depends on
libpulse0andlibasound2t64 - MPRIS over D-Bus: the media keys on your keyboard, your desktop's now-playing widget and
playerctlall control it like any other player - The system tray: a status notifier item, so closing the window leaves the music playing and clicking the tray brings it back, the same way on GNOME, KDE and every tiling compositor
- Wayland and X11: both, through the usual client libraries; the package depends on them rather than bundling its own copies
- Noto fonts: Recommended, and what draws Chinese, Japanese, Korean, Arabic, Hebrew, Thai and Indic track titles instead of boxes
🚀 Why Choose deb.griffo.io?
- Official Debian: does not package Fastpotify,
apt install fastpotifyfails on a stock system - cargo install: current, but it builds libprojectM from source on every machine, so you need CMake, a C++ compiler, libclang and the ALSA, PulseAudio and windowing development headers first
- The upstream binary: a single file you place yourself, outside the package manager, with no desktop entry, no icon and no dependency checking
- deb.griffo.io: latest version with automatic updates
- ✅ The Only apt Source: Fastpotify is in neither the Debian nor the Ubuntu archives; this repository packages the official upstream build
- ✅ It Moves Fast: several releases a week, and a Spotify-side change that breaks a page is fixed upstream within days, so being current actually matters
- ✅ Automatic Updates: packages updated within hours of upstream releases
- ✅ Complete Package:
/usr/bin/fastpotify, a desktop entry and the application icon, so it appears in the application menu like anything else - ✅ Honest Dependencies: the real ALSA, PulseAudio, OpenGL, X11 and Wayland libraries are declared, and the Noto fonts are Recommended rather than pulled in silently
- ✅ Two Architectures: amd64 and arm64, the only Linux builds upstream publishes
- ✅ Multi-Distribution: works on Trixie, Forky and Sid
- ✅ Easy Maintenance: standard apt commands for updates
libc6 (>= 2.39) and there is nothing to install on Debian 12, which ships glibc 2.36. Trixie, Forky and Sid are all fine.📦 Package Build Repository
The Debian packages are automatically built and maintained in this GitHub repository:
- 🎵 fastpotify-debian - Latest release builds
🔗 Related Packages
Also available from deb.griffo.io:
- cliamp - A retro terminal music player, for when the desktop is not where you are
- termusic - Another terminal music and podcast player, for local libraries
- lowfi - A one-command lo-fi radio player for when you want no interface at all
- yt-dlp - For the tracks that are not on Spotify at all
💝 Support This Project
If this repository saves you time and effort, please consider supporting it!
