You can run an entire, productive modern Linux, (minus a modern browser*) on 128MB of RAM and one slow core. If you push lower, you start running into issues. I would recommend having around 200MB or so of swap for sudden spikes of memory usage. An aggressive userspace OOM killer may make life easier.
On Linux, if you just run SDDM that launches xfce, you will quickly OOM the system, because SDDM will stay in memory. The same goes for most desktop managers. So the real way is to just `startx` your desktop environment directly and use console login.
i3 is the best call for usability/a modern feeling, with extremely low memory usage. The reasoning is that, if you're used to sway or i3, this will feel like home, and it has all the features you need to be productive. Anything else will eat more RAM, from what I've tried. It also feels really fast, even if your GPU is struggling, because there are no animations and very little movement.
I would personally recommend Alpine, as it really comes with nothing extra. You can then install a desktop environment manually (or use their setup-desktop script if you have plenty of RAM and storage). TinyCore is a bit too wild to do modern computing on; the paradigms are just too outdated, the installation is a bit of a pain, and the installer would OOM on the same system where I can run my entire i3 alpine setup.
DSL seems cool, I haven't tried it; I just wanted to share my experience.
You can try all of this by setting up a qemu VM. Be aware that you will need more RAM just for the BIOS, so maybe if you configure 210MB, youll end up with around 128 usable, or so. Your OS will report how much is usable, accurately.
You can then set CPU cores with usage limits, limit HDD speeds to 2000's HDD speeds (so that your swap isnt fast), and so on. Its a fun exercise to try to develop software on such a limited machine, and its fun to see which software launches and which doesn't.
*: the browser is an issue. Firefox is the preferrable option, but wouldn't launch on so little RAM. NetSurf or elinks/lynx etc. is the way to go, but websites that rely on JS to work, like any and all Rust documentation sites, will be completely unusable.
It's kind of cheating, but I wonder if you could set up some kind of "server side rendering proxy" that would run all the JS on a given page, and send the client a plain html page with hyperlinks in place of interactive JS elements.
Opera Mini's "extreme mode" takes this approach. The server pre-renders content, also stripping out things the client doesn't need or that would require a lot of resources/bandwidth.
Note that this does present a bit of a man-in-the-middle scenario, and Opera's chief income is from advertising (and "query").
DSL is much older, and the original version came as a 50MB disk image.
Current version clocks in ~700MB, again very small when compared to any modern Linux installation media.
On the other hand, it seems like DSL takes a more extreme approach to slimming down i3/XFCE route, plus DSL contains Dillo which is arguably the latest modern-ish (to the most extent possible) and lightest browser in existence.
Don't forget the links2 classic web browser! (still missing the <video> and <audio> element support on x11/wayland though).
Server side rendering will collect(steal) personal info, it is a no go. The only right solution is online services to provide a web site on the side of a whatng cartel web app, if the online service does fit ofc. No other way, and hardcore regulation is very probably required.
I recently used it to boot a ~1996 Compaq Presario from CD-Rom to image the hard-drive to a USB stick before wiping it for my retro-computer fun :)
It's kind of sad to hear "adult" people claim in all seriousness that it's reasonable that a kernel alone spends more memory than the minimum requirement for running Windows 95, the operating system with kernel, drivers, a graphical user interface and even a few graphical user-space applications.
When you look at the actual list of those 4, it's not as hard to understand any more.
It's Firefox, Dillo, Links2 and Netsurf GTK :)
Dillo is something I'd love to daily drive like I did 20 years ago, but it would just fail on most modern websites. But it's what, 2MB in total (binary+libraries)?
Links2 is text terminal oriented. No modern browser can do that natively at all. All competition is even smaller (w3m, lynx). Plus links2 can run in graphics mode, even on a framebuffer, so you can run it without X server at all.
So Fx is the only "general purpose" browser on that list, but is just too big for old hardware.
The problem with old computers isn’t that they’re slow but fail randomly so they don’t need “smaller” Linux, they need more resiliency that can work with random RAM erros, corrupt disks, absurd CPU instruction failures.
Should really be titled "Damn Small Linux 2024", as this is a reboot of an older distro.
I was going to comment that it must have been posted multiple times before 2024, but this is a refresh of the older distro, there are probably different URLs. I'm not sure what's new about it to warrant a post today, the last release is rc7 from June 2024 and the webpage is full of popup ads that are really annoying.
Perhaps someone discovered it for the first time today? If so, this used to be much smaller. 50MB vs 700MB today. I mean, it's a damn small linux that includes Firefox... that doesn't seem quite right to me.
Thankfully the linked page includes discussion by the author on how it used to be 50MB and why he decided to revisit his original project with a new scope and size limit.
Distros like these help troubleshoot boxes that are old/slow but also not used as computers in the traditional sense. For example network boxes, NAS, video recording boxes etc that can't run the latest LTS ubuntu well but can boot a distro like DSL. getting a vga out on these things with a fast to boot distro helps you fix things like corrupt drives, bad partitioning, bad boot loaders etc which needs a few terminal commands and a distro that boots up quickly.
It once took ubuntu 18.04 30 minutes to boot on an old dual core intel network box once. I switched to Xubuntu and it was about 5 minutes. imagine having to do multiple reboots.
The wildest part of that to me is that OP couldn't help out because there was somehow something more pressing than every non-franchise store not being able to accept payment and likely needing a lot of expertise to patch it fast enough.
TinyCore’s “Core" is still just 17 MB and is text-based. It includes the tools to install everything else. It only supports wired networks for the most part.
“TinyCore” is 23MB. It includes a minimal GUI desktop.
“CorePlus” at 243 MB is internationalized, has a half dozen more window managers to choose, has wireless networking tools, and a remastering tool to spin your own.
I had no issues at all running alpine with a UI on a simulated 128MB RAM machine with a few GB of storage (with simulated 2000's disk speeds). That's 128MB not counting memory for the BIOS, of course.
i3 and NetSurf made that extremely possible. Mind you, the only things that didn't work well were Firefox (wouldn't launch due to OOM) and compiling Rust projects. Single translation units in Rust would immediately OOM the system, whereas C, C++, etc. worked fine.
On Linux, if you just run SDDM that launches xfce, you will quickly OOM the system, because SDDM will stay in memory. The same goes for most desktop managers. So the real way is to just `startx` your desktop environment directly and use console login.
i3 is the best call for usability/a modern feeling, with extremely low memory usage. The reasoning is that, if you're used to sway or i3, this will feel like home, and it has all the features you need to be productive. Anything else will eat more RAM, from what I've tried. It also feels really fast, even if your GPU is struggling, because there are no animations and very little movement.
I would personally recommend Alpine, as it really comes with nothing extra. You can then install a desktop environment manually (or use their setup-desktop script if you have plenty of RAM and storage). TinyCore is a bit too wild to do modern computing on; the paradigms are just too outdated, the installation is a bit of a pain, and the installer would OOM on the same system where I can run my entire i3 alpine setup.
DSL seems cool, I haven't tried it; I just wanted to share my experience.
You can try all of this by setting up a qemu VM. Be aware that you will need more RAM just for the BIOS, so maybe if you configure 210MB, youll end up with around 128 usable, or so. Your OS will report how much is usable, accurately.
You can then set CPU cores with usage limits, limit HDD speeds to 2000's HDD speeds (so that your swap isnt fast), and so on. Its a fun exercise to try to develop software on such a limited machine, and its fun to see which software launches and which doesn't.
*: the browser is an issue. Firefox is the preferrable option, but wouldn't launch on so little RAM. NetSurf or elinks/lynx etc. is the way to go, but websites that rely on JS to work, like any and all Rust documentation sites, will be completely unusable.
Edit: https://www.brow.sh/
Note that this does present a bit of a man-in-the-middle scenario, and Opera's chief income is from advertising (and "query").
Current version clocks in ~700MB, again very small when compared to any modern Linux installation media.
On the other hand, it seems like DSL takes a more extreme approach to slimming down i3/XFCE route, plus DSL contains Dillo which is arguably the latest modern-ish (to the most extent possible) and lightest browser in existence.
Server side rendering will collect(steal) personal info, it is a no go. The only right solution is online services to provide a web site on the side of a whatng cartel web app, if the online service does fit ofc. No other way, and hardcore regulation is very probably required.
It's kind of sad to hear "adult" people claim in all seriousness that it's reasonable that a kernel alone spends more memory than the minimum requirement for running Windows 95, the operating system with kernel, drivers, a graphical user interface and even a few graphical user-space applications.
It's Firefox, Dillo, Links2 and Netsurf GTK :)
Dillo is something I'd love to daily drive like I did 20 years ago, but it would just fail on most modern websites. But it's what, 2MB in total (binary+libraries)?
Links2 is text terminal oriented. No modern browser can do that natively at all. All competition is even smaller (w3m, lynx). Plus links2 can run in graphics mode, even on a framebuffer, so you can run it without X server at all.
So Fx is the only "general purpose" browser on that list, but is just too big for old hardware.
The size was a 90s problem.
Well, technically the eee is '07. But it is 32bit and everything that entails.
I was going to comment that it must have been posted multiple times before 2024, but this is a refresh of the older distro, there are probably different URLs. I'm not sure what's new about it to warrant a post today, the last release is rc7 from June 2024 and the webpage is full of popup ads that are really annoying.
Perhaps someone discovered it for the first time today? If so, this used to be much smaller. 50MB vs 700MB today. I mean, it's a damn small linux that includes Firefox... that doesn't seem quite right to me.
I think the spiritual (and actual) successor to DSL is http://tinycorelinux.net . Which was also discussed here two days ago: https://news.ycombinator.com/item?id=46173547 .
It once took ubuntu 18.04 30 minutes to boot on an old dual core intel network box once. I switched to Xubuntu and it was about 5 minutes. imagine having to do multiple reboots.
https://web.archive.org/web/20100520020401/http://therealedw...
“TinyCore” is 23MB. It includes a minimal GUI desktop.
“CorePlus” at 243 MB is internationalized, has a half dozen more window managers to choose, has wireless networking tools, and a remastering tool to spin your own.
http://tinycorelinux.net/downloads.html
i3 and NetSurf made that extremely possible. Mind you, the only things that didn't work well were Firefox (wouldn't launch due to OOM) and compiling Rust projects. Single translation units in Rust would immediately OOM the system, whereas C, C++, etc. worked fine.