Linux on Older Hardware: The Complete Revival Guide(fosslinux.com) |
Linux on Older Hardware: The Complete Revival Guide(fosslinux.com) |
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
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.
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!
Would a second-hand 11” MacBook Air or 12” MacBook be a good choice?
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.
(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.
No thanks.
Slackware's running just fine on this system I've got with 15 year old DDR3 RAM without needing an article about it. It's not always thrilled with the fact that I made my urxvt's transparent, but I'm still rocking 20 open tabs on a regular basis without more than a little extra fan noise from time to time. It'd probably help if I replaced the fan(s) that died completely...
There are plenty of retrocomputing hobbyists who will appreciate these 32-bit machines, especially as they become more and more rare. Remove the CMOS battery, store it away for 10 years and then sell it for a nice profit on ebay. Assuming you have the free space, that is)
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.
or better yet, install NetBSD. That system will run on anything that old :)
The big difference is zswap is dynamically managed by the kernel and zswap sends out compressed pages to swap.
The article says they want to avoid swap hitting disk, so that seems counterproductive.
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.
Linux is still awkward when it comes to "OOM", the output of df -h is not accurate
This is the whole point.Linux helps in that judgement whether to keep or throw the box.
For example, a 2009-2012 era Mac Pro draws more power in sleep than a modern Mac mini/macbook Air draws under full load.
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...
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.
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.
Anyway, what's 20mb for 2gb ram pc? Nothing. That is not an issue.
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!
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.
> 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.
https://eshop.macsales.com/blog/9102-secret-firmware-lets-la...
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.
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 :(
sudo modprobe zram
sudo zramctl --find --size 512M
sudo mkswap /dev/swap0
sudo swapon /dev/zram0 -p 99The machine boots using 1.1 GB of memory and total disk space after installing a bunch of apps is ~10 GB. Browser, Docker, video editor, image editor, LibreOffice, OBS, VMs, a ton of CLI tools and everything you'd expect to have a fully working and usable system is there.
It's a wonderful environment on 2014 era hardware. Granted I have 16 GB of memory but it would be fine with 8 GB even when running non-trivial Docker based projects and doing 1080p video editing.
Even Silksong runs at 60 FPS with a GeForce 750 Ti (2 GB) GPU. Although I splurged on a used AMD RX 480 (8 GB) to get more things to run nicely in parallel. Wayland is very picky with limited GPU VRAM, especially with NVIDIA cards.
I also run the same set up on a more modern laptop with way better hardware but things aren't much faster unless I'm very CPU bound.
Everything to get the system up and running in 1 command and 10-15 minutes is here: https://github.com/nickjj/dotfriedrice
"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)
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
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.
- https://www.phoronix.com/forums/forum/software/general-linux-open-source/1267300-le9-strives-to-make-linux-very-usable-on-systems-with-small-amounts-of-ram?p=1267789#post1267789
- https://www.phoronix.com/forums/forum/software/general-linux-open-source/1267300-le9-strives-to-make-linux-very-usable-on-systems-with-small-amounts-of-ram?p=1268100#post1268100https://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/
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.
15 years ago 8 gigabytes of RAM were "wow what am I going to do with all this space" territory.
I was able to run X Windows, Emacs, and gcc for university CS work. I had to use 8 bit psuedocolor graphics to have a decent sized desktop like 1024x768 or 1280x1024 (on a nice CRT).
But, I put it into a swapping frenzy by opening one JPEG that I had downloaded from an academic website. It was a high-resolution scan of some old manuscript, but probably lower pixel count than a typical smartphone photo from this decade.
Doing normal work also involved frequent swapping delays as you launched new programs and evicted old ones.
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.
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'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.
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.
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.
Adapt it for your radeon driver. The device driver might be "ati", "radeon" or "radeonsi".
<driconf>
<device driver="i915">
<application name="Default">
<option name="stub_occlusion_query" value="true" />
<option name="fragment_shader" value="true" />
</application>
</device>
</driconf>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.
For instance visio calls are unusable on Sequoia (OCLP) but rather smooth on Debian
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.Some Android OEMs experimented with zram swapiness over 100, up to 200, so it would start compressing immediately.
It's incredible that this ancient machine runs Ollama3.1 faster than my M2Pro/M3/M4 machines (entirely due to the GPU, still "ancient" by modern standards).
With OCLP you can run Linux using quite-modern GPUs (presuming you can power them). I performed my Pixla's modification all the way into the powersupply's PCB/rails, which can safely deliver 500W via stranded 8awg copper capped with dual 8-pins.
During wintertime, I use the dual Xeons to mine Monero (for underdesk heater), which gives about a 1/2000 chance to blockwin (daily) – as I do not have a heatpump, this effectively costs nothing. This is about 20x slower than a modern Ryzen CPU – but again: free during wintertime.
----
For some reason, I could not install Ubuntu v24 directly; instead, I had to use a v22 installer USB and then update to v24 via software update. I haven't gotten any later version to work, but modern Mint installed just fine (an alternate Linux distro).
My favorite thing about Linux is it's just quick. Minimal bloat. Absolute control of system functionality (but you can also destroy everything really quickly/easily).
Only noticeable gripe: VLC sucks on the MacPro4,1 in Ubuntu (skipping around tears the video, leaving it to lag badly). No MacFanControl GUI is available, and the software work-around is frustrating (I instead just run a secondary centrifugal fan, pointed right at the northbridge heatsink, sitting atop the back RAMsticks).
The last true 32-bit processors were the AMD Athlon XP and Intel Pentium 4 (early Core Duo models also had 32-bit variants). ThinkPad series like the T6x, T4x, R5x, and X3x/X4x are limited to 32-bit. Meanwhile, models like the X2xx and newer generally support 64-bit and run modern distros like Debian or Fedora smoothly, often this models have at least 2GB of RAM and 64GB+ storage.
The article's title feels a bit misleading to me. It's more about limited resources (RAM/storage) than truly "old" hardware. In my view, the defining factor for "old" should be 32-bit processor support, which is far more restrictive than storage or RAM constraints. Usually the 32-bit systems are better typewriter. They don't have enough power the browse smoothly the modern web.
For 32-bit systems, I usually go with Q4OS (great for old hardware compatibility) or Puppy Linux (unlimited 32-bit support). For 64-bit, it's Fedora (Sway) or Debian (GNOME). I choose these distros because I want to get the manual installation and setup done in under an hour. Worth noting: many distros still support 32-bit, but some (like Debian) are phasing it out by 2028.
https://en.wikipedia.org/wiki/X86-64#Microarchitecture_level...
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:
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.
- 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.
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.
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.
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. https://slitaz.org/en/ 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: https://www.damnsmalllinux.org/2024-download.html
Edit: I added some notes on my tests here, and found the codec that is supported on the N450: MPEG-2: https://github.com/hatonthecat/linux_distro_tests#exegnulinu...
https://youtu.be/jMUeePXx8Ek?is=d938n8NobjBjoOlc
What makes the N450 tolerable over the Celeron 630 and even N270 is that it has hyperthreading, so it's like a dual core computer in some cases, but technically single core. It's not as fast as the AMD C-50 (with better GPU and out of order instructions, but fast enough for very light weight applications.)
Admittedly, I don't use it as a daily driver and only test it when there's a lightweight distro I want to check. Knowing i915 supports Wayland makes me want to test it again
(The AMD FX series did something like this, saying their FX 8350 was 8 cores, but it was really 2-4 physical cores and 8 logical cores): https://www.reddit.com/r/Amd/comments/ngnwp7/did_the_amd_fx_... (I have an FX-8320E, and it's not super slow though-quite fast in fact)
Surely this has way more to do with the browser (and the website!) than the OS, nowadays.
Of course, progress needs to be done. Better graphics, more data.. But now all the consumption goes into shitty decoration with is useless and waste resources.
Other big usage is all that ads and tracking shit behind the scene..
That leaves about 6.5GB for programs, which I think is acceptable.
Really? I'm seeing 1.3 for Mint/Cinnamon.