• Brahvim Bhaktvatsal@lemmy.kde.social
    link
    fedilink
    isiZulu
    arrow-up
    15
    ·
    edit-2
    2 months ago

    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
      link
      fedilink
      arrow-up
      9
      ·
      2 months ago

      how is varlink better than dbus to justify that change?

      • ijhoo
        link
        fedilink
        arrow-up
        12
        arrow-down
        2
        ·
        2 months 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-

    • N0x0n
      link
      fedilink
      arrow-up
      4
      ·
      edit-2
      2 months ago

      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 Bhaktvatsal@lemmy.kde.social
        link
        fedilink
        isiZulu
        arrow-up
        2
        arrow-down
        1
        ·
        2 months 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.