The state of Linux music players in 2026
104 points by ciferkey
104 points by ciferkey
Celebrates music as an art form (doesn’t look like an Excel spreadsheet).
foobar2000 is the best music player and I don't care about your aesthetics :P
1000 times this!
Overall, if you’d consider yourself a “power user” and you’ve been looking for a Linux version of foobar2000, this is the app for you.
I've been missing foobar2000 for the past 20 years. I never understood how there could be no match for it on Linux.
The fact that I've seen multiple projects bundling foobar2000 and Wine together really says something about how good it is, and how lackluster the Linux alternatives are.
fooyin is one option not mentioned in the article - it's pretty much a f2k clone and my current go-to. All the basics are there, but sadly its plugin ecosystem is non-existent and there's no conversion feature.
I can also vouch for fooyin. There is also audacious which is really good.
Audacious is really good, and I use it. And I will horrify everyone by explaining that I use it because it still supports Winamp themes.
Audacious is the one I was trying to remember the name of when I set up my travel laptop at the end of the year, and I couldn't remember it! I went for Strawberry instead, and it was OK. All I could remember about audacious was that it came from XMMS, and neither my dnf searches nor my web searches were finding it.
fooyin is what I came here to recommend as well. It's the most foobar2k-like out there, and you can totally make either of these look not like a spreadsheet!
I'm having troubles telling it apart from foobar2k (well, my memories of it at least). It may really be what I've been looking for during all these years. Thanks!
The webpage mentions a built-in tag editor. Do you know if it can also rename files based on the tags? I had poorly tagged albums and terribly named files 20 years ago and fixed them easily. After I had to give up foobar2k, I gave up completely on that. I guess that nowadays I would find a script, another tool or write it by myself but now I want to know. :D
(sadly, not packaged in debian, and not sure I want to dig into that topic already)
The music player Quod Libet has an excellent tag editor that can create tags from filenames, and rename files to match their tags. If you don't want the whole music player, the tag editor is available separately (in Debian) as exfalso.
Quod Libet is what I use now as a previous life long Foobar2000 user. Sure, it doesn't have the incredible (yet fragile) UI customizations, but it does everything else that fb2k did for me and has loads of extensions and they are easy to create.
As far as I can tell, sadly not. The tag editor itself is very similar to the f2k one visually and I've used it to fix metadata for quite a bit of my library, but it seems to be lacking that particular feature.
This is definitely not for everyone, but I really enjoy the Emacs multimedia system (emms). You can integrate it with a bunch of different players, and of course there are a lot of benefits to treating playlists as text buffers.
I like it for the most part but it has a couple annoying habits:
At this point, I strongly believe even straight up piracy is better for artists than streaming. At least looking up your favorite artist on Soulseek doesn’t pop up a dozen ads and two AI-generated ripoffs that Spotify would rather you listen to as they profit more from them.
Worth noting that Spotify is not the only streaming music service out there, and I happily pay for a streaming (not-Spotify) music subscription which does not have "a dozen ads" or "AI-generated ripoffs".
(my personal stance is that a streaming subscription is like a library card: its job is to give me access to a huge catalog of stuff I can check out and see if I like without having to commit money up-front, and then when I find things I like and want to listen to again I can go buy them)
Exactly that. It’s nice to be able to listen to an album before buying it, and having an easy way to discover new music and share playlists with family & friends, but streaming has never replaced buying music I love.
Care to mention which service? I've started using Qobuz (originally because they offered downloads, but then my subsonic server had a meltdown which it hasn't recovered from yet (that server of theseus has been going for 20 years, guess I should give up on it soon) so now I'm actually paying for streaming), though I wish the official app had lyrics.
I've used both Amazon and Apple at different points.
Ancedotally, I think Apple's did the best job of figuring out my musical tastes and recommending things I wound up enjoying. They're also the only huge participant in that space to really take classical music (which I listen to a lot of) seriously.
(my personal stance is that a streaming subscription is like a library card: its job is to give me access to a huge catalog of stuff I can check out and see if I like without having to commit money up-front, and then when I find things I like and want to listen to again I can go buy them)
I do that as well. I've reluctantly signed up for Spotify, but the way I use it is a) for when I'm on the road and there's nothing good on the radio and b) as a music discovery service, and if I find something so good that I want to listen to it multiple times I go to Bandcamp and buy it.
I was expecting more from the music discovery part if I'm being honest. Search results have an extremely heavy local bias that's straight up indefensible. If I look up for a folk revival-era song, by name, I get five or six relevant results, then a dozen trap artists from my area (!?), then another five or six relevant results and so on. Okay, we're going to push some popular artists or contemporary labels (I'm guessing it's not happening for free, either), but let's at least try to match the overall vibe here, who's going to look up a Child ballad and be like huh, I could actually go for a song about being lusciously encouraged to sniff cocaine instead.
I haven't found anything better than mpd + ncmpcpp (even on a local system). I am interested in users who left that stack and what they are using now?
I used to use mpd + ncmpcpp as well, but since I've been listening to my music more often from my smartphone or on various other devices, it was becoming a bit awkward to use. I also wanted my collection to be stored on my main server in the basement and just run a lighter machine next to my sound system.
I have switched to using an airsonic-compatible server (gonic) and various clients: Ultrasonic on my Android smartphone, and stmps (which is quite similar to ncmpcpp, although less polished) on my computers, including the computer connected to my sound system. I just ssh to it and run stmps in a shell now instead of using ncmpcpp.
I'm quite happy with that "new" setup (that I have been using for about 5 years now, after probably... about 15 years of mpd).
I started using mpd in 2007 or so and the only change I've made since then is using rofi instead of dmenu to queue up albums. It's basically perfect for me.
mpd + ncmpcpp is great; that's what I use too.
I also use supysonic and dsub on my android, and sonixd on my computer, although now I'm using feishin. I use mysql for the database backend, but that's totally optional and the default sqlite is probably sufficient for most. The nice thing with supysonic is it lets me graphically browse and download my music on my phone in an easy, intuitive way.
Meanwhile, I double-click an opus audio file on my Fedora 43 desktop, and the default audio player (which I can't even give a name to because there's no title in the title bar, but I think is totem) tells me "Could not initialize OpenGL support"
This post gives me a lot of good suggestions of things to try, thanks!
No mention of Quod Libet D:
I started using it because it was preinstalled on Debian XFCE (I previously used mpd+ncmpcpp+a custom dmenu thing), and I stuck around. It does what it's supposed to, and I don't really have to think about it. The UI is decent, there's builtin support for scrobbling etc, and it doesn't choke on my large library. That's pretty much all I need.
I used iTunes back when it was designed to play music and not sell DRM, and the feature I loved was "album shuffle" - not shuffling the tracks in an album, but randomly choosing an album then playing the tracks in-order.
Quod Libet is the only other music player I've ever found that can do the same. I can search my library for "albums I haven't listened to in the past year", and just let it play while I work. It's lovely.
The old iTunes also had a feature I never saw anywhere else (granted I'm not a very experienced music listener so I didn't try many others): "party shuffle", which combined a custom user queue with normal shuffle.
QuodLibet has this and it is very good overall.
The best thing about Quod Libet in addition its excellent playlist management, tags management, oodles of plugins, being about the only player with a since forever working last.fm integration is its programmability in Python! I have custom plugins which have let me transfer, slice and dice iTunes ratings and other super easy arbitrary shell scripts integrations to manipulate your library and add actions even to individual songs.
I’m surprised to see that neither the article nor the comments (so far) mentions deadbeef. IMO it’s the closest Linux to foobar2k, and it’s been around for at least 15+ years.
I’ve been using it since college, and it’s one of the few well-designed applications from “the good ol’ times.”
(Link: https://deadbeef.sourceforge.io/)
We've also been using Deadbeef at our demoparty for playing background music, mainly because of out-of-the-box support for uncommon formats like Atari ST SNDH files and various other tracker formats.
I would also add Audacious, maybe under the Amarok-ish lineage. For some reason I never liked the iTunes-y "index my album metadata for me" style players; I have a pile of audio files in folders and I just want to give them to a program.
+1 for Audacious, it's kind of no-frills but it does what I need it to do
(or if it has frills I haven't explored them)
I've been using Supersonic with my Navidrome server along with Tempo on Android and enjoying both a lot.
I have remote friends who use the server who have iPhones - I originally suggested iSub, but while visiting some of them was struck by how worse it was than Tempo or Supersonic. Does anyone know of a good Navidrome/Subsonic compatible iPhone client?
Thanks for sharing about Supersonic! I wasn't really in the market for a desktop player since i simply play something via browser pointed at my homelab jellyfin installation (and good ol' VLC for a rare need to play a single local file)...but wow, Supersonic really supports quite a bit of music servers; quite impressive! This is why i like reading these types of posts; learn about cool (new to me) stuff every time!
Same experience here; iSub is just barely usable and extremely clunky compared to DSub on Android. I tried some of the others a few years ago and most didn't even work at all.
The state of traditional GUI music players, that is. There is a world of other stuff out there.
For example I wouldn't touch any of these, it's just not the style of tool I use. For music I want something that stays out of the way and doesn't even feel like a dedicated tool but is integrated into my other workflows. In my case that's EMMS in Emacs.
Mpd, beets, cantata, mpdmpris, mpd-discord-rpc, cava, mpd-cli 🤔 i think that's all my music player components.
I used to love amarok, but I went off the deep end at some point. PlexAmp almost has me convinced to be normal, but not quite lol
happy strawberry user for years (and before that clementine, and before before that exaile 0.2...). all those "modern" music players in this article have so little information density..
The way the article started, I expect the author to go this way. Performance, features, looks like a desktop app and not a blown up phone app? And then they go on and list 10 gnome things with like the buttons all together?
To each their own, I guess. I'm also on strawberry by way of Clementine from Amarok.
One thing I wish this article would've touched upon is smart playlists, which is often lacking. My use case is making playlists for unplayed songs and albums and various other filters. It's basically the one thing that keeps me using Apple Music on my Macs, despite running a Navidrome instance. Symfonium on Android has a good implementation too, with even better support for unplayed albums.
Since the article doesn’t make it clear I’ll mention that Amarok is back under development in the KDE project after previous stagnation and there are new v3 releases. It’s my current mp3 player and it goes fine.
I didn't know Feishin had gotten so good. Last time I tried it, it failed to authenticate properly with my Nextcloud instance. Now either Nextcloud Music or Feishin has updated, and it works phenomenally good. I also appreciate the Supersonic programm, which I have used so far. I will use Feishin for a couple of week. Let's see how it works!
I use fooyin because everything else feels like a clunky half-baked attempt at being Spotify. Truthfully all of them are pretty bad though.
For a local desktop application, Quod Libet is my go to player that respects album artist and original release date metadata. For running server-side (“server” being the Raspberry Pi in my cabinet) with a webinterface, I wrote my own (and I blogged about it for last year’s blog carnival).
I pretty much exclusively play music from local files (FLAC on my main audio system and Opus synced to my phone and laptops using Syncthing), and lately I've been liking Gapless on GNOME. As the name implies it supports gapless playback, which I consider a must for any music player. I'd like to start using Elisa on my KDE laptop, but it doesn't do gapless playback yet.
On Android, Vanilla Music continues to be one of the only players that does gapless and just works.
Sorry for my ignorance, but what is "gapless playback"?
That there isn't any (brief) silence between tracks. E.g. in a simple player implementation, it might play a track to completion and only afterwards start to load the next from disk, decompress it, ... and there'll be a brief bit of silence while that happens, and if you listen to recordings where the tracks blend into each other (i.e. do not start/end with silence, or are more used like chapter marks in a larger work) that's noticeable.
Yes, this. I listen to way too many albums that are less enjoyable without gapless playback. Think live albums or concept albums that intentionally connect one track to the next (Joe Jackson's Blaze of Glory is one I listen to often).
I've been really happy with the Gelly jellyfin client, which wasn't listed in the post. Its super fast.. I just wish it had a search by song name feature.
I'm surprised how many options there are on Linux!
I’ve used strawberry for a couple of years for no reason other than it’s one of the only clients I’ve found that supports scrobbling directly to ListenBrainz, plus it just works fine for me.
The real place I’ve struggled to find a good music player is iOS. I’ve used Doppler for a few years there, but it’s started having a lot of CarPlay bugs recently (about 50% of the time, the music pauses anytime my car stops moving). Before this started, I used to have a bug where pausing a flac song would mess up the player and it’d never stop playing the song (I think it’d get stuck in a loop or something).
I too use strawberry mostly due to good ListenBrainz support. On iOS I recently found Jewelcase which has ListenBrainz support and can playback flac files just fine. The few times I’ve used it with CarPlay it has worked as expected.
I recently found Jewelcase
Hadn't heard of this one, thanks! I'll check it out. Just looking at the app store quickly it seems nice.
My primary music player is my web browser. I built a custom web app that runs on my file server and serves my music files with a custom iTunes 3-5 ish design for library management. It remembers my playlists, there's nothing to configure, and it works on my tv computer and work laptop. Sort of an in-home music streaming service.
My implementation is heavily catered to me, but its similar in concept to something like blackcandy.
I use my own player that I built. I basically wanted Clementine (/Strawberry) as a Jellyfin frontend with the prominent play queue and easy playlist assemby, while most clients are focused on looking like spotify with lots of space given to album art and not much adhoc playlist building.
I built it a few years ago and released it, it still works and I still use it. It’s not the most polished app in the world, I built it based on early releases of Vue 3 and Vue 3.1 broke some stuff in their reactivity model so moving to their suggested approach was a major performance regression for the app so I was kind of stranded, and seperately I played with a SQLite based rework of the library (in the absurd sql days) to replace my incredibly dumb “pile of hashmaps” approach that was intended to be temporary. It works, but wasn’t going to scale cleanly to more features and it took a lot longer for wasm based sqlite in browser to be a cross browser thing than I had expected (partly because of how slowly Firefox adopted OPFS which the official in browser sqlite implementation required)
You got that player public somewhere?
Yeah: https://gitlab.com/preserve/preserve
There is an electron bundle because some people asked for an installable app but I've personally always just used it deployed as a web app. I also haven't updated the electron build in forever because of that, so I can't guarantee it even still works, so I suggest just using the web app. There's a public instance at https://preserveplayer.com you can use to connect to your own server or you can host it yourself and not have to trust with your credentials (though to be clear the only place it sends them is from your browser to your jellyfin server directly).
Some users have mentioned being surprised that their favorite music player wasn't mentioned. I'm not, really. There is a lot of ground to cover. I didn't notice any comments here that mentioned my personal favorite music players for Linux. I have used and really like both KDE's very modern looking Elisa player as well as Sayonara . Elisa scratches that straightforward Rhythmbox/Old iTunes design itch without feeling incredibly old on KDE Plasma 6, while Sayonara is much more menu and list centric with lots of advanced features.
I want to love Elisa (especially since it also has an Android build!), but its lack of gapless playback keeps me away. I'm hopeful that can be resolved sooner than later. I know there's an open issue for it.
I enjoyed reading this despite my other comment ;)
I'm a recent convert to mpd because I only recently shuffled my setup around enough that it makes sense. Currently only using ncmpcpp (hate that name) on linux because I can usually control it via Cantata (which I really like).
It's VLC everywhere for me (Android, Mac, Linux, Windows). Wouldn't say it's the best but it works.
Lollypop is the only one that comes close to the literal perfection that was iTunes 11-12.
Gapless is very promising but it really needs to 1) add different sorting orders, especially artist-year, to the all albums view, 2) show the artist name under the album name in the all albums view instead of the year, 3) get rid of the silly empty sidebar on desktop screens and put controls where they belong, in the headerbar like in Lollypop (and in classic iTunes).
And ideally I'd like to have the inline expanding album view. Maybe I need to fork it and make the changes myself..
No Winamp clone survived?
There's webamp that even integrates butterchurn as a Milkdrop (visualizer) replacement. On Windows and Android there's AIMP. I don't know of a good Linux native Winamp clone, though.
(edit: formatting)
just commit heresy https://aur.archlinux.org/packages/winamp2
I've been using Finamp on Android and Linux and quite enjoy it. It is only for Jellyfin users but is fairly snappy and while I'm sure you could argue it is just a mobile UI stretched out it does have some nice adaptations for desktop.
I use Finamp pretty heavily on mobile, but decided on desktop to go with Gelly, just because it feels less like a mobile app.
Well, since I use Apple Music like a lot so don’t really have much choice other than Cider [0]. It’s been great
My phone has limited storage so I have stream music from a subsonic server. The one I use is called lms and I have had no complaints from it. It handles my somewhat disorganised directory structure well unlike Jellyfin which does strange things if you put files from several albums in one directiory.
For desktop listening I just lms' web UI or Supersonic.
For my Android phone I use this app called Symphonium. It's closed source which I find a little bit regrettable. But it is my most favourite android app ever. It looks great, the interface is heavily customisable, has a ton of great features like smart playlists and autoeq.
I’m still pretty happy with ncmpcpp. I used Clementine for years. I even used to be paid building a web-based player for a time so I got to learn a lot about how these work. The one player whose UI sticks with me, &I can’t for the life of me remember its name, but there was like a Python+GTK player that showed the whole album on the seekbar & there were ticks for each track so you could skip around album-wise & the shuffle was by album too—I didn’t end up using it, but it suit my generally listening style which is to put on an album as many artists treat the album as a cohesive unit.
About the price of owning vs. streaming, I’ve gone through all of the songs I have in my main playlist (all the songs I listen to regularly), and tallied up how much it costs to buy all the albums necessary to cover them all from iTunes. That’s to say I assumed I’d buy the whole album, but if two songs were on the same album, that’d get counted only once. I was surprised to find this adds up to approx. 1830€. So if you’d paid 1200€ for ten years of Spotify and listened in a similar way as I did, maybe it is really worth it.
I’ve personally been leeching off a family subscription to Spotify that my parents made, so for me, the only realistic options that might actually represent an improvement are either giving up some of the songs I have and very slowly buying them back, or pirating the rest of them.
— Also: I’d love to use Amberol as my default basic music player, just for opening files, but unfortunately, if I remember correctly, the fact that it’s designed to play folders gets in the way. It doesn’t show the filename prominently for songs that don’t have proper metadata, and it will add new songs you open to the playlist instead of replacing the old one.
Very fair, though I must play devil's advocate: iTunes isn't necessarily the cheapest, and there's pleeeeeeeenty of good libre music out there. Plus a) spotify won't exist forever and b) my music collection is past its second decade and still going strong.