Chad Perrin: SOB

30 April 2009

Adventures with Desktop Ready Linux

Filed under: Geek — apotheon @ 01:09

I’m not the world’s greatest Linux fan these days. I object to the license (the GPL) used for the Linux kernel and for the GNU package of core utilities used in the vast majority of Linux-based operating systems; I dislike the way the GNU project is trying to reinvent Unix in its own bizarre “not invented here” image and the larger Linux community is tacitly going along with it; and I dislike the way the various Linux distributions’ developer communities tend to be all too willing to take shortcuts toward their various ends, resulting in systems that often either resist customization or lack reliability when one attempts to do anything not explicitly expected by the core developers.

My favorite Linux distribution — for reasons of a balance between easy system management, reliability, and customizability — is Debian, and has been for a while. I find FreeBSD significantly more reliable, somewhat easier to manage, and no less customizable, but among Linux distributions Debian is still my favorite. Other distributions I have used, to varying degrees of familiarity, include (but are not limited to):

  1. Damn Small Linux
  2. Fedora Core Linux
  3. GNUstep Live CD
  4. KNOPPIX
  5. Mandrake Linux
  6. SimplyMEPIS Linux
  7. Slackware Linux
  8. SuSE Linux
  9. SystemRescue Linux
  10. Ubuntu Linux
  11. XandrOS
  12. Zen Linux

. . . and a few others.

Despite my preference for FreeBSD, my experience with various Linux distributions leads me to believe that yes, Linux is ready for “the desktop”. It’s also ready for the datacenter, the small office or home office, and “the enterprise”. IBM certainly seemed to think Linux was ready for the enterprise when it produced a Linux television commercial a few years ago:

If there’s any lack of “readiness” for the desktop, it is in the fact that the Linux distributions that are best suited to easy hardware support are also the distributions most likely to make life difficult in ways reminiscent of MS Windows. There’s nothing on the order of MS Windows architectural security failures and system resource consumption, of course — but the oppressive “we know better than you” interface rigidity of the most “desktop” oriented distros is limiting, to put it mildly. Meanwhile, the systems best suited to customization without breaking things (a major benefit of using something like Linux rather than MS Windows) seem to lag significantly more on the hardware support front. It seems the options in the world of Linux-based OSes are:

  • only marginally better than MS Windows for customizability, but great at hardware support “out of the box”

  • much, much better than MS Windows — so much better that it’s not even in the same ballpark — for customizability, but slightly less great at hardware support “out of the box”, at least where relatively new hardware is concerned

To compare the two options, I’ll summarize the recent escapades of my SigO as she tried to get a fully working Linux-based OS running on her new ThinkPad T500 laptop. Among her requirements for “fully working” were solid wireless support, a working CD-RW/DVD drive, and hardware accelerated 3D graphics for World of Warcraft. The process went something like this:

image of keyboard forcefully integrated with monitor

  1. Try installing the latest Debian Stable release, code named Lenny: fail, because it doesn’t even recognize the optical drive, and won’t finish installing.

  2. Try installing the latest Ubuntu release, code named Intrepid Ibex: succeed. Try getting 3D graphics working: succeed. Try getting wireless working: succeed. Try getting used to the UI: fail, because it’s GNOME, about which she says something like “Damn. If I wanted the GUI to tell me what to do, I’d be using Windows!” Try getting IceWM working without a bunch of GNOME crap getting in the way: fail, because the Ubuntu core maintainers have some very bizarre ideas about how package dependencies should be specified.

  3. Try installing the latest Debian Testing release, code named Squeeze: succeed. Try getting 3D graphics working with World of Warcraft: succeed. Try getting wireless working: fail, because the Intel 5100/5300 drivers aren’t in the Debian Testing kernels. Try upgrading to a kernel from Unstable/Sid that should support the laptop’s wireless chipset: succeed. No, wait: fail, because now the 3D graphics driver is broken. Try upgrading the driver: fail, because this really sucks and needs to be shot full of holes and left for dead in a ditch somewhere.

  4. Try installing the new latest Ubuntu release, code named Jaunty Jackalope, as a minimal install: succeed. Try getting wireless working — well, let’s come back to that after we get the 3D graphics working. Try getting hardware accelerated 3D graphics working without installing a metric rapload of GNOME and other unnecessary poppycock installed as dependencies for user obsequious tools that for some reason appear to be necessary for getting ATI/AMD drivers installed properly: fail.

  5. Try installing Debian Unstable, code named Sid: succeed. Try getting 3D graphics working: succeed. Try getting wireless working: succeed. Try getting IceWM working: fail, because it’s Unstable/Sid, and shit just breaks all the damned time. Change the sources.list file to use Testing sources, so that more stable versions of any additional packages she needs will be installed in the future, and she’ll basically have a Debian Testing/Squeeze system with an Unstable/Sid kernel so she can have 3D graphics for WoW and wireless support on the same computer at the same time: succeed. Try installing IceWM again: fail. Try installing Fluxbox instead (at least it isn’t GNOME): succeed. Try getting used to Fluxbox: in progress.

