Linux Media Players Suck – Part 1: Rhythmbox

The state of media players on Linux is a sad one indeed. If you’re a platform enthusiast, you may want to cover your ears and scream “la-la-la-la” while reading this article, because it will likely offend your sensibilities. In fact, the very idea behind this series is to shake up the freetards’ world view, and to make them realize that a decent Winamp or iTunes clone need not be the end of the story for media management and playback on Linux.

This article will concentrate on lambasting Rhythmbox, the default jukebox software of the GNOME desktop environment. Subsequent posts will give the same treatment to other players in this sphere, including Banshee, Amarok, and Songbird (if I can find a copy that will still build on Linux). If you’re a user of media players on Linux, keep your own annoyances firmly in mind, and if I don’t mention them, please share in the comments. If you’re a developer for one of these fine projects, try to keep an open mind and get inspired to do better. A media player is not a hard thing to build, and I do believe that together, we can do better.

For the remainder of this article, please keep in mind that I am currently running Rhythmbox under Kubuntu 9.10, so you’ll see it rendered with qt widgets in all of my screen shots. This doesn’t affect the overall performance of the app, but leads nicely into my first complaint:

  1. Poor Cross-Platform Support: There are basically two desktop environments that matter in the Linux world, GNOME and KDE. Under GNOME, Rhythmbox has a reasonably nice icon set that is comparable to other media players. Under KDE, the qt re-skinning replaces those icons with a horrible set of mismatched images that really make the program look second-rate:
    Isn't this shit awful?
    As you can see, these icons look terrible. Note that there isn't even an icon for 'Burn' and the icon for 'Browse' is a fucking question mark.

    This extends to the CD burning and help features too. They rely on programs like gnome-help and brasero to work, but don’t install them with the media player, so when I try to access these features under KDE, I just get error messages. Nice.

    Honestly, who packaged this thing?
    This is just plain stupid. Every package manager has the concept of dependencies, so why doesn't Rhythmbox use them?
  2. The Player Starts in the Tray: Under what circumstances would it be considered useful for a media player to automatically minimize itself to the system tray on startup? It doesn’t begin to play automatically. The first thing that I always do is click on the tray icon to maximize it so that I can select some music to start playing. Way to start the user experience off on the wrong foot.
  3. Missing Files View: This one is just plain stupid. Whenever I delete a file from my hard drive, it shows up under the ‘Missing Files’ view, even though my intent was clearly to remove the file from my library. Further, I use Rhythmbox to put music on my BlackBerry. Whenever I fill it with music, I first delete the files on it. Those files that I deleted from my mobile device? Yeah, they show up under ‘Missing Files’ too, as if they were a legitimate part of my library! So this view ends up being like a global garbage bin that I have to waste my precious time emptying on occasion, and serves no useful purpose in the mean time. Yeah, I deleted those files. What are you going to do about it?

    Seriously, why the hell are these files in here?
    As you can see, I've highlighted the fact that Rhythmbox is telling me that these files are missing from my mobile device. No shit.
  4. Shared Libraries that I can’t Play: So we’ve known for awhile now that Apple broke the ability to connect to iTunes via the DAAP protocol, and that it’s not possible to connect to a shared iTunes library from Linux. If that’s the case, why does Rhythmbox still show these libraries as available? And how come it shows my library under this node? Why would I listen to my own shared library? Finally, I’ve found that even if I’m running Rhythmbox on another machine, I still can’t connect to my shared library. This feature seems to be downright broken – so why is it still in the build?
  5. The GUI and Backend are on One Thread: I keep about half of my music collection as lossless FLAC files. When I want to rip these files to my portable media device, they need to be converted to the Mp3 format. Turns out that Rhythmbox thinks it appropriate to transcode these files on the same thread that it uses to update its GUI, so that while this process is taking place, the app becomes laggy, and at times, downright unusable. Further, the application doesn’t seem to give me any control over the bitrate that my songs are transcoded to. Fuck!
  6. Lack of Playlist Options: Smart playlists in Rhythmbox are missing a rather key feature: Randomness. When filling the aforementioned mobile device with music, I would like to select a random 4GB of music from my top rated playlist. But I can’t. I can select 4GB of music by most every criteria except randomness, which means that I get the same 600 or so songs on my device every time I fill it. This is strange, because I can shuffle the contents of a static playlist; But I cannot randomly fill a smart playlist. Great.

    If you have a device that has a small amount of memory, this feature is essential
    It's funny; I really want to like Rhythmbox, but it's shit like this that ruins the experience for me
  7. Columns: What the fuck. Who wrote this part of the application? When I choose the columns that are visible in the main window, I can’t re-order them. That’s right. So the only order that I can put my columns in is Track, Title, Genre, Artist, Album, Year, Time, Quality, Rating. Can’t reorder them at all, and I have to go into the preferences menu to choose which ones are displayed, instead of being able to right-click on the column headers to select them like I can in every other program written in the last 10 years. This is just ridiculous. I know that the GTK+ toolkit allows you to create re-order-able columns, because I’ve seen it done.

    This is just so incredibly backward. I mean, columns are a standard part of the GTK+ toolkit, and I've seen plenty of other apps that do this properly.
    Why, for the love of God, can't these be re-ordered?
  8. The Equalizer is Balls: No presets, and no preamp. So I can set the EQ, and my settings are magically saved, but I can only have one setting, because there doesn’t appear to be a way to create multiple profiles. And louder music sounds like balls, because I can’t turn down the preamp, so I get digital distortion throughout my signal. It would be better to just not have an equalizer at all.

    I mean, it works. But...
    I mean, it works. But...
  9. Context Menus Don’t Make Sense: Let’s just take a look at this context menu for a moment. There are three ways to remove a song from a playlist. You can Remove the song, which just removes it from the playlist, but not from your library or your hard drive. Alternatively, you can select Move to Trash, which does what you might expect – it removes the song from the playlist, the library, and your computer. I’ve got a problem with the naming conventions here. The purpose of Remove isn’t well explained, and confused the hell out of me at first. In addition, when browsing a mobile device that you’ve filled with music, the GUI breaks down even further. In this case, you can still hit Remove, which seems to remove the song from Rhythmbox’s listing, but leaves the file on the device. So now I have a file on my device that I can’t access. Great. The right-click menu also has the ability to copy and cut the song, even though there is no immediately obvious way to paste it. For that functionality, you’ll have to head up to the Edit menu.

    The right-click context menu
    I'm starting to run out of anger. The 10,000 papercuts that come along with this app are making me numb to it.
  10. No Command Line Tools: Now, normally, this wouldn’t bother me too much. A music library is something that’s meant to have a GUI, and doesn’t generally lend itself to working from the command line. In this case however, command line access to Rhythmbox would be really handy, because I’d like to set up a hot key on my keyboard that will skip songs or pause playback. Unfortunately, there’s no way to do that within the software, and it doesn’t have any command line arguments that I can call instead. Balls.

