Systemd Looking At A Future With More Varlink & Less D-Bus For IPC (www.phoronix.com)
from petsoi@discuss.tchncs.de to linux@lemmy.ml on 29 Sep 2024 07:31
https://discuss.tchncs.de/post/22803669

#linux

threaded - newest

N0x0n@lemmy.ml on 29 Sep 2024 13:04 next collapse

Someone a short ELI ? I read the article and the comments… But I have no idea what this is about.

Maybe someone has an article that explains for someone not being educated as computer scientist ?

Brahvim@lemmy.kde.social on 29 Sep 2024 13:22 next collapse

DBus is a system-wide messaging system. It’s for stuff like notifications and system-wide events, …or so do I think. But the aim is to allow all programs, running system-wide, to announce anything for others programs to react to.

This post requests people to use Varlink instead.

This is similar to the PulseAudio versus Pipewire and X11 versus Wayland situations.

umbrella@lemmy.ml on 29 Sep 2024 16:16 next collapse

how is varlink better than dbus to justify that change?

ijhoo@lemmy.ml on 29 Sep 2024 18:34 collapse

The main reason is that Dbus is not available during early stages of boot. There are many others.

Varlink seems to be better or the same compared to dbus in all except two things:

  • json doesn’t handle 64bit integers, it handles 52bit (or 54bit?) (size of mantissa for floats)
  • you cannot (yet) list all things connected to the bus

Details here:

…ccc.de/…/all-systems-go-2024-276-varlink-now-

N0x0n@lemmy.ml on 29 Sep 2024 16:44 collapse

Thank you :)) ! I have the same question as @umbrella if your have any other insights to share !

how is varlink better than dbus to justify that change?

Brahvim@lemmy.kde.social on 30 Sep 2024 08:19 collapse

I’m unfortunately not aware.

What I do know is that D-Bus (and not “DBus”) apparently doesn’t work with MIME types directly. I may have been misinformed here - but this is some information I have received.

Essentially, the data sent cannot be assigned a type or format.

On the web, all data sent by a server has a MIME type (“text/html”, “image/png”, “video/mp4”).

Android’s system for inter-process (“running program”) communication, intents, does include.
…Even Windows does, with its whatever complicated APIs.
D-Bus doesn’t, so Tuxes too, don’t. …Yet.

D-Bus is apparently also not secure enough. Probably not as bad as X11, but not good enough.

So far, KDE and GNOME have had their own " wrapper" systems to allow using D-Bus through a layer of their code to cover little inconveniences like this.

ReversalHatchery@beehaw.org on 29 Sep 2024 22:10 collapse

D-Bus is a system service that is used by processes to communicate with others. It’s commonly used, but as users we rarely see anything of it. It’s usage for programmers and sysadmins is/can be quite complicated. It looks they want to add a new simpler one. Haven’t heard of varlink before, though

Lussy@hexbear.net on 29 Sep 2024 14:01 next collapse

More V less D

PushButton@lemmy.world on 29 Sep 2024 15:46 next collapse

The only argument I see in favour of varlink is the ease of debugging, and this should never being an argument in a technical decision.

When your stuff is running in “prod”, your " ease of debugging" is thrown away, but the system continue to suffer.

Json for IPC is a terrible idea.

jbk@discuss.tchncs.de on 30 Sep 2024 08:40 collapse

early boot stages?

nyan@sh.itjust.works on 30 Sep 2024 14:21 next collapse

So, Poettering wants to make life difficult for everyone using something other than his precious again by transitioning from the normal standard for IPC to something hardly anyone has ever heard of or uses that’s based on JSON? Seriously? 🤢

Snarwin@fedia.io on 30 Sep 2024 16:01 collapse

It's not just "hardly anyone," it's "literally no one." Varlink was invented by the systemd developers out of whole cloth specifically for this purpose.

namingthingsiseasy@programming.dev on 30 Sep 2024 17:00 collapse

This has always been the whole point behind the Trojan Horse that is systemd. Now that Poettering/Red Hat control the entire userspace across virtually all distros, he/they can use it as a vehicle to force all of them to adopt whatever bullshit he thinks of next.

This is what the Linux ecosystem gave away when they tossed their simple init system to adopt the admittedly convenient solution that is systemd. But in reality, the best solution was always to drop init, and instead replace it with an alternative that was still simple to replace if the need should arise. But now that everyone is stuck on systemd, they’re all at the mercy of Poettering’s Next Stupid Idea.

Convenience comes at a price. systemd is the Google Chrome of Linux userspace. Get out while you can.

Iapar@feddit.org on 01 Oct 2024 17:59 collapse

Jesus fucking Christ, why is everything a war? Its so fucking exhausting.

winterayars@sh.itjust.works on 30 Sep 2024 17:00 collapse

Using json for IPC but a binary format for log files sounds insane to me, but alright.