Tux

About 2 years ago I wrote a piece called Five things that Desktop Linux really needs, attempting to air out my five biggest grievances with Desktop Linux. If you follow FOSS news, every year is heralded as “The Year of the Linux Desktop,” although such a thing clearly hasn’t happened yet. Now, two years later, I thought it would be interesting to revisit those five problems and see what kind of progress has been made in two years.

Linux needs a good CD ripper

When I last wrote, the favorite CD ripper for the GNOME environment was grip, which had the benefit of being extremely customizable, even if its ripping was plain-Jane cdparanoia. Grip is still used, I imagine, but the default ripper with the GNOME desktop is Sound Juicer, which is a gstreamer-based ripper/encoder that abstracts everything quite heavily and gives damn few options1.

The good news is that the semi-abandoned cdparanoia project at least saw a maintenance release that fixed some bugs; the bad news is that the promised further revisions have failed to materialize, meaning that there’s still no compelling cd ripper available for Linux. The Exact Audio Copys and the dBpoweramps remain Windows-only tools.

A screenshot of RubyRipper

Also in these past two years, however, a new ripper has emerged: RubyRipper, a Ruby/GTK2 program that tries to emulate EAC’s approach to ripping; that is, it reads segments multiple times and compares them using Ruby’s checksum matcher. While there are some audiophiles at HydrogenAudio who insist that this isn’t a perfect approach to ripping (of course it isn’t), it’s still far more than any of the desktop-standard rippers can come up with. Ideally, it will eventually feature AccurateRip support, though this is tentative.

So, I’m happy to report that some progress has been made in this area, though Linux is still a second-class citizen when it comes to CD ripping.

Linux needs good and consistent font rendering

You wouldn’t think it, compared to issues like multimedia codecs, but font rendering is awash in legal issues. Be it Apple’s patent for BCI (byte code interpreter) or Microsoft’s patent on TrueType (both of which are legally dubious), it’s legal threats and not technical problems that keep the default font smoother for most distros from producing nice, clean, antialiased fonts. The code already exists in the upstream source code for TrueType, but it’s disabled by default. Ubuntu finally made the decision to enable it by default in their distribution, for which I applaud them. Packages exist for many other distributions, which is still a damn sight better than the typical “compile it yourself” response, which always strikes me as utterly absurd.

In my previous post, I highlighted the discrepancy between various types of programs in Linux when it comes to font rendering. I can say without hesitation that the situation has improved since then, though I’m not entirely sure where the responsibility for the fixes lie.

Font rendering in Ubuntu Linux 8.04

What you see is my blog in Firefox 3.0, some source code in Netbeans 6.1, and the template picker in OpenOffice 2.4. Notice that the font rendering is pretty similar in all three of them. I can tell you that Netbeans looks that good because I’m running it with the Java 6 JDK, which finally added decent font antialiasing. Running it with Java 5 produces some pretty obnoxious font quality. As to OpenOffice, they either fixed font rendering on their end, or else OpenOffice benefits from the larger system font smoothing included in Ubuntu.

Linux needs better inter-distro compatibility and less dependence on repositories

My choice of Linux is Ubuntu; this decision is spurred largely by some æsthetic choices, and the truly orgasmic package management system. If it were not for this, I might very well be running OpenSUSE, which has greatly improved its package management with v11.0. One of OpenSUSE’s more compelling features is that they’re more willing (and the community is more willing) to add new software to the repositories. It’s significantly easier for me to get the latest and greatest software for openSUSE, often by dint of either Pacman’s wonderful repository or the openSUSE build service, which Ubuntu has responded to with the Personal Package Archive (read: build service).

The one benefit of the Ubuntu’s approach is that packages tend to play nicely with each other, whereas with openSUSE and it’s build service, there are sometimes overlapping dependencies.

But there are still a bunch of different package types and packages managers; even among package types, there are incompatible versions. And because of the shared nature of Linux libraries, each distribution’s release will likely have a narrow slice of software versions that will work for that particular library. Say what you will about the Windows approach, but when I install the latest FileZilla on Windows, I don’t get bitched at by my system for needing newer wxWidgets libraries (and therefore necessitating that I either compile my own version or wait 6 month until somebody does it for me). Similarly, installing new graphics drivers doesn’t mean I have to also set up the latest kernel headers and reconfiguring my display configuration file so that it doesn’t fail spectacularly when I reboot.