In short, Linux-based systems are every bit as ready for “the desktop” as MS Windows — even more so, in some respects. You just don’t get nearly as many of the much-vaunted benefits of Linux-based systems as you might expect, if you want that desktop readiness.

C’est la vie.

This SOB entry was composed on a ThinkPad R52 running FreeBSD, because I care more about my sanity than I do about having WoW running on my laptop. Of course, if the SigO didn’t have WoW running on her laptop, there’d only be one computer capable of running the game between the two of us at present, thus preventing us from playing it at the same time. As a result, I’m willing to share the insanity of getting things working on her laptop (and I’m the guy that came up with the idea of the last hybrid Squeeze/Sid install, in fact). I’m just glad it doesn’t have to be on my laptop.

Still . . . I’m eager for the day ATI/AMD hardware accelerated 3D graphics works with open source drivers, so I can have it with FreeBSD and don’t have to settle for the software accelerated 3D graphics that currently works — and only supports games like Neverwinter Nights, excluding something like World of Warcraft. While I’m at it, I’m waiting for the Chromium browser (the open source Web browser behind Google Chrome) to be ported to FreeBSD as well, and for open source Flash player plugins on FreeBSD to catch up with Adobe’s official, closed source Flash player plugin on MS Windows (or even for Adobe to get its head out of its fourth point of contact and start offering a FreeBSD compatible version of its Flash player plugin, even if it’s still closed source at the time).

FreeBSD is definitely ready for my “desktop” (technically, my laptop, I guess). If it isn’t, it’s just the closest thing to being ready for it that exists right now, as far as I’m aware. No Linux distribution I’ve encountered measures up. As far as how most people mean “desktop ready”, though, FreeBSD isn’t up to the standards of the “desktop” oriented Linux distributions, MS Windows, and MacOS X. That’s pretty sad, considering how easy it would be to get it there, with a little help from hardware vendors that already support Linux-based OSes.

