If you run Spotify on a GNOME desktop, you have probably noticed that the official app does not look or behave like the rest of your system. Riff is an open-source Spotify client built for GNOME with Rust, GTK4 and libadwaita. It gives you your library, search, playlists and playback in a clean native window, with MPRIS media-key support and secure credential storage.
It also comes with two caveats you should read before installing: it needs Spotify Premium, and it may not play music on every account because of Spotify’s PlayPlay DRM. This guide covers what Riff does, where it falls short, and how to install it with Flatpak.
⚡ Quick Summary
- What it is: a native Spotify client for GNOME, written in Rust with GTK4 and libadwaita. It started as a fork of the Spot music player and builds on librespot.
- Cost and licence: free and open source, released under the MIT licence per its Flathub listing. A paid Spotify Premium account is still required.
- Main limit: some Premium accounts cannot play tracks because of Spotify’s proprietary PlayPlay DRM, and the developers say they cannot fix this externally.
- Best install method:
flatpak install flathub dev.diegovsky.Riff. An AUR package (riff-client) is maintained separately.
What is Riff?
Riff is a desktop music client for Spotify’s catalogue. It was originally a fork of Spot, an earlier GTK Spotify client, and the Riff project continues that work with a focus on the GNOME desktop. Its Flathub listing describes it as written in Rust and based on librespot, an open-source library that implements Spotify’s player protocol.
The interface uses GTK4 and libadwaita, the toolkit stack behind modern GNOME apps. In practice this means it follows your light or dark theme and uses a responsive layout that adapts to different window sizes, including narrow windows. The project page summarises the idea simply: your music library front and centre, with a distraction-free design.
Key features
🎵 Playback
Play, pause, skip, seek, shuffle and repeat, with gapless playback and a play queue.
📚 Library
Browse saved albums, playlists, liked songs and followed artists. Like tracks and follow artists, albums and playlists.
🔎 Search
Search for albums, artists, tracks and playlists, and open or share Spotify links with automatic link detection.
🎛️ Audio tools
A built-in audio engine with a 10-band equalizer, stereo pan and pitch shifting, as reported by Linuxiac.
⌨️ Desktop integration
MPRIS support lets multimedia keys and compatible desktop controls manage playback.
🔐 Credentials
Login details are stored with the system’s Secret Service, and Riff can stop the system from suspending during playback.
Limitations to know first
PlayPlay DRM can block playback
The developers warn that some accounts may not work because of Spotify’s PlayPlay DRM. It is proprietary, and the project says it cannot be implemented externally. So even with a valid Premium subscription, tracks may simply fail to play. Treat Riff as something to try rather than something guaranteed to replace the official app.
It is an unofficial client
Riff is not made or endorsed by Spotify. Check Spotify’s current terms of use before relying on any third-party client with your account, and keep the official app available as a fallback.
Flathub shows a sandbox warning
Riff’s Flathub page carries a “potentially unsafe” label and notes that it uses non-portal services. On Flathub this means the app asks for access beyond the standard sandbox portals. For a media player that talks to the network and the system keyring this is common, but you can review and tighten permissions yourself, for example with Flatseal.
The project is young
Riff’s Flathub entry shows a 1.0.0 release and a modest install base, so expect occasional rough edges. The repository also states that it does not accept AI-generated contributions, which is worth knowing if you plan to contribute.
Riff vs the official Spotify app
| Area | Riff | Official Spotify desktop app |
|---|---|---|
| Source code | Open source (MIT, per Flathub) | Closed source |
| Account needed | Spotify Premium only | Free and Premium accounts |
| Toolkit and look | Native GTK4 + libadwaita for GNOME | Its own cross-platform interface |
| Playback reliability | May fail on some accounts (PlayPlay DRM) | Officially supported |
| MPRIS / media keys | Supported | Supported on Linux |
| Extra features | Features listed by the project (equalizer, pan, pitch, queue) | Wider feature set, so check what you rely on before switching |
If you depend on features that are not listed in Riff’s documentation, such as podcasts, offline downloads or Spotify Connect, verify them in the app before you switch. Do not assume they exist.
How to install Riff on Linux
The developers recommend Flathub, so Flatpak is the simplest route on any distribution.
- Install Flatpak if your distribution does not ship it. Fedora and most GNOME-based systems include it already.
- Add the Flathub repository if it is missing.
- Install Riff from Flathub.
- Launch it, sign in with a Spotify Premium account and test playback.
Install with Flatpak (recommended)
# Debian / Ubuntu: install Flatpak first
sudo apt install flatpak
# Add Flathub if it is not configured
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# Install and run Riff
flatpak install flathub dev.diegovsky.Riff
flatpak run dev.diegovsky.Riff
After adding Flathub for the first time, log out and back in so the app shows up in your launcher.
Install on Arch Linux (AUR)
yay -S riff-client
The developers caution that the AUR package is maintained independently and may not always be up to date. If you want the version the project supports, use Flatpak.
Install from a GitHub release
Prebuilt Flatpak bundles are attached to releases in the project’s GitHub repository. For the x86_64 bundle:
flatpak install --user Riff-x86_64.flatpak
Update and remove
# Update all Flatpak apps, including Riff
flatpak update
# Check the installed version and permissions
flatpak info dev.diegovsky.Riff
# Remove Riff
flatpak uninstall dev.diegovsky.Riff
Troubleshooting
Tracks will not play
This is the known PlayPlay DRM limitation on some accounts. Confirm you have Premium, then try the official app to rule out account issues.
Login is not remembered
Riff stores credentials with the Secret Service. Make sure a keyring such as GNOME Keyring is running and unlocked in your session.
Media keys do nothing
Playback control uses MPRIS. Check that your desktop’s media-key handling is active and that Riff is the current player.
App missing after install
Log out and back in, or run flatpak run dev.diegovsky.Riff from a terminal to see any error output.
Who should use Riff?
✅ A good fit if you
- Use GNOME and want a native-looking client
- Already pay for Spotify Premium
- Prefer open-source software you can inspect
- Use MPRIS media keys and want an equalizer
❌ Skip it if you
- Use a free Spotify account
- Need guaranteed playback on every account
- Rely on features the project does not list
- Want an officially supported client
On KDE Plasma or another desktop, Riff will still run, but its GNOME-style look may feel out of place. Fans of other self-hosted or open-source players might also look at tools such as Navidrome or Rhythmbox. More Linux and open-source guides are on VMoreCloud.
Sources and further reading
- Linuxiac: Meet Riff, an Open-Source Spotify Client Built for GNOME
- Flathub: Riff (dev.diegovsky.Riff)
- GitHub: Diegovsky/riff
- Arch User Repository: riff-client
- Flatpak setup guides for each distribution
This article is based on the project’s public documentation and press coverage available on October 26, 2026. Features, installation methods and DRM compatibility may change, so check Flathub and the GitHub repository for the latest information. Riff is not affiliated with or endorsed by Spotify.

