Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.





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.


I still remember burning the dsl livecd image to a mini-cd shaped like a credit card (edges trimmed off) and using it on university workstations.

Yeah, I had one of these in my wallet with DSL.

https://en.wikipedia.org/wiki/Bootable_business_card


I'm sure I burned a Gentoo stage 1 boot ISO onto one of those card-sized discs.

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.

Edit: https://www.brow.sh/


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").


Just use Dillo. It's something has videos, use mpv+yt-dlp.

~/.config/mpv/config:

    #start
    ytdl-format=bestvideo[height<=?480][fps<=?30]+bestaudio/best
    ao=sndio
    vo=gpu,xv
    audio-pitch-correction=no
    quiet=yes
    pause=no
    profile=fast
    vd-lavc-skiploopfilter=all
    #demuxer-cache-wait=yes
    #demuxer-max-bytes=4MiB
    #end
~/yt-dlp.conf

    #start
    --format=bestvideo[height<=?480][fps<=?30]+bestaudio/best
    #end

That's a wonderful idea! Thank you!

Would that work with CORS?

Another distro worth noting here is EasyOS, a current project by Puppy Linux creator Barry Kauler: https://easyos.org/

I remember having tested it, but can't remember what it was like :) -- at least it didn't make me switch from Tiny Core Linux, which I've used extensively. From a superficial, distro-hopper view, DSL, Puppy, EasyOS and Tiny Core all feel quite similar, I guess.

As a side note, it is interesting to see DSL and TC on the HN front page in two consecutive days of 2025. Both are very old projects; I wonder what's the impulse behind this current interest.


Interesting post, thank you.

"Back in the day" people were running HP technical workstations, with X11 with CDE, with 128MB RAM, on Pentium-II equivalent speed CPUs - and they liked it!


It built character.

Kids these days...


- Use Dillo with gopher/gemini plugins. Add mpv+yt-dlp, the some of the HN comments in this page has my hints posted.

Cookies setup for HN:

       ~/.dillo/cookiesrc

       news.ycombinator.com ACCEPT
       .news.ycombinator.com ACCEPT_SESSION
       hn.algolia.net ACCEPT
       .hn.algolia.net ACCEPT_SESSION
       hn.algonia.net ACCEPT
       .hn.algonia.net ACCEPT_SESSION


- Use ZRAM:

      sudo modprobe zram

      sudo zramctl --find-size 64MB

      sudo swapon /dev/zram0 -p 99
- Tiling sucks on small resolutions. Use CWM or IceWM.

- XTerm it's very small and works fine. I can posts Xresorces there.


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: