Announcement

Collapse
No announcement yet.

Waltham: Generic Wayland-Style Network IPC

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Waltham: Generic Wayland-Style Network IPC

    Phoronix: Waltham: Generic Wayland-Style Network IPC

    Collabora went public today with their new spin-off project from Wayland: meet Waltham...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    A relevant (and good) read about why a linux desktop is not really "network transparent" and has not been in the last 2 decades, and why we need something like Waltham: https://blog.martin-graesslin.com/bl...-trancparency/

    Comment


    • #3
      Haha what next, Belmont? (in case people aren't aware, these are named after cities in Massachusetts, apparently going east)

      Anyway I was wondering when something like this was going to pop up. I personally don't really care, but it's just 1 more feature to knock off that X11 has.

      I'm not entirely sure if this is related, but is something like this required to do "Wayland over SSH"? I have always found X over SSH to be especially useful, but maybe network transparency has nothing to do with it.

      Comment


      • #4
        Originally posted by schmidtbag View Post
        Haha what next, Belmont? (in case people aren't aware, these are named after cities in Massachusetts, apparently going east)

        Anyway I was wondering when something like this was going to pop up. I personally don't really care, but it's just 1 more feature to knock off that X11 has.

        I'm not entirely sure if this is related, but is something like this required to do "Wayland over SSH"? I have always found X over SSH to be especially useful, but maybe network transparency has nothing to do with it.
        I really hope that "ssh -X" will remain (in a form or another) in Wayland, I use it often.

        Anyone has information about it?

        Comment


        • #5
          Finally! So much waiting for this!

          What about other devices that are "shared" like SPICE does with QEMU/KVM? USB devices, directory sharing, sound in/out, etc.

          What about copy & paste?

          Will there be something like notty in this Brave New Ecosystem? One more layered old legacy stuff to remove and improve a lot, please!

          What about SSH?

          Comment


          • #6
            Originally posted by timofonic View Post
            Finally! So much waiting for this!
            I think you misunderstood what "this" is...

            Comment


            • #7
              Originally posted by quikee View Post

              I think you misunderstood what "this" is...
              He might be a developer.

              Comment


              • #8
                Originally posted by schmidtbag View Post
                I'm not entirely sure if this is related, but is something like this required to do "Wayland over SSH"? I have always found X over SSH to be especially useful, but maybe network transparency has nothing to do with it.
                Unfortunately for you, it has. You have multiple ways of handling remote desktops, but it boils down to two possibilities:

                - You let the server do the rendering, and you transfer the pixels. This is VNC's approach
                - You transfer the draw commands and let the client do the job. This is the original X's approach.

                There is little arguing to do on the first one. You have a lot to consider. Screen resolution, density, framerates, compression, quality, etc, vs bandwidth. On the upside, you can stream any kind of windows. Of course, the server resources are used (think "steam link").

                On the second one, you pass around the draw commands, which are ideally just a few commands defined in a protocol that allows drawing circles, lines, rectangles, etc. This is exactly what X did in the first place. The protocol could also be sent over the network for drawing remotely, hence "network transparent". It worked well when applications used the X draw interface. But applications soon wanted better control over what they were rendering (complex UI elements, OpenGL, etc.), and with time, just ended up presenting X with a bitmap to render on screen. When that's the case, you are often better off with a VNC solution (you can do the port forwarding via SSH if that's a necessity) in terms of stability, performance and quality.

                That's also the exact matter that Wayland tackled. X has virtually no use nowadays for this legacy stuff, such as input handling, device drivers ( including video cards and PRINTERS - seriously! I think this has been removed recently, but just seriously...), drawing, and all the unsafe stuff that it has to carry around due to its history. Wayland defines a new clear, secure set of protocols oriented around bitmaps, and that's it.

                Now, onto network transparency for the modern world. Thank you starshipeleven for the link, it was an interesting read. Due to the huge variety of rendering methods for the different toolkits out there, it makes sense to let the toolkits themselves decouple their rendering, and make it transparent. This proposal, if I didn't misread it, aims to define some protocols for toolkits to expose their own network transparency capabilities.

                So, let's say you run a simple, say, Qt widgets app. The application is running on the server, the interface is described via an UI file, and can also be changed programmatically. If running trough SSH "-X", the application could send this information to the client's libraries (this would require a local Qt installation), for it to render the app window locally.

                Here, the interesting part is that this proposal would create an unified way of (I didn't really read it, so don't quote me on this) negotiating the protocols available for network transparency. Which is great if we want an unified experience, especially without a bazzillion commands to remember for each toolkit or app. You run the app, the client and the server negotiate their capabilities; what they can send over the link, and do their best to display the window. I guess this includes a fallback with a VNC-like bitmap mode.

                So, long answer short, yes, I believe this is required. But I am quite sure this long answer will help some understand what's going on here

                Note: This stems from my personal understanding and experience. I might be wrong on some points. If so, please correct me

                Comment


                • #9
                  Well, it seems I somehow jumped to conclusions a bit hastily (in my unapproved post which should appear quite shortly, I hope). While I would prefer to see the exact thing I described, this seems to be a complete alternative to Wayland, with network transparency in mind, albeit implementing a similar API, and apparently a library that would support both backends. I am a bit disappointed, but let's see how this plays out.

                  Comment


                  • #10
                    Originally posted by schmidtbag View Post
                    I'm not entirely sure if this is related, but is something like this required to do "Wayland over SSH"? I have always found X over SSH to be especially useful, but maybe network transparency has nothing to do with it.
                    Yes, this has something to do with it.

                    And currently, X over SSH isn't really "network transparent" as the applications are sending around frames, not commands.

                    This system is supposed to allow the real "network transparency" like back then when the x server was actually a server receiving commands from applications to render stuff for them (and not a chaperon just moving pre-rendered frames around which is what it is doing since a couple decades), as this system sends around commands and data, not rendered frames.

                    Comment

                    Working...
                    X