this post was submitted on 29 Sep 2024
110 points (98.2% liked)

Linux

48317 readers
695 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
top 14 comments
sorted by: hot top controversial new old
[–] [email protected] 15 points 1 month ago (2 children)

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 ?

[–] [email protected] 15 points 1 month ago* (last edited 1 month ago) (2 children)

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.

[–] [email protected] 9 points 1 month ago (1 children)

how is varlink better than dbus to justify that change?

[–] [email protected] 10 points 1 month ago

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:

https://media.ccc.de/v/all-systems-go-2024-276-varlink-now-

[–] [email protected] 4 points 1 month ago* (last edited 1 month ago) (1 children)

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?

[–] [email protected] 1 points 1 month ago

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.

[–] [email protected] 4 points 1 month ago

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

[–] [email protected] 8 points 1 month ago (1 children)

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? 🤢

[–] [email protected] 6 points 1 month ago (1 children)

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 2 points 1 month ago (1 children)

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.

[–] [email protected] 2 points 1 month ago

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

[–] [email protected] 7 points 1 month ago

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

[–] [email protected] 2 points 1 month ago (1 children)

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.

[–] [email protected] 1 points 1 month ago

early boot stages?