Spotify

Streaming with Linux: Spotify

This is a series that surveys popular streaming services from a Linux perspective. We are not reviewing any of the streaming services themselves although we may make subjective comments along the way.

First launched in 2008, Spotify is a digital music streaming service with a freemium business model. You can listen to a huge library of music and podcasts for no charge if you are prepared to have shuffle play (with limited skips), interrupted listening and lower audio bitrate. Alternatively, there’s the option of Spotify Premium. In the UK, a subscription costs £9.99 per month for an Individual account. This gives you streaming music at 320 kbps, the ability to download music, and full functionality.

When we placed Amazon Music Unlimited under the spotlight we lamented that there is no desktop client available under Linux. Instead, Amazon confine users to use a web browser. Matters are made worse as only the lowest sound quality setting is available.

The situation is different with Spotify. You can still stream music with Firefox, Chrome or another web browser that floats your boat. But what about a desktop client?

There’s no actual official desktop available for Linux. But some of their engineers have laboured night and day to produce a native desktop client. While you won’t get official support, Linux has strong community support from a variety of sites, so that’s not really an issue. The client is best described as semi-official.

Here’s an image of the desktop client in action.

Spotify
Click image for full size

What’s our verdict of the client? We’re very impressed in many respects. The interface is very polished and intuitive to use. From intensive testing, the app is rock solid. Gapless playback, essential for music lovers, is beautifully implemented. There are many advanced features available too such as the sublime personalized playlists. Overall the interface offers a super-friendly experience. A definite thumbs-up!

Given that the service uses lossy compression, it isn’t the best for audiophile-grade streaming (although Spotify HiFi will change this), but the quality is still very good.

We haven’t used Spotify under Windows so we haven’t made any direct comparisons between the semi-official Linux native client and its official Windows counterpart. Share in the comments below anything missing from the Linux client.

Everything is not a bed of roses though. Our biggest criticism of the client can be summarized in two words: Memory usage. Let’s examine why. The Spotify client uses Chromium Embedded Framework (CEF) to display a web-based user interface. Software built with CEF typically guzzles memory and are hungry for processor cycles. And that’s true for the Spotify client. Even at startup the app uses nearly 185MB of RAM. After running through a pre-defined set of user interactions, memory usage climbs over 700MB. That’s as bloated as many Electron apps.

The desktop client is, unsurprisingly, not published under an open license. Given the proprietary client offers so many positives, you might think removing the possibility of open source coders contributing to the development isn’t too burdensome. To an extent that’s correct. But there are still downsides. For example, Spotify provide a deb package for Debian/Ubuntu distros. Thankfully they also provide a snap so you’re not forced to use Debian-based distros or suffer the shenanigans of using a utility to convert the .deb package (e.g. debtap). But what if you want to run the desktop client locally on other architectures? There’s beta support under Windows for ARM64, but not for Linux.

We have reviewed third-party clients that are available for Linux. We liked the graphical spotify-qt, admired Spotify TUI and raved over ncspot and spotify-player. These third-party clients are only available for Spotify Premium users as Spotify blocks API access to their audio for non-premium members.

Here’s an image of spotify-player in action.

playback in spotify-player
Click image for action

The semi-official Spotify client hogs over 700MB of RAM after running a pre-defined sequence. Here’s a chart showing the frugality of the third-party clients.

Chart showing memory usage of third-party Spotify clients

We are enamored with running spotify-player on the Raspberry Pi 4.


All articles in this series:

Streaming with Linux
Amazon Music UnlimitedMusic subscription service with 90 million song catalogue
MyuziBills itself as a Spotify alternative for Linux
SpotifyPioneer in music streaming and still the best-known service
DeezerStreaming service serving up FLAC files
TIDALMusic subscription service targeted at audiophiles
Share this article

Share your Thoughts

This site uses Akismet to reduce spam. Learn how your comment data is processed.