Random thoughts about “Linux on old computers”

Many years ago I wrote a series on “reviving your old PC with Linux“, a topic which still remains in active discussion all around the Linuxy corners of the Interwebs.  Most of what I wrote still applies, so long as you shift things forward seven years into the future.  But as someone who continues to engage in the hobby (and discussion of the hobby) of foisting free operating systems on whatever decaying PC hulks float my way,  I thought I’d write up random thoughts about the subject in response to things people say or the changes in computing.  A bit of a rant, a bit of state-of-the-union, and a little thinking out-loud on the topic of old hardware running old faithful.

Is your computer too old?

This, of course, is a factor of what you plan to do with the computer and how patient you are to wait for software to load or finish processing.  For me, for desktop use in 2018, the cutoff age is around 13 years.  When Windows Vista came out in 2006, it’s comparatively massive resource requirements pushed computing hardware forward from single-core processors and 512 Megabytes of RAM to dual-core systems with 2 GB.  The latter machines, properly configured, remain tolerably usable for a variety of tasks.

Linux will run on older machines — much older machines — but the utility of such hardware declines precipitously.  Apart from being hot, noisy, and subject to capacitor failure, such computers will barely run modern X11, much less a desktop environment or applications.  I suppose if you’re in dire straits, need a PC, and don’t mind using weird, ugly, feature-poor software, (or just doing everything in Emacs) you could employ an XP rustbucket like this.

Of course, most people just want to run one particular type of program, and that’s where the next issue starts.

The browser conundrum

“Web browsing” used be considered a lightweight activity.  There was a time when it was.  Seven years ago, you could load up some cut-down browser like Dillo or Netsurf and enjoy a slightly ugly-yet-still-functional world wide web.  (Lack of Flash support might have been a problem for video or gaming sites, but mostly it was a blessing to be immune to animated ads.)

Not anymore.   Modern web pages have become nearly useless if you can’t download and execute multiple megabytes of JavaScript in a browser that supports all the latest web APIs.  Even sites like blogs or news networks, where you mostly go to read text, might fail to load at all without complete JS support.  Blame developers, blame stakeholders, blame users, blame it on the rain; it comes to the same thing: web browsing has become as fussy and demanding as a hungry toddler.

The result is three strata of browsers:

  • The ones that work: Chrome and Firefox
  • The ones that mostly work:  IE, Edge, Safari, Opera, and miscellaneous webkit-based browsers
  • The ones that have been hopelessly broken by the panicked headlong rush of progress: everything else.

Install a lightweight distro.  Install the most minimal UI.  Tweak all those sysctl and hdparm settings.  The minute you try to launch a non-broken browser, most pre-Vista-era machines will just toss in the sponge.  Even a dual-core system will freeze up or get sluggish if you start opening multiple tabs of this stuff.

This kind of changes the game with old hardware, I think; especially if, like most people in 2018, you can’t think of much to do with a computer if it can’t load whatever trendy social media or video streaming service you regularly visit.  Looking for a lightweight distro for your old computer so you can run a modern browser is like trying to find a lightweight saddle for your horse so you can put an elephant on his back.

Which distro?  Does it really even matter?

Which distro.  This is the question everyone wants to ask about their old computer, and the answers received have a regularity that one is tempted to ascribe to a collection of chatbots triggered by the words “old computer”:

  • Most will suggest Lubuntu/Xubuntu/Ubuntu Mate
  • Others will suggest Debian with LXDE/XFCE.
  • The Puppy contingent always arrives, which results in an argument about its use of root.
  • The elite few will suggest Arch Linux, mostly for name dropping purposes.
  • That one guy will recommend Damn Small Linux, even though it’s been defunct for a decade.

What almost nobody will do is actually consider the hardware or what the person wants to do with it.  You’ll have someone suggesting Lubuntu for a Pentium 3 with 128MB, or someone who thinks a 1st gen i3 is so old it needs TinyCore.

I’m not even so sure distro matters that much anymore for most cases.  Among the 10-or-more-year-old systems seeing daily duty in my house, I’ve got Ubuntu Mate, Mint with Cinnamon, and the allegedly heavy Kubuntu installed.  Would they be a bit peppier on Lubuntu or LXLE?  Probably, but none of the regular users see fit to complain.  The difference in RAM usage between the major desktop environments amounts to a couple hundred megabytes; not insignificant, but not enough to make an appreciable difference in the performance of most applications.  Particularly that class of application which we’ve already discussed.

