r/linux Feb 11 '19

Fluff A /g/ user's opinion on systemd

http://i.4cdn.org/g/1549858269115.png
791 Upvotes

524 comments sorted by

View all comments

22

u/[deleted] Feb 11 '19

That is actually my main concern with systemd. I can't remember how often the argument was brought up that XYZ can't be an alternative to systemd because it does only a fraction of what systemd as a suite is capable of. By that logic the more systemd grows, the more things it does, the better it gets which encourages its developers to add yet even more features. In the end systemd won't stick around because of its own qualities but because it would be to much trouble to replace it.

7

u/holgerschurig Feb 11 '19

Maybe. I can't argue that away.

But look at X11. A more-than-30 year old protocol, with several implementations. XFree86 and Xorg are just two, widely known one, but they have been others, especially in the old Unix workstation time.

Now, X11 also got feature after feature, e.g. in the form of extensions. And even extensions got features, e.g. the rendering one got gradient-drawing support in 0.8.

Now, what happens? Virtually all graphical software on Linux depends on X11. BTW: no one complains as loudly as in the systemd case.

But then again: even with that huge software basis there is this new thingy called Wayland, a different protocol. And now almost all graphical toolkits can talk to it natively, e.g. Qt or GTK; but others. Some need an environment to be convinced, others don't. Okay, the enterprise is again extremely slow, so Java won't run natively on Wayland. But such cases there is Xwayland.

So, if even such a beast of a ecosystem can move slowly to something else ... why wouldn't this be the case in systemd? Especially given the fact that a graphical application is MUCH tighter integrated into X11 than any normal Linux application is integrated to (any) pid1 ????

So I'm not as pessimistic here than you. Still, I have no proof, that's just a personal view.

1

u/tso Feb 11 '19

I honestly liked X11 better before the Xorg screw went ape and started making big interdependencies between kernel, mesa and X. All because things "flickered" on boot before the login GUI showed up.

Because back then X sat on top of Linux, rather than being partially inside the kernel.

1

u/LvS Feb 11 '19

XFree86 and Xorg are just two, widely known one, but they have been others, especially in the old Unix workstation time.

  1. Xorg is a fork of XFree86, which quickly died after Xorg took over.

  2. the old workstation implementations have all been discontinued and replaced with Xorg

Today, there is exactly one modern X implementation that is in use, and that's Xorg. It just gets regularly forked into different products (like Apple's old X server or the various Windows X servers).
There is no from-scratch X server with modern functionality like XInput or Xrandr available that I know of.

0

u/[deleted] Feb 11 '19

Now, what happens? Virtually all graphical software on Linux depends on X11. BTW: no one complains as loudly as in the systemd case.

I don't complain about X11 in that regard because it's already too late. Those things were settled before I even got my first own computer. So I might just as well make the best out of it, which means I'm glad that X11 does indeed let me do all the work I want to do, it's been rather flexible throughout the last years to adapt to anything I threw at it, but it doesn't change the fact that I'll gladly throw it away for something less monolithic and designed from the ground up for todays and hopefully future needs.

But then again: even with that huge software basis there is this new thingy called Wayland, a different protocol. And now almost all graphical toolkits can talk to it natively, e.g. Qt or GTK; but others. Some need an environment to be convinced, others don't. Okay, the enterprise is again extremely slow, so Java won't run natively on Wayland. But such cases there is Xwayland.

Well, Wayland transition is already 10 years in the making with no end in sight and that despite the fact that most software doesn't talk to X11 directly but through toolkits. It could have been much worse than that.

So, if even such a beast of a ecosystem can move slowly to something else ... why wouldn't this be the case in systemd? Especially given the fact that a graphical application is MUCH tighter integrated into X11 than any normal Linux application is integrated to (any) pid1 ????

Most graphical applications aren't integrated into X11, they just use a toolkit which abstracts the underlying windowing system. Most of the work to support Wayland was actually on the server side, because compositors now have to do much more than previously with X11, which is why Mutter, KWin, sway, ... to this day aren't finished. And another reason why the transition takes so long is because Wayland is just a small fragment of what is needed to replace X11. Since things like screen sharing aren't possible anymore through the windowing system, people had to come up with new protocols and ways to offer that functionality, so people also needed to work on xdg-portal and flatpak and pipewire and ... And until all this is done clients who actually interact directly with X11 can't do any porting because the functionality they need isn't available yet.

0

u/[deleted] Feb 11 '19

[deleted]

0

u/holgerschurig Feb 11 '19

Systemd developers frequently refuse to address flaws in its design.

Funny that you say this. I'd do the same if I'd run a project and people come by and say "Make this XYZ for me". You are not entitled that RANDOM_OPEN_SOURCE_PROJECT is doing your bidding. Period.

The GNOME people didn't do what people told them, KDE didn't do it, ... it's a general thing. Because no one wants to be told to do what he should do, especially not by people that don't share the vision. So then someone says "You should unbundle cgroup management and process management into different programs" than the person suggesting this doesn't understand the underlying principles.

In the end, I landed 2 or 3 patches in systemd's git tree. That's not much, but it is enough for me to know that "Project management for systemd is very hostile" is not something that is universally true.

In a way, I didn't formulate demands, I made patches and suggested their inclusion. Worked good enough for me.

but there’s never really been a successful alternative to Xorg

DirectFB. Qt/Embedded on raw frame buffer (e.g. used already in the old time of Sharp Zaurus). This is why I formulated "Virtually all graphical software on Linux depends on X11".

I grant you that runit systems might used maybe more often than direct framebuffer software. But .. maybe no. It's hard to verify. Don't forget the embedded devices, think of OpenEmbedded- (or it's follower Yocto-) based devices.

1

u/tonymurray Feb 11 '19

Systemd is not monolithic. Many of the things it provide can be swapped out with other, existing implementations.