10 Comments

  1. […] Adventures with Desktop Ready Linux FreeBSD is definitely ready for my “desktop” (technically, my laptop, I guess). If it isn’t, it’s just the closest thing to being ready for it that exists right now, as far as I’m aware. No Linux distribution I’ve encountered measures up. As far as how most people mean “desktop ready”, though, FreeBSD isn’t up to the standards of the “desktop” oriented Linux distributions, MS Windows, and MacOS X. That’s pretty sad, considering how easy it would be to get it there, with a little help from hardware vendors that already support Linux-based OSes. […]

    Pingback by Links 01/05/2009: US Navy Picks Linux, Another Massive GNU/Linux Migration | Boycott Novell — 1 May 2009 @ 03:37

  2. The fanaticism of the GPL and the GNU project can pretty much be blamed on AT&T. They distributed System V far and wide among universities. Once it was the de facto OS standard in academia (and had been improved significantly by researcher contributions) they yanked the license and tried to charge through the nose for access.

    So, GNU and the GPL is the immunological response to that kind of corporate wankery. It could be argued that it’s unnecessary now since open-source unices are well-established, but I just can’t hold their “we’ll share only if you share too forever” attitude against them.

    That aside, if you find yourself installing a fresh Linux distro on a laptop, consider one of the other non-Gnome Ubuntus such as Kubuntu (KDE) or Xubuntu (Xfce, which I rather liked when I tried it a few years ago). You get the same good hardware support, and a desktop environment that might be more to the user’s liking.

    Comment by d7 — 12 May 2009 @ 12:54

  3. Kubuntu and Xubuntu still install pretty much all the same stuff, and still use all the same absurd dependencies. They just default to starting a different window manager, basically.

    In this particular case, the user in question has no interest in using GNOME, KDE, or XFCE. (edit: Nor do I have any interest in using any of the three, but it’s not my laptop, so that’s kind of irrelevant.)

    Comment by apotheon — 12 May 2009 @ 01:11

  4. Oh, yeah, and about the “immunological response” thing — if the GPL is the immunological response, I’m afraid open source software suffers from an autoimmune disorder.

    Comment by apotheon — 12 May 2009 @ 01:23

  5. Possibly, though without specifying the equivalent of the body in this metaphor is gets hard to ground.

    I think the GPL serves a purpose—spreading the idea of free software in a controversial and hence noteworthy way—while leaving room for alternatives. The GPL can’t take over the world, since the GPL doesn’t stop clean-room development of non-GPLed replacements anymore than copyright stops clean-room development of GPLed replacements.

    Tangentially, what about FreeBSD apart from the license makes you prefer it? You wrote about it being nicer under the hood than Linux distros in a post about Rails dev environments, and I was wondering why that is.

    Comment by d7 — 12 May 2009 @ 06:31

  6. I think the GPL serves a purpose—spreading the idea of free software in a controversial and hence noteworthy way—while leaving room for alternatives.

    It is so readily equated with “open source” for so many people, though, that for many it doesn’t leave room for alternatives. The mere act of discussing the possibility of there being downsides to the use of the GPL often attracts significant hostility. In fact, it seems that people who care about open source development for any reason other than development process benefits and simple software price are pretty much all hostile to the idea that other licenses should be considered.

    Tangentially, what about FreeBSD apart from the license makes you prefer it? You wrote about it being nicer under the hood than Linux distros in a post about Rails dev environments, and I was wondering why that is.

    For one thing, there’s a more consistent “feel” to it, because — the core operating environment as a whole being developed as a single project — it’s easier for the developers to coördinate their efforts for regularity of interfaces and behavior. For example, where a Linux-based system needs a minimum of three different tools to control the wireless environment (ifconfig, iwconfig, and iwlist), FreeBSD needs only one (its own version of ifconfig).

    The Unix philosophy of software development, of course, suggests that there should be separate tools for separate tasks, and that these tools should be tied together when you want more complex operations, but in this case it feels more like Linux-based systems need separate tools for a single task. The reason, I think, is that the developers of iwconfig got around to developing support for the wireless extensions before the developers of ifconfig did, and it matured before anyone got around to coming up with a plan for integrating it into ifconfig’s functionality, and eventually it just became standard practice to use more than one tool where a single tool would make more sense.

    There are many other cases where things are done in a way that seems less slick, less well organized, in the Linux world than in that of FreeBSD, too — many other cases. The ALSA mess is a pretty good example; Linux has three different standard sound subsystems, with ALSA being the most widely used and thus “most standard” these days. Unfortunately, it has to maintain compatibility with other sound subsystems too, and they have to maintain compatibility with it; it wasn’t developed with any kind of coördinating effort with other subsystems of a complete Linux-based OS, so its interface is quirky and unique within a complete operating environment; and it is maintained as a completely separate system than the core of the OS as a whole, because its developers really don’t know what “the core of the OS” will be in each use case, leaving ALSA kind of a mess of special case code (gawd, but ALSA is a pain in the ass to configure and maintain sometimes). FreeBSD has a single, standardized set of subsystems, including its sound subsystem. While I like portable code in general, the sound subsystem isn’t “code in general” because it ties in directly with that layer of your operating environment that talks to hardware, where “portability” means portability across hardware platforms, and there’s already more special case handling code than you can shake a stick at. Adding more in those circumstances seems like kind of a losing strategy to me.

    I could go on about other cases of a less unified development effort causing issues with the regularity and consistency of the operating environment, of course, but I think this comment’s getting long enough. The long and the short of it is that the differences from a system administrator’s point of view are abstracted, emergent properties of a complex interaction of very small differences below the level where the average admin will ever see the differences, but the overall effect for the admin when everything is added up is both subtle and dramatic. In short, to really grok the difference as an admin type of user, you kinda just have to experience it.

    Oh, yeah, and . . . the virtual filesystem’s organization is much nicer than in the vast majority of Linux-based systems, and unlike those Linux-based systems it doesn’t change from system to system.

    That’s my take, in a nutshell.

    Comment by apotheon — 12 May 2009 @ 08:59

  7. > [The GPL] is so readily equated with “open source” for so many people, though, that for many it doesn’t leave room for alternatives.

    Sure, but the developer of a new, non-derivative program doesn’t have to GPL it, so the popular perception doesn’t matter so much. The recent explosion of alternative licenses seems to support that intuition. The hacker-culture conversation around free software has certainly centred on the GPL, but the fact that there is still a conversation at all points to a healthy degree of alternatives. Developers can and do choose other licenses that suit them better.

    Still, the core point I want to make is that even if the GPL or a GPL-like somehow takes over and everything carries this viral license, and if that turns out to be problematic, there will simply be a new project akin to the GNU project. Instead of setting out to develop from scratch an open alternative to a closed system, it would be a non-viral alternative to a virally-licensed system.

    > There are many other cases where things are done in a way that seems less slick, less well organized, in the Linux world than in that of FreeBSD

    That’s a great explanation. I’ve run into that problem in Linux often enough that I’d probably appreciate the better integration of FreeBSD. That more integrated design is what I most liked about Mac OS X as a daily-use unix when I first started using it, but Apple’s habit of subtly and not-so-subtly deviating from convention far under the hood has been grating for a while. I think I’ll take a look at FreeBSD next I have time to tinker with OSes (which is likely in a couple years when the Child is less all-consuming).

    Comment by d7 — 12 May 2009 @ 09:47

  8. Sure, but the developer of a new, non-derivative program doesn’t have to GPL it, so the popular perception doesn’t matter so much.

    It does matter, though, because so many people do use the GPL — which I find to be nearly as ethically troubling as strong copyright enforcement of the sort used to essentially rob content creators of their creations in the record industry.

    The recent explosion of alternative licenses seems to support that intuition.

    That doesn’t support the notion that it doesn’t matter, as far as I can see. It does, however, seem to support the idea that there are enough people who disagree with the GPL approach that they’re easily noticeable if you’re looking.

    The hacker-culture conversation around free software has certainly centred on the GPL, but the fact that there is still a conversation at all points to a healthy degree of alternatives.

    That’s fine, if all I want is “alternatives”. What I would really like, though, is for the strongest contingent to be the ethically best option.

    Instead of setting out to develop from scratch an open alternative to a closed system, it would be a non-viral alternative to a virally-licensed system.

    “Viral” isn’t a bad thing for a license, in and of itself. What I most object to in the GPL, other than slightly less annoying problems such as the fact that it’s specifically limited to software, is the fact that it imposes restrictions on what people can do with what they possess without an explicit contractual agreement.

    That’s a great explanation. I’ve run into that problem in Linux often enough that I’d probably appreciate the better integration of FreeBSD.

    Thanks! I do try.

    The integration issue is only one, though. There are other reasons as well, such as the fact that in my experience it’s more stable than any Linux distribution I’ve used, the default configuration tends to be more secure, and the official user and administrator documentation is much more comprehensive and complete than anything I’ve seen for any other operating system anywhere, ever.

    That more integrated design is what I most liked about Mac OS X as a daily-use unix when I first started using it, but Apple’s habit of subtly and not-so-subtly deviating from convention far under the hood has been grating for a while.

    That bugs me somewhat, too, though if the changes were made for obviously good reasons I’d be less bothered. Another problem I have is that MacOS X’s integration is in many cases a bad idea. There’s good integration (regularity and consistency of interfaces and operation), and there’s bad integratoin (inability to customize the operation of the system because stuff has been so tightly coupled that there’s no way to change anything without breaking stuff). For instance, the fact that while the Unix-like core of MacOS X allows one to run X on the system, there’s no way to eliminate Aqua. It’s a bit like trying to use IceWM on Ubuntu; sure, you can probably get it to run, but it’s a pain in the ass, and once you do so you’re still going to have GNOME sitting there in the background, even if you don’t actually need it for anything.

    I think I’ll take a look at FreeBSD next I have time to tinker with OSes (which is likely in a couple years when the Child is less all-consuming).

    Back when I used Debian as my primary OS of choice, I kept wanting to give FreeBSD a try for reasons related to licensing (since I hadn’t really learned much about its technical benefits in comparison with Debian and other Linux distributions at that point). I kept putting it off, though, because I liked Debian so much more than anything else I had used to that point that I felt like there wasn’t any technical motive for me to move on, and laziness was a strong counter-motivation. Eventually, though, the decay of the Debian distribution (as I referred to it a couple years ago) drove me to try something different.

    . . . so I can totally understand procrastinating, especially when really busy as you surely must be with a small clone underfoot.

    Still, now that I’ve already made the switch, I have the luxury of claiming superiority and trying to cajole people into moving to FreeBSD sooner rather than later. With that in mind:

    No waiting! Hop to it! Better now than later! What are you — a wuss? Get to it! There’s no time like the present!

    . . . et cetera!

    Comment by apotheon — 12 May 2009 @ 11:09

  9. […] my Adventures with Desktop Ready Linux pointed out, Linux-based systems are not ready for the desktop, if your criteria include both […]

    Pingback by Chad Perrin: SOB » How do you really know it's desktop ready? — 19 July 2009 @ 11:31

  10. […] . . . there were some issues with getting her new laptop set up, at first. We finally got those ironed out sufficiently, and she […]

    Pingback by Chad Perrin: SOB » recent Firefox troubles — 21 July 2009 @ 10:46

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

All original content Copyright Chad Perrin: Distributed under the terms of the Open Works License