I don't know how a "complete" guide can completely fail to mention NVIDIA. It doesn't seem straightforward to support older NVIDIA cards (on any OS, to be fair, not just on Linux). That's currently one of the issues with my 2013 Dell laptop that has a Quadro K1100M.
"antiX is my top pick for truly constrained hardware. It runs on systemd-free Debian Stable, uses around 256MB at idle, and includes a full desktop experience. The trade-off is a less polished interface compared to Ubuntu-based options. If you need something even lighter, Puppy Linux runs entirely in RAM and can resurrect machines that most distros would reject. The learning curve is steeper, but the performance is unmatched."
I would actually recommend Bodhi Linux for under 2GB. https://www.bodhilinux.com/ I installed AntiX on a 2GB Chromebook, and it had issues crashing on browsers under even a couple tabs. It might have just been the laptop I bought from Goodwill, or the fact that I disabled swap, because it was an old 16GB soldered SSD/NAND drive that I wanted to avoid heavily writing swap space to. https://www.youtube.com/watch?v=VhozuNv-J7Q
Bodhi is more featured with a more conventional package manager than Puppy, and while I like booting from RAM, it's learning curve is a little steeper and less maintained than Bodhi, which is getting a new release soon: https://www.reddit.com/r/bodhilinux/comments/1qqrfyj/is_bodh...
I did a video with Bodhi on Virtual box with 1GB since I didn't have the Chromebook with me at the time, but it idles around 350MB (possibly before Chromium running): https://youtu.be/61xI-g--ozs?si=y7ukxyEGSj_kNPF7
For additional package manager support, a nice UI (Enlightenment) and compatibility, it's far more preferrable than 250MB ideling on AntiX with less support.
For Atom N450 series, I recommend eXe Linux: https://exegnulinux.net/ I have a video of that too.
I hadn't heard of BunsenLabs, but I will definitely check it out (Note: Atom N450 chips support 64 bit, even on single core, so they might work great on those machines)
It's cool to see your interest in running Linux on highly constrained systems. I might check out eXe Linux, since I spent a bit of time messing with Linux on my Cr-48 Chromebook, which has an Atom N455.
Although, if I'm getting silly enough to try making N455 usable (which was seriously underpowered even at launch), I'm probably going full-on tinkerer mode, which is why I used it as an excuse to learn about Arch Linux. I figured hey, if I only have 2GB RAM and slow 16GB storage, I should have assurance that every single component on the machine is something I opted into installing. Problem is, I can't retain knowledge of the ins and outs of my fully custom environment unless I'm daily driving it, which...how exactly could I daily drive an N455 for anything, other than it being a thin client?
That's great information. I had no idea Chromebook prototypes started as early as N455, but since you're skilled with Arch, I'll recommend two distros(one isn't really a distro, but a toolkit) for your cr-48 : Tiny Core Linux, and NanoLinux. The latter is built on TCL and a distro was released on Sourcefourge around 2015- no releases since..
One could really optimize an N450 using a very light package manager over TCL, although it's possible you already have something like that on Arch. With TCL, more assembly is required.
I also used SliTaz on an EeePc 701 back in the day, and I used it more because it had out of the box wifi support. At just 30MB, quite unbeatable. The OS gets some updates still, but it's a smaller project and probably less known. I suppose you could also try Damn Small Linux 2024.
The memory requirements, yes. The crashing, no. The OS should not crash because memory is running out, but the solution is far from obvious or standardized. My recommendation for RAM constrained systems would be to use zswap combined with a generous amount of swap space.
true, and I think some pre-2015 machines might not have anticipated the diverse, but unpredictable ecosystem that 800 lb browsers allow under their hood these days. :)
The reason this advice is bizarre is that old memory isn't actually that dear. The machines that would have had 2GB of RAM or less would be from the Core 2 Duo era or so, taking DDR2 or DDR3, and typically supported 8-16GB. 8GB of DDR3 is currently in the ballpark of $10 and the machines that take it can be found by the pallet in the "free e-waste" pile, so who is going to suffer <2GB instead of 8GB over $10?
Intel mobile chipsets for Core 2 Duo only supported 2 or 4GB. And not all the desktop chipsets supported 8 or 16GB. I have a laptop with 3GB: one of the slots only supports 1GB.
There are a lot of old Chromebooks with only 2GB of RAM soldered to the motherboard. Other than that, they're surprisingly capable machines after you flash them with MrChromebox firmware.
With laptops of this era you only have two sodimm slots and DDR2 4GB RAM modules were quite expensive when they were new. So even still today they are more expensive than you would think. I sold mine for $25/each a few weeks ago.
Also some laptops of this era didn't support more than 4-6GB of RAM in the firmware. I know there are several models of early intel macbooks that you can physically install 8GB of RAM but they will not recognize it.
On the other hand, I have a 2010 iMac with all 4 DDR3 sodimm slots full giving it 32GB of RAM. It was a "just for fun" project before the AI prices. Those era iMacs are fully upgradeable (CPU, RAM, and GPU). Swapped in an i7 CPU, AMD m4000 GPU, and an SSD. Runs linux mint great.
You don't even have to go that old. There are so many companies that upgrade tiny pc's its created a whole self hosting community with the tiny lenovo, hp and dell unit's. It's not only Windows that can be replaced with old hardware but also many online services with proxmox for cloud/nas/dns/vpn/multimedia etc. Of course these are not 2GB systems but you can do some pretty cool things with 8 and 9 year old systems that are literally decommissioned because they are too old. Although a friend of mine who works for a MSP gave me a Lenovo m710q tiny a month ago and its made a pretty good Debian Desktop for my workbench in the garage. I lucked out there because even these tiny's are now going up in price. People have caught on.
Those old tiny/micro PCs make for wonderful TV steaming boxes, and easily replace Fire TV sticks, AppleTV boxes, Rokus and other similar proprietary garbage. They are also great for retro gaming.
I've purchased a few HP and Dell slim desktops (typically 2nd or 3rd generation i3s) on Newegg, from refurbished resellers. During the pandemic, they were $50-70 shipped and included 4GB of RAM. They support PCI-express in low profile, so I could plug in a monitor with 4k output using just displayport and a Radeon 7470 or an R5 R240. You could even get an i5 for not much more. I even had a couple work from home companies offering to ship the same size machine, Nowadays they are more likely to send a laptop and possibly a docking station, so it's a lot more portable (although I prefer to do without those too).
The overall sentiment expressing the growing gap between software needs and hardware capabilities is sound. This is where FOSS projects shine who put deep thought into providing the same features modern users need into an OS that can intelligently utilize older computing resources. I've been in the industry since the Nineties and it still amazes me how many companies invest so little into backward-compatibility and performance during their OS and application design process.
I've had my Panasonic Toughbook (CF31-5) for almost 10 years and while it's a dinosaur to some, it's a major upgrade from what I had before in terms of portable computing. Its max memory is 16 GiB DDR3 SDRAM on an Intel Core i5-5300U. When I first bought it I tried Debian and Ubuntu, but even back then those ran slow. I installed Xubuntu and have run that ever since with no performance issues whatsoever.
Because I primarily use Emacs and TeX tools, writing Elisp and LaTeX, the system is more than enough for me. I've not played graphics-heavy games, run GPU-intensive UI or done any heavy data plotting. However, one benchmark I do have: I am able use the test automation framework required for my day job with ease. I run that software on Xubuntu because on my work-provided systems (Windows 11 and macOS Tahoe) the application crawls and is practically unusable.
For older hardware: Void Linux, Xubuntu or maybe Linux Mint Xfce. If you want something up to date that needs to be online.
AntiX and Puppy Linux are a bit too rough, in my opinion. I'd rather leave the machine with some fully updated old Windows version designed for that hardware, offline. Works very well for retro gaming, ripping CDs and stuff like that.
And not a word about MGLRU and its settings. It has the biggest impact on performance on lower-end PCs, especially with low amount of RAM and slow HDD.
Here's a post from "le9" patch user which was created by ChromeOS developers much before MGLRU, but exploits the similar idea: keeping the essential file cache in RAM for as long as possible. It's usually night and day on low-end machines.
I had never heard of it, but checking it, I see MGLRU is enabled by default on my kernel (Mageia 10 with 6.18.xx). Are there distros where this is not enabled? Especially the ones mentioned in the blogpost? In that case it would need a recompile of the kernel, right? Or send in a bugreport to the distro.
For HDD, it also needs to be tuned. In its default configuration, MGLRU 'just' manages multiple generations of working sets, but there's a min_ttl_ms tunable which tries hard to prevent file cache from being reclaimed, which is not enabled by default.
You'd want to set it to 300 or 500, or even 1000 for the HDDs. Around 100-200 for SSDs/EMMCs helps as well.
And for anonymous pages swapping, you'd want to do that on zram (compressed swap in RAM). It also make wonders. You don't want to touch the (old) disk for that.
I like running Linux on older Dell Optiplex systems that you can buy off of Ebay. They usually come with 8GB ram, 256 or 512 SSD and usually 4 to 6 cores (maybe 8). All of the ones I bought use Intel CPUs.
They run Debian or Ubuntu great although I usually run them headless and just SSH into them. One experiment I did was with Talos / K8s with about 3 of these and it worked great.
When I was a student mucking around the trashed corner of a retired hardware room, I found a very dusty box that looked promising. It was a Ross hyperstation.
I was able to install Arch Linux and Debian on it. But I think it had some corrupt RAM and would crash after a few days if lucky or hours if not. That was a pity. This was the first system where I could see 4 cpus and had got pretty excited. This was a time when there were rumours of Intel dual cores going around. I was planning to run it as our NFS file server.
I was able to bootstrap GCC on it too, after a few tries.
I had a similar experience trying to use an old laptop with 2GB of RAM. I was surprised how much it struggled with basic tasks. I remember my first computer with 32MB of RAM. Obviously we live in a different world now but still, it's not like I was trying to do anything more ambitious than what I used to do on that PC.
It is wild how bad things have gotten. I have a small Linux tablet with 8GB of RAM that I only really use for browsing. Even that runs out of RAM quickly when I open more than 20 tabs (depends on the sites of course). And more than 3 Electron apps pretty much always means game over.
15 years ago 8 gigabytes of RAM were "wow what am I going to do with all this space" territory.
Its a pathetic world.. and sad.. I have currently 2 browsers open and my memory
commit is 370MB.. If I hear that Win11 uses 3GB of RAM idling, I really get shivers... WTF?! How is that even possible? Bloat is astronomical and yet.. Most people just does NOT care...
> I have currently 2 browsers open and my memory commit is 370MB..
In what context?
>If I hear that Win11 uses 3GB of RAM idling
Modern Gnome and KDE distros with batteries included also idea at around 2GB RAM which is a useless metric anyway as Windows 11 also preloads frequently used takes and apps on boot.
Less than that, between 900MB and 1.2GB and that's due to file and stuff indexation. The good thing on Linux and BSDs is you can swap for a light wm/compositor and your back below 150MB idle.
I recently installed Arch Linux on a fairly old (but not ancient) Intel T2 Mac, with the GNOME DE, and it uses less than 1.5GB of RAM. I went for the standard gnome package which as far as I can tell is "batteries included."
That leaves about 6.5GB for programs, which I think is acceptable.
My old laptop from 2006 has an ATI x1600. I remember that I lost v sync with kernels past 3.something so I had to put the kernel on hold while the other packages updated around it. That was around 2012. Maybe the issue is fixed by now but old graphic cards can make an old PC run only as a headless server. It's been years since I booted it.
I have one Nvdia system where it's locked to their drivers in BIOS meaning I can't use AMD. Now Ubuntu has dropped support for old GeForce it's essentially a brick, thanks Nvidia and Canonical.
I use Pop_OS! on my old 2014 Macbook Pro (16 GB LPDDR3, i5-4278U with 4 cores). It runs superbly with Gnome3. Given that it is 12 years old now and the latest supported macOS version with opencore legacy patcher was stuttering and unusably slow, there is a second life now for the machine. I mostly use it as a headless home server, the built in battery serves as UPS, keyboard and trackpad make it easier to setup and debug things.
I changed the battery myself (50€ replacement from Amazon) and it looks as good as new (one benefit of the aluminum chassis and glass display is that they can be cleaned quite well). Hardware support from Linux for those intel machines is great nowadays: WiFi, Bluetooth, trackpad etc all work.
I installed opensuse tumbleweed on mine and the bastid won't hibernate. Or: it hibernates but refuses to resume. It loads the saved state from disk and then 30 seconds of black screen later, reboots and loses state. Two solid days with Claude, exhausting every avenue, and it's basically unfixable. Sleep=OK, Hibernate=Fucked.
Great post. I just revived an old PC as well that was gathering dust by installing Linux on it. Also upgraded the hardware from a i3-6100 using iGPU + 8GB RAM to:
- i5-6600K (€20 used)
- ASUS STRIX RX 480 8GB (€20 used)
- 16GB DDR4 (€50 used)
€90 all in for an incredible Linux machine that still runs games great at 1080p. Probably even that amount of RAM was overkill, but it's 3200Mhz instead of the old 2133Mhz.
What’s a good small laptop that’ll run a recent Linux distro? I’d like to get one to have an ultra-portable machine for doing lightweight development work - I don’t need much more than a text editor and a C compiler.
Would a second-hand 11” MacBook Air or 12” MacBook be a good choice?
The older Intel-based Dell XPS 13 machines have the same footprint as some 11 inch Chromebooks. Some models have thermal quirks that cause a shutdown, which is easily addressed by lowering the CPU frequency. Battery life is pretty good (but I replaced the batteries before I realized the CPU issue was the culprit).
They would work but I'm not sure it's worth it. The 11" Air had a pretty terrible screen, and the models with 8GB of RAM are more expensive than I think they are worth. Plus Macbooks of this era are going to need a battery replacement, so your going to have to invest $70-100 on top of the price of buying the Macbook. You're likely going to be $200-300 invested into a 10 year old macbook.
Also keep in mind the 11" MacBook air wasn't that small. The Macbook neo with a 13" screen has almost the same dimensions.
You’ll need to look at chromebook that can have a linux distro on it. I like the a good keyboard width so 14 inch laptop are my sweet spot. I have a latitude 7490 (which I wouldn’t recommend as it have an hardware design flaw ( it freeze when held one handed)) and it’s light.
Honestly it comes down to what do you mean by using Linux. In 2026, or well at least since the mid 2010s, the biggest hurdle will be the web browser. Do you need that? If yes then you are already in the higher system requirement pool. If not then pretty much anything goes, like the options I mentioned above. And even then you can use curl, wget, aria2 etc to access online content to some extent
> And you can go even smaller with TinyCore Linux or the xwoaf-rebuil
Sure, but in this time and age, do they really have to settle for such extreme 90s looks as defaults? I mean, Windows XP Media Center Edition can surely be considered as "lightweight" today and it featured the gorgeous Royale theme back in 2005.
Yeah, this is what always surprises me with modern software targeted towards low-specced computers.
Windows XP run fine in 256MB ram computers yet it could be altered to make it look fantastic, with the Royale or Royale Noir themes.
I guess even Linux back then could be made beautiful on similarly specced computers. Yet, AntiX or even LxQt is hideous despite consuming more resources!
I wonder where all the artists who used to make the wide range of styles for XP went after MS made it harder to apply themes to windows, or what factors contributed to attracting artists to start making that kind of customization. I think partially it's down to the platform many use (many seek to theme mobile OSes), but the tools to do so has to be a large contribution. I'm not aware of anything like Stardock's Skin studio that exists outside windows, and from looking at their website it's now useless for anything past win10 1909. Having their art seen on widely used platforms (OS or applications) has to be a large draw to it as well.
Otter Browser it's uber light, but for proper support you might need to build it against the qtwebkit/qtwebengine plugin (I can't remember, but one of the two engines was the most modern one). If not, I have Dillo+MPV+ytdlp/streamlink for video sites. More than often
if you works. Also, I have gemini://gemi.dev (Dillo plugin) for the news sites tunneled over Gemini and some nice Gopher sites such gopher://magical.fish and gopher://sdf.org
Another possibility is Slackware 15.0 which is the stable release that gets updates. Available in 32 and 64 bit, runs a 5.15 series kernel (antiX 26 32bit uses a 5.10.x kernel). I have an install on an ancient Thinkpad T42 with 1Gb ram, a single centrino chipset CPU, 40Gb hard drive and radeon graphics. Chugs along nicely with Abiword, Gnumeric and Dillo. Firefox will load but is deeply unhappy.
(I install everything except the KDE and XAP package sets, and then install selected packages from XAP as I need them e.g. GIMP, xpdf and so on)
MX has more recent packages for some things though, Slackware 15 is getting mature.
It's interesting how on a server 2 GiB of RAM can get you quite far, however on a desktop that's pretty much the minimum feasible amount. It used to be the opposite: servers needed plenty of RAM and CPU compared to desktops
Personal servers never needed much in the way of resources. They only did, and still do, when you have a lot of simultaneous users. The database servers at Google or Microsoft don't have 2GiB of RAM. They plausibly have 2TiB.
>"browser.cache.disk.enable: Set to false. This disables the disk cache, which is unnecessary if you have an SSD (RAM cache is fast enough) and actively harmful on old hard drives (constant small writes degrade performance)."
This paragraph especially feels LLM generated. It's nonsense (a fast disk makes disk cache more effective), with a "not even wrong" explanation (speed of RAM is unrelated to speed of disk). It's the kind of error you often see from LLMs, where you have the right words but no solid world model behind them. Of course, I can't actually prove it's LLM writing, and if it is then it appears to be edited by a human, but I don't recall ever seeing this kind of error from a known human writer.
When you do zram, what happens is the pages sent to zram are compressed. But when those compressed pages need to be evicted to swap, they are decompressed before being sent there. It's not helping you to avoid hitting the disk, it's writing more to the disk.
Zswap will still compress pages in ram. It only evicts to the disk when the in memory swap pool is filled. The difference being that the pages swapped to disk remain compressed on their way there.
I never want to evict pages to swap. If I loaded something, it's because I intend to run it, and I never want to wait. If there's not enough RAM, I'd rather have a userspace OOM killer kill the process early so I know I'm trying something impossible. (Or rely on the kernel OOM killing if it's actually capable of doing its job, but last I tried the default behavior under heavy memory pressure was to free any pages that can be restored from disk, even if swap is disabled, which makes the system equally unusable.) I don't care if rarely used pages are "wasted" by being kept in RAM. I want good worst-case performance, not good average-case performance.
I mean, if your approach is zero swap of any kind then you wouldn't be using zram or zswap and it's a moot point, right? (Not that I disagree; I also have become fond of earlyoom)
When using zram, there is no "evicted to swap"; zram is the swap. Even if you activated zram and disk-backed swap, I'm pretty sure they just get used in parallel, not through some sort of fallback.
It was my understanding that zswap does decompress pages before writing them to disk. Annoyingly, this doesn't seem to be spelled out either way in https://www.kernel.org/doc/html/latest/admin-guide/mm/zswap.... ; https://wiki.archlinux.org/title/Zswap does say "Once the pool is full or the RAM is exhausted, the least recently used (LRU) page is decompressed and written to disk, as if it had not been intercepted." but doesn't cite that claim.
> We are basically resuming the same swap writeback path that was intercepted with the zswap_store() in the first place. After the folio has been decompressed into the swap cache, the compressed version stored by zswap can be freed.
Yup, you are correct about decompressing before hitting disk.
> Even if you activated zram and disk-backed swap, I'm pretty sure they just get used in parallel, not through some sort of fallback.
You can tweak priorities such that zram ends up being the preferred location for swaps.
However, since it looks like just another block device, what happens is it simply gets filled up with the first swap entries and those in turn aren't written out to the disk device.
zswap works better in that way because it'll keep hotter pages in memory and sends LRU pages to the swap device. That's really the biggest reason to use zswap over zram if you are getting into a situation where you overfill your ram.
zram works best if it's the only device with the expectation that you'll OOME when it fills up.
Okay, that's why we're partially talking past each other: It didn't occur to me that someone would swap to zram and something else. Yes, if disk-backed swap is in play, then zswap is the best option.
It is astonishing to me just how bad end user software has gotten over the past twenty years. It's just goofballs. It's not like that point was when software started requiring more resources, the "What Andy giveth Bill taketh" aphorism was coined in the 90s after all. Software gets complicated over time. Every bug fix or added input validation or whatever adds code. That's fine and appropriate. Convenience and integrity add code/complexity. That's not what I find so bothersome.
I find 2006 an interesting horizon. It was then that the average home computer massively jumped in processing power compared to the software running on it. For the vast majority of users the computer spent more idle time waiting for input than users waited for output. Of course for some users there's never enough power but for most all of their tasks were effectively instant. Even heavyweight (for the time) stacks like Java ran incredibly well. He'll even Emacs could run well!
Then the curve seemed to invert. Hardware kept getting more capable with even faster CPUs, more cores (on common consumer machines, and more RAM. As the article points out a "lightweight" Linux DE with native apps really flies on such hardware.
But more development seemed to move to the web. More JavaScript required more powerful JS engines and those are up more and more memory. More shit loaded into the DOM means more and more objects on the heap with more pointer chasing.
Modern stacks are really only fast because modern computers brute force their way through them. A simple CRUD type task that fly as a VB or Delphi (neither stack performance kings) app on Windows 2000 now requires a 2GHz dual core CPU with 4GB of RAM as a baseline thanks to it now being a web app.
Using a twenty old machine with native applications and the CLI feels to me like a super computer compared to the computers I first used (Apple IIs). A Core 2 Duo is a stupidly powerful CPU for most tasks. If you can get by with a command line workflow even a Core 2 Duo is crazy fast.
> They are slow because Windows got heavier while the hardware stayed the same.
That is not true. They are slow, because ALL software got better and more advanced and that is not only the operating system. It always makes me mad when people say that macOS is so optimized you can do more than on windows.
No. Old hardware not having a hardware decoder for modern youtube videos won't play them.
Modern webpages full of interactive realtime features won't fit in the RAM or will be bottlecked by a cpu.
Yes, the modern linux will run, but are you going to do anything more than opening a notepad or old software? No. You are not going to use modern web apps or software on it.
Is it okay? Yes. Optimizing for old hardware is EXPENSIVE. Just move on.
>If the machine cannot run a lightweight Linux desktop at a usable speed after you have applied the optimizations in this guide, it is time to recycle it
or better yet, install NetBSD. That system will run on anything that old :)
Slackware and Hyperbola GNU/Linux still run fast. Just pick XFCE instead of KDE under Slackware.
Deselect KDE if you don't need it. If the machine is old, it's better
to use XFCE and install the rest later.
If you install and setup slapt-get you might install some nice KDE/Plasma software later
to run under KDE. Then you can set the QT5 theme to GTK2 under /etc/profile.d/qt.sh (chmod +x it)
and this content:
export QT_QPA_PLATFORMTHEME=gtk2
Slackware is not 100% free but you can compile a libre kernel from FSFLA with ease and drop it into the UEFI partition or /boot and run the required grub/lilo/elilo command later.
I’ve got a 15 year old workstation that I’m breathing new life into, but fortunately starting from a higher baseline. 24GB of RAM is going to 96GB, and it turns out it should be able to use an NVMe drive, so have a card and an M2 drive on the way. The annoying thing is that the GTX 460 is no longer supported by the Nvidia driver so I’m back to nouveau. That might get replaced with something more modern. I had an old Mint installed and decided to blow it away with stock Debian, and Claude’s setting up nix VMs for itself to run in. It has been crazy how $4k in 2011 for an SR-2 system has yielded a long productive life for this box.
> They are slow because Windows got heavier while the hardware stayed the same.
Heavier and then full of spyware, pardon, telemetry.
It's not just old hardware: I've got a laptop, some Lenovo thing, I bought used from a friend (as part of a pack with a NUC etc.). It had Windows 11 on it: I was Windows-free since many years, decades even already. So I got to "experiment" Windows 11 a bit again.
I don't understand how people can use a computer that does so many heavy updates, for a start.
Then Windows is simply dogshit slow as TFA point out.
It's not a beefy laptop: it's got only 6 GB of RAM (6 is a weird number but it is what it is) but...
It works totally fine under Linux (actually I'm typing this from the couch on this little laptop). Sure, my "24 GB of RAM" laptop is better, but with 6 GB this laptop under Linux definitely works. It runs OrcaSlicer fine, etc.
It's not just on older hardware that Linux is much better than Windows: on modern hardware too.
>The honest assessment: If the machine cannot run a lightweight Linux desktop at a usable speed after you have applied the optimizations in this guide, it is time to recycle it responsibly. Most municipalities have e-waste collection programs. Do not throw it in the trash. The components contain recyclable metals and toxic materials that need proper handling.
This is the whole point.Linux helps in that judgement whether to keep or throw the box.
I also agree. I'd say we're at the last few years of Core 2 Duo machines being usable. Anything before them is just not worth keeping around. Not only are earlier machines slow, but are going to be pretty energy inefficient. Buying a newer system might actually save you money when you factor electricity costs.
For example, a 2009-2012 era Mac Pro draws more power in sleep than a modern Mac mini/macbook Air draws under full load.
If you can't run linux you can always run netbsd. or any *bsd.
Besides the advice on ditching hardware on account of thermal problems is .. terrible. If you went so far as installing obscure linux distros, surely unscrewing a few screws and applying a vacuum and then some thermal paste isn't out of reach.
> If you can't run linux you can always run netbsd. or any *bsd.
That was NetBSD's marketing way back in the days of "I have a Sparcstation 2 in my closet, can I do anything with it?". It really doesn't apply to the systems in the linked article, all of which ran Linux very well at the time of manufacture and for which support has been really quite well maintained.
I mean, it's no surprise really, but objectively the best system in terms of coverage for ancient junk is Linux these days. Yeah, NetBSD runs on a VAX, but does it run on a 2008 Wifi router? OpenWrt probably does!
I don't know how a "complete" guide can completely fail to mention NVIDIA. It doesn't seem straightforward to support older NVIDIA cards (on any OS, to be fair, not just on Linux). That's currently one of the issues with my 2013 Dell laptop that has a Quadro K1100M.
Thanks for this link!
"antiX is my top pick for truly constrained hardware. It runs on systemd-free Debian Stable, uses around 256MB at idle, and includes a full desktop experience. The trade-off is a less polished interface compared to Ubuntu-based options. If you need something even lighter, Puppy Linux runs entirely in RAM and can resurrect machines that most distros would reject. The learning curve is steeper, but the performance is unmatched."
I would actually recommend Bodhi Linux for under 2GB. https://www.bodhilinux.com/ I installed AntiX on a 2GB Chromebook, and it had issues crashing on browsers under even a couple tabs. It might have just been the laptop I bought from Goodwill, or the fact that I disabled swap, because it was an old 16GB soldered SSD/NAND drive that I wanted to avoid heavily writing swap space to. https://www.youtube.com/watch?v=VhozuNv-J7Q
Bodhi is more featured with a more conventional package manager than Puppy, and while I like booting from RAM, it's learning curve is a little steeper and less maintained than Bodhi, which is getting a new release soon: https://www.reddit.com/r/bodhilinux/comments/1qqrfyj/is_bodh...
I did a video with Bodhi on Virtual box with 1GB since I didn't have the Chromebook with me at the time, but it idles around 350MB (possibly before Chromium running): https://youtu.be/61xI-g--ozs?si=y7ukxyEGSj_kNPF7
For additional package manager support, a nice UI (Enlightenment) and compatibility, it's far more preferrable than 250MB ideling on AntiX with less support.
For Atom N450 series, I recommend eXe Linux: https://exegnulinux.net/ I have a video of that too.
I hadn't heard of BunsenLabs, but I will definitely check it out (Note: Atom N450 chips support 64 bit, even on single core, so they might work great on those machines)
It's cool to see your interest in running Linux on highly constrained systems. I might check out eXe Linux, since I spent a bit of time messing with Linux on my Cr-48 Chromebook, which has an Atom N455.
Although, if I'm getting silly enough to try making N455 usable (which was seriously underpowered even at launch), I'm probably going full-on tinkerer mode, which is why I used it as an excuse to learn about Arch Linux. I figured hey, if I only have 2GB RAM and slow 16GB storage, I should have assurance that every single component on the machine is something I opted into installing. Problem is, I can't retain knowledge of the ins and outs of my fully custom environment unless I'm daily driving it, which...how exactly could I daily drive an N455 for anything, other than it being a thin client?
Here's my own blog post covering Arch Linux on the Cr-48: https://dansalva.to/resurrecting-a-prototype-chromebook-with...
Note that since my writing of that post, i915 graphics support in Wayland has been fixed, so it's now viable to run a Wayland DE if desired.
That's great information. I had no idea Chromebook prototypes started as early as N455, but since you're skilled with Arch, I'll recommend two distros(one isn't really a distro, but a toolkit) for your cr-48 : Tiny Core Linux, and NanoLinux. The latter is built on TCL and a distro was released on Sourcefourge around 2015- no releases since..
One could really optimize an N450 using a very light package manager over TCL, although it's possible you already have something like that on Arch. With TCL, more assembly is required.
I also used SliTaz on an EeePc 701 back in the day, and I used it more because it had out of the box wifi support. At just 30MB, quite unbeatable. The OS gets some updates still, but it's a smaller project and probably less known. I suppose you could also try Damn Small Linux 2024.
> and it had issues crashing on browsers under even a couple tabs.
Surely this has way more to do with the browser (and the website!) than the OS, nowadays.
The memory requirements, yes. The crashing, no. The OS should not crash because memory is running out, but the solution is far from obvious or standardized. My recommendation for RAM constrained systems would be to use zswap combined with a generous amount of swap space.
true, and I think some pre-2015 machines might not have anticipated the diverse, but unpredictable ecosystem that 800 lb browsers allow under their hood these days. :)
The reason this advice is bizarre is that old memory isn't actually that dear. The machines that would have had 2GB of RAM or less would be from the Core 2 Duo era or so, taking DDR2 or DDR3, and typically supported 8-16GB. 8GB of DDR3 is currently in the ballpark of $10 and the machines that take it can be found by the pallet in the "free e-waste" pile, so who is going to suffer <2GB instead of 8GB over $10?
Intel mobile chipsets for Core 2 Duo only supported 2 or 4GB. And not all the desktop chipsets supported 8 or 16GB. I have a laptop with 3GB: one of the slots only supports 1GB.
There are a lot of old Chromebooks with only 2GB of RAM soldered to the motherboard. Other than that, they're surprisingly capable machines after you flash them with MrChromebox firmware.
With laptops of this era you only have two sodimm slots and DDR2 4GB RAM modules were quite expensive when they were new. So even still today they are more expensive than you would think. I sold mine for $25/each a few weeks ago.
Also some laptops of this era didn't support more than 4-6GB of RAM in the firmware. I know there are several models of early intel macbooks that you can physically install 8GB of RAM but they will not recognize it.
On the other hand, I have a 2010 iMac with all 4 DDR3 sodimm slots full giving it 32GB of RAM. It was a "just for fun" project before the AI prices. Those era iMacs are fully upgradeable (CPU, RAM, and GPU). Swapped in an i7 CPU, AMD m4000 GPU, and an SSD. Runs linux mint great.
> 8GB of DDR3 is currently in the ballpark of $10
Where would I find it sold?
> and the machines that take it can be found by the pallet in the "free e-waste" pile
Hey, I'm using one to write this :(
EBay has dozens for <£12
Facebook marketplace for one.
You don't even have to go that old. There are so many companies that upgrade tiny pc's its created a whole self hosting community with the tiny lenovo, hp and dell unit's. It's not only Windows that can be replaced with old hardware but also many online services with proxmox for cloud/nas/dns/vpn/multimedia etc. Of course these are not 2GB systems but you can do some pretty cool things with 8 and 9 year old systems that are literally decommissioned because they are too old. Although a friend of mine who works for a MSP gave me a Lenovo m710q tiny a month ago and its made a pretty good Debian Desktop for my workbench in the garage. I lucked out there because even these tiny's are now going up in price. People have caught on.
Those old tiny/micro PCs make for wonderful TV steaming boxes, and easily replace Fire TV sticks, AppleTV boxes, Rokus and other similar proprietary garbage. They are also great for retro gaming.
I've purchased a few HP and Dell slim desktops (typically 2nd or 3rd generation i3s) on Newegg, from refurbished resellers. During the pandemic, they were $50-70 shipped and included 4GB of RAM. They support PCI-express in low profile, so I could plug in a monitor with 4k output using just displayport and a Radeon 7470 or an R5 R240. You could even get an i5 for not much more. I even had a couple work from home companies offering to ship the same size machine, Nowadays they are more likely to send a laptop and possibly a docking station, so it's a lot more portable (although I prefer to do without those too).
The overall sentiment expressing the growing gap between software needs and hardware capabilities is sound. This is where FOSS projects shine who put deep thought into providing the same features modern users need into an OS that can intelligently utilize older computing resources. I've been in the industry since the Nineties and it still amazes me how many companies invest so little into backward-compatibility and performance during their OS and application design process.
I've had my Panasonic Toughbook (CF31-5) for almost 10 years and while it's a dinosaur to some, it's a major upgrade from what I had before in terms of portable computing. Its max memory is 16 GiB DDR3 SDRAM on an Intel Core i5-5300U. When I first bought it I tried Debian and Ubuntu, but even back then those ran slow. I installed Xubuntu and have run that ever since with no performance issues whatsoever.
Because I primarily use Emacs and TeX tools, writing Elisp and LaTeX, the system is more than enough for me. I've not played graphics-heavy games, run GPU-intensive UI or done any heavy data plotting. However, one benchmark I do have: I am able use the test automation framework required for my day job with ease. I run that software on Xubuntu because on my work-provided systems (Windows 11 and macOS Tahoe) the application crawls and is practically unusable.
For older hardware: Void Linux, Xubuntu or maybe Linux Mint Xfce. If you want something up to date that needs to be online.
AntiX and Puppy Linux are a bit too rough, in my opinion. I'd rather leave the machine with some fully updated old Windows version designed for that hardware, offline. Works very well for retro gaming, ripping CDs and stuff like that.
The AI that wrote this article doesn't have enough nuance to understand the rough edges of antiX.
And not a word about MGLRU and its settings. It has the biggest impact on performance on lower-end PCs, especially with low amount of RAM and slow HDD.
Here's a post from "le9" patch user which was created by ChromeOS developers much before MGLRU, but exploits the similar idea: keeping the essential file cache in RAM for as long as possible. It's usually night and day on low-end machines.
I had never heard of it, but checking it, I see MGLRU is enabled by default on my kernel (Mageia 10 with 6.18.xx). Are there distros where this is not enabled? Especially the ones mentioned in the blogpost? In that case it would need a recompile of the kernel, right? Or send in a bugreport to the distro.
For HDD, it also needs to be tuned. In its default configuration, MGLRU 'just' manages multiple generations of working sets, but there's a min_ttl_ms tunable which tries hard to prevent file cache from being reclaimed, which is not enabled by default.
https://docs.kernel.org/admin-guide/mm/multigen_lru.html#thr...
You'd want to set it to 300 or 500, or even 1000 for the HDDs. Around 100-200 for SSDs/EMMCs helps as well.
And for anonymous pages swapping, you'd want to do that on zram (compressed swap in RAM). It also make wonders. You don't want to touch the (old) disk for that.
Here's my old article (before MGLRU): https://notes.valdikss.org.ru/linux-for-old-pc-from-2007/en/
I like running Linux on older Dell Optiplex systems that you can buy off of Ebay. They usually come with 8GB ram, 256 or 512 SSD and usually 4 to 6 cores (maybe 8). All of the ones I bought use Intel CPUs.
They run Debian or Ubuntu great although I usually run them headless and just SSH into them. One experiment I did was with Talos / K8s with about 3 of these and it worked great.
Anyone remembers Ross technologies ?
When I was a student mucking around the trashed corner of a retired hardware room, I found a very dusty box that looked promising. It was a Ross hyperstation.
I was able to install Arch Linux and Debian on it. But I think it had some corrupt RAM and would crash after a few days if lucky or hours if not. That was a pity. This was the first system where I could see 4 cpus and had got pretty excited. This was a time when there were rumours of Intel dual cores going around. I was planning to run it as our NFS file server.
I was able to bootstrap GCC on it too, after a few tries.
One relevant thing to check with older hardware: https://unix.stackexchange.com/questions/631217/how-do-i-che...
https://en.wikipedia.org/wiki/X86-64#Microarchitecture_level...
I had a similar experience trying to use an old laptop with 2GB of RAM. I was surprised how much it struggled with basic tasks. I remember my first computer with 32MB of RAM. Obviously we live in a different world now but still, it's not like I was trying to do anything more ambitious than what I used to do on that PC.
It is wild how bad things have gotten. I have a small Linux tablet with 8GB of RAM that I only really use for browsing. Even that runs out of RAM quickly when I open more than 20 tabs (depends on the sites of course). And more than 3 Electron apps pretty much always means game over.
15 years ago 8 gigabytes of RAM were "wow what am I going to do with all this space" territory.
Its a pathetic world.. and sad.. I have currently 2 browsers open and my memory commit is 370MB.. If I hear that Win11 uses 3GB of RAM idling, I really get shivers... WTF?! How is that even possible? Bloat is astronomical and yet.. Most people just does NOT care...
> I have currently 2 browsers open and my memory commit is 370MB..
In what context?
>If I hear that Win11 uses 3GB of RAM idling
Modern Gnome and KDE distros with batteries included also idea at around 2GB RAM which is a useless metric anyway as Windows 11 also preloads frequently used takes and apps on boot.
Less than that, between 900MB and 1.2GB and that's due to file and stuff indexation. The good thing on Linux and BSDs is you can swap for a light wm/compositor and your back below 150MB idle.
I recently installed Arch Linux on a fairly old (but not ancient) Intel T2 Mac, with the GNOME DE, and it uses less than 1.5GB of RAM. I went for the standard gnome package which as far as I can tell is "batteries included."
That leaves about 6.5GB for programs, which I think is acceptable.
> Modern Gnome and KDE distros with batteries included also idea at around 2GB RAM
Really? I'm seeing 1.3 for Mint/Cinnamon.
See my comment above.
The post is missing a section about video cards.
My old laptop from 2006 has an ATI x1600. I remember that I lost v sync with kernels past 3.something so I had to put the kernel on hold while the other packages updated around it. That was around 2012. Maybe the issue is fixed by now but old graphic cards can make an old PC run only as a headless server. It's been years since I booted it.
I have one Nvdia system where it's locked to their drivers in BIOS meaning I can't use AMD. Now Ubuntu has dropped support for old GeForce it's essentially a brick, thanks Nvidia and Canonical.
Nouveau might handle it.
Gallium will support r300 Radeon cards perfectly fine. If any I have this for some MESA and Intel video cards at ~/.drirc.
Adapt it for your radeon driver. The device driver might be "ati", "radeon" or "radeonsi".
Nice to see BunsenLabs getting some love - smooth way into a GUI Debian
I prefer Boron over the more recent Carbon due to some of the panel changes (although presumably this is all configurable somewhere)
https://ddl.bunsenlabs.org/ddl/
Boron also probably requires this fix:
https://forums.bunsenlabs.org/viewtopic.php?pid=144667
I use Pop_OS! on my old 2014 Macbook Pro (16 GB LPDDR3, i5-4278U with 4 cores). It runs superbly with Gnome3. Given that it is 12 years old now and the latest supported macOS version with opencore legacy patcher was stuttering and unusably slow, there is a second life now for the machine. I mostly use it as a headless home server, the built in battery serves as UPS, keyboard and trackpad make it easier to setup and debug things.
I changed the battery myself (50€ replacement from Amazon) and it looks as good as new (one benefit of the aluminum chassis and glass display is that they can be cleaned quite well). Hardware support from Linux for those intel machines is great nowadays: WiFi, Bluetooth, trackpad etc all work.
Same been running Debian 13 Gnome on MBP 2015 13’. Works great, in a triple boot setting using OCLP
For instance visio calls are unusable on Sequoia (OCLP) but rather smooth on Debian
I installed opensuse tumbleweed on mine and the bastid won't hibernate. Or: it hibernates but refuses to resume. It loads the saved state from disk and then 30 seconds of black screen later, reboots and loses state. Two solid days with Claude, exhausting every avenue, and it's basically unfixable. Sleep=OK, Hibernate=Fucked.
Great post. I just revived an old PC as well that was gathering dust by installing Linux on it. Also upgraded the hardware from a i3-6100 using iGPU + 8GB RAM to:
- i5-6600K (€20 used)
- ASUS STRIX RX 480 8GB (€20 used)
- 16GB DDR4 (€50 used)
€90 all in for an incredible Linux machine that still runs games great at 1080p. Probably even that amount of RAM was overkill, but it's 3200Mhz instead of the old 2133Mhz.
>€90 all in for an incredible Linux machine that still runs games great at 1080p.
That's 90 for just the upgrade, not the whole PC, and that Rx480 won't run recent AAA games on 1080p, maybe just older games.
Swap the HDD for an SSD first makes more difference than the distro choice.
This is mentioned within the first quarter of the article
This!
With the crazy hardware prices. It's time to go lean. Embrace lean software and learn to do with less or pay the price with your hard earned $$$.
What’s a good small laptop that’ll run a recent Linux distro? I’d like to get one to have an ultra-portable machine for doing lightweight development work - I don’t need much more than a text editor and a C compiler.
Would a second-hand 11” MacBook Air or 12” MacBook be a good choice?
The older Intel-based Dell XPS 13 machines have the same footprint as some 11 inch Chromebooks. Some models have thermal quirks that cause a shutdown, which is easily addressed by lowering the CPU frequency. Battery life is pretty good (but I replaced the batteries before I realized the CPU issue was the culprit).
They would work but I'm not sure it's worth it. The 11" Air had a pretty terrible screen, and the models with 8GB of RAM are more expensive than I think they are worth. Plus Macbooks of this era are going to need a battery replacement, so your going to have to invest $70-100 on top of the price of buying the Macbook. You're likely going to be $200-300 invested into a 10 year old macbook.
Also keep in mind the 11" MacBook air wasn't that small. The Macbook neo with a 13" screen has almost the same dimensions.
For $300-400 you can buy a decent brand new chromebook, and running linux is officially supported on them. https://support.google.com/chromebook/answer/9145439?hl=en
The chuwi minibook is also an option, but I don't know how well linux is supported.
If you want to buy a Chromebook to run non-ChromeOS Linux, I recommend getting something supported by https://docs.mrchromebox.tech/docs/supported-devices.html
old thinkpad X series is a good place to look
You’ll need to look at chromebook that can have a linux distro on it. I like the a good keyboard width so 14 inch laptop are my sweet spot. I have a latitude 7490 (which I wouldn’t recommend as it have an hardware design flaw ( it freeze when held one handed)) and it’s light.
And you can go even smaller with TinyCore Linux [0] or the xwoaf-rebuild [1]
0, http://www.tinycorelinux.net/
1, https://web.archive.org/web/20240901115514/https://pupngo.dk...
Honestly it comes down to what do you mean by using Linux. In 2026, or well at least since the mid 2010s, the biggest hurdle will be the web browser. Do you need that? If yes then you are already in the higher system requirement pool. If not then pretty much anything goes, like the options I mentioned above. And even then you can use curl, wget, aria2 etc to access online content to some extent
> And you can go even smaller with TinyCore Linux or the xwoaf-rebuil
Sure, but in this time and age, do they really have to settle for such extreme 90s looks as defaults? I mean, Windows XP Media Center Edition can surely be considered as "lightweight" today and it featured the gorgeous Royale theme back in 2005.
Yeah, this is what always surprises me with modern software targeted towards low-specced computers.
Windows XP run fine in 256MB ram computers yet it could be altered to make it look fantastic, with the Royale or Royale Noir themes.
I guess even Linux back then could be made beautiful on similarly specced computers. Yet, AntiX or even LxQt is hideous despite consuming more resources!
I wonder where all the artists who used to make the wide range of styles for XP went after MS made it harder to apply themes to windows, or what factors contributed to attracting artists to start making that kind of customization. I think partially it's down to the platform many use (many seek to theme mobile OSes), but the tools to do so has to be a large contribution. I'm not aware of anything like Stardock's Skin studio that exists outside windows, and from looking at their website it's now useless for anything past win10 1909. Having their art seen on widely used platforms (OS or applications) has to be a large draw to it as well.
Otter Browser it's uber light, but for proper support you might need to build it against the qtwebkit/qtwebengine plugin (I can't remember, but one of the two engines was the most modern one). If not, I have Dillo+MPV+ytdlp/streamlink for video sites. More than often if you works. Also, I have gemini://gemi.dev (Dillo plugin) for the news sites tunneled over Gemini and some nice Gopher sites such gopher://magical.fish and gopher://sdf.org
I would advise against using Lubuntu in favour of MX Linux or AntiX for older systems.
Yes, I was surprised that MX didn't get a mention. It's great on anything with 2GB or more.
Another possibility is Slackware 15.0 which is the stable release that gets updates. Available in 32 and 64 bit, runs a 5.15 series kernel (antiX 26 32bit uses a 5.10.x kernel). I have an install on an ancient Thinkpad T42 with 1Gb ram, a single centrino chipset CPU, 40Gb hard drive and radeon graphics. Chugs along nicely with Abiword, Gnumeric and Dillo. Firefox will load but is deeply unhappy.
(I install everything except the KDE and XAP package sets, and then install selected packages from XAP as I need them e.g. GIMP, xpdf and so on)
MX has more recent packages for some things though, Slackware 15 is getting mature.
It's interesting how on a server 2 GiB of RAM can get you quite far, however on a desktop that's pretty much the minimum feasible amount. It used to be the opposite: servers needed plenty of RAM and CPU compared to desktops
My free tier 1GB GCP instance is doing quite wel as a reverse proxy into my private network. Although traffic is very low.
Personal servers never needed much in the way of resources. They only did, and still do, when you have a lot of simultaneous users. The database servers at Google or Microsoft don't have 2GiB of RAM. They plausibly have 2TiB.
Alpine Linux Combined with OXWM isn't a bad idea. If your install is small and you have enough ram it's possible to run it from RAM with persistence.
Don't get your OS recommendations from an LLM-generated article.
>"browser.cache.disk.enable: Set to false. This disables the disk cache, which is unnecessary if you have an SSD (RAM cache is fast enough) and actively harmful on old hard drives (constant small writes degrade performance)."
This paragraph especially feels LLM generated. It's nonsense (a fast disk makes disk cache more effective), with a "not even wrong" explanation (speed of RAM is unrelated to speed of disk). It's the kind of error you often see from LLMs, where you have the right words but no solid world model behind them. Of course, I can't actually prove it's LLM writing, and if it is then it appears to be edited by a human, but I don't recall ever seeing this kind of error from a known human writer.
Don't do zram, do zswap.
The big difference is zswap is dynamically managed by the kernel and zswap sends out compressed pages to swap.
> and zswap sends out compressed pages to swap.
The article says they want to avoid swap hitting disk, so that seems counterproductive.
When you do zram, what happens is the pages sent to zram are compressed. But when those compressed pages need to be evicted to swap, they are decompressed before being sent there. It's not helping you to avoid hitting the disk, it's writing more to the disk.
Zswap will still compress pages in ram. It only evicts to the disk when the in memory swap pool is filled. The difference being that the pages swapped to disk remain compressed on their way there.
I never want to evict pages to swap. If I loaded something, it's because I intend to run it, and I never want to wait. If there's not enough RAM, I'd rather have a userspace OOM killer kill the process early so I know I'm trying something impossible. (Or rely on the kernel OOM killing if it's actually capable of doing its job, but last I tried the default behavior under heavy memory pressure was to free any pages that can be restored from disk, even if swap is disabled, which makes the system equally unusable.) I don't care if rarely used pages are "wasted" by being kept in RAM. I want good worst-case performance, not good average-case performance.
I mean, if your approach is zero swap of any kind then you wouldn't be using zram or zswap and it's a moot point, right? (Not that I disagree; I also have become fond of earlyoom)
I think you have it backwards.
When using zram, there is no "evicted to swap"; zram is the swap. Even if you activated zram and disk-backed swap, I'm pretty sure they just get used in parallel, not through some sort of fallback.
It was my understanding that zswap does decompress pages before writing them to disk. Annoyingly, this doesn't seem to be spelled out either way in https://www.kernel.org/doc/html/latest/admin-guide/mm/zswap.... ; https://wiki.archlinux.org/title/Zswap does say "Once the pool is full or the RAM is exhausted, the least recently used (LRU) page is decompressed and written to disk, as if it had not been intercepted." but doesn't cite that claim.
EDIT: I think my belief is backed by https://elixir.bootlin.com/linux/v7.1.2/source/mm/zswap.c#L9... -
> We are basically resuming the same swap writeback path that was intercepted with the zswap_store() in the first place. After the folio has been decompressed into the swap cache, the compressed version stored by zswap can be freed.
Yup, you are correct about decompressing before hitting disk.
> Even if you activated zram and disk-backed swap, I'm pretty sure they just get used in parallel, not through some sort of fallback.
You can tweak priorities such that zram ends up being the preferred location for swaps.
However, since it looks like just another block device, what happens is it simply gets filled up with the first swap entries and those in turn aren't written out to the disk device.
zswap works better in that way because it'll keep hotter pages in memory and sends LRU pages to the swap device. That's really the biggest reason to use zswap over zram if you are getting into a situation where you overfill your ram.
zram works best if it's the only device with the expectation that you'll OOME when it fills up.
Okay, that's why we're partially talking past each other: It didn't occur to me that someone would swap to zram and something else. Yes, if disk-backed swap is in play, then zswap is the best option.
why not just take stock Arch Linux? I feel it as minimal at it can, Am I wrong?
The prompt for this article probably had a Ubuntu focus.
It is astonishing to me just how bad end user software has gotten over the past twenty years. It's just goofballs. It's not like that point was when software started requiring more resources, the "What Andy giveth Bill taketh" aphorism was coined in the 90s after all. Software gets complicated over time. Every bug fix or added input validation or whatever adds code. That's fine and appropriate. Convenience and integrity add code/complexity. That's not what I find so bothersome.
I find 2006 an interesting horizon. It was then that the average home computer massively jumped in processing power compared to the software running on it. For the vast majority of users the computer spent more idle time waiting for input than users waited for output. Of course for some users there's never enough power but for most all of their tasks were effectively instant. Even heavyweight (for the time) stacks like Java ran incredibly well. He'll even Emacs could run well!
Then the curve seemed to invert. Hardware kept getting more capable with even faster CPUs, more cores (on common consumer machines, and more RAM. As the article points out a "lightweight" Linux DE with native apps really flies on such hardware.
But more development seemed to move to the web. More JavaScript required more powerful JS engines and those are up more and more memory. More shit loaded into the DOM means more and more objects on the heap with more pointer chasing.
Modern stacks are really only fast because modern computers brute force their way through them. A simple CRUD type task that fly as a VB or Delphi (neither stack performance kings) app on Windows 2000 now requires a 2GHz dual core CPU with 4GB of RAM as a baseline thanks to it now being a web app.
Using a twenty old machine with native applications and the CLI feels to me like a super computer compared to the computers I first used (Apple IIs). A Core 2 Duo is a stupidly powerful CPU for most tasks. If you can get by with a command line workflow even a Core 2 Duo is crazy fast.
/soapbox
Please consider if you really need zram when zswap is an alternative: https://news.ycombinator.com/item?id=47500746
For "older but not truly retro" devices, I personally recommend linux mint. I have a fx6100 running it.
> They are slow because Windows got heavier while the hardware stayed the same.
That is not true. They are slow, because ALL software got better and more advanced and that is not only the operating system. It always makes me mad when people say that macOS is so optimized you can do more than on windows.
No. Old hardware not having a hardware decoder for modern youtube videos won't play them.
Modern webpages full of interactive realtime features won't fit in the RAM or will be bottlecked by a cpu. Yes, the modern linux will run, but are you going to do anything more than opening a notepad or old software? No. You are not going to use modern web apps or software on it.
Is it okay? Yes. Optimizing for old hardware is EXPENSIVE. Just move on.
What about not piping 20MB of JavaScript to the user just to change the color of a button instead?
>If the machine cannot run a lightweight Linux desktop at a usable speed after you have applied the optimizations in this guide, it is time to recycle it
or better yet, install NetBSD. That system will run on anything that old :)
If you think Linux is a good candidate for older hardware (which it is) wait until you try a BSD.
Slackware and Hyperbola GNU/Linux still run fast. Just pick XFCE instead of KDE under Slackware.
Deselect KDE if you don't need it. If the machine is old, it's better to use XFCE and install the rest later.
If you install and setup slapt-get you might install some nice KDE/Plasma software later to run under KDE. Then you can set the QT5 theme to GTK2 under /etc/profile.d/qt.sh (chmod +x it) and this content:
Slackware is not 100% free but you can compile a libre kernel from FSFLA with ease and drop it into the UEFI partition or /boot and run the required grub/lilo/elilo command later.I’ve got a 15 year old workstation that I’m breathing new life into, but fortunately starting from a higher baseline. 24GB of RAM is going to 96GB, and it turns out it should be able to use an NVMe drive, so have a card and an M2 drive on the way. The annoying thing is that the GTX 460 is no longer supported by the Nvidia driver so I’m back to nouveau. That might get replaced with something more modern. I had an old Mint installed and decided to blow it away with stock Debian, and Claude’s setting up nix VMs for itself to run in. It has been crazy how $4k in 2011 for an SR-2 system has yielded a long productive life for this box.
> They are slow because Windows got heavier while the hardware stayed the same.
Heavier and then full of spyware, pardon, telemetry.
It's not just old hardware: I've got a laptop, some Lenovo thing, I bought used from a friend (as part of a pack with a NUC etc.). It had Windows 11 on it: I was Windows-free since many years, decades even already. So I got to "experiment" Windows 11 a bit again.
I don't understand how people can use a computer that does so many heavy updates, for a start.
Then Windows is simply dogshit slow as TFA point out.
It's not a beefy laptop: it's got only 6 GB of RAM (6 is a weird number but it is what it is) but...
It works totally fine under Linux (actually I'm typing this from the couch on this little laptop). Sure, my "24 GB of RAM" laptop is better, but with 6 GB this laptop under Linux definitely works. It runs OrcaSlicer fine, etc.
It's not just on older hardware that Linux is much better than Windows: on modern hardware too.
>The honest assessment: If the machine cannot run a lightweight Linux desktop at a usable speed after you have applied the optimizations in this guide, it is time to recycle it responsibly. Most municipalities have e-waste collection programs. Do not throw it in the trash. The components contain recyclable metals and toxic materials that need proper handling.
This is the whole point.Linux helps in that judgement whether to keep or throw the box.
I also agree. I'd say we're at the last few years of Core 2 Duo machines being usable. Anything before them is just not worth keeping around. Not only are earlier machines slow, but are going to be pretty energy inefficient. Buying a newer system might actually save you money when you factor electricity costs.
For example, a 2009-2012 era Mac Pro draws more power in sleep than a modern Mac mini/macbook Air draws under full load.
Agree with you.
Linux itself is a good OS, even better when you have an old machine to "revive". But when even Linux can't run properly, time ditch it...
If you can't run linux you can always run netbsd. or any *bsd.
Besides the advice on ditching hardware on account of thermal problems is .. terrible. If you went so far as installing obscure linux distros, surely unscrewing a few screws and applying a vacuum and then some thermal paste isn't out of reach.
> If you can't run linux you can always run netbsd. or any *bsd.
That was NetBSD's marketing way back in the days of "I have a Sparcstation 2 in my closet, can I do anything with it?". It really doesn't apply to the systems in the linked article, all of which ran Linux very well at the time of manufacture and for which support has been really quite well maintained.
I mean, it's no surprise really, but objectively the best system in terms of coverage for ancient junk is Linux these days. Yeah, NetBSD runs on a VAX, but does it run on a 2008 Wifi router? OpenWrt probably does!
Or sell it to the retrocomputing community for a decent amount of $$$.
OS/2 might also be an option on some of this older hardware.
Haiku OS is a better choice. Runs great on my eeepc 701 4G with 512Mb RAM.
It might, but (honest question) why would I want OS/2 over Linux?