Announcement

Collapse
No announcement yet.

Are You Sure You Want X.Org To Die?

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

  • #11
    What's the state of network transparency with Wayland? Is there a nice solution meanwhile, that's at least as convenient to the user as X11 (meaning: remote windows look exactly like local windows, are managed by the local WM,...)?

    Comment


    • #12
      Don't do that.
      You throw the old shoes away when you are sure the news ones fit and are in your hands! (Old Italian saying)
      Last edited by Uqbar; 19 January 2016, 02:30 AM. Reason: typo

      Comment


      • #13
        Originally posted by Uqbar View Post
        Don't do that.
        You throw the old shoes away when you are sure the news ones fit and are in your hands! (Old Italian saying)

        Gee I dunno, the old shoes are good around the house/gardening and all... Wait what are we talking about again?

        Comment


        • #14
          Originally posted by theriddick View Post


          Gee I dunno, the old shoes are good around the house/gardening and all... Wait what are we talking about again?
          In the past it already happened. One for all.
          The friendly people at Ubuntu embraced KDE4 and killed KDE3.
          But KDE was at that time quite far from complete and reasonably debugged.
          Overall result: a number of people moving away from (k)Ubuntu as downgrade wasn't feasible.
          Can you today run the three/four major DE over Wayland in a stable way for daily usage?
          I haven't heard about that yet. Maybe it's my fault.
          Please, recall that there is people (like you and me) using Linux DEs for everyday work, not just to show off to friends and girls.

          Comment


          • #15
            X supports a lot of stuff many never use, but some rely on. I'm not sure if Wayland has already taken all use cases into account. Like:
            - projecting the output of an application on another machines desktop (--display)
            - remote session (whole desktop on another machines desktop (XDMCP)
            - remote session across the internet (X2GO)
            - multiple sessions per user
            - multiple servers per machine
            - multiple screens per session

            Yes, I'm aware of the security issues with some of the above stuff. The question I'm raising is not if X does it the 'right' way, but if Wayland does or is planning to do.

            Comment


            • #16
              Neither Wayland nor Mir are ready to fully replace X.org, they lack proprietary drivers and they will have to run a lot of applications using XWayland and XMir for likely a long time before they fully replace X.org. Both are likely lacking feature parity with X.org at the moment as well. X.org can go away when these two achieve feature parity and get AMD and Nvidia proprietary drivers. X.org is ancient and it is long overdue for a replacement, but it will likely take a few more years before it gets fully replaced.

              Comment


              • #17
                Originally posted by ferry View Post
                X supports a lot of stuff many never use, but some rely on. I'm not sure if Wayland has already taken all use cases into account. Like:
                - projecting the output of an application on another machines desktop (--display)
                - remote session (whole desktop on another machines desktop (XDMCP)
                - remote session across the internet (X2GO)
                This has been broken for years. Remote X on anything but a low latency LAN is inferior to VNC/RDP-like solutions. Even on a low latency LAN, it's inferior for many applications (ever played something as simple as Quake remotely?), but for simple GUIs it can still be fast enough for you to not notice. I don't know if there's already a VNC/RDP implementation on top of wayland, but it shouldn't be difficult to add one - in fact, it's probably easier to implement VNC/RDP for wayland than it is for X.

                Remote X closely ties the network protocol to the drawing API, which is a problem. The core X API made sense in 1980. Today, it is completely pointless and outdated, but it's still part of the X protocol and must be supported forever. XRender is more modern, so it was added, and must be supported forever. With better drivers, more applications and toolkits are switching to openGL, so the indirect GL protocol must be supported forever. Soon there will be vulkan, which would be another API on the forever-supported pile, but I doubt anyone will bother making that network transparent for X.

                Wayland was designed specifically to decouple compositing and display (the server's job) from drawing (the client's job), so older drawing APIs can eventually be phased out as soon as no more clients are using them. So the most straightforward way to implement network transparency is to implement a protocol at the compositing step, e.g. transmit the rendered window buffers. Which is exactly what RDP/VNC are doing.

                A neutral protocol like RDP/VNC has the advantage that it works for transmitting windows between X and wayland, between windows and linux, from OSX to your smartphone, independent of the operating system or the actual display server used.

                If you want real integration including window decorations by the vnc client machine, that's just an implementation detail you're free to work on. It should be straightforward to implement on wayland, because its architecture makes some very useful guarantees. I suppose it hasn't been done yet, because it'd break compatibility with existing VNC/RDP clients, and because none of the people who complain about wayland's lack of network transparency actually step forward and do anything about it.

                Originally posted by ferry View Post
                - multiple sessions per user
                - multiple servers per machine
                already done.
                Originally posted by ferry View Post
                - multiple screens per session
                Not sure about the implementation status on that, but it's certainly being "taken into account".

                Comment


                • #18
                  Originally posted by ferry View Post
                  X supports a lot of stuff many never use, but some rely on. I'm not sure if Wayland has already taken all use cases into account. Like:
                  a) projecting the output of an application on another machines desktop (--display)
                  b) remote session (whole desktop on another machines desktop (XDMCP)
                  c) remote session across the internet (X2GO)
                  d) multiple sessions per user
                  e) multiple servers per machine
                  f) multiple screens per session

                  Yes, I'm aware of the security issues with some of the above stuff. The question I'm raising is not if X does it the 'right' way, but if Wayland does or is planning to do.
                  I'll try to answer to the best of my knowledge (not a dev, just an interested user)

                  a,b,c ) First you have to take into account that today's major X desktops (and toolkits) don't use the X11 protocol, instead they render to a pixmap. Hence network transparency is reduced to sending pixmaps over the network, not draw calls. From what I know, RDP and/or VNC are both better contenders for this usecase.
                  In a nutshell : single application : as of yet, no. Complete desktop : shouldn't be a problem.
                  d) With the (long term) plan to kill linux VTs, this is an open question. However, opening multiple DE sessions for the same user is a bad idea, trust me (tty on the other hand ) I don't see the VTs being killed without a reasonable replacement. Nested compositors are already supported.
                  e) s/servers/compositors and the answer is yes.
                  f) completely separate X screens, AKA zaphod mode? Compositor's task. I'd call it an implementation detail

                  What Wayland combined with rendernodes might finally bring is true multiseat. Now that's something I'm excited about.
                  Properly supported hardware overlays are another thing.

                  Other OS support : mixed bag. Wayland itself doesn't specify HOW to draw and setup graphic outputs, so theoretically any APIis supportable. In reality though, BSDs will need to adopt linux's KMS APIs in order to do KDE/GNOME/<insert favorite> on Wayland.

                  In case of any inaccuracies in this post, please correct me.

                  S.

                  Comment


                  • #19
                    Originally posted by soulsource View Post
                    What's the state of network transparency with Wayland? Is there a nice solution meanwhile, that's at least as convenient to the user as X11 (meaning: remote windows look exactly like local windows, are managed by the local WM,...)?

                    You can add remote display tools on Wayland, but no it will never be 'as convenient to the user as X11' because in X11 remote display is a feature which is present by default (its performance may be suboptimal, but it's there) whereas in 'pure' Wayland it's not there, you (or your DE) have to add things to enable the remote display feature.

                    As for the 'remote windows look exactly like local windows', it's possible with Wayland, you can also have the window manager providing the decoration, it's just not the default (because Wayland's dev are pushing for 'every frame is perfect' which imply Client-Side Decoration), but in theory you could have CSD for local windows and SSD for remote windows.


                    Comment


                    • #20
                      Originally posted by ferry View Post
                      X supports a lot of stuff many never use, but some rely on. I'm not sure if Wayland has already taken all use cases into account. Like:
                      - projecting the output of an application on another machines desktop (--display)
                      - remote session (whole desktop on another machines desktop (XDMCP)
                      - remote session across the internet (X2GO)
                      - multiple sessions per user
                      - multiple servers per machine
                      That should be multiple seats (mouse/keyboard/display/user) per machine... Not multiple servers.
                      But I agree, a lot of this is way faster than VNC (vnc has a major lag), some applications are being an ass though...
                      But the first time I played doom in a dos box, the output was on a DecImage station 2000 or so... an X-terminal only 1280x1024 @ 24 bits per pixel. The PC could render everything, but it's graphics were so terrible... My first experience with a PC at home was therefore headless or console only.

                      Comment

                      Working...
                      X