Part one in an occasional series on minimal GNU/Linux distributions
For years, the typical lifespan of a computer was considered to be about 2-3 years. The rapid development of faster and more efficient processors and graphics cards, the ever-growing amounts of RAM that could be crammed into a single stick (and used up by a single program), and the massive size of mechanical hard drives (and again, the files and programs you would be storing on them) made it a simple matter of practicality: After roughly three years, your old computer simply couldn’t do what you wanted it to anymore. This cadence was also reflected in the release schedule of new operating systems. Microsoft would release a new version of Windows every 2-3 years, and Apple a new version of their Mac OS; in both of these cases it was often most economical to simply buy a whole new computer with up-to-date hardware, rather than pay in excess of $100 to upgrade your operating system to a new version that may not even run very well on your current machine.
Then, in the mid 2000s, something changed. Microsoft released Windows XP in 2001, and in that same year Apple released their completely redesigned Mac OS X. While both of these operating systems had the usual teething problems at launch, each would bring about something unexpected in the following years. Microsoft opted to simply keep the popular XP up to date with free service packs as the development of its successor, then code-named Longhorn, dragged on far past the initially expected release date. Apple, on the other hand, continued to release near-annual $130 updates to Mac OS X, but unlike in the past, these updates had an unexpected effect: Each new version ran better on existing hardware than the one before it, finally making the idea of replacing your hardware for every new OS upgrade obsolete.
So people simply did not upgrade. This actually became a bane of both companies: When Microsoft finally released the long-awaited Longhorn – now called “Windows Vista” – in 2006, it was lambasted by the tech press and consumers alike as being “too slow” on current hardware. The real problem was, few people were actually running it on “current hardware” – many had simply grown used to holding on to the same computers for years, and expected to continue to be able to get new updates on machines that originally shipped with pre-service pack builds of Windows XP years before. Similarly, after their transition away from the IBM/Motorola PowerPC architecture to Intel’s x86 processors, Apple found that a large portion of their consumer base expected to be able to continue receiving new versions of OS X and other Apple software for their now “obsolete” systems.
The problem at hand is that hardware had simply reached a point of “good enough” for most consumer use in the mid 2000s. Systems with Athlon 64 CPUs and a single gigabyte of RAM could do just about anything the average consumer desired on Windows XP, but were rendered nigh unusable when running its much shinier and more powerful successor. Similarly, it would be preposterous to suggest that a Power Mac G5 – or with the advent of OS X 10.8 “Mountain Lion”, even an Early 2009 Macbook – isn’t fully capable of handling most basic tasks, but they simply aren’t able to run newer versions of Mac OS at all. The upshot is that end users are saddled with a bleak choice: discard hardware that can still fill a useful role, or be stuck with operating systems that lack a lot of key security and usability improvements.
Or perhaps they can simply take a third option? Enter so-called “minimal” Linux distributions. While I won’t waste another thousand words on an intro to Linux, suffice it to say there is a lot of community and professional effort behind lightweight Linux systems. The example you may be most familiar with is Google’s Android operating system, designed for chiefly for ARM-based smartphones and tablets. While Android is very different from most desktop Linux distributions, it it still uses the Linux kernel at its core. Similarly, lightweight versions of the Linux kernel are used in all manner of consumer devices, from WiFi routers to cable boxes to in-car computers. Today, however, we’ll be taking a look at one of the most popular lightweight x86 desktop distributions: Crunchbang Linux (stylized as #!).
Crunchbang is a distribution based on Debian, and using the Openbox window manager. The developers describe the project as “highly customisable and provid[ing] a modern, full-featured GNU/Linux system without sacrificing performance.” Sounds like exactly what we’re looking for for old-but-not-ancient hardware, doesn’t it?
Speaking of hardware, here is the system we’ll be using to test out Crunchbang:
- Gateway 7422GX notebook computer “Constitution”
- Mobile AMD Athlon 64 3400+ (2.2GHz, 1MB L2 cache, 800MHz HT)
- 1 GB PC-2700 (2x 512MB) DDR SDRAM
- 64MB ATI Mobility RADEON 9600 (4 pixel/2 vertex, 300MHz Core/400MHz Mem)
- Mislabeled as a Mobility RADEON 9550 on the original spec sheet; the 9550 would supplant the slightly higher-clocked 9600 on other 7400-series notebooks
- VIA VT8233A AC’97 audio
- Unspecified VIA V.92 modem
- Yes, really, a 56k modem. On an internal ISA bus, no less.
- 100 GB 5400RPM Fujitsu IDE HDD (upgraded from stock 80 GB, 4200RPM Toshiba disk)
- TSSTCorp 8x DVD+/-RW drive
- Broadcom BCM4306 b/g WiFi
- VIA Rhine II 10/100 Ethernet
- 6-in-1 media card reader
- 32-bit PCMCIA Cardbus slot
- 15.4” 1280×800 TFT LCD
- 14.0 × 10.4 × 1.6 inches (355.6 × 264.2 × 40.6 millimeters)
- 7.5 pounds (3.4 kilograms) with standard 4600 mAh battery
As you can see, hardly cream-of-the-crop hardware these days. For late 2004, however, it was considered a fairly high-performance desktop replacement, and cost me a cool $1200 on sale. It’s thick, heavy, and gets garbage battery life (more so now than originally, of course). But as you’ll see, it’s surprising just how far the industry both has and hasn’t come.
To start, I’ll go over the installation process. After downloading the install image and burning it to a DVD (because Crunchbang is frustratingly just a little too large for a CD, and this old laptop refused to boot from a USB flash drive), it was a simple matter of plugging in an Ethernet cable, booting to the CD, and clicking through a few simple setup steps. After entering my username, password, desired partition scheme (‘just erase the whole disk and do your thing’), the installer chugged away for about 15-20 minutes and rebooted to my new Crunchbang install.
Now, if you’ve used most Linux distributions on any semi-modern hardware, you’d be expecting the next step would be to spend hours fiddling with drivers and config files to make all of the hardware work properly. Not so here, however, as everything I can reasonably test (no, I don’t have any PC Cards, sorry) works flawlessly out of the box. There are some advantages to running on more “distinguished” hardware after all. Even the notoriously finicky Broadcom WiFi chipset connected to my WPA2 network right out of the box (though, it should be noted, not during the installation process – that required a wired connection). Heck, even S3 suspend works, and that never works on Linux. Also working: sound, accelerated graphics, the special function keys, the SD card reader, even multitouch gestures on the trackpad. The gang’s all here folks, and it really is so easy a caveman could do it. I mean after all, I did it.
On to the core of the experiment: the user experience. Does this “minimal” distro deliver on its promise of being “highly customisable” and “full-featured” “without sacrificing performance”? After all, that’s a mighty tall order. In a word: yes*. Why the asterisk, though? Read on.
I’ll work through the developers’ claims in reverse order, because frankly that’s also the order of “most-to-least important.” So the big question then, performance. Performance is excellent, quite simply. I won’t say you don’t see the age of the system come out, especially during application launches and when browsing more complex web pages, because you definitely do. But the system never becomes sluggish or unresponsive as a whole. Sometimes Chromium (my lightweight browser of choice) will hang a bit when loading something like Pandora, and you’re not going to be watching much 1080p Flash video on this system, but it holds up quite well under day-to-day usage and light multitasking. As I write this, I have LibreOffice Writer, Chromium with about 8 tabs, Clementine playing music, and a couple of terminal and file manager windows open. Conky – oh yes, Conky is running, too – reports that I’m still using less than half of my 1 GB of RAM, the swap file is empty, and that the CPU isn’t even breaking a sweat. Switching between applications isn’t quite as silky smooth as on my absurdly overpowered Core i7 MacBook Pro, but there’s no time for thumb-twiddling practice here either. Boot up time is almost shockingly fast, at well under 30 seconds to a usable desktop state, though rebooting is almost never necessary because, well…Linux. Suspend and resume each take less than 5 seconds. Even battery life appears to have improved from the most recent XP days: I can actually reach about 2 hours, which while very sub-standard today (and less than the 3 or so it got under XP when new) is fairly impressive for such an old battery running such inefficient hardware – the CPU alone, for example, consumes roughly 80% more power at peak load than the i7-2675QM in my MacBook Pro.
So performance is exemplary; how does the “full-featured” bit fare, then? Well, that sort of answers itself. Crunchbang runs the current mainline Linux kernel and the standard X11 windowing system, and comes with all the expected GNU coreutils. As a result, for an even somewhat experienced user, its as full-featured as you need it to be. Since Crunchbang uses Openbox by default, it doesn’t come with either the KDE or GTK+ toolkits out of the box, but they can easily be installed if you absolutely need a Gnome- or KDE-specific application. Even if we restrict ourselves to the bundled applications, just about everything you could want for a basic system is here. Iceweasel (Firefox sans the Mozilla branding) is the bundled browser du jour, as is so often the case. Abiword is on board for basic word processing, the excellent Geany fills the text editor/development tool role, Thunar is the file manager of choice, and xterm provides terminal access. GNOME Mplayer, curiously, provides a graphical media player, Transmission gives you access to the torrents you get that media from (admit it), and xchat is present for all your IRC and IM needs. On first boot, a special terminal window confronts you asking if you want to set up some commonly-used options, as well, allowing you to quickly and easily install Java, Flash, Chromium or another alternative browser, Dropbox, LibreOffice, GIMP, and the like. All the best of open source is on display here, and it’s as good/bad as ever, depending on your view. Frankly, I think the needs of your average user are well covered, and haven’t found myself having to dig into apt-get all that often. Which is probably good, because of something I’ll harp on in the next section.
Finally we come to the customization section. It’s initially tempting to just say “yeah, Linux” again and knock off for a snack, but I like to think I’m more professional than that. And frankly, customization is probably the most lacking part of Crunchbang’s default UI, strangely. While there are a handful of GUI utilities for editing some basic settings, the overwhelming majority of things will have to be changed by manually editing config files. While there’s nothing wrong with that per se, especially if you have broadly sensible defaults (and Crunchbang does, thankfully), it seems a bit silly that altering something like mouse tracking speed or key repeat rate requires you to delve into the Xorg.conf swamp. There’s also no convenient “software center” a la Ubuntu, leaving you at the mercy of Synaptic’s less-than-stellar search function (or simply knowing the name of the package you want and using apt-get at the command line). On the plus side, this is Debian at heart so you’ve got the ridiculously robust APT package management system on your side to keep anything from getting too busted. But by far the most maddening thing is actually not the Crunchbang team’s fault, so much as a side effect of their choices. Openbox doesn’t have any method of automatically discovering newly installed applications and adding them to its menu. Every new package you install must be manually added to the main menu system if you want to have a shortcut to launch it. There is a GUI to do this, but it’s frankly so bad you’re better off taking a few minutes to learn how to do it with the config files.
In the end, these few problems turn what should have been a glowing recommendation into a very tentative one. Crunchbang Linux is an excellent way to squeeze some more life out of an older computer. It’s fast – impressively, even startlingly so at times – and it comes with all the power of the mainline Linux kernel and full suite of GNU coreutils. Sadly, as is all too often the case with Linux on the desktop, the barrier for entry may be too high. I know from my time in tech support that there’s a lot of overlap between people who hang on to old hardware and the technically disinclined. And those people simply aren’t going to be up to putting in the effort required to get the most out of a system like this. If you know the limitations upfront and are willing to apply a little mental elbow grease to the problem, however, it’s hard to go wrong with Crunchbang. Really though, isn’t that the case with anything?