Is a 32 bit machine still usable in 2024?
I really hate seeing perfectly good hardware go to waste. When the pandemic first hit, I started accepting donation old laptops, fixing them up, installing Linux Mint on them, and donating them back out to local folks. Over the past few years, I’ve up-cycled over 300 laptops locally.
Most of these laptops that come in are Windows 7–8 era machines, and they typically come with about 4 gigs of ram, and a quad core processor. Perfect candidates for modern Linux like Mint. However, I’ll occasionally get an OLD laptop sporting a Windows XP sticker that will only support a 32 bit operating system. Those machines break my heart, as they’re just TOO OLD to be useful today.
….. or are they?
My favorite podcast, Linux Unplugged, proposed a challenge for the end of 2023, to set up and USE a 32 bit machine for your daily tasks for 5 days straight. ( https://linuxunplugged.com/articles/32bit )
As my wife rolled her eyes at me and declared “you Linux people are masochists”, I searched for the right hardware for this challenge! This was going to be a fun, and probably painful, week.
The Hardware
Luckily, someone had JUST donated this perfectly working Dell Latitude D820, running Windows XP. They were in college actually trying to use this for their school work, but couldn’t even access many of the websites they needed because it was so out of date. I gave her a much newer 64 bit machine in trade.
It was in great shape considering it was released in 2006, making it 18 years old. And even though it’s basically Gandalf-old in tech years, everything worked!
Hardware wise, the thing is huge, weighs a ton, the trackpad is laughably small, but the keyboard feels nice. It’s running on 3 gigs of ram (the max, lol), a 2.0 ghz Intel Centrino processor, and a Seagate 500gb spinning rust drive.
Now time to see what will actually run on this.
Picking a Distro
Picking a Linux distro is usually an overwhelming experience due to the hundreds of choices. However, nearly all distros have dropped 32bit support, leaving only a handful of distros left. I knew I could get away with things like Puppy Linux, AntiX, etc and other fringe distros that are made for super old hardware, but I always found them hard to use, and even harder to customize. I wanted something a bit more mainstream.
PeppermintOS
In the past, I’ve used PeppermintOS for older machines, and it does really well. I noticed they had a 32 bit version, so tried to install that… only to have the installer crash. NEXT
NixOS
If you’ve read any of my other articles, or follow me on social, you’ll know I’m borderline obsessed with NixOS, and they have a 32 bit version! Sadly there is no GUI installer for the 32 bit version, but thanks to the great documentation, I was able to get 32 bit NixOS installed and running. And that’s where my luck ended. Even trying to get something like sway and Firefox installed resulted in lots of broken packages and I couldn’t get past a TTY terminal. Not very useful for a daily driver. NEXT
Debian 12
I was starting to realize this was going to be harder than I thought. It occurred to me that distros like NixOS are pretty bleeding edge, and for this, I needed something older and more conservative, but still up to date enough to be useful. Debian popped in my mind as the perfect fit for this job.
There is only a “net installer” for Debian 32 bit (no live session), but the step by step GUI process was really easy and clear. I chose a standard install with the XFCE desktop. And after a good hour or so of slow progress bars, I rebooted and viola, a working desktop!
The only “aftercare” I had to do was add my user to the sudoers group, which seemed like an odd thing for the installer not to ask me. Still, I had found my distro! This would also be my first time using Debian proper on a desktop system.
Getting Set Up
I really hate bloated distros that install way too much junk you probably don’t want, but there is such a thing as TOO LEAN, making it frustrating to get set up. Debian 12 really nails this balance. XFCE was fully featured and came pre-installed with Firefox ESR, Libreoffice and some basic system utilities, but that’s it!
This was also my first time trying to seriously use vanilla XFCE, and was pleasantly surprised how well it ran, and how little it took to make it look a bit better. Dark mode themes were already pre-installed and easy to select (thank god), and I removed the panel dock at the bottom, but otherwise, kept things really stock.
The only thing that really drove me nuts about XFCE is that there seems to be no launcher. Clicking the windows button, doesn’t even open the applications menu. And even if it did, there was no search in there. Good thing rofi was just an apt install away.
sudo apt install rofi
rofi-theme-selector
Then simply go into your keyboard shortcuts and map ALT+SPACE to “rofi -show drun”, and problem solved.
At this point, I already have a basic computer that any normal person could probably get on with do their daily tasks. I’m not a normal person though, I’m a full stack web developer. So to do this challenge properly, I need to actually set up my work stuff on here and actually DO SOME WORK.
Setting Up Dev Environment
Luckily, I’m a PHP developer and as a friend put it “PHP ran in ancient Egypt, 32 bit is no problem”. And he’s right. Since Debian 12 is actually pretty new, I got my fully modern stack up and running in no time.
sudo apt install php nginx mariadb-server php-mysql nodejs npm
Since Debian is such a popular server distro, this actually makes sense. Still, I was shocked that all of this was fully up to date AND compatible with 32 bit. The only substitution I had to make was using MariaDB instead of MySQL. For my use case, they’re fully compatible and ready to go.
Installing Apps
This is where I finally start to feel the pain of being on such an old system. I wanted to try and reproduce everything I do on my normal system. My main communication for work and personal is Telegram, but no 32 bit build of it exists, so I was forced to use the web version of it. Which worked, but was a bit clunky and slow.
I then quickly learned that there is NO 32 bit Chrome/Chromium, which means there is no Electron, which means no VSCode, GitKraken, and Beekeeper Studio, all of which I use daily. :/
If I could just use Vim like a proper nerd, this would be no problem, but other than basic config editing, I find Vim too hard to live with. I tried old editors like Geany, Bluefish, and even Kate (which pulled down way too many dependencies), but actually had the best experience with GEdit, which quite honestly shocked me. Yes, it was basic, but was fast, highlighted code, brackets, etc. Good enough for me!
sudo apt install gedit
I’m ok using Git in the terminal for basic stuff, but I often have too much going on and really enjoy a GUI for managing my Git branches. And since GitKraken wasn’t available in 32 bit, I found Gitg to be a really good replacement. It’s not as full featured as the kraken, but it’s nice. Well done Gitg team!
sudo apt install gitg
Finally, I needed some front end for my database needs. Beekeeper Studio is fantastic, but not available on 32 bit. Dbeaver didn’t seem to want to work either. Choices are slim here, and ended up just throwing Adminer up in the browser and using that. Again, clunky and don’t want to live like this, but perfectly usable.
Performance
Although this CPU shows as 2 logical cores, it’s still very much a single core processor. If you pair that with a spinning rust drive, and limited ram, things can get rough.
Even so, the OS, desktop environment, and native gui apps ran relatively snappy. My local webserver had no issues either and felt fast. It was Firefox, the browser, that always seemed to grind to a halt. Some websites were ok, but sites like Facebook, Twitter, or anything with ads would slow down a lot, to where you could see the delay in typing. Any site with heavy Javascript usage was annoyingly slow. The only other negative was that suspend definitely did NOT work properly, so I had to shut the laptop off each time I was done with a session.
Conclusion
So what’s the verdict? Is a 32 bit machine still usable in 2024? Definitely, but it really depends on your hardware and expectations. I recognize that my hardware was probably peak 32 bit, and if I were trying to do this with a Pentium 4 with 1 gig of ram, it would be a different story. It’s also unclear how long these 32 bit packages will be around for.
Still, thanks to projects like Debian and the open source community at large, it’s incredible that I could do REAL ACTUAL work on a fully up to date 18 year old computer. I’m actually writing this article from this Dell as my final job for it. After that, I’ll be setting it up fresh again with Debian 12, and donating it to someone who needs a basic computer. There is no reason why this machine can’t do at least a few more years of service before going to the great beyond.
P.S. — Did I complete the challenge?
Even though I used this computer for 6 days, my timeline started on Christmas Eve which was an incredibly slow time for work anyway. I admit, this would have been harder to do during a normal work week.
And while I really tried to stick exclusively to JUST this computer, I cheated twice and grabbed my Gen 6 X1 Carbon.
- I was merging two huge git branches and had A LOT of conflicts. I wasn’t comfortable learning how to resolve conflicts with this new tooling with my real live business. I really needed to use GitKraken to help me sort out the mess. But after the merge, I went back to the 32 bit!
- There was also a time where my brother had sent me a game build he wanted me to test on my steamdeck. This required the SteamOS-DevKit, which wasn’t working on the old 32 bit machine, and was only a “nix-shell” away on my modern Nix laptop.
Other than those two times, I exclusively lived on this old 32 bit laptop for 6 days! My two cheats certainly disqualifies me from honestly saying I completed it, but I still feel like I honored the essence of the challenge. It WAS as fun and painful as I had hoped, and my wife still thinks us Linux people are nuts.