In recent weeks, systemd has both embraced slopcoding and laid the groundwork for age verification built right into systemd-based Linux distributions, there’s definitely been an uptick in people talking about alternative init systems. If you want to gain understanding in a rather classic init system, OpenBSD’s is a great place to start.
OpenBSD has a delightfully traditional init system, which makes it a great place to start learning about init systems. It’s simple and effective. There’s a bit of a counter movement in the IT and FOSS worlds rebelling against hyperscaler solutions pushing down into everyone’s practices. One of the rallying cries I’ve been seeing is to remind people that You Can Just Do Things™ on the computer. The BSD init system, and especially OpenBSD’s is something of a godparent to this movement.
↫ Overeducated-Redneck.netinit(8)just runs a shell script to start the computer, and You Can Just Do Things™ in the script to get them to happen on boot.
My main laptop is currently in for warranty repairs, but once it returns, I intend to set it up with either OpenBSD or a Linux distribution without systemd (most likely Void) to see how many systems I can distance from systemd without giving myself too much of a headache (I’m guessing my gaming machine will remain on systemd-based Fedora). I’m not particularly keen on slopcoding and government-mandated age verification inside my operating systems, and I’m definitely feeling a bit of a slippery slope underneath my feet.
I have my limits.

This was the same in Slackware.
(My very first Linux. Though there was no Debian or Redhat back in those days)
There is a basic init (sysvinit?, which is actually based on BSD variants), and for everything else you want to do, there is /etc/rc.local. All others, including the user database are still text configs under /etc.
Now, is everything as easy, and plug and play like systemd? Not of course. It won’t renegotiate your network daemons if you switch from cable to wireless, or update your primary printer automatically based on location without some work. At least out of the box.
But everything is possible. One can actually do all those.
I think we will need to go old school. I have been tolerating systemd, as I did not like their methods, but the goals were acceptable. But that no longer holds true after they are shoehorning user tracking, and unique machine id fingerprinting, and giving up on privacy.
Edit:
I googled for modern “systemd-free” distributions, if Slackware is too old school. (Though it is still alive)
Without any ranking: Devuan (a debian clone), Void, Alpine, and Artic (Arch clone?).
I would also include Gentoo, which … is technically not systemd-free, as it allows you to build your own distribution in your way. But of course one can choose OpenRC instead.
On my ThinkPad W530 (and 4 sticks of RAM), FreeBSD lasts for 5h doing actual work on a battery that currently holds 51W of capacity.
Yes, it won’t autonegotiate anything, but in openbox I get a very nice right click menu with the networks that I have configured and when I want to switch from wired to wifi, I right click, point to network, pick the interface. Bonus for not having wifi broadcasting discovery requests every time.
It is incredibly smooth, there’s almost nothing running in the background (making the system incredibly responsive). Less crap in the background means more time with the CPU in low power states. Two weeks ago, I moved my ThinkPad P1 Gen 4 to Debian just because I was already getting too annoyed dealing with the hybrid GPU situation (can’t fully disable the NVIDIA), and having to figure out ACPI calls to keep it off, etc.. the battery was not lasting long but I am hoping it will get better with time.
You only install what you need, making the system very smooth. Even KDE on FreeBSD is quite a pleasant experience, even though half of the widgets won’t work. =)
So yea, autoconfigure plugandplay everything and live with the life of bloat or spend a day or two setting it up and have a way smoother system? That’s the dilemma. If manually configuring things would be easier for people who are not tech experts, I think many people would be happy to spending a day setting things up and not worrying that things will go belly up.
Last week, my P1’s Windows installation went belly up (Started BSOD-ing after an update) and I am working from a VM in VirtualBox. Won’t even boot in safe mode. -> if we can give non-technical people a computer experience devoid of this crap, would be great.
Shiunbird,
Yes, this is a pain, and even on my AMD APU with AMD discrete GPU, I had something similar. The iGPU is not directly wired to the displays anymore, and all output has to go through dGPU, even if you are not actively using it or gaming or something else.
It used to be the opposite, but then the gaming performance was not great. Now the dGPU is always on, and consumes power draining the battery.
(Way back in time there was a hardware switch for output, none of these shenanigans were necessary)
I have not used them, but for nvidia, there seems to be tools like supergfxd if you want to give it a try. They claim to be able to manage power states better.
It works super fine in Debian with the nvidia official drivers. I created a small widget for KDE that probes the NVGPU power state and most of the time when I am not using the external display, I can see that the NVGPU is at D3cold and I am now getting better battery life than I get with Windows.
But it took some tweaking to get the whole system to a better power state (as I am typing this, the CPU is at 800 MHz and the nvgpu is at D3cold):
– disable modern standby in the BIOS – systemd stuff keeps awakening the CPU and the power draw is so high (even with the system power LED pulsating sleeping) that the computer is warm in the morning.
– GRUB conf: GRUB_CMDLINE_LINUX_DEFAULT=”mem_sleep_default=deep pcie_aspm=force pcie_aspm.policy=powersupersave”
– modprobe:
options nvidia NVreg_DynamicPowerManagementVideoMemoryThreshold=768
options nvidia NVreg_EnableS0ixPowerManagement=1
The dynamic memory threshold was important. Since I have a 4K screen on my ThinkPad, it would very easily cross the 512MB default threshold and wake the NVIDIA GPU up.
Maybe the situation in Windows got better. I’d need to pop in a spare nvme drive from my stash, install FreeBSD and give it a shot. I have no need for Linux and everything I use is available in FreeBSD.
It’s very hard for the common folk. Even though my P1 Gen 4 is considered well supported under Linux, the factory defaults are not good and then, well, if your laptop battery life is 4h under Linux and 10h under Windows, you as common folk will just conclude that Linux sucks, and that personal computing is only doable under Microsoft/Apple/Google.
My grandpa daily drives an iMac he bought back in 2007. I installed Debian and themed it to have it look like Finder. Added an SSD and 4GB of RAM and it was perfect (youtube, banking, email) until this year when skype was retired. Now we migrated to facetime, but he still uses the imac.
Shiunbird,
Yes, not everyone is that knowledgeable or even patient.
(I would include a meme here “ain’t nobody have time for all that”)
But that was what made Linux better. “Back in my day” every installation was pretty unique and tightly tailored for the particular system it was running on. Tailored is a good word, since it was more of a craft
But today…. we have mass deployments on AWS, GCP and Azure. They don’t have identity anymore. And that is precisely why systemd was pushed.
(It is much easier to have army of zombies with systemd, than trying to script every possible configuration)
sukru,
All the AWS fleets are basically very similar, whereas each individual personal workstation is a little bit different. I agree with you on why it works in the cloud. But somehow when companies prepare support for Windows, it somehow works decently, given the bizarre diversity of the environment.
At the end of the day, they just don’t care. What I figured out in one day, a Lenovo engineer could have as well, and they could have placed a support document “ThinkPad P1 Gen 4 with NVIDIA” configuration script and everyone would be happy.
Companies just don’t care, and they don’t want you getting out of Windows anyway, so open source support will always suck, except for the very few companies that care.
Shiunbird,
Of course they don’t. They have sold the laptop, and except for mandated, or paid for service contract, why would they want to spend extra money?
(Not condoning, just an observation)
FWIW I have had zero issues with gaming on Void, including Steam, nearly all Windows-only GoG games via Wine (the lone exception is Jedi Knight: Dark Forces II), and even World of Warcraft (granted that’s on a private server so I’m running the old school WotLK client). Steam doesn’t (yet) require any systemd-specific nonsense, and performance is actually better overall than when I was testing out Fedora-based Bazzite on my gaming machine. This is with the 6.18 kernel on an AMD Ryzen 5600GT paired with a Radeon 7700 XT.
I had recently made my peace with systemd. Now I need to change course again.
For anybody looking for a haven away from Systemd, without giving up all its features, I am still quite happy with Chimera Linux. It includes the turnstile project which aims to provide a lot of systemd functionality in a more modular way alongside dinit.
For example, the Chimera Linux lead dev uses GNOME and has committed to making GNOME work on Chimera Linux. It ships with GNOME 49 now.
I use either KDE or Niri on Chimera Linux but I know there are many GNOME fans out there and I am sure there will be more systemd dependent software in the future.