Initiatives like LSB, FreeDesktop, and PackageKit have made bold steps to make Linux play well with itself. But there’s no middle ground with Linux: you either let distributions do all the work for you, and limit yourself to the particular software, and the particular versions, that they feel like offering you, or you can do everything yourself, compiling and installing your software manually.

Linux needs better multimedia

OK, multimedia on Linux still sucks, and it still sucks hard. Even providing that you’ve enabled extra (legally dubious) repositories for your installation and downloaded all of the plugins and codecs that are available to you (after, of course, you’ve decided to use either GStreamer or Xine as a video engine), you still have the unfortunate issues of video in Linux being slower and of an inferior quality to video on Windows. Is there a reason that rendering with Totem-GStreamer is blocky and awful, and rendering with The KMPlayer is picture-perfect? Even xine is far from perfect.

Then there’s the age-old problem of the X server and the graphics stack on Linux being shit to begin with. Compiz is great, and I’ve spent a fair amount of time watching my windows wobble and painting fire on my screen, but is there a reason that emulators perform so much worse in Linux? Is there a reason that I can’t switch tabs in Firefox with a several-second delay before the page contents are written to the screen? Is there a reason that the X server breaks at the slightest provocation? Is there a reason that the graphics stack offers so little to developers when compared to DirectX on Windows? Is there a reason that all the good-looking audio players on Linux can’t offer me anywhere near the same functionality that foobar2000 does on Windows?

I see individual programs making great progress, but there are fundamental flaws in the Linux approach to multimedia that aren’t going to be solved no matter how many widgets we give our apps. Multimedia on Linux still has a long way to go.

Linux needs disk image mounters

I’m pleased to report that since I last talked about this issue, there have been a couple of programs written to provide just this functionality. Programs like Daemon Tools or Alcohol 52% on Windows provide a way to mount virtual copies of CD or DVD images, allowing the computer to interact with them as though they were physical discs sitting in the drive.

On Gnome, there’s the Furius ISO Mount; on KDE, there’s AcetoneISO, which is also gaining burning support a la Alcohol 120%. Both of these programs function pretty much exactly how you would expect them to. Of the five issues I highlighted last time, this appears to be the most completely resolved; unfortunately, it was also the least important of the issues, and has gotten even less important to me personally since my previous writeup.

Conclusion

My biggest problem is that although the open source community continues to produce extremely compelling software, it suffers from the same fundamental flaws it did years ago: its X server and graphics layer are slow and difficult to work with, which is why you’ll find much better software emulators, games, and video playback on Windows than you will on Linux; its distro-centric repositories are both a boon to the end-user and a version lock-in that eliminates the “Go to the vendor site and download an .exe” ease of Windows. Linux is still a “Do It Yourself” operating system, meaning that despite all of the work being done, there’s not necessarily a complete and versatile environment for developers to program against. Certainly, there isn’t a consistent environment, and things are constantly changing in the world of Linux.

  1. This same complaint can be leveled at just about every product under the GNOME umbrella; that’s what you get for trying to out-Apple Apple[]
§2078 · June 20, 2008 · Tags: , , , , , , ·

7 Comments to “Desktop Linux revisited”

  1. Conor says:

    Meticulous post. I wanted to jump up and down when you recommended RubyRipper; haven’t tried it yet but definitely will.

    Just spent the weekend ripping some old albums to FLAC, and had to use SoundJuicer—which isn’t even called "SoundJuicer" anymore, yet inexplicably retains the sharp-looking logo—and was rather depressed about it.

    The Amarok team broke down and admitted for Summer of Code that adding ripping support might be a good idea:

    Amarok has never really felt a need for good CD ripping support. We always felt there were better programs suited for this task. This hasn’t stopped folks from finding ways to use Amarok to rip their CDs though. ;)

    We’ll see whether anything worthwhile comes of it. Thanks for the rec!

  2. Ben says:

    I wish my ultimate conclusion was better. Linux itself my be a compelling piece of software, but Windows still has better desktop software overall, and that’s a real problem for Linux.

  3. itsalljustaride says:

    The problem, here, is of course that depending on the type of Linux user you talk to you may find yourself with a huffy, "well who gives a damn, Linux isn’t Windows, and we don’t care about market share/amount of desktops we get to run it, so bugger off!" as a response.

    You would think that with an open system where people can come together and figure things out without threat of money and market share looming over their heads they could come up with consistent standardized ways of doing things, but really it’s just the opposite. Linux is like a redneck’s trailer home. Some of it is put together pretty solid, because it was done at the beginning, and by someone who had a plan. Then Cletus said, "ya know whut, I need a place to sit when I’m outside drinkin’ beer! So he cobbled together a porch to put his old ratty couch on. Then his sister/wife said, "well, shyoot, why don’t we add ourselves a nice barbeque attatchment here too! and a toilet so we don’t have to go inside!".

    Pretty soon you’ve got so many add-on projects that were done by people who just wanted to get their specific problem solved with no regard to how well it functioned or how well it integrated with the rest of the environment. Linux has too many rusty cars on blocks sitting in its front yard.

    Hence why I like Mac OS X. You have the Unix backend with a nice shiny frontend, and usability that will make even the frostiest of maidens weak in the knees. It’s what Linux would be if people were paid well to make it.

  4. Ben says:

    It’s what Linux would be if people were paid well to make it….. and you paid out your ass to buy it, and still had to jump through as many proprietary hoops as a Microsoft creation.

    I agree with the gist of your assessment of Linux; Linus has even characterized it in such a fashion; i.e. people often work only on what matters to them, and while there may exist higher-level planning in the kernel, or in the umbrella of a desktop environment, the software eco-system itself varies pretty widely.

    I don’t agree with your conclusion that OS X is somehow the answer to these problems. The whole “just works” mantra is all fine and dandy until you deviate from the script, at which point you’re pretty much in the same point as Linux. But at least with Linux you aren’t shelling out good money for an inferior desktop experience.

  5. itsalljustaride says:

    “and you paid out your ass to buy it”

    Well, I don’t technically pay for mine since work does, so for me personally its kind of a moot point, but even assuming we go with that line of argument a Mac really doesn’t cost much more than an equivalent Windows machine anymore. The only Apple machine that that argument works for is the Mac Pro, which is a bit overpriced, yes, but it’s marketed to high-end shops anyway, not your average Joe. You could build your own PC and save some cash, but by the time you buy all the components and software that would make that machine the equivalent of a Mac the margins aren’t what some like to think. Do you pay a premium for a Mac? Yes, but you also pay a premium for an Audi or a Porsche. Some people feel the premium is worth the gain.

    Also, speaking just in terms of the cost of the OS, Windows Vista Home Basic (the full version) currently retails at $170.00 US. OS X Leopard (there’s only one version, since Apple doesn’t artificially stratify it’s OS sales) is $113.00 US. I’d say I pay out my ass about a third less when I buy OS X.

    “The whole “just works” mantra is all fine and dandy until you deviate from the script, at which point you’re pretty much in the same point as Linux.”

    I’m not sure I follow. What situations do you have in mind where deviating from the script renders the “just works” mantra null and void? I manage a network of about 70 Macs and while I experience some frustrations and times when things don’t magically “just work” a solution is usually not far off.

    If I get in a tight spot and need those ultra-specific Unix command-line tools that are developed for use in Linux, chances are someone has ported it to be able to run under OS X, since the underlying architectures are not that dissimilar. Best of both worlds.

  6. Conor says:

    a Mac really doesn’t cost much more than an equivalent Windows machine anymore

    You’re talking hardware in a software conversation. I also think that you meant to head in the OS department (OS X costs something but it isn’t much; Linux is generally free), but even that’d be inappropriate. The user must consider the total cost of ownership for each platform. With that in mind, Linux is by far the more economical. There is a case to be made for it driving people insane, of course.

    But the same can be said of Windows or OS X. =P

  7. […] of the problems Ben lists here, really. Multimedia is a huge to me. X is annoying and slow. Audio is a mess. Pulse-audio is […]

Leave a Reply