Am I saying that Linux Deepin is the right distro for the 1st gen eeePC you just got from FreeCycle?  Ok, no, but lightweight distros aren’t magic.  Most of them are a stock distro with one of the less-fancy desktop environments installed.  The “heavier” ones will take longer to get from POST to a usable desktop, but once there the differences don’t seem that extreme.  Only when you get something really old and low-spec do you need one of the truly lightweight-to-the-core distros, and then you have to wonder what you’ll actually do with it.

Arch linux as a lightweight distro

About that Arch linux suggestion; somebody always mentions Arch because they believe it’s “lightweight”.  Maybe they believe that because it’s the first distro they installed that didn’t put 10 GB of software on their machine, or because they couldn’t get anything more demanding than i3wm running on it.  Yes, I know it bills itself as lightweight on the website, but in reality it’s only as light as what you put on it.  If you put the same software on your Arch install that’s on an Ubuntu install, it’s gonna be just as heavy.

The only thing Arch really does for you in regards to lightness is what it doesn’t do for you:  it doesn’t install things by default, and it doesn’t give slick GUI installation tools.  But Ubuntu, Debian, openSuse, Fedora, and most other mainstream distros have the option to do the same kind of minimal install and command-line maintenance tools.

And compared to those other distros, Arch has two major issues on old hardware:

  • You have frequent updates which must be applied manually.  (Yeah, I know some of you live dangerously with pacman -Syu in your crontab.  I’ve seen this fail too many times in my 5 years on Arch to trust it.)  If your computer takes 20 minutes to reindex the man pages after every update, keeping your system up-to-date is a time-consuming daily chore.
  • To make it worse, you’ll need the AUR for anything remotely off-the-beaten-path.  This means compiling.  One or two AUR packages isn’t so bad; when you get into double digits, compiling all this stuff on Þe Olde single-core system is a no-go.

Don’t get me wrong; if Arch is totally your jam, feel free to put it on that old computer.  My point is to dispell the false notion that Arch is somehow unique in providing a minimal installer, or that it’s somehow lighter than any other distro with the same software installed.

 “Just use a Raspberry Pi”

This bit of advice rankles me more than it should; after all, I like the Raspberry Pi.  I just deployed ten of them as web kiosks at the local library, saving the taxpayers a couple thousand dollars.  They’re cool devices, and I really kind of want the latest model to play around with at home, if anyone out there feels generous.

But it bugs me when people recommend this as an alternative to making the trusty dusty PC work again.  Maybe it just seems like cheating, or maybe it’s the sheer wastefulness of sending working hardware to the landfill  recycling center.  But I think it’s also that RPi advocates tend to understate the cost and disadvantages of this approach.

It’s a $35 computer, right??? No, it’s a $35 motherboard.  To make a functioning PC with it, you need:

  • An HDMI monitor.  Since you almost certainly won’t have one, you’ll either need to get one or an adapter to convert to DVI (if you’re lucky) or VGA (if you’re not).
  • A case, unless you want to take risks with dust and static.
  • A power adapter, unless you happen to have a spare micro-USB phone charger with an amp rating sufficient to power the Pi and its peripherals (hint: that 500 mA one from your old phone isn’t powerful enough).
  • USB keyboard and mouse, which your old computer may or may not have had (if it’s old enough for you to consider a Pi as a replacement, it’s probably got PS/2 peripherals, not USB).
  • A microSD card with enough space for your software and documents (Even a 15 year-old PC is gonna have at least a 40GB HDD.  Don’t tell me I can get by with 16GB).
  • If you need more than 2 additional USB ports (printer? scanner? webcam? additional storage?) you’ll need a USB hub.

Yeah, you get the point.  By the time you turn your “$35 computer” into a working system comparable to an early-to-mid 2000’s desktop, you’re closer to the $100 neighborhood.  At that point, a used PC or laptop becomes competitive — and offers a lot more, like the ability to use a reliable storage medium or install those few proprietary x86 binaries you might need.    They’ll tell you the electricity savings will pay for all the costs, but only if you’re going to run the computer 24×7 and don’t factor in the monitor’s power consumption.