There you have it, 10 things that really ruin the Rhythmbox experience. While using this piece of software, I felt like the developers worked really hard to build something that was sort of comparable to Apple’s iTunes, and then stopped trying. That isn’t good enough! If we want to attract users to our platform of choice, and keep them here, we need to give them reasons to check it out, and even more to stick around. If I say to you that I want to have the best Linux media player, you tend to put the emphasis on the word Linux. Why not just make the best media player? GNOME is on at least half of all Linux desktops, if not more. Why hinder it with software that gives people a poor first impression of what Linux is capable of? Seriously guys, let’s step it up.


  1. As a Linux GUI newbie my very petty but to me incredibly annoying pet hate is that when I shut Rhythmbox using the “x” button it carries on playing. Several times I’ve wasted ages googling for the magic CTRL-Q. (I think it’s finally sunk in now). And no, I don’t want to open a terminal to shut down a GUI application. Why should I have to?

    Is it just me who thinks the purpose of a GUI is to make applications easy to use? Doesn’t “x” mean “close”? Rhythmbox seems to think it means “minimise”….so why is there also a “minimise” button? Wouldn’t it have been easier to have the “x” do what it usually does? Oh right, “x” removes the icon from the left hand side of the screen. Hmmmm.

    I have more substantial complaints than this about Rhythmbox but this seems to typify it to me. I’m a retired analyst/programmer and my continual reaction to it is “who the f*** designed this?”. Having read the comments above about the general poor quality of alternatives it almost makes me think I ought to be writing a replacement…but I’m too lazy and, well, retired. Life’s too short to be b*****ing around with code I don’t need to.

    Why haven’t I made a “feature request”?
    (1) It seems so obvious to me it shouldn’t need one.
    (2) No doubt it’s a cherished feature of the software and changing it would cause more complaints than it’s worth.
    (3) Personally I think it would be a better idea for someone to write a new product from scratch.

    Good luck to anyone writing a replacement…but like me, I don’t suppose anybody can be bothered.

  2. I’ve been using Linux, Windows and to a lesser extent OSX for high performance lossless audio playback since 2007. Linux Audio has some performance advantages over other OSs when paired with extremely high performance gear (we’re talking $10k+ systems). In ways that matter to most people Linux Audio is a disaster. MPD or JACK will take a week or two in most cases to get working, except for the cases where you can’t get it working at all.

    Then there’s the problem with the players. Anyone who’s remotely satisfied with any Linux player has never tried Foobar (or are not aware how it can be modified) or JRiver. Take ALSA Player and let’s say you have more than 10 songs in your music library and don’t feel like clicking through a million songs to create a playlist every time you want to listen to music…in that case it’s bad news. Like a number of other Linux players, completely worthless and there is no Linux player that can be customized to any extent that’s worth mentioning.

    Compatibility is a major problem. Nobody makes Linux drivers for USB DACs, so for the 80% of high-end DACs that don’t use basic USB 2.0 drivers you have to use another connection type, which can limit your ability to get the best performance on a number of units and require you to buy a sound card. There is no Linux freeware Linux USB driver, such as ASIO4All, that can be used to get USB working.

    That’s it in a nutshell. Good sound with Real Time setup. Extremely difficult to impossible to get working properly, lacking any decent functionality or customizability and not compatible with most gear. Now that Foobar has added some priority setting options for the driver, Windows / Foobar is a much better solution for high performance audio.

  3. Its now 2013…. One really lacking feature is Rhythmbox is that you cannot drag a playlist to the queue. Should’n’t this be basic functionality?

    Yet another *really* glaring problem is the plugin system. Many of the plugins need to be installed on the command line and in different ways. Thats ok for us techies, but how would any regular user be able to figure this out?

    Some of the plugins such as the Cover Art plugin are just accepted as normal in a gui application. Why is this a third party plugin anyway?

    And why are those tree expanding list icons on the *right* of the list instead of the left like in every other application on this planet?

    So in 2013….

    Amarok/Clementine: Ugly cluttered and confusing interfaces
    Quodlibet: Developer hates playlists. Works well if you want to play your music via regular expressions.
    Banshee: More bugs than ever; Unuseable on some recent distros, (Fedora and others)
    Rhythmbox: Basic features missing; Weird interface issues; Uninstallable plugins for the average users.

    Thats where we’re at….

  4. I clicked on one song ‘open with rhythmbox’ in my music folder and it went ahead and imported all the folders .mp3s. Quite a few gigs. Ok, I guess its just pointing at the data. But it went trhrough all my folders and imported a whole lot of completely obscure game sounds (.VOC .dds). Thats a bit stupid considering I never asked to import a thing. No obvious way to change this on the GUI. Ok i’ll quit, clicks X, music still playing……phhhhh!@!

1 Trackback / Pingback

  1. Blast from the Past: Linux Media Players Suck – Part 1: Rhythmbox | The Linux Experiment

Leave a Reply

Your email address will not be published.