shrub has a website

the state of statically linked linux in 2025

21:51 15 jan 2026

for the last few months i have been working on https://derivelinux.org, which is going to be a linux distribution. i mean, it is a linux distribution, but i don't reccomend installing it |yet|. one of my aims is that i want it to be a 'real' distribution, without a dynamic linker. this is a bit of a pipe dream, and you need to do a lot of avoiding the problem to get the things you want. the pragmatic half of my brain knowns that at this stage in the game it is probably impossible to do this and have 99% of actual software, the real question is, why?

ok, so the main thing is mesa. no dynamic loader on the system, 0% .so files, you can't have mesa. sorry, there are the trade-offs we make. i have seen someone pack mesa as an appbundle |appimage alternative|, which could be an interesting workaround, i am using a similar method to get firefox |this is the avoiding the problem i was mentioning|, and anything else that uses dynamic loading, imlib2 etc, and no imlib2 means no feh, and you start to realize why no one puts themselves through this

but no mesa means no wlroots, no |real| xorg, no graphics-accelerated anything. this sounds kinda shit, and it kinda is, but it really depends what you use your computer for. let's just say you wont be gaming anytime soon. so what do we even have? for xorg, tinyx is servicable, and for wayland, swc-based compositors such as velox and the upcoming hevel |hevel.derivelinux.org| are quite nice, minus the lack of subsurface support, which means no firefox, but that's a future blog post.

i think i have proven that a usuable desktop system with static linking is possible, others have tried, like oasis linux, which has a base system and wayland via velox, but not much else, and reccomends you to use nix or pkgsrc to get any real software, which will inevitably lead to dynamic linking. we have... a little more than that, it's very usuable for someone like me, all i do is open acme, st, and use a browser usually, so if you are like me, it's not so bad. i have been using it for a bit of programming and reading over the past weeks.

and, in terms of dynamic linking being bad, this just happened on my arch system, in case you wanted to know my reasoning for doing all this:

yay: error while loading shared libraries: libalpm.so.15: cannot open shared object file: No such file or directory