I don’t know, it’s an option, I guess.  It works for some people in some situations.  I just think you need to know the downsides so you don’t make an unnecessary trek to Solla-Sollew.

The most effective hardware upgrade

It used to be that the most effective hardware upgrade you could reasonably do for an old PC (apart from just gutting it completely) was memory.  Shove all the RAM into it that you can lay hands on, pre-cache everything at boot, and tell yourself it made any difference.  The biggest problem with old machines, though, has always been the slow disk drives.

This is why adding RAM made any difference; it avoided any situation where you’d have to swap to disk, and allowed you to cache commonly used files so you didn’t have to keep reading them from that dog-slow spinning platter.  RAM still helps in this regard, but we have an even more effective solution now: Solid State Drives.

It’s amazing what even a cheap second-hand SSD will do for a decade-old computer.  In my office I have a Dell Latitude D620 that hails from 2006, with 2 GB of RAM, a Centrino Duo processor, and a “Designed for Windows XP” sticker.  I saved it and a first-gen 32GB SSD from the trash pile, brought the two together, and installed a few different distros.  Even the allegedly bloated Kubuntu is perfectly usable on this setup.  Firefox is responsive, even on javascript-heavy sites.  I’m keeping my eye out for a good deal on a bulk lot of SSDs, these things are magical I tell you.

Trending hardware issues

Apart from the basic horsepower issues with older hardware, I’ve noticed a growing trend in basic compatibility, especially around video hardware.   We’ve long since bid farewell to video chipsets that aren’t Nvidia, AMD, or Intel; but even among those three brands, support for older video hardware in Linux is spotty and rapidly decaying.

  • For Intel, I’ve seen programs complaining about the lack of OpenGL 2.0 support in older i915 and i945 chipsets.  This is a hardware-level issue, so no driver update can fix it.  Not sure how much this requirement will continue to grow, but I’ve seen it not only in games but in multimedia software as well.   I surmise it will eventually affect the major web browsers.
  • AMD and Nvidia both have gaps where the proprietary drivers have dropped support for old hardware and the open source drivers never bothered to implement it.  If you’re lucky, you at least get VESA compatibility, but I’ve had equipment that caused a kernel panic just by existing.  OpenGL 2.0 issues abound here too.

On top of video issues, 32-bit hardware is increasingly getting left in the dust.  Somewhere in the last five years we passed the tipping point where 64-bit is now the de facto standard and 32-bit is a legacy platform that distros and packagers are starting to ignore.  Not a problem for the Core 2 Duo devices, but your Atom or Pentium-M laptop is no longer invited to a growing number of parties.  And as if 32-bit support wasn’t hard enough to come by, non-PAE 32-bit is even scarcer, leaving a lot of low-end notebook & netbook hardware on shaky ground.

Is “Linux for old hardware” still a viable narrative?

I admit, I’m pretty out of touch with what Windows needs from a computer these days.  I have a Windows 10 VM at work that gets pretty grumpy about it’s 4 GB of RAM and 2 processor cores, but it runs and I can do what I need to do with it.  I kind of feel like MS learned its lesson after Vista and stopped throwing CPU cycles, RAM bits, and HDD sectors around like cheap candy at a small-town parade, but then again a cut-down virtual computer isn’t real antique hardware.  Real old hardware has slow RAM, slower storage, and chipsets that need drivers.  Looking over its system requirements, I’m not prepared to believe that Windows 10 on a 2006 notebook is a good (or even possible) experience.

Of course, Linux has a number of advantages that have nothing to do with performance, but performance was always the main selling point on old hardware.  That, and cost; for the price of a legit Windows 10 pro license, you can buy a new Chromebook.  I don’t know about you, but I’m not about to drop $200 for an OS that might not even run on my hardware.  Point for Linux.

But beyond Window vs. Linux, maybe the more crucial question is whether the old hardware is even worth saving.  I  don’t mean your last-gen notebook, I mean the really old stuff; the Pentium 4 desktops, the AMD Athlons, those beige boxen banished to the back of the basement closet.

I suppose the answer depends on how much you do with a computer that doesn’t involve JavaScript, 3D graphics, real-time DSP, and HD video.  If you eliminate those, most of the remaining computing issues were solved — and solved well — a long time ago.  Writing a novel?  Doing your finances?  Learning to code? Making simple graphics or recording a few tracks of audio?  Emailing grandma or cataloguing your wine collection?  All this stuff was doable on computers 15 years ago, and it’s still doable today on the same hardware.

If you happen to need one more computer in your life that can offer this kind of functionality, Linux is as good a choice as any to provide it.  So in the end, I guess I’d say the relevance of this notion depends on you.

Beyond Linux

So that it doesn’t die half-finished in my drafts folder, I’ll cap this ramble with some thoughts on alternatives to Linux for old computers, something I covered in an article back in 2012.  This area has seen some nice progress, so I’ll quickly run down the current options:

  • HaikuOS, the BeOS clone, is maturing nicely.  The latest nightlies are actually fairly usable now, and it covers the basics: Webkit browser, word processor (AbiWord), spreadsheet (Sum-it), a smattering of open-source games, media players, etc.  It reminds me a bit of desktop Linux in the early 2000’s, and it runs pretty nicely on a Centrino laptop (even with a spinning platter hard drive).  It’s lack of user accounts and local security is kind of a bummer, but it’s still neat to see this new OS getting off the ground.
  • Icaros, the AmigaOS clone, is still plodding along, preparing to release version 2.2.2 with lots of goodies for people who want to run old Amiga binaries or re-experience the glory of 1990’s desktop design.  It’s always had a suprisingly large collection of software available, and beyond the meat-and-potatoes stuff it has some interesting graphics and sound software that you can’t find on other OSes.  Sadly, I haven’t had much luck getting it to run on actual hardware, but I give it a shot now and then.
  • Of course FreeDOS is still a glorious thing of glory, and since the last time I blogged about it they’ve released a new version.  It’s got a nice package manager with lots of DOSFLOSS readily available, and if the moon phases manage to align with your network card just right, you can Dillo your way to your favorite abandonware site and download a few megabytes of pure 1989 radness.  I kind of wish there was a good GUI for FreeDOS that didn’t crash or break other software, but then it just wouldn’t be DOS, would it?  Hey, we knew how to type KEEN.EXE back in the day, you can figure it out too.
  • Kolibri , a tiny system crafted in assembly continues to improve.  Though it boasts basic games, desktop utilities, simple productivity software, and even a rudimentary web browser, it’s still solidly in the realm of geeky curiosity.  The apps remind me of the kind of weird, useless software bundled with old set-top boxes or flip-phones before everything started running Android.  To be fair, it can run with as little as 8 MB of RAM, so you can rest at ease that if your available technology is pared down to a Pentium I computer, you can still chat on FreeNode and play Tetris.
  • Finally, if Win32 compatibility matters, but you don’t want to run a Microsoft product, ReactOS is your new operating system.  Though still far from being fully baked, this open-source Win32 redux is at least crunchy around the edges now and receiving regular updates from a dedicated team of developers.  It’s hardware requirements are modest, and it should have some level of compatibility with old Windows drivers.  It’s still missing a lot of functionality, particularly around network shares; but reportedly Age of empires 2 runs on it, so what more do you need??

Well friends, thanks for letting me ramble here and reading this much of it.  Keep blowing the dust off those old machines and let me know what your experiences are.


One Thought on “Random thoughts about “Linux on old computers”

  1. James Wiltshire says:

    Really interesting read. I spent my whole teenage life reviving old laptops and desktops given to our family because we didn’t have the money to get a new machine. I would mostly land on Lubuntu or puppy but I have to admit since I have started using Arch I still use a laptop with a Pentium dual core and all the vista basics you mention along side my thinkpad. I use i3 on both mostly because I really enjoy the workflow but on the old laptop it allows me to play 720p video through vga, browse the web and load youtube video’s all while the desktop environment looks great which I feel only lubuntu comes close too but not quite.

    The problem is I couldn’t recommend Arch to hardly anyone I know bar 1. Whatever people say about it my personal experience is that it’s a great way to learn the command line, comparable to learning a new language in the country it originates from but there is so many nights of problem solving with Arch and hours of going back and forth between the wiki.

    I want to learn so Arch is the jump in the deep end for me but it also happens to run better than any other distro I have tried.

Leave a Reply to James Wiltshire Cancel reply

Your email address will not be published.